IIC、SPI、USART、USB、CAN的通讯协议原理及区别

(1)IIC   (PHILIPS公司开发)

Inter-Integrated Circuit ,它两线式串行总线(SDA数据线、SCL时钟线),用于连接微控制器和外围设备、传输速度100-400kHz(48.8kb/s),高速模式最高可达4MHz(488kb/s),非全双工

传送过程中有三种类型的信号:开始、结束、应答信号

图参考:【1】IIC总线工作原理https://blog.csdn.net/yyyljw/article/details/70800916

1.1开始发送信号和结束发送信号时SDA和SCL电平的转换:

1.2主机向从机发送信号,等待从机应答,应答为低电平、非应答为高电平,在第9个时钟周期完成:

数据传输的时序:

从高位开始传输,若有中断来,则SCL置低电平等待,SCL高电平时数据传输,SCL低电平时数据转换

补充读写过程

【2】IIC总线解析https://www.cnblogs.com/zalebool/p/4214599.html

【3】对 IIC 总线的理解、调用函数以及常见面试问题 https://www.cnblogs.com/alantu2018/p/8994719.html

(2)SPI (Motorola公司)

Serial Peripheral interface 串行外围设备接口

全双工同步数据传输,数据传输速率很高可达到50Mhz(转化一下约,相当于1s传输50M个位,速度为5.9MB/s)

有4根线进行通信:MISO MOSI SCLK CS

MISO:主设备数据输入,从设备数据输出

MOSI:主设备数据输出,从设备数据输入

SCLK:主设备产生的时钟信号

CS:片选信号

其中:外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输

传输时序:

依据时钟极性和相位可以进行相应的传输:CPOL时钟极性(为1时,高电平代表空闲状态)反之亦然,CPHA为时钟相位,CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样,为1时,第二个跳变沿被采样。


补充读写过程 

可参考:SPI和IIC总线的对比,写的不错https://blog.csdn.net/skyflying2012/article/details/8237881

(3)USART 

传输速率取决于波特率的设置

例如:

波特率115200 = 115200 (位/秒)

如果没有校验位,就应该除以 10,得到的是每秒字节数:
波特率115200 = 115200 (位/秒) = 11520 (字节/秒) 

再除以 1024,就是每秒 KB 数:
波特率115200 = 115200 (位/秒) = 11.25 (KB/秒) 

如果有一位奇偶校验位,就应该除以 11,得到的是每秒字节数。

参考https://blog.csdn.net/sinat_23338865/article/details/52873429

Universal Synchronous/Asynchronous Receiver/Transmitter 通用同步/异步串行接收/发送器

它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。而RS232、RS499、RS423、RS422和RS485等,是对应各种异步串行通信口的接口标准和总线标准,它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性等内容。实际上是属于通信网络中的物理层(最底层)的概念,与通信协议没有直接关系。而通信协议,是属于通信网络中的数据链路层(上一层)的概念。 COM口是PC(个人计算机)上,异步串行通信口的简写。由于历史原因,IBM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以,现在PC机的COM口均为RS232

参考: https://blog.csdn.net/weixin_43046653/article/details/84998083

UART和USART的区别是USART多了一根时钟同步线

参考:http://www.elecfans.com/tongxin/119/20171120582574.html

注意一般情况下使用:全双工异步通信(时钟不同步需要加上标志位识别)

TX和RX

(4)USB

Universal Serial BUS(通用串行总线)

用于规范电脑与外部设备的连接和通讯,是应用在PC 领域的接口技术

传输速度:

标准的5口:

3.0:参考:https://wenku.baidu.com/view/7dd2d4d1b9f3f90f76c61bd3.html

(5)CAN 

参考:同步异步通信

参考:通信方式梳理:GPIO,I2C,SPI,UART,USART,USB的区别   https://blog.csdn.net/weixin_43046653/article/details/84998083

猜你喜欢

转载自blog.csdn.net/heda3/article/details/89053635