基于总线ICD测试方法研究

时间:2022-03-18 11:26:04

基于总线ICD测试方法研究

摘 要:分析了综合航空电子系统中MIL-STD-1553B总线系统的特点,对总线测试的方法进行介绍,给出控制接口文档ICD在航空总线测试系统中的作用。ICD是对总线数据的定义,在此对传统ICD设计方法进行了阐述和总结。通过通用航空总线ICD数据库对总线进行测试,极大地优化了测试的方法,并对通用航空总线ICD设计方法进行了理论研究,通过实时分析论证其可行性。

关键词:MIL-STD-1553B总线; 接口控制文档; 总线测试; ICD数据库

中图分类号:TP336文献标识码:A

文章编号:1004-373X(2010)08-0087-03

Research on Bus Testing Method Based on ICD

ZHAO Yu-xiang, FAN Xiao-guang, WANG Xu-hua

(Engineering College, Air Force Engineering University, Xi’an 710038, China)

Abstract:The characteristics of the MIL-STD-1553B bus systems in comprehensive avionics systems are analysed, the methods of bus testing are introduced, and the functions of the interface control document (ICD) in the avionics bus testing system are presented. The traditional design methods for the ICD are summarized, and some theoretical research on these methods for general avionics bus is made. The testing method isgreatly optimized with the help of the universal ICD database. the feasibility of these methods is verified through real-time analysis.

Keywords:MIL-STD-1553B bus; ICD; bus testing; ICD database

0 引 言

在以MIL-STD-1553B总线为架构的综合航空电子系统中, MIL-STD-1553B总线系统控制着系统的功能、各个分系统的工作方式、信息流的变化、故障的处理与显示、系统通信的重构,实时检查每一个分系统的运行状态。许多航空电子系统中信息的综合及功能都是各个分系统通过MIL-STD-1553B总线系统的通信实现的[1]。

因而,对于MIL-STD-1553B总线系统的测试也就成为对每一个采用MIL-STD-1553B总线通信机制的进行验证的主要手段和依据。换言之,综合航空电子系统只有通过了对MIL-STD-1553B总线系统的测试,才能基本认定综合航空电子系统是否达到了系统功能的设计要求,才算完成了系统综合的设计任务。ICD是对总线数据的定义,通过通用航空总线ICD数据库对总线进行测试,提出了通用ICD数据库的方法。采用该方法极大地优化了测试方法。

1 总线系统与航电系统的关系

虽然MIL-STD-1553B总线系统与飞机综合航空电子系统有着密切的关系,但二者并不能完全等同。MIL-STD-1553B总线系统是指以MIL-ST-1553B总线为传输介质,将多个分系统综合在一起完成特定功能的系统。就功能而言,飞机综合航空电子系统的功能包括从传感器到系统本身的所有功能,而MIL-STD-1553B总线系统的功能往往指围绕MIL-STD-1553B总线通信实现的功能和控制逻辑[2]。尽管MIL-STD-1553B总线系统不能全面地反映飞机综合航空电子系统的所有情况,但由于传感器及其他相关信息经处理后,也往往可以通过MIL-STD-1553B总线进行传输。通过对MIL-STD-1553B总线系统的测试,基本上能比较准确地了解综合航空电子系统的运行情况。所以,对机综合航空电子系统功能的测试,绝大部分可以通过对MIL-STD-1553B总线系统的BIT自测试来实现,如图1所示。

2 接口控制文档的组成及特点

2.1 ICD的组成

航空电子系统的接口控制文档通常是十分庞杂的,它包含了一整套总线系统数据的定义,它包括系统的控制逻辑、信号类型、传输速度、参数名称、参数意义、参数单位、参数最大值和最小值、分辨率、精度、最大/最小传输间隔、信号方向、比例关系、有无符号位、编码形式、故障代码等各种信息 [3]。

图1 总线BIT自测试流程

航空电子系统的ICD可分成两个部分:块(Blocks)和信号(Signals)。块是在串行通信总线上(包括航空电子多路总线和点到点连结的单总线)的接口。定义了航空电子系统中各个子系统间的接口规范。它的主要特征是:每个块有惟一的标志,至少必须包含一个信号。信号是用于外场可更换单元(LRU)之间传输信息的最小数据单位,在接口控制文档中必须定义所有信号的属性,包括数据类型、单位、传输速度、传输间隔、传输延迟等。信号的定义在航空电子系统的接口控制文档中占有较大的比重。信号的主要特征是:每个信号有惟一的标志,不允许反馈,在点到点连接的单总线结构中(如ARINC429总线)每条信号有一个信号源和一个目的地址,在多路总线结构中(如入且MIL-STD-1553B总线)每条信号可以有一个信号源和多个目的地址。块与信号之间是多对多的关系,即一个块中可以包含多条不同的信号,同时,同一条信号也可以应用于多个块中。

2.2 ICD在测试中的位置

目前对接口控制文档中庞大的数据管理,一般都采用数据库管理形式。将接口控制文档抽象出许多描述表,用这些描述表定义接口控制文档的内容。表中内容按照数据类型形成数据记录,然后通过自顶向下的层次划分方法,将一个庞大的ICD切分成逻辑上互相关联,结构上互相独立的数据描述表结构。

测试方法就以这个ICD数据库为核心,向应用层开发了数据翻译、显示、网络转发、总线控制等模块;向底层开发了数据采集、数据块地址映射等模块。

图2体现了ICD数据库在整个航空总线测试系统中的位置。整个系统通过ICD库的重新配置或设计就可以用于新的航空总线测试工程。

图2 ICD数据库在总线测试中的位置

3 总线ICD测试方法

3.1 传统总线ICD测试方法

目前国外对1553B总线的测试主要利用接口控制文件(ICD)数据库与总线仿真/测试卡相结合。首先针对飞机型号的特殊要求开发出与总线仿真/测试系统能进行接口的总线ICD数据库。所有总线系统数据的定义都按规则存储在该数据库中,包括系统的控制逻辑、物理量意义、比例关系、物理量单位有无符号位、编码形式、故障代码等信息。编码可根据需要从一位到几十个字节。总线系统试验时,直接把要测试的参数通过总线仿真测试卡与总线ICD数据库对应,计算机自动查找其对应关系与逻辑,实时监测或记录数据。ICD的更改能直接通过修改ICD库体现,测试系统不再做任何工作。该测试方法需围绕总线仿真/测试卡进行详细的总线ICD库设计,开发量大,测试严格。故这类测试系统一般请专业软件公司开发,以保障系统的可靠性。

在国内的MIL-STD -1553B总线测试系统主要是以ICD数据库为依据,按照系统的工作方式进行开发的。试验时,首先确定试验内容属于哪种工作方式,然后启动总线仿真/测试系统进入该工作方式,仿真、记录、分析、处理、记录该工作方式下的所有总线数据。总线仿真/测试系统具有较强的仿真/测试能力,能提供大量的试验数据,能同时进行总线数据的仿真与测试,减少了试验的重复次数和时间;但是不能测试不同工作方式相互转换时的情况,试验前期要完成各种可能的工作方式组合,开发准备的工作量很大。如果ICD数据库变化了,仿真/测试系统也要相应地进行改动,因此,比较适合于静态传输机制,即终端地址与子地址都是固定的。

3.2 通用航空总线ICD的实现及应用

相对于传统ICD数据库设计方法存在的诸多问题,提出了通用ICD数据库的设计方法。这种方法的核心思想是设计出统一的ICD结构,通过这种ICD结构将各种航空总线标准的接口定义统一到一起,从而形成一个支持多种航空总线标准接口定义的ICD数据库[4]。采用通用ICD设计方法开发的通用航空总线测试系统,通过测试软件与ICD数据库相关联的方法,将采集到的不同航空总线数据从ICD数据库中找到相应的信号定义,根据定义对该总线数据进行解析,同时判断该总线数据是否正确,然后将解析出的数据送到上一层应用层进行显示和记录[5]。这样避免了针对不同航空总线,设计不同格式ICD数据库,以及编写不同总线测试程序的麻烦,从而使该总线测试程序具备对多种航空总线进行测试的能力。

首先,通过分析各种航空总线系统ICD的定义,开发一个与底层总线采集接口卡相隔离的总线ICD数据库,所有总线系统数据的定义都按特定的规范存储在这个数据库中,包括系统的控制逻辑、物理量的意义、比例关系、物理量的单位、有无符号位、编码形式、故障代码等各种相关信息[6]。对总线测试系统进行试验时,直接把要测试的参数通过总线采集接口卡与总线ICD数据库对应,计算机自动查找出其对应关系与逻辑,进行实时监测和数据记录。对于这种总线测试系统来说,由于全部使用计算机控制,可靠性很高,测试时工作量很小,数据的可信度也很高。其次,由于ICD内容的任何更改都只是ICD数据库中数据项的变化,而不是ICD数据库结构的变化,所以测试系统后期的修改工作很少。再者,由于总线ICD数据库与总线采集接口卡相分离,使得ICD数据库的定义不再紧密依赖于特定的总线接口卡,所以,只要更换底层的总线接口卡,导入相应的ICD数据库,就可以进行另一种航空总线类型的测试。

4 实时ICD测试与分析系统实现的相关技术

4.1 实时数据的分发

实时处理模块首先将接收的实时采集数据进行分发。数据的分发有两个方向:

(1) 根据试验任务配置信息将实时采集数据分发到对应的显示数据缓冲区中。

(2) 把不同通道的采集数据分发到不同的存储数据缓冲区。

4.2 实时数据的解析

由于一条总线消息可以传输多个字段信息,字段之间彼此独立,并且各条总线消息传输的字段数并不固定,这就给总线数据的解析工作带来很大的麻烦。

参考通用ICD数据库的定义,定义主要的数据结构。对数据缓冲区中的每条消息,首先获取它的Labe号,然后BIT_DEFINE链表会依次链接该条消息定义的所有字段定义[7]。按照航电ICD数据库对数据位的描述方法,就可以将该条消息中所有字段依次解析,得到实际的物理量。

4.3 实时数据的存储

为了不影响系统运行的实时性,试验前,首先锁定一块物理内存,以保证这块物理内存区不会作系统换页。试验运行过程中,将总线采集接口卡缓冲区中的数据取出,并放到被锁定的内存块中,同时测试系统采用中断机制,当锁定内存块将满时,通过内存映射机制将内存中的所有数据映射到临时文件中。

4.4 实时数据的测试的模块划分

资源管理模块是对系统硬件资源和软件资源的管理。实时模块是整个系统的核心,它能够实时透明地进行数据采集、记录、发送、响应总线消息。事后处理模块提供试验后的数据处理和分析功能,包括数据导入、数据查询、数据比较、统计分析、数据回放、报表生成和打印功能。数据库模块提供系统的后台数据库支持。

5 结 语

文中讨论了总线系统测试与航电系统测试的关系,对航空总线测试系统中在接口控制文档ICD方面进行了分析及理论研究, 并在实时ICD数据测试中对通用航空总线测试系统进行了分析。

参考文献

[1]李文军, 邰炳昌. 飞机MIL-STD-1553B总线的测试系统[J]. 飞机设计, 2003(2): 51-54.

[2]王海青. 航空电子系统综合技术分析[J]. 飞机设计, 2007,27(1): 55-61.

[3]罗志强. 航空电子综合化系统[M]. 北京: 北京航空航天大学出版社, 1990.

[4]程作仁, 李丽, 高明伦, 等. 通用测试平台的讨论[J]. 微电子学与计算机, 2001, 18(5): 4-7, 11.

[5]朱良, 杜承烈.通用航空总线测试与分析软件的设计和实现[J].微电子学与计算机, 2007, 24(7): 125-127.

[6]夏庆梅, 徐亚军, 熊华钢. 航空电子接口控制文件的数据库管理[J]. 航空计算技术, 2001, 31(3): 39-42, 45.

[7]宁伟.通用航空总线实时测试与分析技术研究[D].西安: 西北工业大学, 2006.

[8]任哲平. 对1553B总线系统的一种测试方法[J]. 车辆与动力技术, 2003(3): 19-21, 25.

[9]熊华钢. LTPB接口控制文件ICD的有效性判定[J]. 航空学报, 1998(Z1): 8-11.

[10]熊华钢. 机载高速数据总线系统研究[D]. 北京:北京航空航天大学, 1998.

上一篇:嵌入式Linux下S3C2410的调色板彩色显示 下一篇:截集型特征加权模糊C-均值聚类算法