一种针对不同总线协议测试设备通信的通用ICD设计
2022-10-28段曙凯魏士皓
段曙凯, 魏士皓, 范 玲
上海飞机制造有限公司,上海 201324)
在民机航电系统中,不同测试设备会采用不同的总线通信协议,例如起落架控制单元激励设备采用了ARINC429总线,航电总线分析仪采用了AFDX总线,大气数据仪采用了RS232串行总线,飞控角度测量模块采用以太网通信等。这给民机集成测试带来了很大困难,而接口控制文档(Interface Control Document,ICD)能很好地将不同总线协议信息进行解析和传输[1-2]。这样可通过软件来解析总线信号,实现总线信号的柔性化定义[1-5],同时也减轻了硬件的工作强度。因此,设计一款通用ICD能实现对不同总线协议测试设备进行集中管控,提高航空总线测试效率,提升测试可靠性,促进民机集成测试技术的发展。
1 通用ICD整体设计方案
为实现不同总线协议测试设备与管控平台之间的实现通信,通用ICD主要包括以下3个层级:工程层级、设备层级、消息层级。工程层级是对飞机测试过程中的工程变量和所用到的测试设备信息以及通信活动进行定义。工程变量包括空速、高度、空地状态等参数,其为实现测试执行的基础;测试设备信息包括设备名称和通信地址;通信活动是指在给某个工程变量赋值或取值时所需要的工作过程,该工作过程会将工程变量的值通过函数关系转化成设备所能利用的值,并按设备层级定义的通信过程发送给测试设备。设备层级主要是对设备内部各类通信过程进行定义。通信过程是管控平台与设备通信并实现特定功能的工作过程,例如设备初始化、指令执行和数据监测等。通信过程的输入和输出与工程层级中的工程变量相关;通信过程的工作模式包括触发模式和循环模式;通信过程最终会产生与设备通信的消息,该消息采用帧和码段的方式组织,由消息层级描述。消息层级描述了具体帧的类型、总长等信息,帧内各码段的类型、长度、编码方式和默认值等信息。由于可扩展标记语言(Extensible Markup Language,XML)是用于传输和存储数据的、可以自定义标签并具备很好的结构特性的语言,所以它能很好地实现通用ICD文件的编写工作[6-7]。因此,本文采用XML语言进行ICD设计。通用ICD整体设计框图如图1所示。
图1 通用ICD整体设计框图
2 工程层级
工程变量是指在测试工程中与进行设置或检验的物理量对应的参数(如飞机测试过程中的空速、高度、空地状态等)以及测试结果中需要检验飞机各活动面的运动角度、发动机显示和机组警告系统(Engine Indication and Crew Alerting System,EICAS)某个报警、主飞行显示器(Primary Flight Display,PFD)某项的显示状态。
工程层级是对测试设备、被测对象的工程变量和端到端的通信过程中产生的中间参数进行定义,方便数据的后续传输工作。工程层级分为顶级节点、二级节点和三级节点,而每个节点又包含不同的属性定义。其中顶级节点即工程节点,其目的是对整个测试设备进行工程定义,以便于识别;二级节点包括参与测试的设备节点、各类工程变量节点和通信活动节点。此外,只有通信活动节点具有三级节点,分别是从端节点、到端节点和转化节点。具体的工程层级结构图如图2所示。
图2 具体工程层级结构图
从图2可以看出,在顶级节点工程节点中设置了标识属性,其目的是方便与测试脚本关联;参试设备节点具有设备通信方式、地址和初始化值3个属性,其目的是方便与设备层级进行关联,从而有效地与设备层级通信;工程变量的章节号属性是为了描述被测对象参数属于飞机哪个系统;通信活动节点中从端节点有两个属性,分别是输入属性和工程变量属性。输入属性是对设备层级进行识别;工程变量属性是非必要属性,可直接从工程变量节点中进行取值。到端节点有输出和工程变量两个属性,用于描述和传输参数数据至设备层级。转化节点具有一个属性,即转化函数。转化节点是描述通过什么函数如何将传递过来的工程变量值转化成对设备有意义的值。采用顶层节点、二级节点和三级节点的属性进行设置,完成了通用ICD工程层级的XML模板片段,如图3所示。图3中各节点与图2所示的工程层级结构图中节点的对应关系为:节点“project”对应“工程”节点;节点“device”对应“参试设备”节点;节点“vary”对应“工程变量”节点;节点“communication”对应“通信活动”节点;节点“from”对应“从端”节点;节点“to”对应“到端”节点;节点“translation”对应“转化”节点;节点“parameter”对应“参数”节点;节点“result”对应“结果”节点。
图3 通用ICD工程层级的XML模板片段
3 设备层级
测试设备与管控平台建立通信的过程主要包括建立连接、初始化、运行和断开连接。此外,由于运行机制原因,在运行阶段存在受外界触发运行的触发模式和每隔一定时间进行循环的循环模式。触发模式一般用于单次数据收发,循环模式一般用于设备状态监控、数据采集、通信状态测试等场合。具体通信流程图如图4所示。
图4 具体通信流程图
设备层级主要是描述这些测试设备的通信过程,其包括3层节点,分别是设备通信的顶层节点;初始化、监控和触发的二级节点,这3种二级节点统称为通信活动;提示、指令和响应的三级节点。具体设备层级结构图如图5所示。
图5 具体设备层级结构图
从图5的结构图中可以看出,为了区分不同的设备的通信方式,设备通信节点设置了标识和基础协议两个属性。其中,基础协议属性用于描述不同测试设备的通信协议,例如TCP/IP、RS232、CAN总线协议等,该协议一般与设备具体硬件有关。初始化节点有2个非必要属性,即标识和频率;此外,初始化节点还有3个三级节点,分别是提示节点、指令节点和响应节点。其中,提示节点的内容属性具有信息提示的功能。输出属性是生成用于存储操作员设置参数的键值,方便数据对应和传输。指令节点和响应节点是在设备通信过程中进行设置的,它们都具有两个属性,即帧和标识。其中,帧属性是为了描述在通信过程中用到的帧格式,该帧格式是为了与消息层级的帧相对应;标识属性是一个非必要属性,是为了进行节点识别而设计的。监控节点用于描述设备通信运行中的监控活动,它有两个属性,即频率和标识。其中,频率属性是描述设备监控的频率;标识属性是为了区分不同的监控节点。触发节点用于描述设备通信运行中的触发活动。监控节点和触发节点都具有三级节点,即指令节点和响应节点,是为了对数据进行传输和响应。通过节点和属性设置编写的通用ICD设备层级的XML模板片段如图6所示。图6中各节点与图5所示的设备层级结构图中节点的对应关系为:节点“driver”对应“设备通信”节点;节点“init”对应“初始化”节点;节点“monite”对应“监控”节点;节点“trigger”对应“触发”节点;节点“command”对应“指令”节点;节点“response”对应“响应”节点。
图6 通用ICD设备层级的XML模板片段
4 消息层级
不同总线协议测试设备的数据格式一般均采用帧的方式进行传输,帧由不同作用的码段组成,通信帧格式和具体含义如表1所示[8-11]。
表1 通信帧格式和具体含义表
消息层级通过描述帧内码段的类型、长度、数据类型等信息,将工程变量转化成能被测试设备识别的二进制格式的机器语言。消息层级分为帧节点的顶级节点和字段节点的二级节点。具体消息层级结构图如图7所示。
图7 具体消息层级结构图
帧节点具有标识、收发方向、数据类型和长度共4个属性。其中,标识属性是为了识别不同帧节点;收发方向属性规定了数据传输方式;长度属性可定义帧长度;数据类型属性定义了传输数据格式。二级节点的码段节点具有类别、数据类型、循环和标识共4个属性。其中,类别属性规定了帧头码、功能码、填充码等;数据类型规定了码段的数据类型;循环标识用于对连续多个相同类型的码段进行设置;标识属性是为了区分不同字段节点。采用帧节点、字段节点及其属性方式编写的通用ICD消息层级XML模板片段如图8所示。
图8 通用ICD消息层级的XML模板片段
图8中各节点与图7所示的消息层级结构图中节点的对应关系为:节点“frame”对应“帧”节点;节点“segment”对应“码段”节点。
5 通用ICD应用验证
为验证针对不同总线协议测试设备通信的通用ICD的通用性和可行性,分别采用角度模块设备、拍照测量设备、轮载切换设备、惯导转台设备和大气数据激励设备进行了测试。通过对以上设备的被测量进行设计,例如分别将角度模块设备的偏角、轮载切换设备的切换位置和大气数据仪的动静压等信息封装成工程层级的工程变量,方便管控平台对测试设备进行识别;然后将每个设备与管控平台的通信方式封装成设备层级的设备通信,完成管控平台与不同测试设备之间的数据通信;最后将测试设备的原始测量数据转换成消息层级的帧格式,达到数据格式统一的目的,实现平台对不同数据类型的解析和显示。现场测试验证框图如图9所示。传统测试方法与通用ICD测试方法效果对比如表2所示。
图9 现场测试验证框图
表2 传统测试方法与通用ICD测试方法效果对比表
测试验证表明,该ICD设计思路正确,能很好地完成对不同测试设备的工程变量,例如角度模块设备的偏航角、轮载切换设备的切换位置和大气数据仪的动静压等解析和传输,帮助管控平台完成对测试设备的集中管理和测试数据的全程监控。因此,本文所提出的ICD设计方法能很好地满足不同总线协议测试设备集中管控的需求,并且易于扩展,可助力民机集成测试技术的发展。
6 结束语
本文通过对不同测试设备总线协议和通用ICD设计方法的研究,将ICD设计分成工程层级、设备层级和消息层级,分别对通信的数据结构、通信过程的控制和测试工程中的元素进行描述。通过ICD方式实现了5套不同协议的测试设备与测试管控平台的通信,为民机总装集成测试不同总线的设备控制提供了一种解决方法,以促进民机总装集成测试技术的发展。