APP下载

MVB-CAN网关设计

2019-12-04

自动化仪表 2019年11期
关键词:数据通信板卡网卡

赵 科

(大连交通大学电气信息工程学院,辽宁 大连 116028)

0 引言

随着车载通信网络的快速发展,用户对其开放性、灵活性及应用多样性等方面提出了更高的要求,使得具有不同特点的现场总线被引入列车总线网络。如何有效地实现总线间的数据通信正成为研究的热点。

多功能车辆总线(multifunction vehicle bus,MVB)是针对列车网络通信开发的专用网络,具有实时性好、通信速率高等特点[1]。但国外长期垄断MVB网关及其他MVB总线设备的市场,使得MVB总线设备成本较高[2]。控制器局域网络(controller area network,CAN)总线具有极高的可靠性、实时性及性价比等特点[3],且国内对CAN总线的应用较成熟,使其应用在铁路上得到专注。CAN总线接入MVB车辆总线存在数据交换问题,故设计靠性高、实时性好的MVB-CAN网关,组建CAN总线和MVB总线的异构网络,可解决CAN接口的设备与列车MVB网络的互联互通问题,推动国内列车通信网络的发展。

1 网关硬件设计

1.1 网关结构设计

MVB-CAN网关结构图如图1所示。设备主要由CPU板卡、MVB通信网卡、电源板卡、机箱、网络连接器及线缆等组成。

图1 MVB-CAN网关结构图

网关设计符合IEC 61375、ISO 14229、EN 50121-1、EN 50155、TB/T 1333.1-2002、TB/T 1333.1-2002等规范,具有良好电磁兼容性、扩展性、可移植性和可维护性等优点。网关设备既可以插入标准的3U机箱,也可以设计成盒式结构,方便机架安装及携带。机箱或盒式结构均采用U型铝材并经过氧化处理[4]。为了提高电磁兼容(electromagnetic compatibility,EMC)性,边缘处带有电磁屏蔽弹片,并设置了安全接地。板卡设计均采用3U结构,板卡间采用PC/104接口连接,并增加了铜支撑柱固定连接,提高抗震能力及接地保护。CPU主板还保留了背板连接器,方便与3U机箱背板连接。各连接器均采用专用连接器,保证连接可靠,外壳均通过电容接地。

1.2 网关硬件电路设计

由CPU板卡通过PC/104接口对MVB通信网卡中的总线控制器MVBC进行配置,总线控制器MVBC通过总线收发管理器MAX3485、隔离变压器T60403-Y4021-X123与MVB通信介质相连,进行MVB数据收发;由CPU板卡通过内部总线控制CAN控制器,再通过CAN收发器与CAN通信介质相连,进行CAN数据收发;CPU板卡中主控制器CPU实现MVB和CAN两种总线数据相互转换及存储。CPU通过CPLD时序控制对PC/104接口进行I/O模式访问,CPU与PC/104之间设计了电平转换电路。电源板卡车辆110 V直流电转换为直流5 V,从而为CPU板卡和MVB通信板卡提供稳定可靠的电源。MVB-CAN网关硬件电路如图2所示。

图2 MVB-CAN网关硬件电路图

1.2.1 CPU板卡

CPU板卡电路主要包括:STM32F207微控制器核心系统电路模块(存储器扩展、复位电路、看门狗电路和JTAG接口)、通信功能电路模块、状态指示电路模块、PC/104接口电路模块(时序控制和电平转换)、扩展功能模块(背板连接器)及板卡供电电路模块[5]。CPU板卡主控制器采用STM32F207ZGT6控制器。该控制器内核为CortexTM-M3架构[6],主频高达120 MHz,带有片上存储器,包括1 MB的Flash存储器和容量为128 KB的系统SRAM以及高达4 KB的备用SRAM,能够满足绝大部分应用需求。但考虑到网关的快速、实时及可靠等性能要求,以及数据量比较大,在STM32F207芯片外围通过FSMC总线进行SRAM、NandFlash和EEPROM存储扩展。CPU板卡上设计了开发网关所需的通信电路,包括2组CAN通信电路、1组RS-232串口通信电路、1组以太网通信电路。RS-232电路及以太网电路可以完成串行数据通信和以太网数据通信功能,用来实现MVB-CAN网关的调试以及系统维护、升级等功能。CAN总线通信电路由CAN总线控制器、CAN总线收发器和CAN总线接口组成,完成CAN数据的收发。由于STM32F207控制器芯片本身集成了专门的CAN总线控制器,支持CAN 2.0B协议通信,CAN收发器采用ANALOG DEVICES公司的符合ISO 11898标准的ADM3053BRWZ芯片。该芯片数据传输速率高达1 Mbit/s,直流5 V电源供电。CAN总线收发器提高了总线驱动能力,具有高频干扰信号抑制作用,EMC满足 EN 50155标准[7]。

1.2.2 MVB通信网卡

MVB通信网卡由CPU主控模块、MVB协议控制器、通信存储器、双通道冗余的收发管理器等组成,可以实现MVB主动式网卡的全部功能。网卡与CPU板卡的数据通信采用PC/104并行总线接口。在本文设计的MVB-CAN通信网关测试中,MVB网卡工作在从模式,由STM32F207微控制器芯片通过PC/104总线进行控制,实现与MVB总线间的通信任务。网卡处理器采用AT91R40008微控制器,再加上外围时钟电路、复位电路、扩展存储电路、电源电路等,共同组成了MVB通信网卡的CPU主控模块。MVB网卡处理器AT91R40008外围电路的设计与CPU板卡上STM32F207ZGT6芯片的外围电路设计类似,在此不再赘述。MVB网卡和软件功能满足MVB的1类、2类、3类、4类设备的功能要求,电气接口能提供ESD+、EMD、OGF 等总线接口,并实现介质冗余功能[8]。

1.2.3 电源板卡

网关使用列车上110 V直流供电,故设计了直流110 V转直流5 V的电源板卡。该电源板卡通过PC/104连接器为CPU板卡和MVB通信网卡供电。该电源板卡采用了PWR-CFD10-110S05电源模块。此模块专为铁路应用而研发的小型化DC-DC转换模块,满足铁路设备标准,输入输出都添加了隔离保护,短路保护以及具有自恢复功能,输出功率可达到10 W。为了有效降低对电源电路的干扰,提高电源的可靠性,该电源板卡设计中采用了输入防雷击浪涌保护电路、二阶共模滤波电路、一阶差模滤波电路、整流电路、输出一阶共模滤波电路、稳压电路等。经电磁兼容试验,此板卡满足浪涌(冲击)抗扰度英标RIA12标准、电快速脉冲群抗扰度GB/T17626.4 3级、电源电压变化和中断 GB/T 25119 A级、EMI传导试验 GB 9254 A级、冲击振动标准 GB/T21563 1类B级等要求。

2 网关软件设计

网关软件功能包括系统软件和应用软件。系统软件主要有引导程序、操作系统内核、文件系统。应用程序主要对各个接口电路及板卡进行初始化设置,实现数据收发和数据转换功能。

MVB-CAN网关程序流程图如图3所示。

图3 MVB-CAN网关程序流程图

程序运行流程为:网关上电后,加载引导程序(Bootloader),引导系统启动,完成后加载μC/OS-Ⅱ操作系统内核[9],内核启动后加载文件系统,最后调用网关应用程序。

网关应用程序首先进行MVB初始化及配置MVB板卡信息,初始化CAN接口,配置波特率等信息。MVB和CAN初始化后,创建线程数据共享区,然后执行CAN收发线程和MVB收发线程,循环扫描CAN和MVB的源端口与宿端口。当扫描到相关端口有数据到达时,则执行相关通信线程中的应用程序,进行数据的接收与发送,并在主程序的控制下通过数据存储区实现数据交换,从而实现网关MVB总线数据和CAN总线数据通信的功能。

MVB数据接收到CAN数据发送过程如下。首先,执行MVB接收线程,接收MVB总线数据,获取MVB-CAN数据共享区互斥,更新MVB接收数据和MVB-CAN数据共享区,释放MVB-CAN数据共享区互斥。接着,执行CAN发送线程,获取MVB-CAN数据共享区互斥,更新MVB-CAN共享区数据到CAN发送区,释放MVB-CAN数据共享区互斥,配置CAN标志,将发送数据放入发送缓冲区,调用CAN发送函数,发送CAN数据。

CAN数据接收到MVB数据发送过程:首先执行CAN接收线程,调用CAN接收函数,接收CAN总线数据,获取CAN-MVB数据共享区互斥,更新CAN接收数据到CAN-MVB数据共享区,释放CAN-MVB数据共享区互斥。接着执行MVB发送线程,获取CAN-MVB数据共享区互斥,更新CAN-MVB共享区数据到MVB发送区,释放CAN-MVB数据共享区互斥,配置MVB标志及变量,将发送数据放入发送缓冲区,发送MVB数据。

3 网关通信测试

MVB-CAN网关测试平台如图4所示。

图4 MVB-CAN网关测试平台

测试MVB总线和CAN总线数据的转换。其中,司控台、VCU控制器和HMI显示屏模拟列车MVB网络通信,通过MVB屏蔽线缆连接。MVB-CAN网关通过MVB接口接入MVB网络,再通过CAN接口接入CAN通信网络。CAN总线侧接入装有PCI-CAN卡的工控机,模拟具有CAN接口的车载设备。在工控机上开发CAN2.0通信应用程序。当PCI-CAN板卡上电后,系统加载程序引导应用程序启动后,首先对PCI-CAN板卡的CAN1和CAN2接口以及通信数据存储区进行初始化、波特率和超时时间配置、配置完成之后,板卡进入工作模式。主程序能够实现CAN2.0通信数据收发、PCI-CAN板卡的CAN2.0数据通信的功能。

MVB到CAN的通信测试例程为:操作司控台发出司机室激活信号1号车门开信号和空调制暖信号,经过VCU控制器,HMI显示屏会显示相应的信息,通过MVB-CAN网关。在工控机上通过PCI-CAN板卡数据接收程序,接收到CAN数据。通过分析数据流并进行解析,当MVB发送司机室激活信号时第一字节的第一位发生跳变,二进制为“00000001”,对应十六进制为“01”;当在司机室激活时发送门开信号,第一字节的第一位和第二位发生跳变,二进制数据为“0000 0011”,对应十六进制“03”;当在司机室激活时发送空调制暖信号,第一字节的第一位和第三位发生跳变,二进制数据为“00000101”,对应十六进制为“05”。验证了MVB数据到CAN数据的正确转换与传输。相反,当PCI-CAN工控机发送CAN数据“03”,通过MVB-CAN网关进行数据转换,传输到MVB总线上,并通过HMI显示屏显示司机室激活及1号车门打开,验证了CAN数据和MVB数据的正确转换与传输。

4 结束语

本文设计了一款MVB-CAN网关设备,用于MVB总线和CAN总线的双向数据通信,并通过MVB-CAN网络通信测试平台对该设备进行系统测试。测试结果表明该设备可以实时、可靠地完成数据通信和转换,解决了在列车通信异构组网中MVB总线和CAN总线的数据通信问题,推动了我国列车车载设备的开发进程。

猜你喜欢

数据通信板卡网卡
MACH2系统板卡程序下装平台的研制
部署Linux虚拟机出现的网络故障
车载控制器CVRE板卡显红故障分析及处理
Server 2016网卡组合模式
数据通信网络维护与网络安全问题探讨
关于数据通信电源现状和高压直流供电新系统的分析
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
基于EDA技术的通用异步收发器设计
一种基于光纤数据传输的多板卡软件程序烧写技术
一种高效可靠的串行数据通信协议及处理算法