在这一系列文章中,我们探讨了一些不同的串行通信协议,这些协议用于在微控制器、数据生成设备、数据处理外设以及其他智能设备之间传输信息。每篇文章都介绍了一种常用的流行协议,而在这个系列的最后,我们总结了每种协议的优点和缺点。我们希望这个资源在您下次需要实现串行通信总线时能够证明是有价值的,帮助您为您特定的情况选择最佳选项。
系列总结
串行通信协议和标准非常出色,尤其是在许多智能数字或混合(模拟-数字)设备中;集成微控制器非常流行。串行通信总线允许多个设备之间交换信息,并且与并行通信相比,使用的引脚数量要少得多。尽管串行通信的速度比并行选项慢几个数量级,但所达到的速率对于大多数集成电路和设备来说,足以执行所需的信息交换或发送命令。
UART 是一种相当简单的异步串行通信,允许全双工模式。它非常适用于两个设备之间的通信。
I2C可能是我最喜欢的选项。它允许使用仅两个引脚连接许多设备。然而,你连接的设备越多,就需要降低数据速率以保持操作。此外,我们喜欢数据速率可以通过硬件控制,以及从设备地址也是由硬件设置的。
SPI是一种快速通信协议,允许连接许多从设备,尽管这样会增加引脚数量。SPI通信速度很快,除此之外,它不需要任何特殊的终止阻抗匹配。我们已经看到,在某些应用中,使用终止电阻可能是有益的。
1-Wire非常棒。它允许使用单一导线或走线来进行通信和供电,采用寄生电源供电技术。然而,能够使用它的设备并不多。
CAN在高电磁干扰环境中非常稳健,并具有良好的错误校正能力。因此,它主要用于关键应用并不足为奇。
LIN是CAN的一个变种,作为CAN的子系统开发。LIN通常用于汽车中的非关键应用。它之所以好,是因为它既便宜又简单。LIN设备不使用石英或谐振器进行定时;它们只使用一个简单的内部RC电路来节省成本。
RS-485是许多设备中使用的协议标准,尤其是在自动化和PLC中。它是一个使用一个或两个差分对的强大标准。同时,它可以达到相对较高的速度或较长的距离。
RS-232是一个老旧的串行协议标准,曾经极为流行。尽管现代设备不再使用这一标准,但仍有大量的遗留设备在使用,因此我们认为了解一些相关知识将会很有益处。