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