各种通信方式和类型有很多种,今天我们来讨论常见的同步通信、异步通信,以及单工通信和双工通信之间的区别。
通信可以分为串行通信和并行通信,而串行通信在实际应用中更为常见,如UART、I²C、SPI、CAN等都属于串行通信协议。
串行通信又可以进一步分为同步通信和异步通信,其中同步通信需要使用同步时钟信号来进行数据传输,而异步通信则不需要同步时钟信号。
来看一下这两种通信方式的概念:
-
同步通信:同步通信的方式是发送方发送完一组数据后,需要等待接收方返回响应后才能发送下一组数据。在这种通信方式下,发送方和接收方的时钟需要同步,以确保数据的准确传输。 -
异步通信:异步通信的方式是发送方在发送完一组数据后,无需等待接收方的响应,即可继续发送下一组数据。在这种通信方式下,发送方和接收方的时钟不需要同步,数据的传输时间不受固定时钟信号的限制。
通过定义你应该能测到:像I²C、 SPI这种具有同步时钟的就是同步通信;像UART、 CAN这种没有同步时钟的就是异步通信。
单工、 双工通信
通信根据传输的方法分为单方向通信(即单工),和双向通信(即双工)。
单工通信
单工即数据传输只在一个方向上传输,方向是固定的,不能实现双向通信(A发送数据给B,而B不能发送数据给A),如:收音机广播,你只能听到广播站发出的广播(数据),而你不能反向给广播站发送广播。
双工通信
双工分为 半双工 和 全双工。
半双工
半双工比单工先进一点,传输方向可以切换,允许数据在两个方向上传输。
但是某个时刻,只允许数据在一个方向上传输,可以基本双向通信。
像485、I²C就属于半双工通信。
全双工
比半双工更先进的是全双工,允许数据同时在两个方向传输。发送和接收完全独立,在发送的同时可以接收信号,或者在接收的同时可以发送。它要求发送和接收设备都要有独立的发送和接收能力。
如:RS232、SPI通信等。
用一张图的说明:单工、半双工、全双工通信:
最后
通信领域需要掌握的知识比较多,还有像什么传输方式、编码方式、通信协议等。
对于初学者可能看到这些概念都想放弃了,其实,拆解每一个知识点都不难。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !