文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.173541
0 引言
彈載數(shù)據(jù)記錄儀的主要作用是對導彈飛行中的各種數(shù)據(jù)信息進行采集與記錄,通過對數(shù)據(jù)記錄儀的信息進行回讀和分析,可以評估導彈在飛行過程中的性能,從而對其功能進行修改和完善。隨著信息技術的發(fā)展,彈載數(shù)據(jù)記錄儀在導彈的研制過程中有著越來越重要的作用,對其要求也越來越高,低功耗、大容量、小體積、高速度是當前彈載數(shù)據(jù)記錄儀的發(fā)展趨勢[1]。
基于以上原因和實際指標要求,本文設計了一種基于片上系統(tǒng)(System on Chip,SoC)芯片的數(shù)據(jù)記錄儀,采用高速大容量的Micro SD卡為存儲介質(zhì),使用德州儀器生產(chǎn)的TMS320DM368處理器作為主控芯片,在片上運行嵌入式Linux操作系統(tǒng),進行相關的裁剪和移植,最終實現(xiàn)了1路PAL模擬視頻數(shù)據(jù)的采集及H.264格式壓縮存儲,1路CAN總線和RS422總線與彈載計算機通信和數(shù)據(jù)交互,并通過USB接口進行數(shù)據(jù)在上位機的回讀分析,以此評估飛行器的性能參數(shù)。本系統(tǒng)具有功耗低、成本低、數(shù)據(jù)存儲量大、工作溫度范圍大、可擴展性強等特點。
1 系統(tǒng)組成部分
彈載數(shù)據(jù)記錄儀主要實現(xiàn)在導彈飛行過程中對環(huán)境信息的視頻信息和飛行姿態(tài)參數(shù)信息的記錄存儲,在導彈落地后,通過配套的地面數(shù)據(jù)讀取設備和地面計算機配合讀出記錄儀中的試驗數(shù)據(jù),最后由上位機軟件對數(shù)據(jù)進行分析處理。地面讀取裝置與地面計算機之間通過USB接口或者百兆網(wǎng)絡接口通信,將數(shù)據(jù)拷貝到本地存儲介質(zhì)。數(shù)據(jù)記錄儀與地面讀取裝置的組成框圖如圖1所示。
本數(shù)據(jù)記錄儀實現(xiàn)了對多路信號的采集和記錄,存儲容量可以根據(jù)實際需求通過更換不同容量的SD卡來實現(xiàn),且飛行試驗結束后數(shù)據(jù)回讀的實現(xiàn)方式快捷有效。記錄儀的主要技術指標如下:
(1)導彈電源系統(tǒng)為數(shù)據(jù)記錄儀提供+12 V的工作電壓,記錄儀的功耗低于6 W;
(2)采集1路PAL制式視頻數(shù)據(jù),幀頻不低于25幀/s,可硬件實時壓縮存儲;
(3)包含1路CAN總線和1路RS422總線,實現(xiàn)飛行過程中數(shù)據(jù)實時接收;
(4)系統(tǒng)啟動時間小于10 s,且具有掉電保護功能;
(5)系統(tǒng)可正常工作的溫度范圍為-40 ℃~85 ℃。
數(shù)據(jù)記錄儀的功能框圖如圖2所示。
2 系統(tǒng)硬件平臺設計
受導彈艙體內(nèi)空間的限制,同時考慮到導彈飛行過程中振動幅度大,本系統(tǒng)由3塊體積較小的板卡組成,分別為主控板、接口板和電源板,板卡之間由專用的接口連接,可方便固定在載體內(nèi)部,并進行灌封保護。其中主控板負責接收視頻、RS422總線和CAN總線上的數(shù)據(jù),并進行采集和存儲控制,此模塊是數(shù)據(jù)記錄儀的數(shù)據(jù)存儲模塊,會在艙體內(nèi)進行灌封防護處理以保護數(shù)據(jù)安全;接口板負責RS422總線、CAN總線以及USB接口通信的實現(xiàn);電源板負責電壓的轉(zhuǎn)換,給主控板和接口板提供所需的工作電壓。
2.1 主控制器和存儲模塊設計
本系統(tǒng)主控板上使用TI公司的DM368處理器作為主控芯片,該芯片采用ARM+硬件編解碼器的硬件架構,具有尺寸小、功耗低、編解碼速度快等優(yōu)點[2]。其內(nèi)部包含的ARM926EJ-S處理器工作頻率可達432 MHz,同時具有MJCP和HDVICP兩個協(xié)處理器,可實現(xiàn)MPEG、H.264等格式的壓縮處理,此外內(nèi)部還集成視頻處理子系統(tǒng)及各種其他豐富的外部存儲或通信總線控制器。相比于傳統(tǒng)的基于DSP、FPGA的彈載平臺數(shù)據(jù)記錄儀,該平臺很大程度上減小了系統(tǒng)的復雜度,并且硬件實現(xiàn)視頻數(shù)據(jù)的編解碼,提高了壓縮比,減小了開發(fā)的難度。
由于板卡尺寸的限制以及考慮到NAND Flash存儲容量較小,系統(tǒng)沒有采用Flash芯片分組級聯(lián)的存儲方案,改用Micro SD卡作為壓縮視頻以及導彈飛行信息數(shù)據(jù)的存儲介質(zhì),將SD卡放置在主控板上。由于彈體在發(fā)射和落地時存在較高的過載和沖擊,為保護記錄儀數(shù)據(jù)的安全,需要對主控板進行整體灌封技術處理[3]。此外,主控板上模擬視頻采集模塊由TVP5150AM1芯片實現(xiàn),這是一款超低功耗,能夠支持NTSC、PAL、SECMA等格式的高性能視頻解碼器,正常工作時的功耗低于120 mW,并且封裝體積較小,完全滿足本數(shù)據(jù)記錄儀的應用需求。使用時通過I2C總線配置其內(nèi)部寄存器,將采集到的CVBS信號轉(zhuǎn)換為8 bit BT.656格式數(shù)據(jù)輸出到DM368的視頻前端(VPFE)圖像采集端口,進行一些預處理后,視頻數(shù)據(jù)經(jīng)過緩存模塊,實現(xiàn)編碼輸出或者壓縮存儲至SD卡,模擬視頻從采集到H.264壓縮存儲的數(shù)據(jù)處理流程如圖3所示。
2.2 通信模塊的設計
在數(shù)據(jù)記錄儀的接口板實現(xiàn)了1路RS422串行數(shù)據(jù)總線接口,用于與彈載計算機實現(xiàn)指令的傳送,RS422接口使用MAX3490芯片實現(xiàn)差分方式進行數(shù)據(jù)的傳輸,有效克服了通信過程中干擾、噪聲、傳輸效率低等缺點;1路CAN總線接收彈載計算機發(fā)送的飛行過程中的數(shù)據(jù)信息,接口板上使用帶SPI接口的獨立CAN控制器的MCP2515芯片實現(xiàn),該器件主要由3部分組成:CAN通信協(xié)議模塊、CAN通信控制邏輯模塊、SPI接口協(xié)議模塊[4]。DM368主控芯片通過SPI接口,使用標準的SPI讀寫指令實現(xiàn)對MCP2515的初始化,以及數(shù)據(jù)發(fā)送和數(shù)據(jù)接收的功能操作。CAN總線的實現(xiàn)原理示意圖如圖4所示。此外接口板上有1路USB2.0接口,用于彈體落地后地面計算機從數(shù)據(jù)記錄儀上讀回記錄數(shù)據(jù)。
3 系統(tǒng)軟件的設計
本數(shù)據(jù)記錄儀所使用的SoC芯片DM368內(nèi)部集成的ARM926核主頻高達432 MHz,可以運行嵌入式Linux操作系統(tǒng),有效實現(xiàn)對各種外設的控制和應用程序的執(zhí)行。此外,片內(nèi)的協(xié)處理器HDVICP對視頻數(shù)據(jù)進行H.264格式的壓縮編碼,大大減小了數(shù)據(jù)量,方便了傳輸和存儲,并且提高了圖像質(zhì)量[5]。
嵌入式軟件平臺的設計主要包括對應外設的驅(qū)動程序的開發(fā)、所需功能的應用程序的實現(xiàn)以及系統(tǒng)運行參數(shù)的設置。本系統(tǒng)CAN總線模塊MCP2515的驅(qū)動是基于Socket CAN的網(wǎng)絡設備驅(qū)動,用于設備的初始化配置以及為應用程序提供接口。
在實際的飛行試驗中導彈發(fā)射后接收到相關指令后開始采集視頻數(shù)據(jù),并記錄存儲一些飛行姿態(tài)參數(shù),在系統(tǒng)斷電之前停止程序的運行,釋放占用的系統(tǒng)資源,確保數(shù)據(jù)正確地寫入存儲介質(zhì),斷電時數(shù)據(jù)不會丟失。根據(jù)以上數(shù)據(jù)記錄儀的任務需求,設計實現(xiàn)了基于Linux的多任務多進程的應用程序,系統(tǒng)初始化后,同時啟動視頻處理、RS422總線指令接收、CAN總線數(shù)據(jù)接收3個進程,由收到的相應指令執(zhí)行對應的操作,提高了軟件執(zhí)行效率,并且確保了功能穩(wěn)定性。飛行狀態(tài)軟件實現(xiàn)流程圖如圖5所示。
3.1 視頻信號處理多線程實現(xiàn)
飛行中的場景信息由攝像頭采集到主控板上,在DM368處理器內(nèi)進行H.264格式編碼壓縮,然后以文件的形式寫入到SD卡。對數(shù)據(jù)記錄儀的視頻處理的任務采用多線程技術,程序的實現(xiàn)分為4個交互運行線程:控制線程、采集線程、編碼線程和存儲線程。線程之間通過管道共享緩沖區(qū),設置互斥鎖實現(xiàn)線程間的調(diào)度,提高了程序的執(zhí)行效率。視頻處理多線程流程圖如圖6所示。
3.2 SD卡存儲掉電保護
為確保SD卡存儲介質(zhì)中的數(shù)據(jù)可靠安全地記錄下來,除了進行物理上的灌封保護措施,在軟件方面也進行了特殊處理。為了防止系統(tǒng)正常關閉前突然掉電可能導致數(shù)據(jù)丟失的情況發(fā)生,在對SD卡存儲操作的軟件實現(xiàn)上,使用fflush、fsync函數(shù)實現(xiàn)數(shù)據(jù)從緩沖區(qū)到磁盤的寫入,保證文件內(nèi)容的更新速度。
4 系統(tǒng)功能測試
為對該系統(tǒng)的性能進行測試和評估,在實驗室搭建了模擬環(huán)境,主要針對系統(tǒng)技術指標進行了測試。使用PC向數(shù)據(jù)記錄儀發(fā)送控制指令,通過上位機調(diào)試軟件接收數(shù)據(jù)記錄儀反饋的信息,此外通過USB接口對SD卡存儲的數(shù)據(jù)進行回讀分析,視頻數(shù)據(jù)在SD卡內(nèi)保存為后綴為h264的文件,CAN接收的數(shù)據(jù)保存為文本格式。
首先在數(shù)據(jù)記錄儀程序內(nèi)記錄300 s內(nèi)所處理的視頻幀數(shù),通過串口將信息發(fā)送給上位機進行分析。實驗數(shù)據(jù)如表1所示。
由實驗結果可以計算出數(shù)據(jù)記錄儀平均每秒可以處理的視頻圖像為25.06幀,滿足設計指標的壓縮要求。
5 結論
本文中所設計的彈載數(shù)據(jù)記錄儀實現(xiàn)了多路數(shù)據(jù)的采集和存儲,具有體積小、功耗低、成本低的優(yōu)點,采用低功耗的SoC作為主控器、高速大容量的SD卡作為存儲介質(zhì),很大程度上提高了數(shù)據(jù)記錄儀的性能。實際應用表明,該記錄儀滿足抗高過載、高沖擊、寬溫度范圍的工程需求,具有較高的可靠性和適用性。
參考文獻
[1] 王暉,高先鋒.彈載記錄系統(tǒng)的發(fā)展趨勢[J].遙測遙控,2009,30(4):69-72.
[2] Texas Instruments.TMS320DM368 digital media system-on-chip(DMSoC),Datasheet SPRS668C[Z].2010.
[3] 孫偉,張會新.基于Miron NAND Flash的彈載數(shù)據(jù)記錄器的設計[J].計算機測量與控制,2014,22(8):2595-2596.
[4] 丁雪靜,許永輝.基于MCP2515的CAN總線通信單元設計[J].現(xiàn)代電子技術,2015,38(21):60-63.
[5] 吳文生.基于DM368的高清IP Camera的軟件系統(tǒng)設計與實現(xiàn)[D].武漢:華中科技大學,2011.
中文引用格式: 石永彪,張湧,樓晨風,等. 基于DM368的嵌入式數(shù)據(jù)記錄儀的設計與實現(xiàn)[J].電子技術應用,2018,44(3):77-80.
英文引用格式: Shi Yongbiao,Zhang Yong,Lou Chenfeng,et al. Design and implementation of embedded data recorder based on DM368[J]. Application of Electronic Technique,2018,44(3):77-80.
作者信息:
石永彪1,2,張 湧2,樓晨風1,2,劉 淳1,2,胡麟苗1,2
(1.中國科學院大學,北京100039;2.上海技術物理研究所紅外探測與成像技術重點實驗室,上海200083)