基于RS485总线通讯系统的可靠性措施

发布者:温雅如风最新更新时间:2016-12-10 来源: eefocus关键字:RS485总线  通讯系统 手机看文章 扫描二维码
随时随地手机看文章

引 言


在产业控制及丈量领域较为常用的网络之一就是物理层采用RS-485通讯接口所组成的工控设备网络。这种通讯接口可以十分方便地将很多设备组成一个控制网络。从目前解决单片机之间中长间隔通讯的诸多方案分析来看,RS-485总线通讯模式由于具有结构简单、价格低廉、通讯间隔和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。但RS485总线存在自适应、自保护功能脆弱等缺点,如不留意一些细节的处理,常出现通讯失败甚至系统瘫痪等故障,因此进步RS-485总线的运行可靠性至关重要。

电路基本原理


某节点的硬件电路设计如图1所示,在该电路中,使用了一种RS-485接口芯片SN75LBC184,它采用单一电源Vcc,电压在+3~+5.5 V范围内都能正常工作。与普通的RS-485芯片相比,它不但能抗雷电的冲击而且能承受高达8 kV的静电放电冲击,片内集成4个瞬时过压保护管,可承受高达400 V的瞬态脉冲电压。因此,它能明显进步防止雷电损坏器件的可靠性。对一些环境比较恶劣的现场,可直接与传输线相接而不需要任何外加保护元件。该芯片还有一个独特的设计,当输进端开路时,其输出为高电平,这样可保证接收器输进端电缆有开路故障时,不影响系统的正常工作。另外,它的输进阻抗为RS485标准输进阻抗的2倍(≥24 kΩ),故可以在总线上连接64个收发器。芯片内部设计了限斜率驱动,使输出信号边沿不会过陡,使传输线上不会产生过多的高频分量,从而有效扼制电磁干扰。在图1中,四位一体的光电耦合器TLP521让单片机与SN75LBC184之间完全没有了电的联系,进步了工作的可靠性。基本原理为:当单片机P1.6=0时,光电耦合器的发光二极管发光,光敏三极管导通,输出高电压(+5 V),选中RS485接口芯片的DE端,答应发送。当单片机P1.6=1时,光电耦合器的发光二极管不发光,光敏三极管不导通,输出低电压(0 V),选中RS485接口芯片的RE端,答应接收。SN75LBC184的R端(接收端)和D端(发送端)的原理与上述类似。


图1 RS-485通讯接口原理图


RS-485的DE控制端设计


在RS-485总线构筑的半双工通讯系统中,在整个网络中任一时刻只能有一个节点处于发送状态并向总线发送数据,其他所有节点都必须处于接收状态。假如有2个节点或2个以上节点同时向总线发送数据,将会导致所有发送方的数据发送失败。因此,在系统各个节点的硬件设计中,应首先力求避免因异常情况而引起本节点向总线发送数据而导致总线数据冲突。以MCS51系列的单片机为例,因其在系统复位时,I/O口都输出高电平,假如把I/O口直接与RS-485接口芯片的驱动器使能端DE相连,会在CPU复位期间使DE为高,从而使本节点处于发送状态。假如此时总线上有其他节点正在发送数据,则此次数据传输将被打断而告失败,甚至引起整个总线因某一节点的故障而通讯阻塞,继而影响整个系统的正常运行。考虑到通讯的稳定性和可靠性,在每个节点的设计中应将控制RS485总线接口芯片的发送引脚设计成DE真个反逻辑,即控制引脚为逻辑“1”时,DE端为“0”;控制引脚为逻辑“0”时,DE端为“1”。在图1中,将CPU的引脚P1.6通过光电耦合器驱动DE端,这样就可以使控制引脚为高或者异常复位时使SN75LBC184始终处于接收状态,从而从硬件上有效避免节点因异常情况而对整个系统造成的影响。这就为整个系统的通讯可靠奠定了基础。
    此外,电路中还有1片看门狗MAX813L,能在节点发生死循环或其他故障时,自动复位程序,交出RS-485总线控制权。这样就能保证整个系统不会因某一节点发生故障而独占总线,导致整个系统瘫痪。

避免总线冲突的设计


当一个节点需要使用总线时,为了实现总线通讯可靠,在有数据需要发送的情况下先侦听总线。在硬件接口上,首先将RS-485接口芯片的数据接收引脚反相后接至CPU的中断引脚INT0。在图1中,INT0是连至光电耦合器的输出端。当总线上有数据正在传输时,SN75LBC184的数据接收端(R端)表现为变化的高低电平,利用其产生的CPU下降沿中断(也可采用查询方式),能得知此时总线是否正“忙”,即总线上是否有节点正在通讯。假如“空闲”,则可以得到对总线的使用权限,这样就较好地解决了总线冲突的题目。在此基础上,还可以定义各种消息的优先级,使高优先级的消息得以优先发送,从而进一步进步系统的实时性。采用这种工作方式后,系统中已经没有主、从节点之分,各个节点对总线的使用权限是同等的,从而有效避免了个别节点通讯负担较重的情况。总线的利用率和系统的通讯效率都得以大大进步,从而也使系统响应的实时性得到改善,而且即使系统中个别节点发生故障,也不会影响其他节点的正常通讯和正常工作。这样使得系统的“危险”分散了,从某种程度上来说增强了系统的工作可靠性和稳定性。

RS-485输出电路部分的设计


在图1中,VD1~VD4为信号限幅二极管,其稳压值应保证符合RS-485标准,VD1和VD3取12 V,VD2 和VD4取7 V,以保证将信号幅度限定在-7~+12 V之间,进一步进步抗过压的能力。考虑到线路的特殊情况(如某一节点的RS-485芯片被击穿短路),为防止总线中其他分机的通讯受到影响,在SN75LBC184的信号输出端串联了2个20 Ω的电阻R1和R2,这样本机的硬件故障就不会使整个总线的通讯受到影响。在应用系统工程的现场施工中,由于通讯载体是双绞线,它的特性阻抗为120 Ω左右,所以线路设计时,在RS485网络传输线的始端和末端应各接1个120 Ω的匹配电阻(如图1中的R3),以减少线路上传输信号的反射。


系统的电源选择


对于由单片机结合RS-485组建的测控网络,应优先采用各节点独立供电的方案,同时电源线不能与RS-485信号线共用同一股多芯电缆。RS-485信号线宜选用截面积0.75 mm2以上的双绞线而不是平直线,并且选用线性电源TL750L05比选用开关电源更合适。TL750L05必须有输出电容,若没有输出电容,则其输出真个电压为锯齿波外形,锯齿波的上升沿随输进电压变化而变化,加输出电容后,可以抑制该现象。

软件编程


SN75LBC184在接收方式时,A、B为输进,R为输出;在发送方式时,D为输进,A、B为输出。当传送方向改变一次后,假如输进未变化,则此时输出为随机状态,直至输进状态变化一次,输出状态才确定。显然,在由发送方式转进接收方式后,假如A、B状态变化前,R为低电平,在第一个数据起始位时,R仍为低电平,CPU以为此时无起始位,直到出现第一个下降沿,CPU才开始接收第一个数据,这将导致接收错误。由接收方式转进发送方式后,D变化前,若A与B之间为低电压,发送第一个数据起始位时,A与B之间仍为低电压,A、B引脚无起始位,同样会导致发送错误。克服这种后果的方案是:主机连续发送两个同步字,同步字要包含多次边沿变化(如55H ,0AAH),并发送两次(第一次可能接收错误而忽略) ,接收端收到同步字后,就可以传送数据了,从而保证正确通讯。


为了更可靠地工作,在RS-485总线状态切换时需要适当延时,再进行数据的收发。具体的做法是在数据发送状态下,先将控制端置“1”,延时0.5 ms左右的时间,再发送有效的数据,数据发送结束后,再延时0.5 ms,将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。数据通讯程序基本流程图如图2所示


图2 数据通讯程序基本流程图


单片机通讯节点的程序基本上可以分为6个主要部分,分别为预定义部分、初始化部分、主程序部分、设备状态检测部分、帧接收部分和帧发送部分。预定义部分主要定义了通讯中使用的握手信号,用于保存设备信息的缓冲区和保存本节点设备号的变量。设备状态检测部分应能在程序初始化后,当硬件发生故障时,作出相应的反应。主程序部分应能接收命令帧,并根据命令的内容作出相应的回应。为缩短篇幅,这里仅给出主程序部分的代码。如下所示: 
    /* 主程序流程 */ while(1) { //主循环  
  if(recv_cmd(&type)==0) //发生帧错误或帧地址与本机
             //地址不符,丢弃当前帧后返回
  continue;
  switch(type) {
  case __ACTIVE_:    //主机询问从机是否存在
  send_data(__OK_, 0,dbuf);//发送应答信息
  break;
  case __GETDATA_:
  len = strlen(dbuf);
        send_data(__STATUS_, len,dbuf);//发送状态信息
  break;
  default:
  break;//命令类型错误,丢弃当前帧后返回
  }
  }


结 语

RS-485由于使用了差分电平传输信号,传输间隔比RS-232更长,最多可以达到3000 m,因此很适合产业环境下的应用。但与CAN总线等更为先进的现场产业总线相比,其处理错误的能力还稍显逊色,所以在软件部分还需要进行特别的设计,以避免数据错误等情况发生。另外,系统的数据冗余量较大,对于速度要求高的应用场所不适宜用RS-485总线。固然RS-485总线存在一些缺点,但由于它的线路设计简单、价格低廉、控制方便,只要处理好细节,在某些工程应用中仍然能发挥良好的作用。总之,解决可靠性的关键在于工程开始施工前就要全盘问虑可采取的措施,这样才能从根本上解决题目,而不要等到工程后期再往亡羊补牢。


关键字:RS485总线  通讯系统 引用地址:基于RS485总线通讯系统的可靠性措施

上一篇:CAN总线在逆变电源监控模块中的研究与应用
下一篇:RS485通讯在配网智能优化节电系统中的应用

推荐阅读最新更新时间:2024-05-03 00:53

光纤通讯在空空导弹飞控系统中的研究和应用
0 引言       空空导弹飞控系统是导弹信息处理的核心部分,担负着与弹内外通讯的功能。飞控系统与其他各系统的通讯总线形式多样,总线形式主要有一次性指令、模拟量、ARINC429总线、1553B总线、RS 422总线、LVDS总线、并行总线等,存在通讯速率低、易受电磁干扰、线缆粗重、总线形式多样、不易组网、测试设备复杂等缺点。空空导弹未来发展的方向是信息量大、传输速率高、小型化、抗强电磁干扰等,因此目前的总线方式不能满足要求。而光纤通讯随着技术的发展,已具备通讯速率高、抗电磁干扰能力强、线缆轻便、易小型化等特点,已广泛应用于各个领域。目前飞机内部已逐步形成了以光纤传输的总线系统,相应标准已建立,在载机的悬挂系统中预留了光纤接口作为
[单片机]
光纤<font color='red'>通讯</font>在空空导弹飞控<font color='red'>系统</font>中的研究和应用
RS485总线在电视监控系统中的应用
    在电视监控系统中,为了完成对各信息点(视频、音频、报警信号)信息的收集,以及对各前端设备(云台、镜头、护罩、灯光等)的控制,我们需要铺设大量的线缆。这些线缆的布线方式,主要有星型连接和T型连接两种。     星型连接是电视监控系统中最常用的布线方法(如图1所示),视频线、音频线和大多数报警探头的信号线都采用这种方法。星型连接的优点是施工、维护简单方便;缺点是比较费线。 图1:星型连接示意图     T型连接是一点对多点总线控制系统中常用的布线方法(如图2所示)。就是说,选择距离最远的两个节点之间的线路作为主干总线,其他节点则通过T型接头挂接到主干线上。而T型接头引出的线路要越短越好,最好不要超过主干线路的1/10,否则
[嵌入式]
RS485总线在智能仪表通信系统中的应用
      21世纪是互联网的时代,在这个网络遍布我们身边的每一个角落的社会,RS485串行通讯技术也被广泛应用于工控行业。现在世界仪表市场基本被智能仪表所垄断。究其原因就是企业信息化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。RS485接口可以实现点对点的通信并可以联网,因此RS485在智能仪表通信系统中得到了最大化的应用。       RS-485接口通信链路时只是简单地用一对双绞线将各个接口的"A"、"B"端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大 的隐患,这有二个原因:(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照
[嵌入式]
基于USB接口的激光陀螺惯导系统数据通讯
  激光陀螺作为捷联惯性导航系统的核心器件,其性能远优越于传统的机电陀螺,已广泛应用于海、陆、空、天等军用和民用导航领域。   在激光陀螺捷联惯导系统中,惯性仪表(激光陀螺和加速度计)直接“捆绑”在载体上,所承受的力学环境要比平台恶劣。在某些军用环境所要求承受的强烈振动条件下,由于惯性组合体在力和运动的激励下产生多项误差,系统姿态和位置误差增长较快。研究表明,这些误差项有一部分具有较好的补偿性,可以通过误差补偿减小或消除部分误差,从而提高系统在强振动下的精度。这就需要将惯性仪表在振动环境下的输出数据高速采集并保存下来,然后在PC机上进行离线仿真以确定和分离各项误差系数。由于数据量庞大,无法直接存储在导航计算机中:例如以8 kHz对惯
[嵌入式]
基于Intel8274的机载同步通讯系统设计
  异步串行通讯,诸如RS232、RS485等以简单实用而众所周知。同步串行通讯以异步不可比拟的高速度而应用在许多速度要求较高的通讯网络。同步通信无需开始位和停止位,直接由同步时钟对数据采样,数据传输率等同于时钟速率。其显著特点就是两端必须共享同一时钟,发送方必须将时钟和数据同时发送,接收方才能正确采样。同步模式分为字节同步和位同步。国际标准化组织的HDLC(高级数据链路控制)协议是应用最普遍的同步协议,帧结构如表1所示,其中标志字节值为7EH。 Intel8274简介   Intel8274是实现HDLC同步通信协议的最佳接口芯片,图1是其管脚定义,有以下显著特点: ·有异步、字节同步和位同步工作模式; ·2个独立的、全双工的
[网络通信]
RS485总线可靠性提高方法及故障处理
    在MCU之间中长距离通信的诸多方案中,RS485因硬件设计简单、控制方便、成本低廉等优点广泛应用于工厂自动化、工业控制、小区监控、水利自动报测等领域。但RS485总线在抗干扰、自适应、通信效率等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,因此提高   另外一种比较省电的匹配方案是RC 匹配(图2)利用一只电容C   隔断直流成分,可以节省大部分功率,但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。除上述两种外还有一种采用二极管的匹配方案(图3),这种方案虽未实现真正的匹配,但它利用二极管的钳位作用,迅速削弱反射信号达到改善信号质量的目的,节能效果显著。欲了解更多信息请登录电子发烧友
[嵌入式]
基于STM32的无线通讯终端系统的设计方案
1.引言   目前仪器设备多数采用RS232接口与计算机通信,但是随着计算机技术的发展,支持热插拔的USB标准接口将取代RS232接口,因此计算机将越来越少配置甚至不配置RS232接口。   实验证明,该系统的设计具有低成 本、高集成度和设计简单等优点,实现无线联网和组网功能,适于便携式电子设备的文件远端下载和上传,为诸如无线切割机、各类物联网掌上终端等设备的数据传输提供了解决方案。   RS232接口与USB接口虽然都属于串行接口,但它们的数据格式、通信协议、信号电平以及机械连 接方式则不同。这样计算机不能控制现有仪器设备,解决这一问题就得把现有的仪器设备的RS232接口转换成USB接口。实现这种转换可以采用 USB
[单片机]
基于STM32的无线<font color='red'>通讯</font>终端<font color='red'>系统</font>的设计方案
应用于分布式电子系统中的三种LIN串行通讯协议的介绍
本文旨在介绍本地互联网(LIN)这种低成本的串行通讯协议,它主要用于汽车的分布式电子系统和基于网络的车辆概念中。 车内网络解决方案 新技术为车辆带来的众多改变之一就是电子零部件的不断增加,同时,带有多种传感器、执行器、电子控制器的高级控制系统也对车用通讯技术提出了巨大需求。显而易见,这些需求只能通过使用这种网络解决方案来满足,因为车内环境各不相同,所以,本文将介绍三种能满足成本、安全性和通讯速度需求的主要通讯标准。 *FlexRay *CAN -控制器局域网络 *LIN -本地互联网络 以上三种通讯标准在通讯速度和每个节点的成本方面的比较,见图1 图1: 主要汽车通讯协议 每个通讯标准都有各自的优点和目标应用平台: F
[嵌入式]
应用于分布式电子<font color='red'>系统</font>中的三种LIN串行<font color='red'>通讯</font>协议的介绍
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved