基于CEBus总线的铁路灯塔控制系统的设计
扫描二维码
随时随地手机看文章
1 系统介绍
铁路沿线的各站点都装设有用于照明的大型灯塔。目前对灯塔的控制一般采用集中控制方式,在控制室中使用多个闸刀对灯塔进行一对一控制。因灯塔和控制室常位于铁路两侧,所以施工较困难,而且电缆的投资大,自动化水平也不高。采用电力线载波通信技术,在现成的电力线路上传输数据,无需装设通信线路,也不占用无线通信频道资源,可很好地解决这个问题。但由于电力线上存在高衰减、高噪声、高变形等问题,它不是一个理想的通信媒介。因此要在电力线上实现可靠的载波通信,必须选用基于扩频技术的抗干扰能力强的电力线载波专用Modem芯片来设计铁路灯塔控制系统。
铁路灯塔控制系统由一个主站和若干个子站构成,主站和子站挂接在单相或三上低压电力线上。主站安装于控制室内,子站安装于各灯塔底座的控制箱内。主站和子站以扩频电力线载波通信方式实现数据交换。
系统中站和子站的载波通信网络接口控制器选用美国Intellon公司的SSCP300芯片。该芯片是一个高度集成的电力线收发器和信道存取接口,提供了 CEBus(用户电子总线)总线标准。CEBus是EIA(美国电子工业协会)制定并颁布的一种通信标准,目前为EIA-600。CEBus标准是一种应用于网络的开放式通信协议,采用节点到节点的通信方式,数据传输速率为10kbps。CEBbus协议采用ISO/OSI协议中的四层:物理层、数据链路层、网络层和应用层。一个CEBus信息由报头和数据包组成,如图1所示。报头是载波侦听多路访问/冲突检测(CSMA/CDCR)协议的一部分,发送方用监听传输介质中是否有其它发送方占用信道,以获取对传输通道的控制权。CEBus采用扩频载波(SSC)技术,形成“Chirp”扫频信号,对报头采用ASK调制,数据包采用PRK调制,频率范围为100kHz~400kHz。
基于CEBus总线的铁路灯塔控制系统的设计
2 硬件结构
2.1 主站及子站的硬件结构
主站及子站的硬件结构如图2所示。
主站以PIC16F877单片机为核心,由指示、键盘、RS232接口、在线编程接口、通信接口等单元组成。指示单元用74LS164串/并转换芯片实现,接到PIC16F877单片机的RB5和RB4引脚。键盘单元用74LS165并/串转换芯片实现,接到PIC16F877单片机的RA3、RA4和 RA5引脚。主站定义了具有如下功能的按键:(1)一个灯塔的东西南北灯组选择;(2)子站地址选择;(3)锁键盘;(4)运行命令。在线编程接口单元利用PIC16F877单片机的/MCLR、RB3、RB6、RB7四个引脚对CPU的在系统程序及定值进行修改。主站利用MAX202实现标准RS232 通信接口,可与上位监控PC机进行数据通信,也可外接Modem来实现远程通信。
子站由PIC16F877单片机、指示、在线编程接口。固态继电器出口、地址编码、通信接口等单元组成。地址编码用于设置本子站的地址码,用一个八位开关与PIC16F877单片机的RD口连接,共有 256个编码。每个子站装有四个固态继电器,用于开启和关闭一个灯塔的东西南北四个方向的灯组。
2.2 通信接口
SSCP300 网络控制器提供了一个与SPI兼容的主处理器接口,将PIC16F877的RC3(SCK)、RC4(SDO)、RC5(SDI)引脚定义用于SPI串行通信,分别与SSCP300的SCLK、SDI、SDO连接。SSCP300的片选信号/CS、复位信号/RST及中断信号/INT分别连接与 PIC16F877的RB3、RB2及RB1引脚。由SSCP300产生的“Chirp” 波形输出到其SO管脚,经放大、三级滤波、SSCP111媒介接口IC放大后,被传输到电力线耦合电路并送至电力线。由电力线经耦合电路来的 “Chirp”波形经无源六级LC构成的滤波器后,被传输到SSCP300的SI引脚。耦合电路采用铁氧体磁环作为耦合变压器的磁芯,变比为1:1,初次级线圈的匝数均为7。采用TVS来抑制较大幅度或较大加速度的瞬间电压。
3 软件结构
系统的软件采用模块化结构,主要包括初始化模块、输出控制模块、键盘扫描模块、通信模块等。整个软件分为主站软件和子站软件两部分。下面以通信模块软件的设计为例来说明程序设计方法。
SSCP300向与之连接的PIC16F877单片机提供CEBus服务。PIC16F877单片机通过SPI接口对SSCP300进行初始化、层信息设置、数据链路的存取控制设置等操作。完成以上步骤后,可进行数据的发送和接收。
PIC16F877单片机与SSCP300间各种形式的数据交换由控制命令来实现。常用的控制命令、十六进制码及功能如表1所示。一般情况下,命令后紧跟数据长度,接着为数据信息。
表1 常用控制命令
3.1 SSCP300的初始化
当电源接通或执行复位命令时,SSCP300将执行一个内部诊断和建立序列。直到此序列被执行完毕,命令才能被送至SSCP300。在对SSCP300进行初始化之前,PIC16F877要完成I/O口的初始化、片内RAM初始化以及SPI接口的初始化。
3.2 层信息设置
初始化完成后可进行层信息设置。层信息设置的数据长度为7个字节,字节0为控制方式,一般设为数据链路(DLL)方式;字节1为组地址的低八位;字节2为组地址的高八位;字节3为设备地址的低八位;字节4为设备地址的高八位;字节5为系统地址的低八位;字节6为系统地址的高八位。在设置地址时应注意某些段内的地址为保留地址,不要使用,如0x0000为广播地址。
在层信息设置的过程中,首先单片机向SSCP300写入LW命令及数据长度“0X07”,然后确定好0~6字节的数据信息。层信息设置完成后,应用LR命令读回,判断读回信息与写入信息是否一致。如果一致则说明设置成功,否则应重新初始化后再设置层信息。
基于CEBus总线的铁路灯塔控制系统的设计
3.3 数据链路存取控制设置
若节点之间的通信采用地址应答方式ADRACK或地址非应答方式ADRUACK,则应进行数据链路存储控制设置,由命令WRS-46来实现,数据长度为1。可设置的内容为:(1)在主处理器的每个发送期内需要发送ADRUACK的次数;(2)在信道间存取的时间;(3)对于ACK和ADRUACK,是否需要尝试多信道存取。
3.4 数据的发送和接收
数据的发送和接收分别由命令PT和PR来实现。单片机送出PT命令后,接着送出数据长度、控制域、目标节点的设备和系统地址、源节点的设备和系统地址、数据信息等。应答或非应答通信方式由控制域决定。源节点地址应和初始化的地址一致,数据长度不超过32字节。发送完成后应读回标志位,判断是否发送成功。当 SSCP300接收到有效数据帧时,将向单片机提供一个中断信号,单片机检测到该信号后发送PR命令,读回SSCP300接收到的数据帧其格式与发送数据帧类似。接收完成后也应进行正确性判断。
基于CEBus总线的铁路灯塔控制系统采用“Chirp”方式进行载波,实现了对通信信号的扩频;以低压电力线作为通信媒介,免去了构建新的通信信道的不便,具有通信速度快、抗干扰能力强、可靠性高等优点。该技术还可应用在自动抄表系统、智能大厦、智能小区以及一些干扰大、布线困难的工自动化系统中。
由于电力线不是一种理想的通信媒介,所以在应用时应考虑到下几点:(1)电力线载波信号只能在一个配电变压器区域范围内传送。若要跨越变压器区域范围,则应设计一个双耦合节点。(2)信号在电力线上传输存在衰减问题,一般信号的衰减随着传输距离的增加而增加。可采用提高载波信号功率、三相耦合、中继等方式来解决。(3)电力线上存在高噪声。(4)电力线网络会引起数据信号变形。