APP下载

一种新型MVB通信板的探究

2012-08-03雪,申萍,宋娟,严

铁道机车车辆 2012年3期
关键词:分配模式板卡上位

王 雪,申 萍,宋 娟,严 翔

(北京交通大学 电气工程学院,北京100044)

随着我国高速铁路的不断发展,列车控制系统的高安全性和高可靠性已成为轨道交通领域中尤为关键的指标。V ME(Versa Module Eur ocar d)总线为一种通用的计算机总线,定义了一个在紧密耦合硬件构架中可进行互联数据处理、数据存储和连接外围控制器件的结构,1987年被批准为国际标准IEEE 1014。其机械结构具有良好的抗震性和抗冲击能力,国外,尤其是部分欧洲国家已将其成熟地应用于车载安全计算机内,以保证安全性和可靠性,而国内相关研究起步较晚,在此基础上开发的列车网络设备产品也相对稀少。

提出一种具有V ME接口的MVB通信板卡设计与实现方案,以解决TCN与车载安全计算机互联的问题,满足该类技术产品国产化的迫切需要。利用此板卡可以实现网络主从设备的数据传输、节点组网、接入MVB网络等功能,也为国内车辆使用MVB技术和开发基于MVB的其他应用提供平台。

1 系统组成

系统整体构架如图1所示,包括ARM主控制器、V ME总线接口控制器、MVB总线控制器、电源复位和JTAG电路5部分。

图1 系统整体设计方案框图

1.1 CPU 选 型

为实现MVB与V ME总线的通信,系统选用ARM作为高速中央处理器进行控制,具有集成化、小型化、实时性强、可移植性强、低成本和低功耗的优势。主控制器选用NXP公司的LPC2478。此款ARM芯片处理器时钟高达72 MHz,片内SRA M资源达98 kb:4 kb支持高性能CPU通过ARM局部总线访问,2 kb用于RTC供电以便存储数据,16 kb作为通用SRA M或用于以太网接口,另16 kb可供GPDMA使用或USB访问。此外,还设计扩展了64 Mb的SDRA M和Su msung公司的256 Mb的NAND Flash。

片上集成了1 0/1 0 0 M 以太网媒体访问控制器(MAC)、USB2.0全速Device/Host/OTG控制器、4个UART和1个SPI接口等。CPU外围还需对这些接口电路进行设计,另外,控制I/O(并行总线、指示灯等)电路及JTAG菊花链下载调试电路的设计也必不可少。

1.2 V ME总线接口设计

V ME总线因其并行性、实时性、高可靠性等特点,在高性能的实时应用领域一直处于主导地位,已经发展到了一个比较完善的阶段。国外许多电动车组将其作为车载安全计算机系统的板级总线,并应用于车载网络设备上。设计并开发MVB通信板上的V ME总线接口,有助于实现与该类引进产品的板级互换。

V ME总线数据传输采用32位地址及32位数据非复用结构,支持8位、16位和32位的数据传输。异步通信,不需要时钟同步,利用DTACK*握手信号来控制传输过程。按功能分为4类总线:数据传输总线、数据传输仲裁总线、优先权中断总线和公用信号线。为完成基本接口功能,对其信号线进行剪裁,保留36根:数据线D[7:0],地址线 A[15:1],数据选通DS0*和DS1*,地址选通AS*,读/写信号 WRITE*,传输应答DTACK*,长字信号L WORD*,插槽编码GA[4:0]和GAP*,系统复位SYRST*。其中,依靠主模块驱动DS0*,DS1*,L WORD*和地址线A01的不同组合,控制数据的传输周期类型。

另外,为了提高系统的可靠性和安全性,车载安全计算机系统通常采用双机热备、2取2乘2、3取2等冗余结构。IEC 61508标准应用马尔可夫模型分别对上述结构的可靠度、安全度和可用度进行了计算比较,性能最高的2种结构为3取2和2取2乘2。考虑到系统的复杂度和车内空间限制,本设计采用3取2构架,通信板上与安全计算机互联一侧设计3路V ME总线并行工作:FPGA1、2、3分别完成对应的 V ME_A、VME_B、VME_C 3路背板总线接口逻辑,FPGA4作为3取2表决器对运算结果进行两两表决,最终将一致的数据存储于双口RA M中,以便主控制器ARM的访问。当其中一路信号与另外两路不同时,屏蔽该路,剩余两路进行2取2表决,使得系统在降级工作的情况下也能保证安全输出;只有当3路信号互不相同时,系统才判断错误,不进行输出。任何一条电路或单个元件的故障都不会影响整个系统的正常运行。

V ME国际标准规定,6 U板卡可以设置1或2个VEM总线连接器。该通信板卡设计为双连接器,采用欧式规范 DIN 41612,P1/J1在上(96针),P2/J2在下(扩展为160针),便于连接不同类型背板机箱。

1.3 MVB总线接口设计

MVB总线控制器用于实现物理层信号的转换,执行数据链路层的通信规程,由试验室自主研发的SOPC技术实现。通过单片FPGA将MVB主设备或其他网络设备发送的数据传给MVB网络,或从MVB网络中接收其他设备发出的数据并送给主设备。数据传输主要采用并行总线的接口模式,另外增加了SPI串行总线作为备用的数据访问方式。并行总线包括16位数据线、16位地址线、读/写、使能信号等。

2 通信板的试验研究

2.1 MVB与VME间通信

MVB与V ME总线上的数据交换主要是依靠主控制器ARM访问封装在各自FPGA中双口RA M完成的。ARM作为控制核心,决定访问MVB总线或是V ME总线上的数据,并将数据存储在SDRA M/FLASH内。

FPGA4内封装了一个片内RA M,当V ME总线发送数据包时,FPGA1~3对其读取。定义数据高8位为标志信息,低8位为实际数据,经过接口模块将其按地址映射于FPGA1~3片内RA M区域中,所得数据再经逻辑变换为串行数据,经过自定义串行总线传输至FPGA4的FIFO内。FPGA4对整个数据包3取2判别后,分别提取出相应的地址信息和数据信息。每当堆栈中存满16位时,FPGA4的FIFO向片内RA M发送数据包,等待ARM来读取。表决芯片FPGA4与FPGA1~3之间自定义5路双向的串行总线:1路时钟(CLK),1路启动信号(START),3路收发数据(DATA)。实际只采取了1路DATA,即共有3路双向串行总线工作。

ARM控制器读取VME数据时,根据地址映射到FPGA4的片内RAM空间,通过8位并行总线从FPGA4片内RAM里获得。ARM控制器经协议转换将信号输出,经过并行总线传输给MVB_FPGA,以数据地址总线访问的方式交换数据。封装于其中的MVBC将信号经过逻辑变换和驱动电路后传递到MVB总线上。

设计中,MVB_FPGA植入试验室自主开发的MVB IP核,用单片FPGA实现MVB的所有功能,代替现有网卡的MVB芯片,支持过程数据、消息数据、监控数据报文的形成和处理,还可以实现总线管理性能,进而成为MVB设备分类中的4类设备。

2.2 通信板与PC机间通信

通信板与PC机之间的通信,可以分别在ADS1.2开发环境下通过RS232串口、USB2.0接口和以太网接口完成。结合LPC2478 ARM资源,本文主要针对USB接口进行开发。

LPC2478 ARM内部自带一个USB设备控制器,支持32个固定配置的物理端点(16个逻辑端点),并完全兼容USB2.0全速规范,使USB设备控制器与CPU间的数据交换稳定地达到很高的速度。数据传输模式采用从机模式(非DMA模式),由USB设备控制器向主机ARM MCU提交中断的机制来完成。USB固件总是在等待主机的命令,然后根据命令去执行相应的程序。如果LPC2478 USB发现从USB总线上收到数据,USB设备控制器发生中断,进入USB中断服务程序→中断服务程序读取数据,并置“端点收到数据标志”位为1,然后退出中断回到前台→前台检测到“端点收到数据标志”位为1时,针对接收到的数据进行处理;如果有数据需要发送到USB主机,只须将要发送的数据写入LPC2478 USB发送端点缓冲区中。ARM MCU前台不断循环处理相关事情,后台进行LPC2400 USB中断服务程序,从而完成与PC机的底层通信。

2.3 上位机试验环境开发

对于开发者来讲,通信是否正常需要通过上位机验证;对于用户而言,与系统的交互也是通过上位机实现的。本系统在VC++6.0 MFC环境下对上位机应用程序进行了开发,利用Windows API实现USB接口通信,对接入系统内MVB网络上的数据进行监控及配置。具体实现以下功能:

(1)实现MVB端口号、功能码、设备主从,设备状态等配置信息的下载;

(2)过程数据端口可进行动态配置;

(3)已配置的端口信息可分别进入自动分配模式和手动分配模式;

(4)可对已分配的端口进行数据发送和接收;

(5)可进行消息数据的配置、发送及监视等。

2.3.1 USB驱动

本设计采用了一个基于Windows API函数I/O请求的动态链接库DLL文件,作为应用层与USB驱动程序的接口,在VC++6.0开发环境下,通过调用这个DLL文件实现与USB互通。利用这种方式,使进程可以调用本不属于其可执行代码的函数,有助于节省内存和提高数据和资源的共享度,简化了上位机软件的管理,同时也减少了开发难度,缩短了开发周期。

该动态链接库为用户开放了以下几种的API函数:

2.3.2 MVB配置

对MVB通信板卡的配置都是由上位机软件实现的。根据MVB通信协议,软件初始界面设计分为两个部分,设备配置和端口过程数据配置,如图2所示。

图2 MVB端口信息配置界面

(1)设备配置

在【设备地址】和【设备状态】可分别显示组合后2字节的16位数据设备信息。单击“设备配置”对设备进行配置,发送帧如下:“0xaa,0x55,0x11,Len(数据内容长度),设备地址(2 Bytes),设备状态(2 Bytes)”。

配置成功后设备区域将变为不可编辑状态,并将所发数据包通过ARM返回给上位机。若配置失败可弹出错误提示。

(2)端口过程数据配置

在端口配置信息列表中,连接了ACCESS数据库,列表可按“端口地址”、“功能码”和“源/宿端口属性”的顺序逐条显示保存在数据库中的信息。ACCESS数据库的连接和打开,需要注意在头文件中定义相关结构体,然后在初始化MVB配置对话框时实现。

过程数据端口配置完毕后,点击“发送配置”,则发送数据包格式如下:

“0xaa,0x55,0x22,Len,端口0信息,端口1信息…….端口N-1信息”

每个端口信息组合如表1。

表1 端口信息组合

Addr_0~Addr_11是端口地址;Fcode[0]~Fcode[2]是功能码设定,由于此处配置都为过程数据,所以仅0~4有效;SRC/SINK是端口源/宿标志,1表示是源端口,0表示是宿端口。

2.3.3 数据收发

端口配置完毕后,就可以选择“进入自动分配”或“进入手动分配”分别进入端口自动分配模式和手动选择模式。新对话框的弹出需要对其进行定义。

另外,为了方便相关参数和函数在各个对话框中可以共享,引入了全局变量的使用。全局变量的定义必须放在恰当的文件中。在此实例中,这些全局变量的定义应放在主对话框的实现文件PC_MVBDl g.cpp中,具体的位置应在包含文件和条件编译之后,且在所有成员函数之外,这样才可以在此文件的成员函数中使用它们。同时,为了使其中一些全局变量可以被子对话框使用,应在相应的子对话框实现文件(如data Dl g.cpp)中进行extern变量声明。

如图3所示,在自动分配模式界面中,仅支持前10个端口的数据收发,将已配置的端口地址逐条显示出来。功能码不同,可以发送和接收的数据长度也不同。若为源端口,按键显示“发送”,根据提示的数据长度填入数据后(长度不足的自动添零),点击此按钮,该端口的数据将会发送到MVB网络上;若为宿端口,按键显示“接收”,直接点击此按钮,将会显示接收到的该端口网络数据。

手动分配模式支持全部已配置端口的数据收发,并含有消息数据配置、发送及监视等功能。如图4所示,进入手动分配界面后,系统会自动将已配置的所有端口按源/宿进行分类。在过程数据部分,输入任意已有的源端口地址或宿端口地址,即可进行数据的收发。

图3 过程数据端口自动分配界面

图4 过程数据端口手动分配界面

不论是自动分配模式还是手动分配模式,如果在设备运行过程中需要重新对MVB过程数据端口进行配置,可使用“MVB板卡复位”按键,这样重配置后的参数才会生效。

3 试验测试结果

为测试MVB网络及上位机的通信情况,进行自组网试验进行验证。将设备A、设备B和MVB主设备联网,如图5所示。分别通过上位机对设备A和设备B进行配置。在端口配置中,两个设备要分别含有对应的源端口和宿端口。

图5 自组网试验示意图

如图6、图7所示,设备A用源端口0×10发送了数据,设备B在宿端口0×10接收到了数据,数据一致;设备B用源端口0×302发送了数据,设备A在宿端口0×302,接收到了数据,数据也一致,说明过程数据通信正常。类似的,消息数据通信也可以由此验证。

图6 设备A收发过程数据

图7 设备B收发过程数据

5 结束语

给出了基于ARM,且具有V ME总线接口的MVB通信板卡的设计思路与实现方案。重点研究了试验环境的开发过程,以便对MVB通信板卡在安全冗余等方面开展研究。试验结果表明,所开发的上位机环境能够很好地对底层MVB网络进行配置及数据收发,并监控车载安全计算机通过V ME总线与MVB网络间的通信情况。

[1]IEC 61375-1,Electric rail way equipment Train Bus Part1:Train communication Network[S].

[2]陈 彦.基于VME总线的 MVB通信板的设计与开发[D].北京:北京交通大学.2011.

[3]穆云丽.多功能接口MVB网卡在机车状态监测与故障诊断系统的应用[D].北京:北京交通大学.2009.

[4]孙 鑫,余安萍.VC++深入详解[M].北京:电子工业出版社,2006.

[5]杨永安,杨 松,孙 丽.基于ARM构架的嵌入式USB驱动的设计[J].内蒙古农业大学学报.2008,29(4):200-202.

[6]宋红霞,等.列车自动防护系统安全计算机可靠性与安全性分析[J].工业控制计算机.2008,21(1):13-15.

猜你喜欢

分配模式板卡上位
中科院华南植物园:揭示豆科主导森林的大气沉降氮分配模式
车载控制器CVRE板卡显红故障分析及处理
特斯拉 风云之老阿姨上位
黔产铁皮石斛不同部位多糖、氨基酸及必需元素含量
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
一种基于光纤数据传输的多板卡软件程序烧写技术
碳排放权初始分配公平问题探析
一种通用模拟量及开关量信号采集板卡的设计