王海斌 王永虎 丁發(fā)軍 錢偉
摘 要:為實現對航電系統(tǒng)Ethernet總線數據進行地面在線測試,通過Ethernet總線通信方式,并采用嵌入式技術,對航電系統(tǒng)一系列飛行參數進行采集并處理,最終實現嵌入式航電系統(tǒng)Ethernet數據測試平臺。硬件設計以ARM處理器為核心,設計數據處理模塊、適配單元模塊、電源管理模塊和外設模塊。軟件設計在硬件平臺的基礎上,開發(fā)Android操作系統(tǒng)下的設備驅動及應用程序。工程應用結果表明:該平臺能夠實現對航電系統(tǒng)Ethernet總線檢測和測試,滿足測試需求。
關鍵詞:Ethernet總線;數據檢測;嵌入式技術;ARM處理器;Android系統(tǒng)
文獻標志碼: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 引 言
通用航空廣泛使用的綜合航空電子系統(tǒng),由多個子部件構成,主要包括顯示部件、數據處理計算機、大氣數據計算機、發(fā)動機參數處理計算機、航姿系統(tǒng)、音頻控制系統(tǒng)和導航部件。其中,顯示部件又分為主顯示器(PFD)和多功能顯示器(MFD)[1-2]。綜合航電系統(tǒng)的基本工作流程是各子部件負責采集、處理對應的飛行參數,傳輸給數據處理計算機進行統(tǒng)一處理,轉換為Ethernet數據格式并傳輸給兩部顯示器,為飛行員提供飛行信息[3-4]。對于整個航電系統(tǒng)數據傳輸過程而言,Ethernet數據傳輸作用至關重要,若此數據傳輸過程出現故障,將對飛行安全造成嚴重的影響。
為保證航電系統(tǒng)數據傳輸安全、可靠,應對航電系統(tǒng)數據定期進行必要的檢測。由于Ethernet總線在整個航電系統(tǒng)數據傳輸中的重要性,本文構建了基于嵌入式系統(tǒng)的航電Ethernet總線數據測試平臺,下面將結合Ethernet測試平臺的設計實現過程,詳細闡述其系統(tǒng)組成及軟硬件關鍵技術。
1 系統(tǒng)總體設計
數據處理計算機通過Ethernet總線將系統(tǒng)飛行參數分別傳輸給PFD和MFD,航空Ethernet總線遵循IEEE 802.3網絡傳輸協(xié)議,通信速率為10 Mb/s[5-7]。Ethernet總線的傳輸信號為差分式結構,傳輸線路由TX+/-和RX+/-4組構成。航電Ethernet總線數據測試平臺作為節(jié)點嵌入到綜合航電系統(tǒng)中,通過平臺Ethernet接口與航電系統(tǒng)進行交叉連接,實時接收和處理Ethernet數據。測試平臺與航電系統(tǒng)交聯關系如圖1所示。
2 系統(tǒng)硬件設計
在總線數據測試的硬件平臺開發(fā)中選用TI AM335X系列芯片作為核心處理器,該款芯片是TI公司定位于工業(yè)控制MCU的產品,可同時支持Linux、Android和WinCE 3個操作系統(tǒng)的工業(yè)級控制芯片[8-10]。
系統(tǒng)硬件平臺設計主要包括以ARM處理器為核心的數據處理模塊,實現系統(tǒng)匹配連接的適配單元模塊,以及電源管理模塊和外設模塊。平臺硬件組成如圖2所示。
數據處理模塊完成對被測航電系統(tǒng)以太數據、系統(tǒng)參數的接收和處理。CPU處理器型號選擇TI AM3358型芯片,該芯片基于ARM Cortex-A8內核,主頻可支持1 GHz,數據處理速率方面可輕松實現航電總線數據的處理。
系統(tǒng)適配單元模塊主要實現數據處理模塊與被測系統(tǒng)的硬件匹配,包括傳輸的以太數據、選址數據、配置數據以及模擬信號硬件線路匹配。以太數據傳輸匹配通過Ethernet數據收發(fā)芯片實現,其型號采用RTL8211E芯片,支持1000Base-T的數據傳輸。選址數據和配置數據分別采用CAN總線和串口總線格式來實現數據傳輸。其中,CAN總線傳輸采用ISO1050隔離式收發(fā)器,此CAN總線轉發(fā)器符合CAN2.0技術規(guī)范。模擬信號主要傳輸的是電壓信號,包括系統(tǒng)工作狀態(tài)、工作模式等,采用ADC10040模數轉換芯片來實現。
電源管理模塊實現對測試平臺以及被測航電系統(tǒng)的電源供給。被測航電系統(tǒng)直流28.0VDS供給,有專門程控電源來實現。測試平臺電源供給由電源管理芯片TPS65910來實現,該芯片是TI推出的針對CPU供電的電源管理IC,內部集成了降壓、升壓以及差分電壓,滿足了平臺所有特定的電源需求。
外設模塊包括按鍵控制、顯示模塊、警告模塊和外部存儲。顯示模塊采用三菱GT1275-VB 10.4寸觸摸屏,功耗較低且操作便捷。平臺的采集數據以及處理結果可自動傳輸至外部存儲模塊,該模塊是由SD卡存儲模式實現。
3 系統(tǒng)軟件設計
3.1 平臺軟件開發(fā)流程
目前嵌入式操作系統(tǒng)主流是采用Linux和Android操作系統(tǒng),Android是在Linux內核基礎上更加完善的開源系統(tǒng)平臺,擁有更智能的操作以及更優(yōu)化的系統(tǒng)性能[11];因此,采用Android系統(tǒng)作為開發(fā)平臺。
測試平臺軟件開發(fā)主要包括驅動程序和應用程序開發(fā)。驅動程序開發(fā)基于Linux內核進行,主要編程工具使用C/C++程序,應用程序使用Java開發(fā)。應用程序在底層調用設備驅動時并不能直接調用,必須通過Java虛擬機的本地調用方法(JNI)實現。為增強驅動程序可移植性,在Android架構添加一個硬件抽象層(HAL),將硬件設備封裝成為接口形式[12-13]。平臺軟件開發(fā)流程如圖3所示。
3.2 底層驅動設計
驅動程序將硬件設備抽象成文件,應用程序對這些文件進行調用處理[14]。對于標準設備驅動程序可直接調用,但需針對具體設備參數將內核驅動程序進行修改,然后再進行配置及編譯,底層驅動設計流程如圖4所示。本文涉及到的Ethernet總線驅動、觸摸顯示驅動以及存儲驅動均屬于此類驅動程序。
內核配置完畢,保存并編譯出鏡像,按此方式依次完成平臺所需其余驅動模塊的開發(fā)。將修改后內核驅動進行重新編譯生成zImage.bin文件,移植到嵌入式系統(tǒng)并運行,以便上層程序進行調用。
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 測試結果及討論
利用測試平臺針對被測航電系統(tǒng)Ethernet總線飛行參數進行自動測試,將測試結果進行提取和分析,進一步驗證測試平臺準確性和可用性??紤]到被測飛行參數較多,本文列舉部分重要參數進行說明,如表1所示。
表中數據較為直觀地反映了測試平臺測試精度,被測飛行參數中頻率參數,如導航頻率、發(fā)動機轉速等,誤差為零。經模擬信號AD轉換的飛行參數出現誤差,如飛行高度、航向及排氣溫度等。對比行業(yè)測試標準,參數誤差均在測試范圍內,較好地完成了預期的檢測目標。
5 結束語
基于ARM的航電Ethernet總線數據嵌入式測試平臺,通過對航電系統(tǒng)的Ethernet總線進行采集和處理,最終實現了對通航綜合航電系統(tǒng)飛行參數的地面測試。目前,該測試平臺已通過民航局維修項目認證,投入到實際生產中使用。經實踐證明,平臺能夠實現預期功能,在工程應用上取得了良好的效果。
參考文獻
[1] 葉中脈,秦開宇,陳華偉,等. 航電系統(tǒng)通用總線監(jiān)控軟件的設計與實現[J]. 測控技術,2012,31(3):94-97.
[2] 周慶,劉斌,余正偉,等. 綜合模塊化航電軟件仿真測試環(huán)境研究[J]. 航空學報,2012,33(4):722-733.
[3] 孫兵,何瑾,陳廣廈. 基于DSP的CAN總線與以太網互聯系統(tǒng)研制[J]. 儀器儀表學報,2008,29(2):377-380.
[4] 張杰. 機載高速數據點線技術的應用研究[J].電子測量技術,2016,39(6):163-166,180.
[5] 滕秋琴. ARM嵌入式系統(tǒng)網絡接口設計[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標準容限內以太網轉發(fā)時延的測試與分析[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] 熊華鋼,周貴榮,李峭. 機載總線網絡及其發(fā)展[J]. 航空學報,2006,27(6):1135-1144.
[10] 汪健甄,許宗澤. 航空電子高速數據總線性能分析及其實時性仿真[J]. 南京航空航天大學學報,2008,40(3):345-347.
[11] 何劍鋒,羅敏,何月順,等. 一種基于ARM-Linux的Web遠程放射源實時視頻監(jiān)控系統(tǒng)[J]. 中國測試,2014,40(5):100-103.
[12] 詹成國,朱偉,徐敏. 基于Android的測控裝置人機界面的設計與開發(fā)[J]. 電力自動化設備,2012,32(1):119-122.
[13] 農麗萍,王力虎,黃一平. Android在嵌入式車載導航系統(tǒng)的應用研究[J]. 計算機工程與設計,2010,31(11):2473-2475.
[14] 韓迪,潘志宏. 基于Android移動設備傳感器的體感應用[J]. 華南理工大學學報(自然科學版),2012,40(9):75-77.
(編輯:莫婕)