1、一、RS-232、RS-422 与 RS-485 的由来 RS-232、RS-422 与 RS-485 都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232 在 1962 年发布,命名为 EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422 由 RS-232 发展而来,它是为弥补 RS-232 之不足而提出的。为改进 RS-232通信距离短、速率低的缺点,RS-422 定义了一种平衡通信接口,将传输速率提高到 10Mb/s,传输距离延长到 4000 英尺(速率低于 100kb/s 时),并允许在一条平衡总线上连接最多 10 个接收器。RS-4
2、22 是一种单机发送、多机接收的单向、平衡传输规范,被命名为 TIA/EIA-422-A 标准。为扩展应用范围,EIA 又于 1983 年在 RS-422 基础上制定了 RS-485 标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为 TIA/EIA-485-A 标准。由于 EIA 提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以 RS 作前缀称谓。 RS-232、RS-422 与 RS-485 标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立
3、自己的高层通信协议。因此在视频界的应用,许多厂家都建立了一套高层通信协议,或公开或厂家独家使用。如录像机厂家中的 Sony 与松下对录像机的 RS-422 控制协议是有差异的,视频服务器上的控制协议则更多了,如 Louth、Odetis 协议是公开的,而 ProLINK 则是基于 Profile 上的。 二、RS-232 串行接口标准 目前 RS-232 是 PC 机与通信工业中应用最广泛的一种串行接口。RS-232 被定义为一种在低速率串行通讯中增加通讯距离的单端标准。RS-232 采取不平衡传输方式,即所谓单端通讯。 图 1 收、发端的数据信号是相对于信号地,如从 DTE 设备发出的数据在
4、使用 DB25 连接器时是 2脚相对 7 脚(信号地)的电平,DB25 各引脚定义参见图 1。典型的 RS-232 信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V 电平。当无数据传输时,线上为 TTL,从开始传送数据到结束,线上电平从 TTL 电平到 RS-232 电平再返回TTL 电平。接收器典型的工作电平在+3+12V 与-3-12V。由于发送电平与接收电平的差仅为2V 至 3V 左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约 15米,最高速率为 20kb/s。RS-232 是为点对点(即只用一对收、发设备)通讯而
5、设计的,其驱动器负载为 37k。所以 RS-232 适合本地设备之间的通信。其有关电气参数参见表 1。 规定 RS232 RS422 R485工作方式 单端 差分 差分节点数 1 收、1 发 1 发 10 收 1 发 32 收最大传输电缆长度 50 英尺 400 英尺 400 英尺最大传输速率 20Kb/S 10Mb/s 10Mb/s最大驱动输出电压 +/-25V -0.25V+6V -7V+12V驱动器输出信号电平(负载最小值) 负载 +/-5V+/-15V +/-2.0V +/-1.5V驱动器输出信号电平(空载最大值) 空载 +/-25V +/-6V +/-6V驱动器负载阻抗() 3K7K
6、 100 54摆率(最大值) 30V/s N/A N/A接收器输入电压范围 +/-15V -10V+10V -7V+12V接收器输入门限 +/-3V +/-200mV +/-200mV接收器输入电阻() 3K7K 4K(最小) 12K驱动器共模电压 -3V+3V -1V+3V接收器共模电压 -7V+7V -7V+12V表 1 三、RS-422 与 RS-485 串行接口标准 1平衡传输 RS-422、RS-485 与 RS-232 不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为 A,另一线定义为 B,如图 2。 图 2 通常情况下,发送驱动器 A、B 之间
7、的正电平在+2+6V,是一个逻辑状态,负电平在-26V,是另一个逻辑状态。另有一个信号地 C,在 RS-485 中还有一“使能”端,而在 RS-422中这是可用可不用的。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。接收器也作与发送端相对的规定,收、发端通过平衡双绞线将 AA 与 BB 对应相连,当在收端 AB之间有大于+200mV 的电平时,输出正逻辑电平,小于-200mV 时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在 200mV 至 6V 之间。参见图 3。 图 3 2RS
8、-422 电气规定 RS-422 标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。图5 是典型的 RS-422 四线接口。实际上还有一根信号地线,共 5 根线。图 4 是其 DB9 连接器引脚定义。由于接收器采用高输入阻抗和发送驱动器比 RS232 更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接 10 个节点。即一个主设备(Master),其余为从设备(Salve),从设备之间不能通信,所以 RS-422 支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是 104k+100(终接电阻)。RS-422 四线接口由于采用单独的发送和接收通道,因此
9、不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF 握手)或硬件方式(一对单独的双绞线)实现。 图 4 图 5RS-422 的最大传输距离为 4000 英尺(约 1219 米),最大传输速率为 10Mb/s。其平衡双绞线的长度与传输速率成反比,在 100kb/s 速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般 100 米长的双绞线上所能获得的最大传输速率仅为1Mb/s。 RS-422 需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在 300 米以下不需终接电阻。终接电阻接在传输电缆的最远端。
10、 RS-422 有关电气参数见表 1 3RS-485 电气规定 由于 RS-485 是从 RS-422 基础上发展而来的,所以 RS-485 许多电气规定与 RS-422 相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485 可以采用二线与四线方式,二线制可实现真正的多点双向通信,参见图 6。 而采用四线连接时,与 RS-422 一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比 RS-422 有改进, 无论四线还是二线连接方式总线上可多接到 32 个设备。参见图 7。 图 6 图 7RS-485 与 RS-422 的不同还在于其共模输出电压是
11、不同的,RS-485 是-7V 至+12V 之间,而RS-422 在-7V 至+7V 之间,RS-485 接收器最小输入阻抗为 12k 剑 鳵 S-422 是 4k 健; 旧峡梢运礡 S-485 满足所有 RS-422 的规范,所以 RS-485 的驱动器可以用在 RS-422 网络中应用。 RS-485 有关电气规定参见表 1。 RS-485 与 RS-422 一样,其最大传输距离约为 1219 米,最大传输速率为 10Mb/s。平衡双绞线的长度与传输速率成反比,在 100kb/s 速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般 100 米长双绞线最大传
12、输速率仅为 1Mb/s。 RS-485 需要 2 个终接电阻,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在 300 米以下不需终接电阻。终接电阻接在传输总线的两端。 四、RS-422 与 RS-485 的网络安装注意要点 RS-422 可支持 10 个节点,RS-485 支持 32 个节点,因此多节点构成网络。网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。在构建网络时,应注意如下几点: 1采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。图 8 所示为实际应用中常见的一些错
13、误连接方式(a,c,e)和正确的连接方式(b,d,f)。a,c,e 这三种网络连接尽管不正确,在短距离、低速率仍可能正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,会造成信号质量下降。2应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。总之,应该提供一条单一、连续的信号通道作为总线。 图 8 五、RS-422 与 RS-485 传输线上匹配的一些说明 对 RS-422 与 RS-4
14、85 总线网络一般要使用终接电阻进行匹配。但在短距离与低速率下可以不用考虑终端匹配。那么在什么情况下不用考虑匹配呢?理论上,在每个接收数据信号的中点进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。但这在实际上难以掌握,美国 MAXIM 公司有篇文章提到一条经验性的原则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的 3 倍以上时就可以不加匹配。例如具有限斜率特性的 RS-485 接口 MAX483 输出信号的上升或下降时间最小为 250ns,典型双绞线上的信号传输速率约为 0.2m/ns(24AWG
15、PVC 电缆),那么只要数据速率在 250kb/s 以内、电缆长度不超过 16 米,采用 MAX483 作为 RS-485 接口时就可以不加终端匹配。 一般终端匹配采用终接电阻方法,前文已有提及,RS-422 在总线电缆的远端并接电阻,RS-485 则应在总线电缆的开始和末端都需并接终接电阻。终接电阻一般在 RS-422 网络中取100,在 RS-485 网络中取 120。相当于电缆特性阻抗的电阻,因为大多数双绞线电缆特性阻抗大约在 100120。这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。 另外一种比较省电的匹配方式是 RC 匹配,如图 9
16、。利用一只电容 C 隔断直流成分可以节省大部分功率。但电容 C 的取值是个难点,需要在功耗和匹配质量间进行折衷。 还有一种采用二极管的匹配方法,如图 10。这种方案虽未实现真正的“匹配”,但它利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的。节能效果显著。 图 9 图 10六、RS-422 与 RS-485 的接地问题 电子系统接地是很重要的,但常常被忽视。接地处理不当往往会导致电子系统不能稳定工作甚至危及系统安全。RS-422 与 RS-485 传输网络的接地同样也是很重要的,因为接地系统不合理会影响整个网络的稳定性,尤其是在工作环境比较恶劣和传输距离较远的情况下,对于接地的要
17、求更为严格。否则接口损坏率较高。很多情况下,连接 RS-422、RS-485 通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有下面二个原因: 1共模干扰问题:正如前文已述,RS-422 与 RS-485 接口均采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视了收发器有一定的共模电压范围,如 RS-422 共模电压范围为-7+7V,而 RS-485 收发器共模电压范围为-7+12V,只有满足上述条件,整个网络才能正常工作。当
18、网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。以图 11 为例,当发送驱动器 A 向接收器 B 发送数据时,发送驱动器 A 的输出共模电压为 VOS,由于两个系统具有各自独立的接地系统,存在着地电位差 VGPD。那么,接收器输入端的共模电压 VCM 就会达到VCM=VOS+VGPD。RS-422 与 RS-485 标准均规定 VOS3V,但 VGPD 可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入 VCM 超出正常范围,并在传输线路上产生干扰电流,轻则影响正常通信,重则损坏通信接口电路。 图 11 2(EMI)问题:发送驱动器输出信号中的共
19、模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。 由于上述原因,RS-422、RS-485 尽管采用差分平衡传输方式,但对整个 RS-422 或 RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压 VGPD 被短路。这条信号地可以是额外的一条线(非屏蔽双绞线),或者是屏蔽双绞线的屏蔽层。这是最通常的接地方法。 值得注意的是,这种做法仅对高阻型共模干扰有效,由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线
20、上形成较大的环路电流,影响正常通信。笔者认为,可以采取以下三种措施: (1) 如果干扰源内阻不是非常小,可以在接地线上加限流电阻以限制干扰电流。接地电阻的增加可能会使共模电压升高,但只要控制在适当的范围内就不会影响正常通信。 (2) 采用浮地技术,隔断接地环路。这是较常用也是十分有效的一种方法,当共模干扰内阻很小时上述方法已不能奏效,此时可以考虑将引入干扰的节点(例如处于恶劣的工作环境的现场设备)浮置起来(也就是系统的电路地与机壳或大地隔离),这样就隔断了接地环路,不会形成很大的环路电流。 (3) 采用隔离接口。有些情况下,出于安全或其它方面的考虑,电路地必须与机壳或大地相连,不能悬浮,这时可
21、以采用隔离接口来隔断接地回路,但是仍然应该有一条地线将隔离侧的公共端与其它接口的工作地相连。参见图 12。 图 12 七、RS-422 与 RS-485 的网络失效保护 RS-422 与 RS-485 标准都规定了接收器门限为200mV。这样规定能够提供比较高的噪声抑制能力,如前文所述,当接收器 A 电平比 B 电平高+200mV 以上时,输出为正逻辑,反之,则输出为负逻辑。但由于第三态的存在,即在主机在发端发完一个信息数据后,将总线置于第三态,即总线空闲时没有任何信号驱动总线,使 AB 之间的电压在-200+200mV 直至趋于 0V,这带来了一个问题:接收器输出状态不确定。如果接收机的输出
22、为 0V,网络中从机将把其解释为一个新的启动位,并试图读取后续字节,由于永远不会有停止位,产生一个帧错误结果,不再有设备请求总线,网络陷于瘫痪状态。除上述所述的总线空闲会造成两线电压差低于 200mV 的情况外,开路或短路时也会出现这种情况。故应采取一定的措施避免接收器处于不确定状态。 图 13 通常是在总线上加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压-200mV)。如图 13。将 A 上拉到地,B 下拉到 5V,电阻的典型值是 1k,具体数值随电缆的电容变化而变化。 上述方法是比较经典的方法,但它仍然不能解决总线短路时的问题,有些厂家将接收门限移到-200m
23、V/-50mV,可解决这个问题。例如 Maxim 公司的 MAX3080 系列 RS-485 接口,不仅省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。 八、RS-422 与 RS-485 的瞬态保护 前文提到的信号接地措施,只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。由于传输线对高频信号而言就是相当于电感,因此对于高频瞬态干扰,接地线实际等同于开路。这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压。 实际应用环境下还是存在高频瞬态干扰的可能。一般在切换大功率感性负载如电机、变压器、继电器等或闪电过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护
24、就会损坏 RS-422 或 RS-485 通信接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。 1隔离保护方法。这种方案实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高频变压器、光耦等元件实现接口的电气隔离,已有器件厂商将所有这些元件集成在一片 IC 中,使用起来非常简便,如 Maxim 公司的 MAX1480/MAX1490,隔离电压可达 2500V。这种方案的优点是可以承受高电压、持续时间较长的瞬态干扰,实现起来也比较容易,缺点是成本较高。 2旁路保护方法。这种方案利用瞬态抑制元件(如 TVS、MOV、气
25、体放电管等)将危害性的瞬态能量旁路到大地,优点是成本较低,缺点是保护能力有限,只能保护一定能量以内的瞬态干扰,持续时间不能很长,而且需要有一条良好的连接大地的通道,实现起来比较困难。实际应用中是将上述两种方案结合起来灵活加以运用,如图 14。在这种方法中,隔离接口对大幅度瞬态干扰进行隔离,旁路元件则保护隔离接口不被过高的瞬态电压击穿。 串口目前较为常用的串口有 9 针串口(DB9)和 25 针串口(DB25),通信距离较近时(12m),可以用电缆线直接连接标准 RS232 端口(RS422、RS485 较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收
26、数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用 RS232 相连。1、DB9 和 DB25 的常用信号脚说明2、RS232C 串口通信接线方法(三线制)首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连 同一个串口的接收脚和发送脚直接用线相连 对 9 针串口和 25 针串口,均是 2 与 3 直接相连;两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收 GPS 数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接,就能百战百胜。3、串口调试中要注意的几点: 不同编码机制不能混接,如 RS232C 不能直接与 RS422 接口相连,市面上专门的各种转换器卖,必须通过转换器才能连接;线路焊接要牢固,不然程序没问题,却因为接线问题误事;串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果;强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。