RS-232, RS-485, RS-422及UART梳理

    UART主要完成了一个信号到串行传输转换、串行传输到信号转换及规定了信号传输的格式,即帧格式,这是一个软件工程师需要工作的地方;而RS-232, RS-422, RS-485则是硬件接口标准,硬件工程师选好器件,搭好电路,配合上软件工程师的UART实现,一个有用的串口通信就轻松完成了。

    波特率的概念,也就是每秒传输信号的位数,它的计算包含了有效数据和控制信号。UART规定了数据传输的帧格式,即把信号的最小单元,一个字母或者是一个数字一帧一帧地传送。它会有个起始位,5到8位的数据位,奇偶校验位,停止位或空闲位,但不一定都包含,下面是一种可能的帧格式

    RS-232是美国电子工业协会EIA(Electronic Industrial Assosiation)制定的串行物理接口标准,RS是推荐标准的英文首字母缩写,232只是一个标识号。RS-232还带给我们一样东西DB-9连接器(如下图),尽管在消费电子领域里,它已经基本被淘汰,但在工业及其他领域应该还是能经常见到。RS-232有几点需要注意的地方是:首先,它采用的是负逻辑,即用负电压表示1,正电压表示0;其次,电压的绝对值在3.3V以上才为有效电平;最后,一定要共地。

    与RS-232不同的是,RS-485采用的是差分传输,也有的叫平衡传输。而且相较于232而言,485对驱动电平的要求更低,它的电平的绝对值范围在2~6之间。由于是差分传输,它对于共模干扰的免疫更强,因此可以做到更远的传输距离和更快的传输速率。RS-422的电气特性与485完全相同,它对于收和发各采用一对差分线,所以可以实现全双工通信。我们可以使用标准的DB9头去连接RS-422/485,但是,并没有统一的出线标准,需要我们根据具体情况去定义。

匹配电阻和失效保护偏置电阻

通常,这种差分传输都需要在接受端添加匹配电阻,RS-485推荐120ohm,RS-422推荐100ohm,以保证信号的质量。我们通常还可以看到在匹配电阻之外,还有上下拉电阻,它们应该称之为失效保护偏置电阻(fail safe),可以这样理解,当差分线上有信号,一切OK,但当驱动源断开,接受端检测到输入信号在-200mA到200mA之间,这个值是没有定义的,会导致接受信号出错,所以我们需要强制在差分线的正端上拉和反端下拉,这样就保证了一个正的电平,接受端判断输入为1,几种常见的接法如下

还有一种接法是,端接150,失效匹配300,用以实现120ohm的最终阻抗。

但是,在实际设计时,这些都不一定是必须的,一种情况是在低速和短距离的情况下,对信号质量要求不高,所以可以不要,还有就是,现在很多的器件其内部集成失效电阻,还有少数器件集成了上下拉电阻,具体以器件规格书为准。

原文地址:https://www.cnblogs.com/qingkai/p/6671316.html