航空总线编程,航空航天工程师必看
通信技术,通常也被称做通信工程,是电子工程的重要分支,指以电磁波、声播或光波的形式将信息通过电脉冲从发送端(信源)传输到一个或多个接受端(信宿)的过程所涉及的技术。日常生活的信息交换基本都会应用到通信技术:计算机、手机应用网络或无线电波的调制实现信息传递,而航空航天领域中的飞行器除了应用无线电进行信息传输外,还会利用通信总线来实线数据的快速传递。
总线(Bus)指计算机各部件间执行信息传输工作的公共通信干线,是由导线组成的传输线束,通常由数据线、地址线、控制线构成。如将主板比作一座城市,就可将总线理解为城市中的公共汽车,按照固定行车路线传输信息。常见的总线有RS422/RS485总线、I2C总线、SPI总线、CAN总线(常用于汽车电子控制系统)、1553B总线(常用于航空、航天、军事等领域的电子联网系统)、1394总线(常用于航空系统领域)、FC总线(常用于航空航天领域)等。
本文将主要就应用于航空、航天、军事等领域的电子联网系统的1553B总线通信展开讨论。
一、1553B总线通信
1553B总线是MIL-STD-1553B总线的简称,是美国军方专为飞机上设备制定的一种信息传输总线标准,也就是设备间传输的协议。1553B数据总线具有双向输出特性,实时性和可靠性高,广泛应用在当代的运输机和相当数量的民航客机以及军用飞机上,航天系统也广泛的应用这一总线。
图1:1553B总线拓扑结构图
1553B总线的工作频率是1 Mb/s ,主要由3部分组成:
(1)总线控制器(BC)
他是在总线上唯一被安排为执行建立和启动数据传输任务的终端。
(2)远程终端(RT)
他是用户子系统到数据总线上的接口,他在BC的控制下提取数据或接受数据。
(3)总线监控器(BM)
他"监控"总线上的信息传输,以完成对总线上的数据源进行记录和分析,但他本身不参与总线的通信。
MIL-STD-1553标准作为美国国防部武器系统集成和标准化管理的基础之一,被广泛的用于飞机综合航电系统、外挂物管理与集成系统,并逐步扩展到飞行控制等系统及坦克、舰船、航天等领域。它最初由美国空军用于飞机航空电子系统,已广泛应用于美国和欧洲海、陆、空三军,而且正在成为一种国际标准。我国于1987年颁布了相应的军标。
MIL-STD-1553B协议芯片国产化:基于1553B板卡的总线已经包括了PCI、PXI/CPCI、VXI、PC/104、PC/104 、PCMCIA等;在多家航空航天和兵器领域的科研院所和生产单位得到了广泛的应用!
1553B总线特征:
1.实时性好:1553B总线的数据传输率为1Mbps,每条消息最多包含32个字,传输一个固定不变的消息所需时间短。数据传输速率比一般的通讯网高。
2.合理的差错控制措施和特有的方式命令,为确保数据传输的完整性,1553B采用了合理的差错控制措施――反馈重传纠错方法。
3.总线效率高: 总线形式的拓扑结构对总线效率的要求比较高,为此1553B对涉及总线效率指标的某些强制性要求如命令响应时间、消息间隔时间以及每次消息传输的最大和最小数据块的长度都有严格限制。
4.具有命令/响应以及"广播"通讯方式:BC能够以"广播"方式向所有RT发送一个时间同步消息,这样总线上的所有消息传输都由总线控制器发出的指令来控制,相关终端对指令应给予响应并执行操作。
二、通用测试平台的必要性
显示器是飞行员获取飞机状态信息、任务信息的关键设备。显示器设备通信系统是一个实时嵌入式系统。显示器通信总线也不断更新换代,有串口、ARINC429、HDLC、1553B、FC等总线。
传统的机载显示器功能测试设备是:一套测试设备只测试一个型号,测试软件也是专门定制。当型号越来越多,最后发现需要很多不同种类的测试设备,同时也需要很多开发人员开发测试软件。测试人员很难熟练掌握各种测试设备和各种测试软件;另外对测试设备的维护管理也相当复杂繁琐。
现在我们需要构建一种显示器通用测试平台,包括通用硬件平台和软件平台,它可以测试几乎所有通信总线的显示器设备。
图2:机载显示器网络图片
硬件平台采用模块化设备。此文重点介绍针对机载1553B总线通信显示器的通用软件测试平台。
三、测试需求分析
被测件的通讯接口
被测件是基于1553B通讯总线的各种机载显示器设备,它是一个嵌入式的系统,里面有用C语言开发的程序。
显示器设备的外围通信接口有1553B、AD、DA、DI、DO、视频、电源接口。
测试环境
为了开展对显示器系统软件的全面测试,需要仿真外围各种接口设备、传感器等。仿真这些设备需要各种硬件功能模块:总线测试模块、视频测试模块、离散量测试模块、模拟量测试模块、电源模块等。通用主控计算机控制操作这些模块设备,发出指令到显示器,并接收显示器的反馈指令。
图3:通用测试平台系统交联框图图
四、基于1553B总线显示器测试执行过程
利用通用测试平台可快速搭建本系统要求硬件测试环境,利用定制航插电缆连接被测件和各种模块。建一个ETest测试项目主要以下几步:进行仿真设计、用例设计与执行,最后得到测试报告。
1、仿真设计
仿真设计包括交联环境的建立、设备规划。仿真设计主要用来规划被测件的接口通道,接口协议。
首先进行交联环境设计,交联环境用来描述被测件的外围接口通道和协议。交联环境建模如下图。
图4:ETest测试项目交联环境图
2、DPD协议设计
DPD协议就是测试用例数据协议或格式。DPD由ICD文件转换而来。
每个通道需要编写应用层的协议。协议都采用ETest软件测试平台提供的DPD(通信协议描述语言)描述。DPD是一个非常先进的协议描述工具,用此协议描述语言,脚本的编写就非常简单了。协议由字段组成,字段类型提供了位、字节、字符串、数组、校验等多种类型。数据包括整型、浮点,有符号无符号,大小端设置,范围设置,默认值设置。
1553B应用层协议由ICD文件(interfacecontrol document,接口控制文件)来详细描述。按IDC文件的协议定义,DPD详细描述如下
图5: DPD协议示例
3、图形监控设计
图形监控设计是用来在用例执行的输入用例数据和显示测试结果数据的。
监控种类常用的有按钮、开关、bull灯、文本编辑框、仪表盘、数字表、曲线图等。控件直接绑定在DPD协议的字段上。
测试用例的部分监控设计如下图(显示器参数监控图),采用多选框选择输入参数值,数字表显示收到的数值。
图6:图形监控示例
4、脚本用例执行
脚本的设计就是测试用例数据的收发和结果判定,实现自动化测试。脚本采用Python或C 脚本语言。Python语言简洁、易读、易懂,有C语言基础马上就可以开发用例了。
在脚本中直接引用协议字段,进行赋值等操作;直接用ETest提供的协议读写API,实现协议的自动组包和解包操作。脚本可进行输入输出信息打印输出,打开监控执行监控。脚本一次设计,多次执行。Python脚本测试用例如图7所示:
图7:Python脚本测试用例
5.测试执行
测试执行的结果有四种方式可以观测:IO中心打印输出信息、实时数据查看、图形监控和历史数据查看。
6.测试报告
软件测试结果以测试报告的形式展示。结果报告有:软件测试需求规格说明、软件测试说明、软件测试大纲、软件测试记录、软件测试问题报告和软件测评报告。
五、测试软件ETest简介
ETest是一款软件开发环境IDE,基于该IDE可以完成嵌入式系统测试软件的开发与部署。该产品是由凯云科技率先在行业内推出的国产自主可控半实物仿真测试开发平台,有效打破了国内该领域长期由进口软件LabView、DSpace等产品垄断的格局。
ETest可广泛应用于航空航天、武器装备、工业控制、汽车电子、仪器仪表等各行业测试工装、测试仪器等设备的研发。具有应用范围广、实时性强、开发效率高、使用简单、易于扩展、国产自主等特点,支持各种国产CPU+国产操作系统的部署方案,同时兼容Windows、linux、Mac等多种操作系统。
图8: ETest测试开发环境图
以上是基于ETest搭建了机载显示自动测试平台,并利用此平台对机载显示单元产品进行功能、接口、性能测试。利用此平台可对所有型号的机载显示产品测试,可以满足机载显示单元产品的生产、寿命、出厂验收及保障测试。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com