通信协议划分原理
1.通信协议划分
1.1串行和并行
串行通信就是设备之间通过少量的线,进行一位一位的数据传输.
并行通信就是使用多根数据线同时进行数据传输.
1.2 全双工、半双工、单工
全双工:在同一时刻,两个设备之间可以同时收发数据.
半双工:两个设备之间可以收发数据,但不能在同一时刻进行.
单工:在任何时候都只能进行同一个方向的通信,即一个固定位发送设备,另一固定位接收设备.
1.3同步和异步
同步:以时钟线来传输数据的,就是说,发送和接收的时序相同(IIC、SPI)
异步:没有时钟线,以数据帧格式来传输数据的
2.通信协议区别
2.1 IIC:标准模式下速度达到 100Kb/S,快速模式下达到 400Kb/S
SCL(串行时钟线)
SDA(串行数据线)
一般3.3V上拉4.7K电阻使用与MCU连接
2.2 SPI:几十M到几百MHz
1.CS/SS(Slave Select/Chip Select),这个是片选信号线,用于选择需要进行通信的从设备。I2C 主机是通过发送从机设备地址来选择需要进行通信的从机设备的,SPI 主机不需要发送从机设备,直接将相应的从机设备片选信号拉低即可
2.SCK(Serial Clock),串行时钟,和 I2C 的 SCL 一样,为 SPI 通信提供时钟。
3.MOSI/SDO(Master Out Slave In/Serial Data Output),简称主出从入信号线,这根数据线只能用于主机向从机发送数据,也就是主机输出,从机输入。
4.MISO/SDI(Master In Slave Out/Serial Data Input),简称主入从出信号线,这根数据线只能用户从机向主机发送数据,也就是主机输入,从机输出.
2.3USART/UART
USART:通用同步和异步收发器,UART的增强
UART:通用异步收发器
2.4UART一般使用流程
使用时为:CPUA->UART(TTL电平)
到发232,485,USB等(TTL电平转换为对应接口电平芯片)
到收232,485,USB等(对应接口电平转换为TTL电平芯片)
CPUB->UART(TTL电平)
3.接口232,485,CAN,USB,TypeC
这些接口都是异步串行接口,用于将UART的TTL电平转换为其他的电平,实现远距离通信等
3.1 COM口232
其中232接口在PC中也叫COM口,
现在有很多USB接口的虚拟串口