同步和异步通信协议介绍

通信网络

650人已加入

描述

  你可能听说过同步和异步通信协议(比如UART——通用异步收发器),但你知道这些术语是什么意思吗?如果没有,请不要担心,因为我们将在本文中讨论它们。

  在数字通信中,当我们想要将数据从一个器件发送到另一个器件时,我们可以将通信数据线驱动至高电平(1)或低电平(0)。这是所有的选择。假设我们想从一个设备向另一个设备发送数据“Hello ”:使用ASCII编码(其中字母表中的每个字母都被分配了一个数字,因为计算机内部处理数字),这将由数字序列表示

  72 101 108 108 111或者二进制

  01001000 01100101 01101100 01101100 01101111

  如果我们只有一条数据线(大多数流行的通信协议都是如此),那么我们可以根据所传输的位值将数据线驱动为高电平或低电平,从而一个接一个地发送每一位。传输“Hello”的信号将如下所示(为方便起见,添加了颜色,二进制数据显然没有颜色),首先传输LSB(最低有效位)数据(稍后将详细介绍)。

usb

  二进制Hello(使用ASCII编码),先传输LSB(最低有效位)。

  解释数据

  如果传输的数据总是1和0的交替序列,那么就很容易解释:

usb

  但显然这种情况几乎从未出现过。如果我们有一个4 x 1后跟4 x 0的序列(11110000)会怎么样?

usb

  如果没有额外的信息,接收机如何辨别这个信号是10、1100、111000还是11110000(或者1111100000等等)?显然,需要更多的东西来澄清沟通。

  同步或异步

  这可以通过使用额外的通信线路来指示数据线上每个比特的时序,或者通过接收器内部知道数据线上每个比特持续多长时间来解决。前一种方法是使用一条额外的通信线路来指示每个位的时序,这种方法称为同步通信。同步通信中的附加线路称为时钟线路(因为时钟是用来计时的)。后一种选择称为异步通信,接收器在内部知道数据线上的每一位持续多长时间。对于异步通信,接收器和发送器都需要精确的内部时钟来保持时间。显然,为了成功通信,接收机和发射机也必须设置为使用相同的速度/定时(波特率)。

usb

  因此,同步与异步传输归结为时钟是外部的(同步)还是内部的(异步)。异步协议的一些例子包括UART、USB、CAN和以太网。同步协议的一些例子包括SPI、I2C和DDR。

  利弊

  同步协议的一个优点是,它们不要求设备具有高度精确的内部时钟(通信越快,内部时钟就需要越精确)。因此,同步通信协议通常用于小型低成本外设,如传感器。同步协议的另一个优点是通信双方不需要预先知道数据速率(定时)是多少。一些同步协议甚至具有可变的数据速率,和/或可以通过保持时钟线直到它们准备好接收新数据(这是I2C的一个特征)来使用时钟线指示它们何时仍然忙碌;异步协议需要额外的通信线路来实现这一功能(如UART中的CTS/RTS线路)。

  异步协议的一个优点是它们需要更少的通信线路,因此产生的电磁噪声也更少

  由于异步协议很难使两端的时钟完全相同,因此它们通常需要至少一次数据线转换,以便重新调整内部时钟。这可以是协议帧的一部分(例如利用UART),或者可以通过命令在一定数量的相同极性的连续比特之后插入相反极性的填充比特来实现(当协议被解码时,填充比特被丢弃,例如利用CAN协议)。

usb

  在5个相等的位之后,在CAN中填充位。

  总结

  这就是理解术语同步通信和异步通信的全部内容。

  同步=外部时钟

  异步=内部时钟

  审核编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分