常见硬件接口的区别

文章详细介绍了UART、I2C和SPI三种常见的单片机硬件通信协议,包括其起始和停止信号、数据传输方式以及特点。此外,还讨论了TTL、RS232、RS485、RS422电平信号接口和RJ45接口的特性,如传输方式、信号电平和双工模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、UART、I2C 和 SPI 是单片机系统中最常用的三种硬件通信协议

起始信号、数据信号、停止信号

UART 每个字节中,都有一个起始位、8 个数据位、1 位停止位。

而 I2C 分为起始信号、数据传输部分、停止信号。其中数据传输部分,可以一次通信过程传输很多个字节,字节数是不受限制的,而每个字节(8位)的数据最后也跟了一位,这一位叫做应答位,通常用 ACK 表示,有点类似于 UART的停止位

UART起始信号:UART 通信是从一直持续的高电平出现一个低电平标志起始位;

I2C起始信号:I2C通信的起始信号的定义是 SCL 为高电平期间,SDA 由高电平向低电平变化产生一个下降沿,表示起始信号

UART数据传输:首先,UART 是低位在前,高位在后。通信数据位是固定长度,波特率分之一,一位一位固定时间发送完毕就可以了。

I2C数据传输:I2C 通信是高位在前,低位在后。I2C 没有固定波特率,但是有时序的要求,要求当 SCL 在低电平的时候,SDA 允许变化,也就是说,发送方必须先保持 SCL 是低电,平,才可以改变数据线 SDA,输出要发送的当前数据的一位;而当 SCL 在高电平的时候,SDA 绝对不可以变化,因为这个时候,接收方要来读取当前 SDA 的电平信号是 0 还是 1,因此要保证 SDA 的稳定。

UART停止信号:UART 通信的停止位是一位固定的高电平信号;

I2C停止信号:I2C 通信停止信号的定义是 SCL 为高电平期间,SDA 由低电平向高电平变化产生一个上升沿,表示结束信号

I2C寻址模式

I2C 通信的起始信号(Start)后,首先要发送一个从机的地址,这个地址一共有 7位,紧跟着的第 8 位是数据方向位(R/W),“0”表示接下来要发送数据(写),‘“1”表示接下来是请求数据(读)。当我们发送完了这 7 位地址和 1 位方向后,如果发送的这个地址确实存在,那么这个地址的器件应该回应一个 ACK(拉低 SDA 即输出“0”),如果不存在,就没“人”回应 ACK(SDA将保持高电平即“1”)。

MODBUS

    1. 据格式:

帧头

模块地址

功能代码

数据

CRC16校验

帧尾

≥3.5字符

1字节

1字节

0到252字节

2字节

≥3.5字符

0x01,        /*读线圈状态(读多个输出位的状态)*/

0x02,       /*读输入位状态(读多个输入位的状态)*/

0x03,   /*读保持寄存器(读多个保持寄存器的数值)*/

0x04,     /*读输入寄存器(读多个输入寄存器的数值)*/

0x05,       /*强制单个线圈(强制单个输出位的状态)*/

0x06,   /*预制单个寄存器(设定一个寄存器的数值)*/

0x0F,     /*强制多个线圈(强制多个输出位的状态)*/

0x10 /*预制多个寄存器(设定多个寄存器的数值)*/

  • 二、TTL、RS232、RS485、RS422、RJ45接口的特点

TTL(电平信号):串行通信接口、半双工

RS232(电平信号):串行通信接口、半双工(可以同时进行数据的发送和接收)

1、RS232是负逻辑:TXD 和 RXD 的电压-5V到-15V代表高电平(1),5V到15V代表低电平(0)。

2、接收数据(RXD):它的作用是串口数据接收端。

3、发送数据(TXD):它的作用是串口数据输出端。

5、信号地线(SG):接地端。

RS422(差分信号):全双工(可以同时进行数据的发送和接收)

四线:两根发送信号线(TXD+和TXD-)和两根接收信号线(RXD+和RXD-)。

正电平在+2~+6V,负电平在-2~6V

RS485(差分信号):半双工

两线:A、B或D+、D-。

RS485逻辑:电压在2V到6V之间(1),-2V到-6之间(0)。

RJ45

RJ45头根据线序分为两种:

T568B(只用了四根线)是橙白、橙、绿白、蓝、蓝白、绿、棕白、棕,10/100全半双工。(6脚绿线接收信号负极-RX,3脚绿白线接收信号正极+RX,2脚橙线发送信号负极-TX,1脚橙白线发送信号正极+TX)

T568A是绿白、绿、橙白、蓝、蓝白、橙、棕白、棕,10/100/1000M全半双工。

RJ45接口有两类:用于以太网网卡、路由器以太网接口等的DTE类型,还有用于交换机等的DCE类型。

DTE:数据终端设备 主动通信设备

DCE:数据通信设备 被动通信设备

当两个类型一样的设备使用RJ45接口连接通信时,必须使用交叉线连接。

  • 直连线互连 
    网线的两端均按 T568B 接 ,用于连接主机和设备,即DTE与DCE。
  • 交叉互连
  • 网线的一端按 T568B 接,另一端按 T568A 接,用于连接主机与主机,或者设备与设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jarrett_Zheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值