楊耀森,李 博*,孟 浩,馮小琴
(1.中北大學儀器科學與動態(tài)測試教育部重點實驗室,太原 030051;2.北方自動控制技術研究所,太原 030006)
飛行試驗是航空產(chǎn)品開發(fā)過程中的一個重要步驟,隨著計算機技術的飛速發(fā)展,飛行試驗中的測試設備和測驗參數(shù)越來越多。美國的飛行試驗技術和設備在全球處于領先地位,規(guī)模最大,在航空航天局空軍部均設有飛行試驗研究基地。美國空軍試飛中心近年投入使用的飛行試驗測試系統(tǒng)共有18 套機載系統(tǒng)和5 套地面系統(tǒng),具有高速處理數(shù)據(jù)的能力;還配有綜合飛行數(shù)據(jù)處理系統(tǒng)(IFDAPS),擁有超高清圖像的實時處理分析能力,支持洲際飛行作業(yè)[1]。
我國也早在20 世紀50 年代就開始建設飛機飛行試驗研究中心,并具有一定水平和規(guī)模。嫦娥一號衛(wèi)星的記錄器的數(shù)據(jù)存儲容量高達48 Gbits,還具有數(shù)據(jù)動態(tài)分區(qū)存儲、圖像數(shù)據(jù)壓縮及存儲區(qū)自檢等功能;中北大學在遙測記錄器和測試裝置的研究上處于國內較為領先的地位,采取高性能FPGA 架構,實現(xiàn)模數(shù)一體的線性存儲技術;北京航天斯達技術設備公司研制的數(shù)據(jù)采集記錄器各通道相互獨立,不會因為某一通道的故障影響其他通道,體積小,可靠性高[2]。
但是,隨著圖像信息量的急劇上升以及外圍器件的增多,使用FPGA 實現(xiàn)復雜的圖像算法以及精準的設備控制能力顯然不太可能,而老式NAND 的512 B 小頁、2 kB 大頁也限制了容量的提升,嚴重影響了飛行器的采集時間。所以本文將基于多核架構VPM6467 平臺設計,在重點突破H.264 裸機難關的同時,優(yōu)化硬件接口,匹配8 k 頁容量,更新存儲管理模式,旨在設計出一種大容量、高速率的遙測記錄器,賦予飛行器超遠距離采集能力。
多核架構領域的發(fā)展主要以SOC(System on Chip,片上系統(tǒng))為主,其中ARM 提供控制處理能力,DSP 提供計算能力,F(xiàn)PGA 提供并行處理能力[3],因此,遙測記錄器要適應多樣化的采集條件,向多核架構轉變實屬必要。多核架構的開發(fā)模式多以linux 為主,其開發(fā)工作主要集中在平臺移植,然而實際遙測環(huán)境中存在沖擊、震動等惡劣因素,故而選用最合適也最為安全的裸機開發(fā)方法,但是裸機開發(fā)模式下實現(xiàn)H.264 圖像壓縮算法又將帶來新的難題[4],如圖1 所示,故本文的重點工作就是解決這些難題并對平臺進行優(yōu)化。
圖1 待解決問題
多核SOC 最難避免也是最直接的一個問題就是接口問題,包括DSP 與ARM 的通信問題、FPGA與DSP 的接口選擇問題等等,前者的最佳解決方案是利用達芬奇架構,采用融合DSP 與ARM 核的DSP 芯片來實現(xiàn)。后者經(jīng)過多年的發(fā)展,解決方案根據(jù)不同的情形有多種的選擇,如圖2 所示。
圖2 DSP-FPGA 接口
由于本系統(tǒng)需要FPGA 實時傳遞解析后的圖像數(shù)據(jù),數(shù)據(jù)量較大,所以接口選擇EMIF(External Memory Interface),并采用異步傳輸模式。FPGA 端編寫一個雙口RAM 作為DSP 的外部SRAM,流程如圖3 所示。
圖3 接口操作流程
本記錄器設計階段有3 種存儲參考:一為插拔式SD 卡存儲,二為eMMC 存儲陣列,三為NAND FLASH 集成芯片[5],如圖4 所示。考慮到實際作業(yè)環(huán)境,震動沖擊等因素不允許SD 卡這種不固定結構,而eMMC 體積較大,高容量的芯片成本又太高,所以本文最終采用型號為MT29F128G 的工業(yè)級NAND FLASH,而這種大容量芯片帶來的難題就是需要設計專用的存儲管理方法。
圖4 存儲選型
在傳統(tǒng)的壞塊管理方案中,塊屬性信息僅在每塊的空余區(qū)和存儲控制CPU 的緩存中記錄,當NAND FLASH 達到最大使用壽命而出現(xiàn)壞塊時,繼續(xù)對壞塊操作無法保證數(shù)據(jù)的準確性與安全性。CPU 緩沖中數(shù)據(jù)掉電丟失,再次上電還需掃描空余區(qū)重建塊屬性信息。因此,用空余區(qū)標記的方式對使用壞塊進行標記可能出現(xiàn)標記失敗,無法正確識別壞塊。所以本文采用一種應用于星載存儲器的獨立存儲壞塊信息的方式[6],在NAND 中構建一塊壞塊信息管理專屬區(qū),主要解決信息存儲失敗或故障掉電引起的壞塊信息更新不完全問題。
圖5 NAND 管理流程圖
遙測采集作業(yè)中,除了對硬件系統(tǒng)要求必須達到工業(yè)級別外,對軟件的設計也有一定的限制:遙測記錄器無法與地面基站實時通信,采集過程中不允許發(fā)生類似windows 系統(tǒng)的未響應錯誤,所以軟件編程必須嚴謹有效,采用循環(huán)加中斷的裸機開發(fā)。而相對地面上傳則沒有太多要求,可以搭建linux 系統(tǒng)來進行傳輸,因為其不僅能提供完善的網(wǎng)絡層傳輸協(xié)議,而且附帶的測試工具以及調試模式都會加快系統(tǒng)的開發(fā)周期[7]。
圖6 軟件分區(qū)圖
裸機模式下的H264 編碼存儲是本系統(tǒng)的關鍵工作,本文軟件編寫在windows 系統(tǒng)下的CCS3.3 中完成,通過XDS560PLUS 仿真器實時調試,編程端分為C6400PLUS_0 子端編程和ARM926_0 子端編程[8]。ARM 與DSP 共享4G 內存空間(有部分內存屬于各自獨有),雙核通信通過達芬奇特有的中斷結構進行:首先把數(shù)據(jù)放在兩方能夠訪問的內存上,然后給對方一個中斷,對方在中斷中接收傳遞過來的數(shù)據(jù),傳遞過程等待用函數(shù)wait_XXX_sync()實現(xiàn)。
本文重點實現(xiàn)H264 算法裸機編程,所以對ARM 啟動流程不作詳細解釋,其啟動流程需要注意的有:1)上電啟動模式不能選擇NAND FLASH,因為要存儲機載采集數(shù)據(jù),所以本文選擇NOR FLASH這種讀取數(shù)據(jù)快的XIP 存儲芯片[9]。2)啟動分為兩個階段:第1 階段用匯編編寫,完成簡單的系統(tǒng)初始化并引導第2 階段啟動;第2 階段用C 語言編寫,入口函數(shù)為C_int0(),初始化后進入main 函數(shù),因此,需要根據(jù)具體內存空間構造映射表。3)ARM核啟動后,DSP 核處于睡眠狀態(tài),需要設置PSC 啟動,DSP 啟動后開始進行main 中大循環(huán)。
H264 裸機編碼需要在DSP 啟動后先進行必要的初始化[10]:EnableEmifAcaching()使能EMIFA 接口;InitDavinciCache()初始化達芬奇架構數(shù)據(jù)通道;Setup up RMAN()建立通用資源管理器;edma_request()建立DMA 通道。在初始化完畢之后通知ARM 端,當ARM 處理好一幀數(shù)據(jù),通過Codec Engine 將待編碼幀的圖像參數(shù)傳入,ARM 進入等待狀態(tài),DSP 端開始編碼,編碼框架移植X264 開源庫,如圖7 所示。
圖7 X264 編碼框架
對多核架構產(chǎn)生的問題提出有效的解決方案,并搭建硬件框圖如圖8 所示。電路供電分為機上供電與地面供電,有效的隔離可以避免電源問題的干擾,本系統(tǒng)采用繼電器隔斷;接口模塊負責LVTTL的電平轉換,保證數(shù)據(jù)的準確性;FPGA 負責幀數(shù)據(jù)的接收,進行壓縮前文件的預處理;VSC8641 是一款自適應PHY 網(wǎng)卡芯片,MAC 層集成在DSP 內部,本系統(tǒng)基于千兆傳輸模式,需要手動調節(jié)計算機端為千兆狀態(tài)。
圖8 硬件框圖
對DSP 的EMIFA 接口使用EDMA 方式傳輸數(shù)據(jù):DSP 寫,即FPGA 讀,在FPGA 中檢測AWE 下降沿且CE 為低時,讀數(shù)據(jù)總線即可;DSP 讀,即FPGA寫,在FPGA 中當AOE 和CE 均為低時,寫數(shù)據(jù)總線即可。用示波器通道1 選CS3,通道2 為輸出使能信號,得出圖9 測試圖,由圖可知一個周期為57.6 ns。
由圖9 可知,傳輸8 kB 的數(shù)據(jù)耗時235 us,速率為8 Kbytes/235 us=34 Mb/s,實驗成功。
圖9 DSP-FPGA 傳輸波形
圖10 傳輸8 kB 數(shù)據(jù)
對系統(tǒng)進行對比實驗測試:舊式記錄器實驗數(shù)據(jù)由飛行試驗中心提供,采集時間為135 min,圖像數(shù)據(jù)量為4 063.3 MB,傳輸?shù)缴衔粰C耗時8 min。如圖11 所示。
圖11 上位機傳輸
對本系統(tǒng)進行采集測試,采集數(shù)據(jù)傳輸至上位機,配置對比見表1,對比數(shù)據(jù)見表2。
本文設計了一種可以實時壓縮PCM 圖像數(shù)據(jù)的遙測記錄器,先從該系統(tǒng)架構帶來的問題入手,接著從軟件編寫以及硬件結構介紹了設計過程,并提出一種裸機與系統(tǒng)共存的高效操作方式,最后進行了接口與系統(tǒng)的整體測試,數(shù)據(jù)表明:該系統(tǒng)屬于高速數(shù)據(jù)傳輸系統(tǒng),DSP 與FPGA 的接口傳輸速度高達34 Mb/s,已經(jīng)超越當前千兆網(wǎng)的實際傳輸速率;采用H264 壓縮圖像高效可行,壓縮比高達88倍,即在因存儲空間限制的1 d 飛行試驗現(xiàn)在可以延長到3 個月。
表1 新舊記錄器配置對比表
表2 遙測記錄器對比數(shù)據(jù)表