李紅兵
(中國電子科技集團(tuán)公司第十研究所,四川 成都 610036)
現(xiàn)代防撞雷達(dá)的顯示終端是雷達(dá)信息輸出和人機(jī)交互的重要設(shè)備,雷達(dá)系統(tǒng)通常要求顯示終端體積小、處理速度快、功耗低、接口豐富和顯示直觀。目前,國內(nèi)防撞雷達(dá)的顯示終端都是采用X86+PCI顯卡的硬件平臺(tái),該平臺(tái)存在功耗高、顯卡圖像繪制慢、實(shí)時(shí)性差、芯片供貨不穩(wěn)定等問題。因此,高性能、低功耗雷達(dá)顯示終端的開發(fā)設(shè)計(jì)成為一個(gè)迫在眉睫的問題。
i.MX6是恩智浦公司新一代工業(yè)級(jí)多媒體處理器,具有單芯片集成度高、功耗低、圖形處理能力強(qiáng)等特點(diǎn),本文基于i.MX6設(shè)計(jì)并實(shí)現(xiàn)了一種新型雷達(dá)顯示終端,該顯示終端提供多種標(biāo)準(zhǔn)接口,性能穩(wěn)定可靠。三維圖形顯示基于Linux操作系統(tǒng),利用QT和OpenGL ES等相關(guān)工具軟件進(jìn)行開發(fā),解決了原顯示終端功耗高、圖像顯示性能差等關(guān)鍵問題。
以i.MX6處理器為核心搭建雷達(dá)顯示終端的硬件平臺(tái),圖1為其總體原理框圖??紤]到顯示終端的通用性,將相關(guān)芯片集中設(shè)計(jì)在一個(gè)尺寸為84 mm×55 mm的核心板上,接口兼容PCIMG規(guī)范COM.0 Rev 2.1版本,主要由主處理器電路、存儲(chǔ)電路、電源管理電路、通信接口電路和人機(jī)交互電路等部分組成。
主處理電路提供上電時(shí)序控制、復(fù)位、時(shí)鐘產(chǎn)生等功能;存儲(chǔ)電路由NAND Flash、eMMC存儲(chǔ)器和DDR3內(nèi)存等組成,用來存放操作系統(tǒng)、用戶數(shù)據(jù)以及為操作系統(tǒng)穩(wěn)定運(yùn)行提供內(nèi)存;電源管理電路將外部直流輸入電源轉(zhuǎn)換為多種電壓,為顯示終端提供穩(wěn)定的二次供電;通信接口電路完成數(shù)據(jù)的輸入、輸出功能;人機(jī)交互電路通過雷達(dá)綜合顯示器顯示雷達(dá)系統(tǒng)的工作狀態(tài)、三維圖像信息,操作人員通過按鍵操控,完成雷達(dá)控制命令輸入。
i.MX6處理器基于ARM Cortex-A9內(nèi)核,主頻可達(dá)1.2 GHz,支持單核、雙核、四核擴(kuò)展應(yīng)用[1]。本顯示終端選擇i.MX6Q四核處理器為主處理器,芯片集成3D圖形處理引擎GC2000,多邊形填充率達(dá)到200 MT/s,可提供高達(dá)30 GFLOPS的運(yùn)算能力以實(shí)現(xiàn)快速的數(shù)字
圖1 顯示終端硬件設(shè)計(jì)框圖
化圖形處理,為雷達(dá)操作員提供三維高清晰度的圖像顯示;可以同時(shí)提供RGB、LVDS、HDMI等多路顯示接口,以適用于不同雷達(dá)綜合顯示器。
i.MX6Q芯片存儲(chǔ)接口包含本地總線(LBS)控制器、NAND控制器、eMMC控制器和DDR3控制器。
LBS總線通過COMe連接器引出,數(shù)據(jù)寬度16 bit,地址總線10 bit,片選信號(hào)3個(gè),本地總線用于訪問雷達(dá)系統(tǒng)中的低速設(shè)備。
NAND Flash和eMMC存儲(chǔ)器分別用來存放芯片引導(dǎo)程序、操作系統(tǒng)、應(yīng)用程序和圖像數(shù)據(jù),選用Micron公司8 GB容量NAND芯片MTF29F8G08AB,該芯片引腳兼容性好,可原位擴(kuò)展存儲(chǔ)容量。eMMC芯片選用Micron公司32 GB容量的MTFC32GJDDQ,該芯片支持8 bit、4 bit工作模式,數(shù)據(jù)傳輸速率最高可達(dá)832 Mb/s。
i.MX6Q芯片支持64 bit DDR3擴(kuò)展,內(nèi)存容量支持256 MB~8 GB可選。為了提供總線帶寬,選擇Micron公司的16 bit DDR3芯片MT41J256M16RE,通過4片級(jí)聯(lián)的方式擴(kuò)展內(nèi)存數(shù)據(jù)寬度至64 bit,總?cè)萘繛? GB。
電源管理是硬件電路設(shè)計(jì)的關(guān)鍵部分,電源設(shè)計(jì)必須嚴(yán)格按照處理器手冊(cè)上要求的上電時(shí)序和下電時(shí)序,否則可能引起電流過沖,導(dǎo)致芯片無法正常工作。
圖2 電源管理設(shè)計(jì)框圖
顯示終端的電源管理設(shè)計(jì)如圖2所示,雷達(dá)系統(tǒng)提供直流+5 V電壓輸入,首先通過DC/DC芯片LTM4624轉(zhuǎn)換為+3.8 V;再通過電源管理芯片MMPF0100F0將+3.8 V轉(zhuǎn)換為+3.3 V、+3.0 V、+2.8 V、+1.5 V、+1.375 V和USB_5 V等電壓輸出,提供給i.MX6Q、DDR3、NAND Flash、eMMC芯片、網(wǎng)卡和USB接口等外圍電路,其中DDR3芯片所需要的半電壓+0.75 V由+3.3 V經(jīng)過TPS51200轉(zhuǎn)換產(chǎn)生。MMPF0100F0芯片是專門為i.MX6系列處理器設(shè)計(jì)的電源管理芯片,它內(nèi)部集成六路DC/DC和六路LDO,能提供i.MX6Q所需的各種電源輸出以及上下電時(shí)序控制[2]。由于該芯片集成度高,每路輸出的電流大小有限,原理圖設(shè)計(jì)時(shí)需要仔細(xì)計(jì)算各路電源的負(fù)載大小以防止負(fù)載電流不夠引起輸出電壓不穩(wěn)定,PCB設(shè)計(jì)時(shí)要盡量保證使每路電源輸出都相互隔離開來以減少電磁干擾。
通信接口主要包括1 000 Mb/s以太網(wǎng)、PCIe和I2C等接口,由于i.MX6Q集成了相關(guān)的控制器,硬件設(shè)計(jì)不需要額外的外圍電路,PCIe接口和I2C接口直接通過連接器引出,網(wǎng)絡(luò)接口采用Qualcomm公司的AR8031 PHY芯片,構(gòu)成10 Mb/s/1 000 Mb/s/1 000 Mb/s自適應(yīng)以太網(wǎng)。
人機(jī)交互包括鍵盤、鼠標(biāo)信息輸入以及顯示輸出,i. MX6Q芯片集成USB host和USB otg控制器,實(shí)現(xiàn)外接鍵盤、鼠標(biāo)。另外,由于i.MX6Q同時(shí)提供數(shù)字RGB輸出,可以通過AD公司的ADV7125來進(jìn)行D/A轉(zhuǎn)換,產(chǎn)生一路模擬RGB信號(hào),該路模擬RGB信號(hào)經(jīng)AD8148之后輸出差分RGB視頻信號(hào)。這樣,顯示終端可以輸出LVDS、差分RGB和HDMI三種格式的視頻信號(hào),使其可以滿足不同綜合顯示的接口要求,使得顯示終端更具通用性。
雷達(dá)顯示終端軟件總體框圖如3所示,由引導(dǎo)程序、操作系統(tǒng)內(nèi)核、文件系統(tǒng)和應(yīng)用程序等部分組成。
圖3 顯示終端軟件總體框架
引導(dǎo)程序是芯片上電后執(zhí)行的第一段程序代碼,其作用是初始化CPU、內(nèi)存、串口和網(wǎng)絡(luò)等設(shè)備,為引導(dǎo)內(nèi)核建立環(huán)境變量[3]。選用uboot-2009.08為引導(dǎo)程序,恩智浦公司提供的開發(fā)包里面已經(jīng)針對(duì)i.MX6Q芯片作了相關(guān)的移植,只需要根據(jù)本系統(tǒng)硬件的設(shè)計(jì)情況稍做修改,即可在本顯示終端上運(yùn)行輸出。
由于Linux系統(tǒng)具有安全性高、源代碼開放、實(shí)時(shí)性高等優(yōu)點(diǎn),已經(jīng)在軍事和民用電子設(shè)備中得到廣泛地應(yīng)用,本系統(tǒng)選用Linux-3.0.35版本內(nèi)核,移植工作包括裁剪掉內(nèi)核中無關(guān)的驅(qū)動(dòng)模塊、修改內(nèi)核源代碼中網(wǎng)卡芯片的物理地址、配置時(shí)鐘頻率和DDR3的容量等。
利用Busybox工具集構(gòu)建ext4日志文件系統(tǒng),該文件系統(tǒng)內(nèi)存占用量小,掛載時(shí)間快[4],滿足雷達(dá)系統(tǒng)對(duì)顯示終端啟動(dòng)時(shí)間的要求。
顯示終端應(yīng)用程序?qū)崿F(xiàn)目標(biāo)三維地形生產(chǎn)、雷達(dá)參數(shù)顯示和系統(tǒng)控制等功能,考慮到雷達(dá)顯示終端軟件的可靠性、實(shí)用性和可移植性,應(yīng)用程序開發(fā)選用跨平臺(tái)工具QT+OpenGL ES,采用QT圖形工具的面向?qū)ο缶幊谭椒?,把各個(gè)功能的實(shí)現(xiàn)合理地分配到不同的類中,做到顯示軟件模塊清晰,界面整潔、直觀、逼真。
3.4.1程序移植
開發(fā)工具選用QT-4.8.5和OpenGL ES 1.X版本,編譯工具為gcc-4.6.2-glibc-2.13,交叉編譯環(huán)境為Ubuntu 14.04,移植流程如圖4所示。
圖4 程序移植流程圖
首先根據(jù)自己的硬件選取相應(yīng)的QT配置參數(shù),使用以下參數(shù)進(jìn)行配置:-embedded arm、 -opengl es2 -egl-confirm-licensee、qws/linux-arm-g++ ;再使用make install命令編譯安裝QT至usr/local/qte-arm目錄下;然后針對(duì)OpenGL ES編譯QT中的eglfs插件庫并安裝。
QT及OpenGL ES編譯完成以后,需要將QT目錄下的imports、lib、mkspecs、plugins文件夾拷貝到顯控終端目標(biāo)板上的/opt/qt目錄下,并配置QT運(yùn)行的環(huán)境變量,讓目標(biāo)板能找到QT,按如下步驟編輯/etc/profile文件:
export QTDIR=/opt/qt
export PATH=MYMQTDIR/bin:MYMPATH
export LD_LIBRARY_PATH=MYM QTDIR/lib: MYMLD_LIBRARY_PATH
export QWS_DISPLAY=“LinuxFb:/dev/fb0”
最后基于以上步驟編譯出來的QT和OpenGL ES庫文件,重新交叉編譯原防撞雷達(dá)顯示終端的應(yīng)用程序,在目標(biāo)板上成功運(yùn)行。
3.4.2程序優(yōu)化
在實(shí)際應(yīng)用中,雷達(dá)顯示終端接收信號(hào)處理分機(jī)送出的目標(biāo)信息,經(jīng)過相關(guān)算法的優(yōu)化處理,最后將生產(chǎn)的三維地形數(shù)據(jù)送到綜顯進(jìn)行顯示。
顯示終端使用了地形分塊加速算法以提高三維圖形的繪制速度,使用了快速地形著色方法以突出表現(xiàn)地形的高度層次、立體感和真實(shí)感,還采用了場景漫游算法使得地形數(shù)據(jù)更新、場景交替畫面流暢自然[5]。利用雷達(dá)目標(biāo)信息生產(chǎn)的三維地形渲染效果圖如圖5所示。
圖5 雷達(dá)三維地形渲染效果圖
將本顯示終端和原防撞雷達(dá)使用的X86顯示平臺(tái)進(jìn)行性能對(duì)比測試,X86平臺(tái)的硬件配置如下:CPU為Intel Core Duo處理器U2500,頻率為1.2 GHz,內(nèi)存為1 GB DDR2,顯卡為Intel 945 GM獨(dú)立顯卡,顯存容量為128 MB。對(duì)于圖5所示的三維地形效果圖,在頂點(diǎn)個(gè)數(shù)固定為300×400的條件下,三維地形繪制時(shí)間和三維地形的預(yù)測刷新速度對(duì)比如表1所示??梢?,使用本顯示終端實(shí)現(xiàn)三維地形顯示,性能明顯好于原X86平臺(tái),而且在繪制圖形的同時(shí),CPU還會(huì)有大量的處理余量,以完成雷達(dá)的控制等功能。
表1 性能對(duì)比
隨著高性能處理器技術(shù)的飛速發(fā)展,基于ARM +Linux實(shí)時(shí)操作系統(tǒng)的雷達(dá)顯示處理平臺(tái)將成為雷達(dá)系統(tǒng)設(shè)計(jì)的發(fā)展趨勢(shì)。本文以i.MX6處理器為核心設(shè)計(jì)并實(shí)現(xiàn)了一款集通信、顯示、控制等多種功能于一體的新型雷達(dá)顯示終端,此顯示終端集成度高,接口豐富且標(biāo)準(zhǔn),功能強(qiáng)。三維地形顯示軟件基于Linux操作系統(tǒng),利用QT和OpenGL ES實(shí)現(xiàn)后,運(yùn)行速率快,穩(wěn)定性好,顯示畫面美觀、逼真。經(jīng)過測試,此顯示終端已經(jīng)成功應(yīng)用于某型雷達(dá)設(shè)備中,取得了良好的經(jīng)濟(jì)、社會(huì)效益。
[1] NXP Semiconductors.i.MX 6Dual/6Quad applications processors for industrial products[Z].2015.
[2] NXP Semiconductors.14 channel configurable power management intergrated circuit[Z].2016.
[3] 韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2009.
[4] 喬旭興.基于I.MX6的數(shù)字化儀表設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2015,23(11):3899-3903.
[5] 靳碧鵬.毫米波防撞雷達(dá)三維顯示界面的設(shè)計(jì)與實(shí)現(xiàn)[J].電訊技術(shù),2011,51(6):88-90.