单工、半双工、全双工、异步和同步的区别

2021-10-14 11:08:44 浏览数 (1)

单工

单工,即数据传输只在一个方向上传输,只能你给我发送或者我给你发送,方向是固定的,不能实现双向通信,如:室外天线电视、调频广播等。

半双工

半双工比单工先进一点,传输方向可以切换,允许数据在两个方向上传输,但是某个时刻,只允许数据在一个方向上传输,可以基本双向通信,如:对讲机,IIC通信。

图片

全双工

比半双工更先进的是全双工,允许数据同时在两个方向传输。发送和接收完全独立,在发送的同时可以接收信号,或者在接收的同时可以发送。它要求发送和接收设备都要有独立的发送和接收能力,如:电话通信,SPI通信,串口通信。

同步和异步的区别

串行通信可以分为两种类型,一种叫同步通信,另一种叫异步通信。

图片

简单的说,就是同步通信需要时钟信号,而异步通信不需要时钟信号。

  • 同步:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
  • 异步:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

SPI和IIC为同步通信,UART为异步通信,而USART为同步&异步通信。

  • USART:通用同步和异步收发器
  • UART:通用异步收发器

即USART支持同步和异步收发,而UART只支持异步收发。

如STM32的串口工作在同步模式时,即智能卡模式时,就需要连接同步时钟引脚。

图片

关于UART、I2C、SPI协议的详细介绍,可以查看我之前写的笔记:

  • 一文看懂I2C协议
  • 一文看懂SPI协议
  • 串口通讯协议及其FPGA实现
  • 一文看懂Modbus协议

0 人点赞