有线通信方式(I2C、UART)
1、总线
总线是连接多个部件的信息传输线, 是个部件共享的传输介质。(就是一根线上面挂载了很多个设备,设备可以通过该线进行交流沟通)
特点:同一时刻,只有一个设备可以讲话(向总线发送信息),其他设备都只能听着(从总线上接收信息)。
2、设备选择
既然一根总线上面挂了那么多设备,所有设备都接收,这就起到了广播的作用。
但是发消息的设备可能只想和某个设备沟通,那么我们就需要“点名”指定设备,“点名”的方式包括下面几种:
a、直接添加设备选择线,例如:SPI(Serial Peripheral Interface:串行外设接口)的SS线
b、在数据传输的时候,把要选择的设备地址也传输过去,例如:I2C(INTER IC BUS:意为IC之间总线), 我们可以看一个I2C的读写的数据
c、在传输的数据里添加标识符,该标识符就像一个标签,当设备匹配到该标签时,就知道要通讯的是自己, 就会去处理接收的数据, 例如: CAN(Controller Area Network, 现场总线)
3、数据传输
如果只有一根数据线,且规定了一方只能接收,另外一方只能发送,那么此时的的数据传输就做单工通信。
如果只有一根数据线,在同一个时刻,两个设备之间是只能够有一个向另外一个发送的,这便是半双工通信, 例如I2C只有一根SDA数据线
如果有两根数据线,在同一个时刻,两个设备之间就可以同时向对方发送信息, 这便是全双工通信,例如SPI有串行数据输出(SDO)、串行数据输入(SDI), USB
4、时钟同步
首先时钟同步是指让大家都有一个统一的时间观念。
时钟同步的作用包括让发送方和接收方的数据传输效率保持一致,以及可以用来采样数据,保证数据的完整性和可靠性。
那么时钟同步的方式包括:
a、时钟信号线,例如SPI的串行时钟线(SCLK), I2C的串行时钟线SCL
b、特殊的数据包和波特率方式,例如UART, 它采用指定的数据包,并且接收方和发送方指定发送速率(也即波特率)
5、I2C
a、设备选择采用数据传输时传输设备地址方式来选择接收设备
b、采用一根数据线SDA,可首先半双工通信
c、采用串行时钟线SCL来保持传输速率
6、UART
a、UART是点对点的通讯,不需要进行设备选择
b、具有RX和TX两根数据线,可以实现全双工通信
c、采用特殊的数据包和波特率来保持传输速率
7、参考
https://mp.weixin.qq.com/s/vwh1DyXTz6ePvah4jD3QNA
https://mp.weixin.qq.com/s/Z4KRE9AMO3EBTgrn7L0paw
https://blog.csdn.net/weixin_44006573/article/details/105674761 (I2C的读写的数据图)
原文地址:https://blog.csdn.net/hm__2016/article/details/145165714
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!