一种WTB总线数据帧记录仪及记录方法与流程

文档序号:11178469阅读:958来源:国知局
一种WTB总线数据帧记录仪及记录方法与流程

本发明涉及列车网络通信技术领域,尤其涉及一种wtb总线数据帧记录仪及记录方法。



背景技术:

wtb是tcn标准体系中规定的一种底层总线通信协议,包括对应的数据链路层和物理层。wtb总线主要适用于需要经常改变列车编组的情形,如国际列车和多厂商列车在运行时需要经常互相加挂解挂、改变方向等。wtb总线的核心功能就是能够让重新编组后的列车自动完成网络拓扑的计算和分发,保证列车无论如何编组都能保持总体网络的连通性。

wtb数据链路层主要负责两个方面的功能,其一是要负责wtb总线上的过程数据、消息数据、监视数据的收发功能;其二要负责完成列车动态编组,自动寻找连到总线上的设备并为其命名,即初运行(inauguration)的功能。数据链路层在结构上还要提供上层调用的接口以方便上层应用对wtb节点进行管理和控制。wtb总线周期由wtb总线主实现。总线主为一个wtb节点,在wtb动态组网完毕后会被推举出来。在wtb正常运行状态下,wtb总线主将总线按固定时间间隔分割成时间周期,称为基本周期。一个基本周期又分为周期相和偶发相两个部分,在周期相中,总线主按照周期轮询表对各个节点进行过程数据轮询;在wtb偶发相中,总线主首先会使用监视数据依次交替轮询两个端节点是否发现新的节点,从而决定是否需要重新组织拓扑,在端节点轮询完毕后,总线主会对总线节点进行监视数据和消息数据轮询。

列车运行中wtb的复杂编组情况,通过上层软件很难进行分析和调试,需要借助wtb总线数据帧进行分析具体的链路行为,因此发明一种wtb总线数据帧记录仪及记录方法势在必行,以便为分析列车运行和故障情况提供更加可靠的有效数据。



技术实现要素:

本发明的目的是针对现有技术的需求,提供一种wtb总线数据帧记录仪及其记录方法,其能够记录和存储wtb总线的数据帧,为分析列车运行和故障情况提供更加可靠的有效数据。

本发明的目的通过如下技术方案实现:

本发明提供一种wtb总线数据帧记录仪,其包括:

wtb数据帧记录仪板卡和上位机;

所述wtb数据帧记录仪板卡和上位机通过pc104总线互相连接;wtb数据帧记录仪板卡与wtb总线通过数据通信网线连接,监听并接收wtb总线上的数据;

所述上位机发送指令并获得wtb数据帧记录仪板卡中根据指令所传输的数据帧后,按照设定的规则将该数据帧记录到数据文件中。

更优选地,所述上位机包括:

cpu、存储器、pc104总线接口和以太网接口;

所述cpu通过内部线路分别与存储器、pc104总线接口和以太网接口等相连接;

所述cpu通过pc104总线接口连接的pc104总线,与wtb数据帧记录仪板卡双向连接。

更优选地,所述上位机还包括:

用于连接外部设备的usb接口和/或vga显示接口。

更优选地,所述wtb数据帧记录仪板卡包括:

pc104模块、fifo数据缓存器和接收模块;

pc104模块向上通过pc104总线与上位机相接,并与上位机进行数据交互;向下通过内部线路读取fifo数据缓存器中的数据帧;

fifo数据缓存器通过内部线路与接收模块相接;

接收模块从wtb总线接收数据帧,并传到fifo数据缓存器中以备读取。

更优选地,所述pc104模块包括:

uart控制单元和命令解析单元;

所述pc104模块通过pc104总线接收到上位机cpu的指令后,通过命令解析单元对该指令进行译码,若该指令的译码结果是清空数据指令,则通过uart控制单元清空fifo数据缓存器中的数据帧;若该指令的译码结果是读取指令,则通过uart控制单元从fifo数据缓存器中读取数据帧,并将读取到的数据帧通过pc104总线发送到上位机。

更优选地,所述接收模块包括:

分别设置在a、b线路的接收器a和接收器b、解码器、crc校验单元和线路冗余切换控制单元;

接收器a和接收器b同时监听wtb总线上的所有帧数据,经过接收、解码、crc校验,得到成功传输的数据帧;

线路冗余切换控制单元控制a、b线路,根据接收器a和接收器b接收帧的情况以及iec61375标准,从两路接收线路中选择出一条信任线路,并通过该信任线路中向fifo数据缓存器传送数据帧。

本发明还提供一种wtb总线数据帧记录方法,其包括:

步骤s101,上位机启动后,操作系统进行初始化。

步骤s102,向wtb数据帧记录仪板卡发送清空指令;

步骤s103,判断是否收到wtb数据帧记录仪板卡的清空确认信息,若收到,则执行步骤s104;否则,执行步骤s102,再次发送清空命令;

步骤s104,上位机在存储器上建立当前数据文件,并记录创建时间;

步骤s105,上位机发送读取命令;

步骤s106,等待接收wtb数据帧记录仪板卡传输的数据帧,并当接收到后将该wtb数据帧记录到当前数据文件中,并对记录时间进行计时;

步骤s107,上位机判断记录时间是否超过设定的时间间隔阈值,若超时则执行步骤s108,关闭当前数据文件,然后转入步骤s109;若未超时,则转入步骤s106;

步骤s109,判断存储器是否有可用容量,若有,则执行步骤s110;若没有,则执行步骤s111,则结束本程序;

步骤s110,在存储器上创建新数据文件,并将该新数据文件作为当前数据文件,并记录创建时间;然后转入步骤s106。

更优选地,所述步骤s106中将该wtb数据帧记录到当前数据文件中的过程包括:

步骤s1061,读取wtb数据帧中的状态字;

步骤s1062,将状态字写入到当前数据文件中;

步骤s1063,根据数据长度字段确定数据帧中帧数据长度;

步骤s1064,根据数据帧的长度逐字节读取帧数据内容;

步骤s1065,将读取到的帧数据内容写入到当前数据文件中。

由上述本发明的技术方案可以看出,本发明具有如下技术效果:

本发明通过wtb数据帧记录仪板卡监听并接收wtb总线上的数据,通过上位机发送指令并获得wtb数据帧记录仪板卡所传输的数据帧,并按照设定的规则将该数据帧记录到数据文件中,实现了机车车辆运行中wtb总线网络上传输数据的记录和存储,能够为分析列车运行和故障情况提供更加可靠的有效数据,便于开发维护人员获取列车运行情况的相关数据对网络进行分析与判断;特别是对于自主研发的wtb网卡设备,本发明将对wtb网卡设备的研发、测试、调试和分析带来很大的好处。

附图说明

图1为本发明的一种wtb总线数据帧记录仪的结构图;

图2为本发明中wtb数据帧的结构示意图;

图3为本发明中的wtb数据帧记录仪板卡的结构图;

图4为本发明中的wtb总线数据帧记录方法的流程图;

图5为本发明中将数据帧记录到当前数据文件中的流程图。

具体实施方式

以下将结合附图对本发明的技术方案做进一步详细说明。

实施例一

本发明提供一种wtb总线数据帧记录仪,其结构如图1所示,包括:

wtb数据帧记录仪板卡和上位机。其中的wtb数据帧记录仪板卡和上位机通过pc104总线互相连接;wtb数据帧记录仪板卡与wtb总线通过数据通信网线连接,监听并接收wtb总线上的数据。

wtb数据帧记录仪从wtb总线上接收到的数据包括:过程数据、消息数据以及监视数据,其由一对主帧和从帧构成,其中主帧由wtb总线主向目标节点发出,目标节点根据自己的需求,发出对应的从帧。主帧和从帧的结构均如图3所示wtb数据帧结构,包括帧头和帧数据(link_data)部分,主帧和从帧的帧头结构相同,后接的帧数据部分长度不一。帧头包括四个字段,长度均为8bits(比特),从前至后分别表示目标设备地址(dd)、链路控制标志(lc)、源设备地址(sd)、链路数据长度(即数据帧长度)(sz)。其中lc字段是用来对各种类型的数据帧进行编码区分。sz字段则是指除去头部32bits后其余的数据部分的长度。帧数据(link_data)部分占据0~1024bits。

上述主帧或从帧被封装到如表1所示的wtb数据帧报文中的数据字段,由wtb数据帧记录仪板卡传输给上位机。

表1wtb数据帧报文中各个字段的定义及取值含义

备注:如果没有数据帧可供读出,则数据帧长度字段为0。

上述上位机可以为pc104嵌入式x86工业控制计算机主板,用于从wtb数据帧记录仪板卡获取数据帧,并将其记录到数据文件中。该上位机包括中央处理器(cpu)、存储器、pc104总线接口、usb接口、vga显示接口和以太网接口等。上述中央处理器(cpu)通过内部线路分别与存储器、pc104总线接口、usb接口、vga显示接口和以太网接口等相连接,以传输指令和数据等。

上位机的中央处理器(cpu)发送指令并从wtb数据帧记录仪板卡中获得指令所请求的数据帧后,按照设定的规则将该数据帧记录到数据文件中,并存储到存储器中。为了避免数据文件过长,所以设定了一定的规则。该规则是:数据帧记录时间若超过间隔时间阈值,则重新建立新的数据文件,并将新接收的数据帧记录记录到该数据文件中。

pc104总线接口通过pc104总线与wtb数据帧记录仪板卡双向连接。

usb接口、vga显示接口、以太网接口等用于连接外接设备,以便查看上位机中所记录数据文件。

上述wtb数据帧记录仪板卡是采集wtb总线数据帧的关键设备,其基于fpga(fieldprogrammablegatearray,现场可编程门阵列)设计,并基于fpga控制物理固件完成数据采集功能,其结构如图3所示,可以看出,该wtb数据帧记录仪板卡包括:pc104模块、fifo数据缓存器和接收模块。

pc104模块向上通过pc104总线与上位机相接,并与上位机进行数据交互,数据交互过程中遵循uart-emulation通信协议;向下通过内部线路读取fifo数据缓存器中的数据帧。该pc104模块包括:uart控制单元和命令解析单元;pc104模块通过pc104总线接收到上位机cpu的指令后,通过命令解析单元对该指令进行译码,若该指令的译码结果是清空数据指令,则通过uart控制单元清空fifo数据缓存器中的数据帧;若该指令的译码结果是读取指令,则通过uart控制单元从fifo数据缓存器中读取数据帧,并将读取到的数据帧通过pc104总线发送到上位机。

fifo数据缓存器通过内部线路与接收模块相接。

接收模块包括:分别设置在a、b线路的接收器a和接收器b、解码器、crc校验单元和线路冗余切换控制单元。接收器a和接收器b同时监听wtb总线上的所有帧数据,经过接收、解码、crc校验,得到成功传输的数据帧;线路冗余切换控制单元用于控制a、b线路,根据接收器a和接收器b接收帧的情况(有效帧、帧冲突、错误帧、帧间间隔等信息)以及iec61375标准综合判断,从两路接收线路中选择出一条信任线路,以保证从信任线路中向fifo数据缓存器传送数据帧。

基于上述一种wtb总线数据帧记录仪,本发明还提供一种wtb总线数据帧的记录方法,该记录方法安装于上位机中,基于上位机的操作系统运行。本发明提供的一种wtb总线数据帧的记录方法的实施流程如图4所示,具体包括如下步骤:

步骤s101,上位机启动后,操作系统进行初始化。

步骤s102,向wtb数据帧记录仪板卡发送清空指令。

上位机通过pc104总线向wtb数据帧记录仪板卡发送清空指令。

步骤s103,判断是否收到wtb数据帧记录仪板卡的清空确认信息,若收到,则执行步骤s104;否则,执行步骤s102,再次发送清空命令。

上位机通过pc104总线向wtb数据帧记录仪板卡发送清空指令后,监听wtb数据帧记录仪板卡是否反馈清空确认信息;wtb数据帧记录仪板卡接收到清空指令后,会控制fifo数据缓存器中的所有数据帧,并反馈清空确认信息给上位机。

步骤s104,上位机在存储器上建立当前数据文件,并记录创建时间。

步骤s105,上位机发送读取命令。

上位机通过pc104总线向wtb数据帧记录仪板卡发送读取命令。

步骤s106,接收wtb数据帧记录仪板卡传输的数据帧并开始记录到当前数据文件中,并对记录时间进行计时。

wtb数据帧记录仪板卡中的pc104模块接收到上位机的指令后,经解析译码处理后,发现是读取指令,则根据该读取指令从fifo数据缓存器中读取wtb数据帧,并上传给上位机。上位机将接收到wtb数据帧记录到当前数据文件中,并对记录时间进行计时。

步骤s107,上位机判断记录时间是否超过设定的时间间隔阈值,若超时则执行步骤s108,关闭当前数据文件,然后转入步骤s109;若未超时,则转入步骤s106。上述时间间隔阈值可以为1个小时。

步骤s109,判断存储器是否有可用容量,若有,则执行步骤s110;若没有,则执行步骤s111,则结束本程序。之后人工将存储器中的数据文件备份到其它地方并将该存储器清空。

步骤s110,在存储器上创建新数据文件,并将该新数据文件作为当前数据文件,并记录创建时间。然后转入步骤s106。

上述步骤s106中将数据帧记录到当前数据文件中的执行过程如图5所示,包括如下步骤:

步骤s1061,读取wtb数据帧中的状态字。

步骤s1062,将状态字写入到当前数据文件中。

步骤s1063,根据数据长度字段确定数据帧中帧数据长度。

步骤s1064,根据数据帧的长度逐字节读取帧数据内容。

步骤s1065,将读取到的帧数据内容写入到当前数据文件中。

将读取到的帧数据内容放在当前数据文件中,并与状态字对应。

由上述可以看出,本发明提供的wtb数据帧记录仪和记录方法能够记录机车车辆运行中wtb总线网络上传输的数据,便于开发维护人员获取列车运行情况的相关数据对网络进行分析与判断,特别是对于自主研发的wtb网卡设备,这种记录wtb总线上的数据帧的设备及软件,将对wtb网卡设备的研发、测试、调试和分析带来很大的好处。

虽然本发明已以较佳实施例公开如上,但实施例并不限定本发明。在不脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1