目录
串口通信协议【I2C、SPI、UART、RS232、RS422、RS485、CAN、TTL、USB】-优快云博客
串口通信:
通信协议 | 通讯信号 | 电平信号 | 传输距离 | 外挂设备 | 传输速率 |
UART | 全双工、异步通信 | TTL电平 | 1m | 1 | 9600...115200 |
USRT | 同步通信 | 1m | 1 | ||
RSART | 通用同步/异步串行接收/发送器 | 15m | 1 | ||
RS232 | 串行通信协议 | 232电平 | 15m | 1 | 110bps到115200bps |
RS485 | 串行通信协议 | 485电平 | 1000m | 256 | 10M |
RXD、TXD、GND三条线 | 常用芯片有max232、max485 | ||||
数据格式 | ![]() |
IIC通信:
通讯协议 | IIC |
通讯信号 | 半双工、串行通信总线 |
电平信号 | TTL电平 |
传输距离 | 15m |
外挂设备 | 2^7=128 |
传输速率 | 标准模式是100KHz, 快速模式是400KHz, 高速模式下3.4MHz |
数据线 | SDA(数据线)、SCL(时钟线) |
数据格式 | ![]() |
SPI通信:
通讯协议 | SPI |
通讯信号 | 全双工、同步的通信总线 |
电平信号 | TTL电平 |
传输距离 | 10cm(10M速率) |
外挂设备 | 32 |
传输速率 | 已知的有的器件SPI已达到50Mbps。 具体到产品中SPI的速率主要看主从器件SPI控制器的性能限制 SPI速率:时钟频率(0-4M)、CPU处理能力、驱动端(PCB)能力影响 |
数据线 | SS(片选信号)、SCK(时钟信号)、MOSI(主发从收)、MISO(主收从发) |
数据格式 | ![]() |
CAN总线:
通讯协议 | CAN |
通讯信号 | 控制器局域网络 |
电平信号 | CAN电平 |
传输距离 | 10km |
外挂设备 | 110节点 |
传输速率 | 高速ISO11898标准(125kbps ~ 1Mbps); 低速ISO11519标准(10kbps ~ 125kbps) |
数据线 | CAN_H、CAN_L(电位差传输数据) |
MODBUS协议:
数据帧 | ![]() |
地址域 | 即主站要访问的从站地址,其范围0~247 |
功能码 | 即主站想要对从站进行何种操作。 从大的方面看分为读(主站读取从站数据),写(主站向从站读取数据) 不同的数据区对应有不同的功能码,在文末《MODBUS协议规范》文档中有详细介绍 |
数据 | 如果主站的请求是读数据,那么该数据”要包含的信息有:从哪里开始读数据+读多少数据。 如果主站的请求是向从站写数据,那么该“数据”要包含的信息有:从哪里开始写数据+写多少个字 节数据+要写的具体数据 |
差错校验 | 为了保证数据传输的正确性,Modbus协议会在数据帧最后面加上两个字节的差错校验 CRC校验 |
通讯信号:
同步通信 | 接收端时钟频率和发送端时钟频率一致, 同步通信效率高;异步通信效率较低。 |
全双工 | 发送和接收同步进行 |
半双工 | 只能处于发送和接收的某一状态 |
电平信号:
TTL电平 | 高:>2.4 低<0.4 (晶体管) |
232电平 | 高:3-15 低-3--15 |
485电平 | 高:2-6 低-2--6 (压差) |
coms电平 | 高:>0.7vcc 低<0.3vcc (mos管 1.8v、3.3v、5v) |
usb电平 | 高:D+-D->0.2 低 D--D+>0.2 |
CAN电平 | 电平电压均为2.5V左右(电位差0V),此时的状态表示1(称为“隐性电平”状态); 当CAN_H上的电压值为3.5V且CAN_L上的电压值为1.5V时,两线的电位差为2V, 此时的状态表示逻辑0(称为“显性电平”状态)。 |