基于CEBus总线的铁路灯塔控制系统的设计
序设计方法。
SSCP300向与之连接的PIC16F877单片机提供CEBus服务。PIC16F877单片机通过SPI接口对SSCP300进行初始化、层信息设置、数据链路的存取控制设置等操作。完成以上步骤后,可进行数据的发送和接收。
PIC16F877单片机与SSCP300间各种形式的数据交换由控制命令来实现。常用的控制命令、十六进制码及功能如表1所示。一般情况下,命令后紧跟数据长度,接着为数据信息。
表1常用控制命令
命令码命令值命令名称功能RST
LR
LW
IR
PR
PT
WRS-460X01
0X02
0X03
0X04
0X08
0X09
0X46Reset
Layer_Management_Read
Layer_Management_Write
Interface_Read
Packet_Receive
Packet_Transmit
Write_Register_46复位
读层信息
写层信息
读标志位
接收分组
发送分组
设置数据链路控制
3.1SSCP300的初始化
当电源接通或执行复位命令时,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命令读回,判断读回信息与写入信息是否一致。如果一致则说明设置成功,否则应重新初始化后再设置层信息。
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)电力线网络会引起数据信号变形。
《基于CEBus总线的铁路灯塔控制系统的设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/175996.html
SSCP300向与之连接的PIC16F877单片机提供CEBus服务。PIC16F877单片机通过SPI接口对SSCP300进行初始化、层信息设置、数据链路的存取控制设置等操作。完成以上步骤后,可进行数据的发送和接收。
PIC16F877单片机与SSCP300间各种形式的数据交换由控制命令来实现。常用的控制命令、十六进制码及功能如表1所示。一般情况下,命令后紧跟数据长度,接着为数据信息。
表1常用控制命令
命令码命令值命令名称功能RST
LR
LW
IR
PR
PT
WRS-460X01
0X02
0X03
0X04
0X08
0X09
0X46Reset
Layer_Management_Read
Layer_Management_Write
Interface_Read
Packet_Receive
Packet_Transmit
Write_Register_46复位
读层信息
写层信息
读标志位
接收分组
发送分组
设置数据链路控制
3.1SSCP300的初始化
当电源接通或执行复位命令时,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命令读回,判断读回信息与写入信息是否一致。如果一致则说明设置成功,否则应重新初始化后再设置层信息。
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)电力线网络会引起数据信号变形。
《基于CEBus总线的铁路灯塔控制系统的设计(第2页)》