本帖最后由 青青水草 于 2016-10-28 16:49 编辑
在上一篇中我们共同学习了UART和RS-232接口的特点及其之间的转换,这一篇我们就共同学习一下UART和RS-485之间的转换。 AM3358带有6个UART,这就为我们与外部通信提供了便利的条件,即可以接多个通信设备!在了解RS-485之前,我们先了解一下RS-232和RS-485的“小三”:RS-422。 从上一篇的文章中我们知道,RS-232通讯在不加缓冲器的情况下的最大传输距离为15米,另外,在工业控制等环境下,常有电气噪声干扰传输线路,使用RS-232通讯时经常因外界的电气干扰而导致信号传输错误,为解决上述问题,美国工业电子协会(EIA)在RS-232协议的基础上发布了EIA-422-A标准,习惯上称为RS-422。该标准解决了RS-232通信距离短、速率低的缺点。 1.RS-422标准 RS-422标准的全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的电气特性。如下图所示是典型的RS-422四线接口,实际上还有一根信号地线,共5根线通讯。
由于RS-422接收器采用高输入阻抗和发送器采用低输出阻抗,因此RS-232具有较强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10 个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以RS-422 支持点对多点的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。RS-422 四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF 握手)或硬件方式(一对单独的双绞线)实现。 RS-422 的最大传输距离为4000 英尺(约1219 米),最大传输速率为10Mbps。其平衡双绞线的长度与传输速率成反比,在20kbps 速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100 米长的双绞线上所能获得的最大传输速率仅为1Mbps。
RS-422 需要安装一个终接电阻,要求其阻值约等于传输电缆的特性阻抗(一般取值为120 欧)。在短距离、或低波特率数据传输时可不安装终接电阻,即一般在300 米以下不安装终接电阻。终接电阻安装在传输电缆的最端。
EIA-422串行通信标准的性能如下表所示:
2.RS-485标准 RS-422标准无论是在通讯距离还是通讯速率上比RS-232有了极大的提高,为扩展应用范围,EIA又在RS-422标准的基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。但是,RS-485标准只规定了平衡发送器和接收器的电气特性,而没有规定接插件、传输电缆和应用层通信协议。 与RS-232标准不一样,RS-422和RS-485标准,数据信号采用差分传输方式,也称为平衡传输。RS-485标准使用一对双绞线,将其中一线定义为A,另一线定义为B,如下图所示:
通常情况下,发送发送器A、B 之间的正电平在+2~+6V,是一个逻辑状态;负电平在-2~-6V,是另一个逻辑状态。另有一个信号地C。在RS-485 器件中,一般还有一个“使能”控制信号。“使能”信号用于控制发送发送器与传输线的切断与连接,当“使能”端起作用时,发送发送器处于高阻状态,称作“第三态”,它是有辑“1”与“0”的第三种状态。 对于接收发送器,也作出与发送发送器相对的规定,收、发端通过平衡双绞线将A-A与B-B 对应相连。当在接收端A-B 之间有大于+200mV 的电平时,输出为正逻辑电平;小于-200mV 时,输出为负逻辑电平。在接收发送器的接收平衡线上,电平范围通常在200mV至6V 之间。RS-485接收器的示意图如下图所示:
定义逻辑1(正逻辑电平)为B>A的状态,逻辑0(负逻辑电平)为A>B的状态,A、B之间的压差不小于200mV。RS-485串行通讯标准的性能如下表所示:
RS-485 标准的最大传输距离约为1219 米,最大传输速率为10Mbps。 通常,RS-485 网络采用平衡双绞线作为传输媒体。平衡双绞线的长度与传输速率成反比,只有在20kbps 速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般来说,15 米长双绞线最大传输速率仅为1Mbps。 注意:并不是所有的RS-485 收发器都能够支持高达10Mbps 的通讯速率。如果采用光电隔离方式,则通讯速率一般还会受到光电隔离器件响应速度的限制。 RS-485 网络采用直线拓朴结构,需要安装2 个终端匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般取值为120Ω)。在矩距离、或低波特率波数据传输时可不需终端匹配电阻,即一般在300 米以下、19200bps 不需终端匹配电阻。终端匹配电阻安装在RS-485 传输网络的两个端点,并联连接在A-B 引脚之间。 RS-485 标准通常被用作为一种相对经济、具有相当高噪声抑制、相对高的传输速率、传输距离远、宽共模范围的通信平台。同时,RS-485 电路具有控制方便、成本低廉等优点。在过去的20 年时间里,建议性标准RS-485 作为一种多点差分数据传输的电气规范,被应用在许多不同的领域,作为数据传输链路。目前,在我国应用的现场网络中,RS-485半双工异步通信总线也是被各个研发机构广泛使用的数据通信总线。但是基于在RS-485 总线上任一时刻只能存在一个主机的特点,它往往应用在集中控制枢纽与分散控制单元之间。 3.RS485的基本应用电路 下面以SP485R为例,来看一下其应用电路:
上图为一个经常被应用到的SP485R芯片的示范电路,可以被直接嵌入实际的RS-485应用电路中。微处理器的标准串行口通过RXD 直接连接SP485R 芯片的RO 引脚,通过TXD直接连接SP485R 芯片的DI 引脚。 由微处理器输出的R/D 信号直接控制SP485R 芯片的发送器/接收器使能:R/D 信号为“1”,则SP485R 芯片的发送器有效,接收器禁止,此时微处理器可以向RS-485 总线发送数据字节;R/D 信号为“0”,则SP485R 芯片的发送器禁止,接收器有效,此时微处理器可以接收来自RS-485 总线的数据字节。此电路中,任一时刻SP485R 芯片中的“接收器”和“发送器”只能够有1 个处于工作状态。 连接至A 引脚的上拉电阻R7、连接至B 引脚的下拉电阻R8 用于保证无连接的SP485R芯片处于空闲状态,提供网络失效保护,以提高RS-485 节点与网络的可靠性。 如果将SP485R 连接至微处理器80C51 芯片的UART 串口,则SP485R 芯片的RO 引脚不需要上拉;否则,需要根据实际情况考虑是否在RO 引脚增加1 个大约10K 的上拉电阻。 SP485R 芯片本身集成了有效的ESD 保护措施。但为了更加可靠地保护RS-485 网络,确保系统安全,我们通常还会额外增加一些保护电路。 电路图中,钳位于6.8V 的TVS 管V4、V5、V6 都是用来保护RS-485 总线的,避免RS-485总线在受外界干扰时(雷击、浪涌)产生的高压损坏RS-485 收发器。当然,也选择集成的总线保护元件,比如ONSemi 半导体的NUP2105L 器件(SOT-23 封装,集成2 个双向TVS器件),作为SP485R 芯片的附加保护措施。
另外,电路中的L1、L2、C1、C2 是可选安装元件,用于提高电路的EMI 性能。图中附加的保护电路能够对SP485R 芯片起到良好的保护效果。
|