0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

提高RS485总线可靠性及故障处理方法

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-08-25 17:15 次阅读

MCU之间中长距离通信的诸多方案中,RS485硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS485总线在抗干扰、自适应、通信效率等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,因此提高另外一种比较省电的匹配方案是RC 匹配(图2)利用一只电容C

隔断直流成分,可以节省大部分功率,但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。除上述两种外还有一种采用二极管的匹配方案(图3),这种方案虽未实现真正的匹配,但它利用二极管的钳位作用,迅速削弱反射信号达到改善信号质量的目的,节能效果显著。(2)RO及DI端配置上拉电阻

异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手。为防止干扰信号误触发RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,建议RO外接10kΩ上拉电阻。

(3)保证系统上电时的RS485芯片处于接收输入状态

对于收发控制端TC建议采用MCU引脚通过反相器进行控制,不宜采用MCU引脚直接进行控制,以防止MCU上电时对总线的干扰,如图4所示。

(4)总线隔离

RS485总线为并接式二线制接口,一旦有一只芯片故障就可能将总线“拉死”,因此对其二线口VA、VB与总线之间应加以隔离。通常在VA、VB与总线之间各串接一只4~10Ω的PTC电阻,同时与地之间各跨接5V的TVS二极管,以消除线路浪涌干扰。如没有PTC电阻和TVS二极管,可用普通电阻和稳压管代替。

(5)合理选用芯片

例如,对外置设备为防止强电磁(雷电)冲击,建议选用TI的75LBC184等防雷击芯片,对节点数要求较多的可选用SIPEX的SP485R。

2.RS485网络配置

(1)网络节点数

网络节点数与所选RS485芯片驱动能力和接收器的输入阻抗有关,如75LBC184标称最大值为64点,SP485R标称最大值为400点。实际使用时,因线缆长度、线径、网络分布、传输速率不同,实际节点数均达不到理论值。例如75LBC184运用在500m分布的RS485网络上节点数超过50或速率大于9.6kb/s时,工作可靠性明显下降。通常推荐节点数按RS485芯片最大值的70%选取,传输速率在1200~9600b/s之间选取。通信距离1km以内,从通信效率、节点数、通信距离等综合考虑选用4800b/s最佳。通信距离1km以上时,应考虑通过增加中继模块或降低速率的方法提高数据传输可靠性。

(2)节点与主干距离

理论上讲,RS485节点与主干之间距离(T头,也称引出线)越短越好。T头小于10m的节点采用T型,连接对网络匹配并无太大影响,可放心使用,但对于节点间距非常小(小于1m,如LED模块组合屏)应采用星型连接,若采用T型或串珠型连接就不能正常工作。RS485是一种半双工结构通信总线,大多用于一对多点的通信系统,因此主机(PC)应置于一端,不要置于中间而形成主干的T型分布。

3.提高RS485通信效率

RS485通常应用于一对多点的主从应答式通信系统中,相对于RS232等全双工总线效率低了许多,因此选用合适的通信协议及控制方式非常重要。

(1)总线稳态控制(握手信号)

大多数使用者选择在数据发送前1ms将收发控制端TC置成高电平,使总线进入稳定的发送状态后才发送数据;数据发送完毕再延迟1ms后置TC端成低电平,使可靠发送完毕后才转入接收状态。据笔者使用TC端的延时有4个机器周期已满足要求。

(2)为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字。

惯用的数据包格式由引导码、长度码、地址码、命令码、数据、校验码、尾码组成,每个数据包长度达20~30字节。在RS485系统中这样的协议不太简练。推荐用户使用MODBUS协议,该协议已广泛应用于水利、水文、电力等行业设备及系统的国际标准中。

4.RS485接口电路的电源、接地

对于由MCU结合RS485微系统组建的测控网络,应优先采用各微系统独立供电方案,最好不要采用一台大电源给微系统并联供电,同时电源线(交直流)不能与RS485信号线共用同一股多芯电缆。RS485信号线宜选用截面积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~38V的超宽电压输入。

5.光电隔离

在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。虽然RS485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无法正常工作了,严重时甚至会烧毁芯片和仪器设备。

解决此类问题的方法是通过DC-DC将系统电源和RS485收发器的电源隔离;通过光耦将信号隔离,彻底消除共模电压的影响。实现此方案的途径可分为:

(1)用光耦、带隔离的DC-DC、RS485芯片构筑电路;

(2)使用二次集成芯片,如PS1480、MAX1480等。

6.RS485系统的常见故障及处理方法

RS485是一种低成本、易操作的通信系统,但是稳定性弱同时相互牵制性强,通常有一个节点出现故障会导致系统整体或局部的瘫痪,而且又难以判断。故向读者介绍一些维护RS485的常用方法。

(1)若出现系统完全瘫痪,大多因为某节点芯片的VA、VB被电源击穿,使用万用表测VA、VB间差模电压为零,而对地的共模电压大于3V,此时可通过测共模电压大小来排查,共模电压越大说明离故障点越近,反之越远。

(2)总线连续几个节点不能正常工作。一般是由其中的一个节点故障导致的。一个节点故障会导致邻近的2~3个节点(一般为后续)无法通信,因此将其逐一与总线脱离,如某节点脱离后总线能恢复正常,说明该节点故障。

(3)集中供电的RS485系统在上电时常常出现部分节点不正常,但每次又不完全一样。这是由于对RS485的收发控制端TC设计不合理,造成微系统上电时节点收发状态混乱从而导致总线堵塞。改进的方法是将各微系统加装电源开关然后分别上电。

(4)系统基本正常但偶尔会出现通信失败。一般是由于网络施工不合理导致系统可靠性处于临界状态,最好改变走线或增加中继模块。应急方法之一是将出现失败的节点更换成性能更优异的芯片。

(5)因MCU故障导致TC端处于长发状态而将总线拉死一片。提醒读者不要忘记对TC端的检查,尽管RS485规定差模电压大于200mV即能正常工作。但实际测量:一个运行良好的系统其差模电压一般在1.2V左右(因网络分布、速率的差异有可能使差模电压在0.8~1.5V范围内)。
审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17109

    浏览量

    350894
  • 电容
    +关注

    关注

    99

    文章

    6028

    浏览量

    150234
  • 自动化
    +关注

    关注

    29

    文章

    5557

    浏览量

    79229
  • RS485总线
    +关注

    关注

    3

    文章

    94

    浏览量

    18937
收藏 人收藏

    评论

    相关推荐

    如何提高RS-485通信可靠性的措施

    如何提高RS-485通信可靠性的措施随着数据采集系统的广泛应用,通常由单片机构成的应用系统,如仪器仪表、智能设备等都需要与PC 机之间交换数据,实现与PC 机之间的通信,以充分发挥PC 和单片机之间
    发表于 12-12 10:44

    有关RS485电路可靠性设计的经典资料!

    本帖最后由 gk320830 于 2015-3-5 01:45 编辑 关RS485电路可靠性设计的经典资料,对实际应用特别有好处。如果你的设计仅仅是满足简单的功能需求,该文章没有参考意义,如果你要完成的是真正可靠的产品设
    发表于 08-05 22:23

    RS485通讯标准

    协议采用CRC校验、奇偶校验等方式避免误码,引起的不正常;在应用中,必须采用主从模式或非破坏逐位仲裁机制,避免多主的信号碰撞,通讯失败。所以,即便是在工业自动化中非常普遍应用的类似于RS485总线等通讯模式,也需要硬件、软件等
    发表于 07-11 15:21

    如何提高RS485总线可靠性

    在MCU之间中长距离通信的诸多方案中,RS485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS485总线在抗干扰、自适应、通信效率等方面
    发表于 07-16 08:19

    介绍一种提高RS485总线通信速度的设计方法

    本文介绍了一种提高RS485总线通信速度的设计方法
    发表于 06-02 06:29

    RS485——RS485通信基础理论与STM32测试 精选资料分享

    1.优劣优势:RS485可靠传输距离远,接线简单成为了相对于RS232的最大优势。不足:RS485总线是一种常规的通信
    发表于 07-28 06:54

    提高RS485总线通信速度的设计

    介绍一种通信总线RS485主从通信方式,提高RS485总线采集速度的方法,该
    发表于 04-12 00:37 44次下载
    <b class='flag-5'>提高</b><b class='flag-5'>RS485</b><b class='flag-5'>总线</b>通信速度的设计

    提高485总线可靠性

    提高485总线可靠性 摘  要:就485总线应用中易出现的问题,分析了产生的原因并给出解决
    发表于 03-13 14:00 3282次阅读
    <b class='flag-5'>提高</b><b class='flag-5'>485</b><b class='flag-5'>总线</b>的<b class='flag-5'>可靠性</b>

    RS485总线可靠性提高方法故障处理

      在MCU之间中长距离通信的诸多方案中,RS485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS485总线在抗
    发表于 11-03 11:34 8814次阅读
    <b class='flag-5'>RS485</b><b class='flag-5'>总线</b><b class='flag-5'>可靠性</b><b class='flag-5'>提高</b><b class='flag-5'>方法</b>及<b class='flag-5'>故障</b><b class='flag-5'>处理</b>

    RS485总线网络可靠性研究

    RS485总线网络结构和网络现场环境特点,分析了影响RS485总线网络系统通信可靠性的因素,提出了有效的保证通信
    发表于 02-14 15:01 80次下载

    提高RS-485总线可靠性的几种方法及常见故障处理

    等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行
    发表于 12-02 10:14 1516次阅读
     <b class='flag-5'>提高</b><b class='flag-5'>RS-485</b><b class='flag-5'>总线</b><b class='flag-5'>可靠性</b>的几种<b class='flag-5'>方法</b>及常见<b class='flag-5'>故障</b><b class='flag-5'>处理</b>

    如何提高RS-485总线通信的可靠性

    等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性
    的头像 发表于 01-27 10:55 4825次阅读
    如何<b class='flag-5'>提高</b><b class='flag-5'>RS-485</b><b class='flag-5'>总线</b>通信的<b class='flag-5'>可靠性</b>

    RS485总线可靠性提高方法

    来源:罗姆半导体社区 在MCU之间中长距离通信的诸多方案中,RS485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS485总线在抗干扰
    的头像 发表于 02-03 14:48 933次阅读

    RS485总线通信故障原因及处理方法

    故障运行多日的RS485总线突然无法通信,这条总线连接有1个主控,5个分控以及1个工控屏。
    发表于 08-12 15:07 1.2w次阅读

    如何提高RS485通信的可靠性

    通信可靠性下降。为了确保系统的稳定运行,提高RS485通信的可靠性至关重要。合理的布线与接地布线是影响RS485通信
    的头像 发表于 09-20 08:07 328次阅读
    如何<b class='flag-5'>提高</b><b class='flag-5'>RS485</b>通信的<b class='flag-5'>可靠性</b>?