APP下载

航空Ethernet嵌入式测试平台的设计与实现

2017-05-30王海斌王永虎丁发军钱伟

中国测试 2017年12期
关键词:Android系统

王海斌 王永虎 丁发军 钱伟

摘 要:为实现对航电系统Ethernet总线数据进行地面在线测试,通过Ethernet总线通信方式,并采用嵌入式技术,对航电系统一系列飞行参数进行采集并处理,最终实现嵌入式航电系统Ethernet数据测试平台。硬件设计以ARM处理器为核心,设计数据处理模块、适配单元模块、电源管理模块和外设模块。软件设计在硬件平台的基础上,开发Android操作系统下的设备驱动及应用程序。工程应用结果表明:该平台能够实现对航电系统Ethernet总线检测和测试,满足测试需求。

关键词:Ethernet总线;数据检测;嵌入式技术;ARM处理器;Android系统

文献标志码:A 文章编号:1674-5124(2017)12-0075-04

Abstract: To realize online ground test for Ethernet bus data of avionics system, a series of flight data of avionics system is collected and processed with the Ethernet bus communication method and embedded technology and finally an Ethernet data test platform of embedded avionics system is realized. With regard to the hardware design, ARM microprocessor is taken as the core and data processing module, adaptive unit module, power management module and peripheral module are designed. With regard to software design, device driver and application program under the Android operating system are developed based on the hardware platform. Results of engineering application show that the platform is able to check and test the Ethernet bus of avionics system and meet the testing requirement.

Keywords: Ethernet bus; data monitoring; embedded technology; ARM microprocessor; Android system

0 引 言

通用航空广泛使用的综合航空电子系统,由多个子部件构成,主要包括显示部件、数据处理计算机、大气数据计算机、发动机参数处理计算机、航姿系统、音频控制系统和导航部件。其中,显示部件又分为主显示器(PFD)和多功能显示器(MFD)[1-2]。综合航电系统的基本工作流程是各子部件负责采集、处理对应的飞行参数,传输给数据处理计算机进行统一处理,转换为Ethernet数据格式并传输给两部显示器,为飞行员提供飞行信息[3-4]。对于整个航电系统数据传输过程而言,Ethernet数据传输作用至关重要,若此数据传输过程出现故障,将对飞行安全造成严重的影响。

为保证航电系统数据传输安全、可靠,应对航电系统数据定期进行必要的检测。由于Ethernet总线在整个航电系统数据传输中的重要性,本文构建了基于嵌入式系统的航电Ethernet总线数据测试平台,下面将结合Ethernet测试平台的设计实现过程,详细阐述其系统组成及软硬件关键技术。

1 系统总体设计

数据处理计算机通过Ethernet总线将系统飞行参数分别传输给PFD和MFD,航空Ethernet总线遵循IEEE 802.3网络传输协议,通信速率为10 Mb/s[5-7]。Ethernet总线的传输信号为差分式结构,传输线路由TX+/-和RX+/-4组构成。航电Ethernet总线数据测试平台作为节点嵌入到综合航电系统中,通过平台Ethernet接口与航电系统进行交叉连接,实时接收和处理Ethernet数据。测试平台与航电系统交联关系如图1所示。

2 系统硬件设计

在总线数据测试的硬件平台开发中选用TI AM335X系列芯片作为核心处理器,该款芯片是TI公司定位于工业控制MCU的产品,可同时支持Linux、Android和WinCE 3个操作系统的工业级控制芯片[8-10]。

系统硬件平台设计主要包括以ARM处理器为核心的数据处理模块,实现系统匹配连接的适配单元模块,以及电源管理模块和外设模块。平台硬件组成如图2所示。

数据处理模块完成对被测航电系统以太数据、系统参数的接收和处理。CPU处理器型号选择TI AM3358型芯片,该芯片基于ARM Cortex-A8内核,主频可支持1 GHz,数据处理速率方面可轻松实现航电总线数据的处理。

系统适配单元模块主要实现数据处理模块与被测系统的硬件匹配,包括传输的以太数据、选址数据、配置数据以及模拟信号硬件线路匹配。以太数据传输匹配通过Ethernet数据收发芯片实现,其型号采用RTL8211E芯片,支持1000Base-T的数据传输。选址数据和配置数据分别采用CAN总线和串口总线格式来实现数据传输。其中,CAN总线传输采用ISO1050隔离式收发器,此CAN总线转发器符合CAN2.0技术规范。模拟信号主要传输的是电压信号,包括系统工作状态、工作模式等,采用ADC10040模数转换芯片来实現。

电源管理模块实现对测试平台以及被测航电系统的电源供给。被测航电系统直流28.0VDS供给,有专门程控电源来实现。测试平台电源供给由电源管理芯片TPS65910来实现,该芯片是TI推出的针对CPU供电的电源管理IC,内部集成了降压、升压以及差分电压,满足了平台所有特定的电源需求。

外设模块包括按键控制、显示模块、警告模块和外部存储。显示模块采用三菱GT1275-VB 10.4寸触摸屏,功耗较低且操作便捷。平台的采集数据以及处理结果可自动传输至外部存储模块,该模块是由SD卡存储模式实现。

3 系统软件设计

3.1 平台软件开发流程

目前嵌入式操作系统主流是采用Linux和Android操作系统,Android是在Linux内核基础上更加完善的开源系统平台,拥有更智能的操作以及更优化的系统性能[11];因此,采用Android系统作为开发平台。

测试平台软件开发主要包括驱动程序和应用程序开发。驱动程序开发基于Linux内核进行,主要编程工具使用C/C++程序,应用程序使用Java开发。应用程序在底层调用设备驱动时并不能直接调用,必须通过Java虚拟机的本地调用方法(JNI)实现。为增强驱动程序可移植性,在Android架构添加一个硬件抽象层(HAL),将硬件设备封装成为接口形式[12-13]。平台软件开发流程如图3所示。

3.2 底层驱动设计

驱动程序将硬件设备抽象成文件,应用程序对这些文件进行调用处理[14]。对于标准设备驱动程序可直接调用,但需针对具体设备参数将内核驱动程序进行修改,然后再进行配置及编译,底层驱动设计流程如图4所示。本文涉及到的Ethernet总线驱动、触摸显示驱动以及存储驱动均属于此类驱动程序。

内核配置完毕,保存并编译出镜像,按此方式依次完成平台所需其余驱动模块的开发。将修改后内核驱动进行重新编译生成zImage.bin文件,移植到嵌入式系统并运行,以便上层程序进行调用。

3.3 驱动调用设计

设备底层驱动依次由上层硬件抽象层(HAL)和JAVA本地调用层(JNI)进行调用,最终为顶层应用程序服务。

硬件抽象层(HAL)是通过HAL Stub方法实现对设备底层驱动调研,HAL Stub是一种代理方法,通过回调函数访问底层驱动。JAVA本地调用层(JNI)访问HAL层时,通过函数hw_get_module()获取设备模块ID,并向HAL层申请设备Stub,JNI层获得Stub对象后,即可把Stub作为一个抽象硬件进行操作。

JAVA本地調用层(JNI)与硬件抽象层(HAL)建立JNI函数表,应用程序构架层通过调用System.load()函数使JAVA本地调用层(JNI)虚拟机加载本地库函数和JNI函数表,最终建立了硬件抽象层(HAL)、JAVA本地调用层(JNI)和应用程序构架层之间的联系。平台驱动调用实现过程如图5所示。

4 测试结果及讨论

利用测试平台针对被测航电系统Ethernet总线飞行参数进行自动测试,将测试结果进行提取和分析,进一步验证测试平台准确性和可用性。考虑到被测飞行参数较多,本文列举部分重要参数进行说明,如表1所示。

表中数据较为直观地反映了测试平台测试精度,被测飞行参数中频率参数,如导航频率、发动机转速等,误差为零。经模拟信号AD转换的飞行参数出现误差,如飞行高度、航向及排气温度等。对比行业测试标准,参数误差均在测试范围内,较好地完成了预期的检测目标。

5 结束语

基于ARM的航电Ethernet总线数据嵌入式测试平台,通过对航电系统的Ethernet总线进行采集和处理,最终实现了对通航综合航电系统飞行参数的地面测试。目前,该测试平台已通过民航局维修项目认证,投入到实际生产中使用。经实践证明,平台能够实现预期功能,在工程应用上取得了良好的效果。

参考文献

[1] 叶中脉,秦开宇,陈华伟,等. 航电系统通用总线监控软件的设计与实现[J]. 测控技术,2012,31(3):94-97.

[2] 周庆,刘斌,余正伟,等. 综合模块化航电软件仿真测试环境研究[J]. 航空学报,2012,33(4):722-733.

[3] 孙兵,何瑾,陈广厦. 基于DSP的CAN总线与以太网互联系统研制[J]. 仪器仪表学报,2008,29(2):377-380.

[4] 张杰. 机载高速数据点线技术的应用研究[J].电子测量技术,2016,39(6):163-166,180.

[5] 滕秋琴. ARM嵌入式系统网络接口设计[J].电讯技术,2008,48(10):84-86.

[6] LITTLEFIELD-LAWWILL J, VISWANATHAN R. Advancing open standards in integrated Modular avionics:An industry analysis[C]∥AIAA/IEEE Digital Avionics Systems Conference-Proceedings.Piscataway,NJ:IEEE,2007:

2B11-2B114.

[7] 梁永生,张基宏,张乃通. IEEE标准容限内以太网转发时延的测试与分析[J]. 电子学报,2008,36(1):46-50.

[8] GORSHE S, MANDIN J. Introduction to IEEE 802.3 av 10Gbit/s Ethernet Passive Optical Networks(10G EPON)[J]. China Communications,2009,6(4):136-147.

[9] 熊华钢,周贵荣,李峭. 机载总线网络及其发展[J]. 航空学报,2006,27(6):1135-1144.

[10] 汪健甄,许宗泽. 航空电子高速数据总线性能分析及其实时性仿真[J]. 南京航空航天大学学报,2008,40(3):345-347.

[11] 何剑锋,罗敏,何月顺,等. 一种基于ARM-Linux的Web远程放射源实时视频监控系统[J]. 中国测试,2014,40(5):100-103.

[12] 詹成国,朱伟,徐敏. 基于Android的测控装置人机界面的设计与开发[J]. 电力自动化设备,2012,32(1):119-122.

[13] 农丽萍,王力虎,黄一平. Android在嵌入式车载导航系统的应用研究[J]. 计算机工程与设计,2010,31(11):2473-2475.

[14] 韩迪,潘志宏. 基于Android移动设备传感器的体感应用[J]. 华南理工大学学报(自然科学版),2012,40(9):75-77.

(编辑:莫婕)

猜你喜欢

Android系统
掌游西塘APP设计与实现
基于污点传播动态分析的Android安全系统研究
Android系统上的移动互联网集成平台开发机制
Android系统核心管理工具设计与实现
Android下的机械式电表数字识别技术研究
基于GPS和iBeacon的智能校园信息发布平台设计与实现
基于增强现实技术的导航系统研究
面向移动终端的语音签到系统
基于Android系统的“掌上图书馆”的设计与实现
Android应用异常检测方法研究