1 概述
RS一485接口是一种基于平衡发送和差分接收的串行
总线,具有很强的抗共模干扰能力,在适当的波特率下传输距离远;同时易于进行网络扩展,被广泛的应用在很多工业现场。
节能灯寿命检测环境中,主要干扰来自
开关和寿命检测的强电干扰、开关产生的电磁干扰、空气循环设备的干扰等等;同时由于寿命检测环境温度高,强电系统复杂,也给系统的运行提出更高的要求。寿命检测系统要求实时每一盏节能灯的运行状态、环境温度、电压等,并在寿终计算出节能灯寿命、光通等参数。可见系统的传输数据量大,实时性强,因此物理总线的拓扑结构和通信协议尤为关键。
2 接口设计
良好的接口设计,应该在硬件上保证系统有良好的抗干扰性、稳定性和易扩展性。本系统选用了性价比很高的半双工接口芯片SN65HVD3082。它具有以下特点[1]:
①满足或超出TIA/EIA-485A标准的要求;
②低静态电流消耗——有效模式为小于0.3 mA,关闭模式为l nA;
③优化的
驱动器输出信号,传输率达200kbps时保持低EMI;
④1/8单元负载——1条总线上多达256个节点;
⑤总线引脚ESD保护超过16 kv;
⑥工业标准SN75176覆盖范围;
⑦失效保护功能。
基于SN65HVD3082的RS-485接口电路,通常有三种方案。
(1)直接控制收发的RS-485接口电路
此方法使用控制器切换发送使能和接收使能端,控制接口电路数据的发送和接收。由于采用直接收发,因此需要发送和接收时的转换,只能加入额外的控制器来控制发送和接收的转换;同时,需要用控制器存储转发所有的传输数据,这样,每传输1帧数据,至少损失1个单位的接收时间(储存转发1帧数据的时间)。此方案不利于数据量大的实时通信,而且在发送和接收的切换过程中,在VA和VB(VA和VB分别是Rs一485总线的A、B端的电压)有阶跃电压的产生。这个阶跃电压对接收器的接收有干扰产生。
(2)自动收发转换的RS-485接口电路
图l所示的虚线框中为接口电路,通过对真值表进行分析,其发送和接收过程为:
当发送端DI=O时,DE/RE=1发送O电平,接收端RO=O;当发送端DI=1时,DE/RE=0,VA=VB=2.5V,接收端由于上拉电阻的作用RO=1。
在此接口电路的TXo端加入1kHz的TTL方波对电路进行测试。未加入120Ω端电阻时,接口芯片的485-A和485-B脚都有约50μs的电压变化过程,如图2所示。接收端Ro波形的上升沿有明显的延迟约30~40μs(和数据发送端DI比较),造成很大的传输误差;加入120Ω端电阻时,延迟明显缩小,约3μs。
此电路在发送高电平时,发送器处于高阻状态,总线上所有接口处于接收状态,总线是空闲的,允许其他接口发送数据,因此容易引入总线冲突。特别是连续发送商电平比特时,发送器处于高阻状态的时间越长,引入总线冲突的几率就越大。
(3)零延时的RS-485接口电路
零延时RS-4185接口电路主要采用74HCl4和电路中的电阻、电容等元件构成一个延时很短的电路,其主要作用是:
①发送器在发送高电平的时候,在短延时内不再是处于高阻状态,仍有驱动电流存在,这样在一定程度上可以增加接口的抗干扰能力。
②从真值表可以看出.对于接收器,当VID=VA-VR≥一O.01 V时,RO=1;在发送端,当DE/RE=0,发送驱动器的VA和VB都是高阻态,此时VA=VB=2.5V,因此,这时对于接收端RO=1;而在短延时的时间内,由千DI=1且DE/RE=1.所以RO=1.可见在短延时和DE/RE=0的时间内接收端RO=l,这样就完成了对高电平的发送和接收,而且在接收端的上升沿不会有延迟,即零延时,如图3所示。
把图l中自动收发转换的RS-485接口电路换成零延时的RS-485接口电路,如图4所示。同样在TX0端加入1 kHz的方波对电路进行测试,结果是接收端RO的上升沿不会有延迟。这和是否接入120Ω的端电阻没有关系,证实了以上的分析。
图2、3中虚线箭头指向处的电压为2.5 V。
图4中,根据系统所确定的传输速度来选择R3和C0参数,以达到零延时。传输速度越高,延时越小。这里选择R3=22 kΩ,C0=1000 pF。
自动收发转换的RS-4t85接口电路和零延时的RS-485接口电路都有不足之处,即在发送端发送连续的高电平时,逻辑上发送端是处于发送状态,接收端处于接收状态;但实际上,此时所有SN75HVl53082接口的DE/RE=0,所以,所有的发送端和接收端都处于接收状态。这在对等的网络结构中是不能忽视的,因为在这段时间内,总线是空闲的,是允许节点发送数据的。
这里采用的是主从式的网络结构,因此这个问题不会影响系统工作。
3 网络拓扑结构
网络拓扑结构的设计是根据寿命检测系统的实际需要提出的,设计目标是:满足lO个寿命架,每个寿命架64个节点的检测要求,在硬件和软件上做到容易扩展,走线合理。因此逻辑上采用主从式网络结构,物理结构上采用星型拓扑结构,如图5所示。这个拓扑结构有两级总线,主要由以下设备组成:
①RS-232转RS-485。实现RS-232到RS-485电气信号的转换,这是级RS-485总线。
②10口的485HIJB(集线器)。如图6所示,485HUB是由1个主机和10个从机的零延时的RS-485接口组成,这是在逻辑上实现主从式结构的基础。当主机端下行发送数据时,连接在10个从机接口上的所有接口都可以接收到数据;而当某个从机接口上挂接的节点上行发送数据时,只有主机节点(PS 端)和挂接在同一个从机接口上的其他节点可以接收到数据。这是第二级RS-485总线。
③
单片机节点。有4种节点,即节能灯状态采集节点、温度采集节点、供电电压采集节点和模式控制节点。每个单片机节点的通信接口都采用零延时的RS-485接口电路,每一个节点都有自己的地址,用于PC端寻址。
理论上,SN75HVD3082的一条总线可以连接多达256个节点,因此在每个从机接口上可以扩展更多的节点;同时在RS-232转RS-485
转换器的总线上也可以连接更多的485HUB。这样就可以实现硬件上的扩展。
4 通信协议
采用9600 bps的波特率,固定长度帧结构,帧长度10字节。帧信息定义如下:帧头(0x55 0xAA)、命令(1字节)、数据(4字节)、从机地址(2字节)、校验(1字节)。
在通信协议中采用帧校验和帧超时,以达到软件抗干扰的目的。
①帧校验:采用累加和校验。在发送时,把帧头、命令、数据、从机地址几个域相加并取字节填充到校验域。如果节点不处于接收状态,则启动发送,否则等待;如果在未超时,并完整地接收到10字节时,把帧头、命令、数据、从机地址几个域相加,并与校验域比较,相同表示成功接收到1帧数据。
②帧超时:帧超时定义是,在接收到个字节时,进入接收状态,并设置8ms定时,以后每接收到一个字节,重置8ms定时。正常情况下,接收一个字节约1 ms时间。如果超过8ms,则退出接收状态,丢弃当前接收帧,回到空闲状态,等待下一帧的接收。
在程序设计中,帧超时的定义与程序的架构和波特率有关,原则上只要大于1个字节的接收时间就可以了。这里选择8ms与程序的架构有关。
5 测试结论和应用前景
在设置了所有节点的地址后,即可在现场对系统进行测试。测试方案是,在PC机端运行测试软件,约每隔50ms发送测试命令轮询所有的节点。每发送都要求有数据返回,否则视为通信错误。软件连续运行7天,没有发现错误,说明系统稳定可靠。
目前设计的节能灯寿命检测系统已经在现场成功投入使用,运行效果良好。此系统设计思想对于设计具有大量节点、大数据量的实时智能检测系统起到借鉴作用,在自动化检测领域中将有较为广泛的应用价值。