基于ZigBee技术的HXD1B型机车数据传输系统设计
2012-11-29宋亚岚
李 鑫,宋亚岚
(1.武汉铁路局 江岸机务段,武汉 430014;2.中国地质大学 江城学院,武汉 430200)
HXD1B型交流传动电力机车是新型大功率交流传动8轴货运机车,具有功率大、恒功率速度范围宽、粘着性能好、效率高和能源消耗低等特点。该机车采用SIBAS32控制系统和列车通讯网络(TCN),多功能车辆总线(MVB)连接机车内部所有的网络设备。
传输介质采用专用的4芯屏蔽线, 传输速率达1.5 Mbit/s,在机车检修时,通常需要下载中央控制单元(CCU)和牵引控制单元(TCU)的数据信息,对每台机车建立数据库,进行信息化管理和故障分析,通过检修人员上传机车转储数据,费时费力。
基于以上原因,设计了一种基于ZigBee技术的HXD1B机车数据传输系统,实现MVB总线和ZigBee总线之间可靠的数据连接,可以方便数据的获取与分析,以及软件的更新。
1 系统体系架构
机车数据传输系统由MVB总线传输、ZigBee无线传输和电源管理等部分组成。
(1)MVB总线传输部分负责接收MVB总线上的命令和数据,发送由微控制器传输给总线的数据信息。(2)ZigBee无线传输通过ZigBee控制器交换微控制器与上位机的信息。(3)电源系统采用专用模块,将110 V转变成系统所需的5 V和3.3 V电源。在机车上,电源起伏在±30% 范围内,系统应该正常工作。使用victor电源模块vijto-mz,允许输入电压范围为66 V~160 V,输出电压5 V,输出功率25 W。
系统体系架构见图1。
2 硬件设计
2.1 硬件选型
图1 系统体系构架
2.1.1 LM3S5749单片机
LM3S5749是具有ARM Cortex-M3 v7M架构的32 bit单片机,可用于远程监控、电子贩售机、测试和测量设备、网络设备和交换机以及工厂自动化等。
LM3S5749单片机的外设资源丰富:拥有时钟复位系统控制器、DMA控制器、通用输入输出端口、温度传感器、通用异步收发器、同步串行接口、I2C接口、模拟比较器、模数转换器、脉宽调制器、正交编码器、通用定时器、系统定时器、看门狗定时器、USB、控制器局域网及32 bit地址总线和数据总线[1]。
2.1.2 MVB控制器
多功能车辆总线控制器MVBC是MVB总线上的新一代接口器件,它独立于物理层和功能设备并执行物理层驱动,可通过配置应用在符合IEC TCN标准的1、2、3、4类设备中。
MVBC01专用芯片的主要特点:
(1)数据速率达1.5 Mbps;
(2)采用曼彻斯特编码;
(3)信号质量检测;
(4)支持16 bit数据传输;
(5)具有最大4 095个端口的逻辑地址报文;
(6)超时机制;16 kbyte~1 Mbyte的通信存储器;
(7)可用软件修改设备地址;
(8)最大可拥有4 095个逻辑地址报文端口;
(9)自动报文分析和评估;
(10)错误和冲突检测;
(11)与控制微处理器的接口配置容易[2]。
2.1.3 CC2420射频芯片
CC2420是一款符合IEEE 802.15.4规范的2.4 GHz射频芯片,用来开发工业无线传感及家庭组网等PAN网络的ZigBee设备和产品。
芯片主要性能特点:
(1)工作频带范围为2.400 GHz~2.483 5 GHz;
(2)采用IEEE802.15.4规范要求的直接序列扩频方式;
(3)数据速率达250 kbps;
(4)采用O-QPSK调制方式;
(5)超低电流消耗(RX:19.7 mA,TX:17.4 mA)高接收灵敏度(-99 dBm);
(6)抗邻频道干扰能力强(39 dB);
(7)输出功率编程可控;
(8)与控制微处理器的接口配置容易[3]。
2.2 硬件电路设计
MVBC01内部集成(TMC)模块,负责控制通信存储器的访问模式和对ARM处理器和MVBC同时访问通信存储器所产生的访问冲突做出仲裁。
通信存储器分别通过数据线,地址线和ARM处理器以及MVBC01相连,从而实现数据交换和地址寻址。
微控制器接收来自MVBC的中断信号,以此接收MVB总线上的数据。
MVBC端口ICA和ICB分别为MVB输入数据通道A和输入数据通道B,接收来自物理层收发器MAX3086的MVB信号,将数据送入MVB通信控制器MVBC01中。MVBC端口OC是MVB数据输出端口,数据经由此端口将发送至MAX3086;MVBC端口SF(Send Frame)为输出端口,输出信号可作为MAX3068的使能信号。
CPU与MVB接口原理见图2。
图2 CPU与MVB接口原理图
CC2420可以通过4线SPI总线(SI/SO/SCLK/CSn)设置芯片的工作模式,实现读/写缓存数据、状态寄存器等。通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器。通过CCA管脚状态的设置可以控制清除通道估计。通过SFD管脚状态的设置可以控制时钟/定时信息的输入。CC2420借助管脚(RFP/SWITCH/RFN)与CC2591的(RFP/RXTX/RFN)相连,CC2591集成了可将输出功率提高+22 dBm的功率放大器以及可将接收机灵敏度提高+6 dB的低噪声放大器,从而能够显著增加无线系统的覆盖范围。
CPU与ZigBee接口原理见图3。
图3 CPU与ZigBee接口原理图
3 软件设计
软件设计主要包括:MVBC初始化、CC2420初始化和MVB与ZigBee的数据交换3部分,程序流程见图4。
图4 系统软件流程图
3.1 MVBC初始化
3.1.1 MVBC01硬件复位后
MVBC01硬件复位后,此时复位模式IL=0,存储区配置模式为0(MCM=0)。初始化步骤如下:
(1)设置IL=1以允许MVBC01的配置。(2)修改内存配置寄存器(MCR)中MCM、QO、MO的值。(3)初始化定义状态控制寄存器(SCR),配置和激活异步定时器。(4)格式化LA-PIT和DA-PIT,清除的端口和控制寄存器PCS的所有物理端口,读最初的设备地址或者修改。(5)设置解码器寄存器的SLM位为1和中断控制器设置。
3.1.2 通信存储器和端口初始化
(1)初始化所有的过程数据端口、消息数据端口和监视数据端口。(2)对于总线管理器,建立主帧表。(3)设置全操作模式IL=3。(4)检查并激活总线管理器[2]。
3.2 CC2420初始化
在使用CC2420进行无线数据传输之前,必须根据需要进行一些配置。由微控制器通过SPI接口发送命令给CC2420,以此达到初始化CC2420。初始化步骤如下:
(1)VREGEN引脚置高等待稳压器开启。(2)RST拉低引脚复位CC2420。(3)等待晶振起振。(4)设置配置寄存器,可以选择是否使用地址认证、安全认证等功能,同时还需要设置好发送和接收的频道。
3.3 MVB与ZigBee的数据交换
主程序对系统进行初始化后开放MVBC接收中断和CC2420接收中断,在中断服务程序中对事件进行分析和处理,并设置相应的变量标志和数据缓冲区。主程序查询标志,如果命令来自于MVB总线,控制MVBC和通讯存储器TM解析协议接收数据,并开启CC2420无线发送命令,发送数据。如果命令来自于CC2420,解析ZigBee命令接收数据,并将数据存于缓冲区,通知MVBC发送数据到MVB总线。
4 结束语
基于ZigBee技术的HXD1B机车数据传输系统可通过ZigBee接口实现MVB网络配置、数据转储和状态监视等功能。系统充分利用了ZigBee低速率、低功耗、低成本和自配置的特点,将机车数据信息进行统一管理,有利于降低机车检修成本。
[1]TI. LMS5749 Datasheet[Z]. America:TI,2008.
[2]Adtranz. Multifunction Vehicle Bus Controller Data Sheet[Z].Switzerland: Adtranz, 1997.
[3]TI. CC2420 Datasheet[Z]. America: TI, 2008.