如何提高485总线系统的可靠性
引言
近年来,由于人们防火意识的不断增强以及有关法律、法规的不断完善,火灾自动报警系统得到迅猛发展和广泛应用,已成为预防火灾、保障人民生命和财产安全的最重要手段。这就要求火灾自动报警系统必须具有很高的可靠性和稳定性。
目前,国内火灾报警系统多采用RS485半双工异步通信总线进行联网,实现火灾报警控制器之间,以及火灾报警控制器与火灾显示盘之间的通信。但在实际使用中,往往由于设备数量多、通信线路远以及现场的各种干扰等,造成通信可靠性、稳定性不高,致使联网系统的质量得不到保证。
笔者在火灾自动报警系统的联网设计中,经大量试验,发现在使用RS485总线时,如果简单地按常规方式设计电路,那么在实际工程中可能存在以下两个问题:一是通信数据收发不可靠;二是在多机通信方式下,一个节点的故障(如死机)往往会使得整个系统的通信框架崩溃,而且给故障的排查带来困难。针对上述问题,对485总线接口的软硬件设计采取了有效的改进措施,大大提高了联网系统的可靠性和稳定性。
1 RS-485总线接口硬件电路的设计
如图1所示,89C51单片机自带异步通信接口,外接RS485收发器75LBC184,89C51的异步通信口与75LBC184之间采用3片光耦进行电气隔离。
1.1 75LBC184 DE控制端的设计
由于火灾报警控制系统中主机与分机相隔较远,通信线路的总长度往往超过1 000 m,而分机系统上电或复位又常常不在同一个时刻完成。如果此时某个75LBC184的DE端电位为1,那么它的485总线输出将处于发送状态,也就是占用了通信总线,这样其他分机就无法与主机进行通信。这种情况尤其表现在某个分机出现异常情况(如死机)下,会使整个系统通信崩溃。因此在电路设计时,应保证系统上电复位时75LBC184的DE端电位为0。由于89C51在复位期间,I/O口输出高电平,故图1中电的接法可有效地解决复位期间分机“咬”总线的问题。
图1 改进后的485通信接口原理路
1.2 隔离光耦电路的参数选取
在火灾报警系统中,要对现场情况进行实时监控及响应,因此通信数据的波特率往往做得较高(本系统中控制器与显示盘之间的通信速率在6 250 bps)。限制通信波特率提高的“瓶颈”并不是现场的导线(现场施工一般使用非屏蔽的双绞线),而是单片机系统进行信号隔离的光耦电路。此处采用TIL117,电路设计中可以考虑采用高速光耦,如6N137、6N136等芯片;也可以优化普通光耦电路参数的设计,使之工作在最佳状态。例如:电阻R2、R3如果选取得较大,则会使光耦的发光管由截止进入饱和变得较慢;如果选取得过小,则退出饱和会很慢。所以这两只电阻的数值要精心选取,不同型号的光耦及驱动电路使得这两个电阻值略有差异,在电路设计中应特别慎重,通常需要通过实验确定。
1.3 485总线输出电路部分的设计
输出电路的设计要充分考虑线路上的各种干扰及线路特性阻抗的匹配。信号在传输过程中会产生电磁干扰和终端反射,使有效信号和无效信号在传输线上相互叠加,严重时会使通信无法正常进行。为解决这一问题,某些芯片的驱动器设计成限斜率方式,使输出信号边沿不要过陡,以免在传输线上产生过多的高频分量,从而有效地扼制干扰的产生。在设计选型时,最好选择具有该种功能的RS485接口芯片。同时,RS485接口芯片在使用、焊接或设备的运输途中都有可能受到静电的冲击而损坏;而且由于工程环境比较复杂,现场常有各种形式的干扰源,在传输线架设于户外的使用场合,接口芯片乃至整个系统还有可能遭致雷电的袭击。所以485总线的传输端一定要加有保护措施,在电路设计中选用抗静电或抗雷击的芯片可有效避免此类损失。本系统中选用的是75LBC184,它的驱动器不但设计成限斜率方式输出,而且能抗雷电的冲击,承受高达8 kV的静电放电冲击,在实际使用中效果十分理想。
考虑到线路的特殊情况(例如某台分机的485芯片被击穿短路),为防止总线中其他分机的通信受到影响,在75LBC184的485信号输出端串联了两个20 Ω的电阻R10和R11。这样本机的硬件故障就不会使整个总线的通信受到影响。
在消防报警产品的现场施工中,通信载体一般采用双绞线。其特性阻抗为120 Ω左右,所以线路设计时,在485网络传输线的始端和末端应各接1只120 Ω的匹配电阻(如图1中的R8),以减少线路上传输信号的反射。由于RS485芯片的特性,接收器的检测灵敏度为
评论