tianxu_unison
发表于 2004-1-8 18:02:06
[技术帖]提高RS-485总线可靠性的几种方法及常见故障处理
提高RS-485总线可靠性的几种方法及常见故障处理 在MCU之间中长距离通信的诸多方案中,RS-485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS-485总线在抗干扰、自适应、通信效率等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性至关重要。1 RS-485接口电路的硬件设计 1)总线匹配。总线匹配有两种方法,一种是加匹配电阻,如图1a所示。位于总线两端的差分端口VA与VB之间应跨接120Ω匹配电阻,以减少由于不匹配而引起的反射、吸收噪声,有效地抑制了噪声干扰。但匹配电阻要消耗较大电流,不适用于功耗限制严格的系统。 另外一种比较省电的匹配方案是RC 匹配(图2 )利用一只电容C 隔断直流成分,可以节省大部分功率,但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。除上述两种外还有一种采用二极管的匹配方案(图3),这种方案虽未实现真正的匹配,但它利用二极管的钳位作用,迅速削弱反射信号达到改善信号质量的目的,节能效果显著。 2) RO及DI端配置上拉电阻。异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手。为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,建议RO外接10kΩ上拉电阻。 3)保证系统上电时的RS-485芯片处于接收输入状态。对于收发控制端TC建议采用MCU引脚通过反相器进行控制,不宜采用MCU引脚直接进行控制,以防止MCU上电时对总线的干扰,如图4所示。 4)总线隔离。RS-485总线为并接式二线制接口,一旦有一只芯片故障就可能将总线“拉死”,因此对其二线口VA、VB与总线之间应加以隔离。通常在VA、VB与总线之间各串接一只4~10Ω的PTC电阻,同时与地之间各跨接5V的TVS二极管,以消除线路浪涌干扰。如没有PTC电阻和TVS二极管,可用普通电阻和稳压管代替。 5)合理选用芯片。例如,对外置设备为防止强电磁(雷电)冲击,建议选用TI的75LBC184等防雷击芯片,对节点数要求较多的可选用SIPEX的SP485R。2 RS-485网络配置 1)网络节点数。网络节点数与所选RS-485芯片驱动能力和接收器的输入阻抗有关,如75LBC184标称最大值为64点,SP485R标称最大值为400点。实际使用时,因线缆长度、线径、网络分布、传输速率不同,实际节点数均达不到理论值。例如75LBC184运用在500m分布的RS-485网络上节点数超过50或速率大于9.6kb/s时,工作可靠性明显下降。通常推荐节点数按RS-485芯片最大值的70%选取,传输速率在1200~9600b/s之间选取。通信距离1km以内,从通信效率、节点数、通信距离等综合考虑选用4800b/s最佳。通信距离1km以上时,应考虑通过增加中继模块或降低速率的方法提高数据传输可靠性。 2)节点与主干距离。理论上讲,RS-485节点与主干之间距离(T头,也称引出线)越短越好。T头小于10m的节点采用T型,连接对网络匹配并无太大影响,可放心使用,但对于节点间距非常小(小于1m,如LED模块组合屏)应采用星型连接,若采用T型或串珠型连接就不能正常工作。RS-485是一种半双工结构通信总线,大多用于一对多点的通信系统,因此主机(PC)应置于一端,不要置于中间而形成主干的T型分布。 3 提高RS-485通信效率 RS-485通常应用于一对多点的主从应答式通信系统中,相对于RS-232等全双工总线效率低了许多,因此选用合适的通信协议及控制方式非常重要。 1.总线稳态控制(握手信号)。大多数使用者选择在数据发送前1ms将收发控制端TC置成高电平,使总线进入稳定的发送状态后才发送数据;数据发送完毕再延迟1ms后置TC端成低电平,使可靠发送完毕后才转入接收状态。据笔者使用TC端的延时有4个机器周期已满足要求; 2.为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字。惯用的数据包格式由引导码、长度码、地址码、命令码、数据、校验码、尾码组成,每个数据包长度达20~30字节。在RS-485系统中这样的协议不太简练。推荐用户使用MODBUS协议,该协议已广泛应用于水利、水文、电力等行业设备及系统的国际标准中。4 RS-485接口电路的电源、接地 对于由MCU结合RS-485微系统组建的测控网络,应优先采用各微系统独立供电方案,最好不要采用一台大电源给微系统并联供电,同时电源线(交直流)不能与RS-485信号线共用同一股多芯电缆。RS-485信号线宜选用截面积0.75mm2以上双绞线而不是平直线。对于每个小容量直流电源选用线性电源LM7805比选用开关电源更合适。当然应注意LM7805的保护: 1.LM7805输入端与地应跨接220~1000μF电解电容; 2.LM7805输入端与输出端反接1N4007二极管; 3.LM7805输出端与地应跨接470~1000μF电解电容和104pF独石电容并反接1N4007二极管; 4.输入电压以8~10V为佳,最大允许范围为6.5~24V。可选用TI的PT5100替代LM7805,以实现9~3
于洪
发表于 2004-1-8 19:23:52
Re:[技术帖]提高RS-485总线可靠性的几种方法及常见故障处理
要是配上图就完整了,这么有实际参考价值的文章怎么没有人回应呢?
犁叟
发表于 2004-1-9 06:11:58
Re:[技术帖]提高RS-485总线可靠性的几种方法及常见故障处理
真能够动手从电路入手的同仁有多少在我们行业内?咱们曲高和寡了~~~~~~~~~玩HI-FI的朋友有只玩音乐的,有花钱买设备的,有能够摩机再体会的~~~~~后者就稀少了~~~
xmznt
发表于 2004-1-9 06:55:14
Re:[技术帖]提高RS-485总线可靠性的几种方法及常见故障处理
RS-485总线吾是差了点,光看没有做,差也!
犁叟
发表于 2004-1-9 07:06:08
Re:[技术帖]提高RS-485总线可靠性的几种方法及常见故障处理
xmznt君你是过谦了~~~~~ 真希望哪天有个集团愿意投资,将我们几个招集起来一起做点实在的研究和开发~~~~
xmznt
发表于 2004-1-9 07:20:17
Re:[技术帖]提高RS-485总线可靠性的几种方法及常见故障处理
一场甜香的美梦,但愿有一朝!
中原来客
发表于 2004-3-12 19:07:06
re:把图片链接出来吧。这么好的资料可惜了。或...
把图片链接出来吧。这么好的资料可惜了。或请楼主发给吾一份吧。先谢了。
nq007liuxin
发表于 2004-3-15 21:24:20
re:努力学习中!!
努力学习中!!
nq007liuxin
发表于 2004-3-15 21:24:52
re:努力学习中!!
努力学习中!!
蚂蚁
发表于 2004-3-16 22:36:26
re:这东东好。。有图吗?
这东东好。。有图吗?