一种基于AS5643协议的1394B总线仿真器转让专利

申请号 : CN201110015303.7

文献号 : CN106342296B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵亮武方方马永忠葛艳

申请人 : 中国航空工业第六一八研究所

摘要 :

本 发 明 属 于 计 算 机 技 术,涉 及AS5643(MIL-1394)协议的1394B总线仿真技术的实现。一种基于AS5643协议的1394B总线仿真器,其特征在于,包括硬件和软件两部分组成,其中,硬件构成包括以具有多个PCI插槽的高性能工控机作为主体,使用商用1394仿真卡和千兆以太网卡作为外部接口;软件组成包括AS5643模块、系统调度模块和以太网络处理模块。本发明技术方案经济、高效的解决基于1394B总线的机载系统试验平台的关键技术难题,为项目的各种仿真试验提供可靠的基础设施。

权利要求 :

1.一种基于AS5643协议的1394B总线仿真器,其特征在于,包括硬件和软件两部分组成,其中,硬件构成包括以具有多个PCI插槽的高性能工控机作为主体,使用商用1394仿真卡和千兆以太网卡作为外部接口;软件组成包括AS5643模块、系统调度模块和以太网络处理模块,其中,AS5643模块完成军用1394协议的实现,包括时间触发机制、健康管理、垂直校验与节点活动计数、1394数据组包和解析;系统调度模块中,1394B总线仿真器采用轮循式调度,并使用板卡硬件时钟进行时间计数;以太网络处理模块采用标准的UDP数据包,在特定端口侦听仿真终端发送的UDP数据包数据;以太网络处理模块通过千兆以太网卡收到UDP数据包后,解析仿真终端信息,根据通道号和板卡号确定所述UDP数据包的发出设备,记录该设备的IP地址,并将经过解析的UDP数据包数据放入相应缓冲区,等待AS5643模块处理;1394B总线仿真器通过商用1394仿真卡收到1394数据包后,根据通道号和板卡号确定需要接收此数据包的仿真终端,查询IP地址表,由以太网络处理模块将1394数据转发给仿真终端。

说明书 :

一种基于AS5643协议的1394B总线仿真器

技术领域

[0001] 本发明属于计算机技术,涉及AS5643(MIL-1394)协议的1394B总线仿真技术的实现。

背景技术

[0002] IEEE1394是一种高速串行总线,它最初由Apple公司于20世纪80年代中期开发,命名为FireWire总线。1995年,IEEE制定并颁布了IEEE1394-1995标准,并在2000年推出了IEEE1394A标准,可以支持100Mbps、200Mbps和400Mbps的传输速率。在最新的IEEE1394B标准中,支持的传输速率提高到了800Mbps、1.6Gbps和3.2Gbps。IEEE1394总线以其高传输速率的特点已经在视频传输、网络互联及计算机外设等领域有了广泛的应用。2004年军用标准组织参照F35项目中1394B的使用情况制定了军用1394B标准(AS5643),对1394B进行了一系列扩展与限定,使其有望成为下一代军用总线标准。
[0003] 军用1394(AS5643)协议具有以下主要特征:
[0004] a)时间触发机制:AS5643协议采用异步流包为基本数据包,不同的功能节点预先分配固定的通道号保证传输的确定性。控制计算机(以下简称CC)节点在每个控制周期发起STOF包(选用31通道数据表征),远程(以下简称RN)节点在收到有效的STOF包后按照预先分配给自己的发送、接收时间偏移(相对于STOF包)进行传输。这样每个节点都会在确定的时间用确定的通道占用确定的带宽发送数据。
[0005] b)健康管理:AS5643协议规定使用“健康状态字”对总线及各节点的健康状况进行管理。CC节点通过该状态字检测所有远程节点的健康状况以产生相应的故障逻辑。远程节点同时检测CC的健康状况,以确定收发流程。
[0006] c)垂直校验与节点活动计数:1394B总线采用CRC校验能够保证传输链路的可靠传输。但是考虑到应用中RAM存取故障出现时数据的完整性无法保证,CRC校验也不能发现该故障模式。因此在数据包加入“垂直奇偶校验字”,当链路层获取的数据包与应用层递交的不一致时垂直校验就可以有效的发现,避免错误的数据包被接收方应用层使用。“节点活动计数字”由发送节点的应用层在产生新数据时累加,接收节点收到数据包时比较本次的计数值与上一次的计数值,通过比较计数值可以确定数据的新鲜度。这样CRC校验,垂直奇偶校验,节点活动计数机制共同保证了数据传输,缓冲区数据搬家与数据应用的可靠。
[0007] 1394B总线与传统机载总线(如RS485,MIL1553B,ARINC429等总线)相比,传输速率远不在一个量级(军用1394B的信号波特率为500Mb/S);传输机制由事件触发变为时间触发;增加了健康管理、系统完整性管理等新特性。这些特点使得系统半实物仿真环境的建立成为一个必须优先解决的关键技术难题。

发明内容

[0008] 本发明的目的是:经济、高效的解决基于1394B总线的机载系统试验平台的关键技术难题,为项目的各种仿真试验提供可靠的基础设施。
[0009] 本发明的技术方案是:基于AS5643协议的1394B总线仿真器包括硬件和软件两部分组成,其中,硬件构成:采用具有多个PCI插槽的高性能工控机作为主体,使用商用1394仿真卡和千兆以太网卡作为外部接口。仿真器内部连接如图2所示。
[0010] 软件实现:1394B仿真器采用VxWorks5.5操作系统,主要功能包括以下模块:
[0011] a)AS5643模块;
[0012] b)系统调度模块;
[0013] c)以太网络处理模块。
[0014] 1、AS5643模块完成军用1394协议的实现,包括时间触发机制、健康管理、垂直校验与节点活动计数、1394数据组包和解析;
[0015] 2、系统调度模块,AS5643协议对于时间槽有严格的要求,误差≤±100μm。使用系统辅助时钟难以完成,因此,1394B总线仿真器采用轮循式调度,并使用板卡硬件时钟进行时间计数。系统调度流程见图3;
[0016] 3、以太网络处理模块,以太网络处理模块采用标准TCP/IP协议(UDP数据包),在特定端口侦听仿真终端发送的UDP数据包数据。以太网络处理模块通过千兆以太网卡收到UDP数据包后,解析仿真终端信息,根据通道号和板卡号确定此数据包的发出设备,记录该设备的IP地址,并将经过解析的UDP数据包数据放入相应缓冲区,等待AS5643模块处理。1394B总线仿真器通过商用1394仿真卡收到1394数据包后,根据通道号和板卡号确定需要接收此数据包的仿真终端,查询IP地址表,由以太网络处理模块将1394数据转发给仿真终端。
[0017] 构建基于MIL-1394总线的系统仿真平台的难点在于AS5643协议的分布式实施的代价(人力和物力开销)过大。如图1所示,1394B总线仿真器将系统仿真平台划分为两个虚拟区域:仿真区域和实物区域,使得各个节点有效的隔离。对于实物节点,其连接方式为真实1394B总线连接;对于仿真节点,其连接方式为以太网连接,可完全忽略AS5643协议的实施。
[0018] 整个系统仿真环境的核心节点是位于两个虚拟区域交集部分的1394B仿真器。1394B仿真器充当“1394B-以太网”网关,以桥接的方式连接两个虚拟区域。各个仿真终端与1394B仿真器使用标准TCP/IP协议数据包;各个实物设备与1394B仿真器使用AS5643协议数据包。
[0019] 可以看出,仿真区域中的各个仿真终端摆脱了1394B硬件和AS5643协议的种种限制,与传统的仿真终端没有任何区别。仿真程序的开发成本大大缩减。
[0020] 本发明的优点是:成功的实现了AS5643协议,并对协议进行扩展;采用桥接技术解决仿真终端问题。桥接技术的使用,使得仿真终端不须关注1394B总线和AS5643协议,只须通过以太网络交换应用数据即可,从而摆脱了操作系统平台的限制,降低了研制的人力和物力成本。这种采用桥接技术的解决方法属国内首创;支持多条1394B总线同时运行,提高系统试验的效率;可以实现CC端行为和RN端行为的仿真;开放式的仿真平台。仿真终端可以随时加入和退出,实现仿真终端的“即插即用”。

附图说明

[0021] 图1是本发明的与系统其他设备交联图
[0022] 1-以太网络,2-伺服系统仿真机,3-测控系统,4-1394B仿真器,5-火控系统仿真机,6-惯导计算机,7-飞控计算机,8-总线分析仪,9-1394B总线
[0023] 图2是1394B仿真器内部连接图
[0024] 图3是仿真器软件调度示意图

具体实施方式

[0025] 下面对本发明做进一步详细说明。1394B仿真器以高性能工控机作为硬件载体,最多支持10块unibrain的1394B仿真卡(PCI卡)。每块仿真卡可以仿真一个1394节点,包括控制计算机节点(CC)和远程节点(RN)。根据仿真节点类型的不同,1394B总线仿真器可以工作在两种模式下:
[0026] 1)CC模式:1394B总线仿真器仿真至少一个CC节点时,处于CC模式。在此模式下,1394B总线仿真器需要发送帧起始包(STOF包)来触发整条总线的运行。
[0027] 2)RN模式(网关模式):1394B总线仿真器未仿真CC节点时,处于RN模式。在此模式下,1394B仿真器只需要转发网关两端的数据即可。
[0028] 系统软件运行流程如下:
[0029] 1、初始化;系统上电后首先对中间变量进行初始化设置,然后分别调用AS5643模块和以太网处理模块的初始化函数对1394仿真卡和以太网卡进行初始配置;
[0030] 2、启动系统时钟中断;设置操作系统主时钟,该时钟用于定时发送STOF包。建立1394数据包接收消息队列;
[0031] 3、接收以太网数据;调用以太网处理模块的获取数据函数对网络数据进行捕获。首先采用非阻塞模式获取以太网络数据包,如果获取到有效数据包,先进行代码和校验,通过后按照仿真器通讯协议对数据包进行解析。仿真器通讯协议规定了三种以太网络数据包:配置数据包、查询数据包和应用数据包。当仿真器接收到配置数据包后,按照该数据包中的信息重新对仿真器进行初始化;当接收到查询数据包后,将仿真器的现有配置信息回传给该数据包的发送端;当接收到应用数据包后,将数据信息重新编码,存放在1394发送数据缓冲区中;
[0032] 4、处理接收到的1394数据;调用AS5643模块的数据包处理函数对1394数据进行处理。当1394总线数据到达1394仿真卡时会触发一个中断,AS5643模块的中断处理函数会接收到1394数据包,并将其按照通道号存放在每个通道的数据包接收消息队列中(其中,每个1394仿真卡对应一个通道号)。数据包处理函数会查询每个通道的数据包接收消息队列中是否有新数据到达,如果有合法的新数据到达(合法性检查包括垂直校验和总线健康管理检查),按照AS5643协议解析出有效数据载荷,并将其存放在网络发送数据缓冲区中;
[0033] 5、发送1394数据包;调用AS5643模块的数据包发送函数。仿真器使用1394仿真卡的硬件时戳进行精确时钟记数。首先判断是否有某个通道的时间槽已经到达,如果有到达时间槽的通道,并且该通道的1394发送数据缓冲区有新鲜数据(步骤3得到),则调用AS5643模块的数据组包函数进行1394数据打包和发送,并进行相应的健康管理处理;如果没有没有数据需要发送,则进行空闲任务处理;
[0034] 6、发送网络数据包;调用以太网络处理模块的数据发送函数。首先判断是否有某个通道的网络发送数据缓冲区有新鲜数据,如果有,则马上发送。
[0035] 本仿真器成功的实现了AS5643协议,并对协议进行扩展;采用桥接技术解决仿真终端问题。桥接技术的使用,使得仿真终端不须关注1394B总线和AS5643协议,只须通过以太网络交换应用数据即可,从而摆脱了操作系统平台的限制,降低了研制的人力和物力成本。这种采用桥接技术的解决方法属国内首创;支持多条1394B总线同时运行,提高系统试验的效率;可以实现CC端行为和RN端行为的仿真;开放式的仿真平台。仿真终端可以随时加入和退出,实现仿真终端的“即插即用”。