李紅兵
(中國電子科技集團公司第十研究所,四川 成都 610036)
顯控終端是二次雷達信息輸出和人機交互的重要設(shè)備,主要完成雷達系統(tǒng)的參數(shù)設(shè)置、圖表和航跡顯示、工作狀態(tài)檢測、參數(shù)查詢等功能[1]。近年來,隨著大規(guī)模集成電路的發(fā)展以及電子系統(tǒng)綜合化思想在雷達整機技術(shù)中的廣泛應(yīng)用,二次雷達系統(tǒng)對顯控終端的性能要求也越來越高。
在某型二次雷達顯控終端的工程研制中,本文基于模塊化設(shè)計實現(xiàn)了一種通用顯控終端,接口豐富、標(biāo)準(zhǔn),工作穩(wěn)定、性能可靠,圖形顯示基于Linux操作系統(tǒng),利用Qt和MySQL等相關(guān)軟件進行開發(fā)。該型顯控終端還可以擴展到后續(xù)任務(wù),隨雷達整機應(yīng)用于不同艦船平臺上,具有廣闊的應(yīng)用前景。
考慮顯控終端的通用性和可擴展性,以CPU子卡為核心搭建二次雷達顯控終端的硬件平臺,圖1為其原理框圖,電路設(shè)計采用6U VPX的標(biāo)準(zhǔn),對外接口兼容VITA46規(guī)范,主要由CPU子卡和顯控載板構(gòu)成,二者通過高速COMe連接器互聯(lián)。顯控載板提供電源管理電路、健康管理電路、通信接口電路和人機交互電路等功能。
圖1 顯控終端硬件設(shè)計框圖
CPU子卡為板載X86架構(gòu)的CPU、DDR3內(nèi)存、千兆以太網(wǎng)卡、USB控制器等,外圍電路只需擴展電子硬盤,提供直流供電,就具備獨立工作的能力;電源管理將外部直流輸入電源轉(zhuǎn)換為多種電壓,為顯控終端提供穩(wěn)定的二次供電;健康管理電路收集模塊的溫度、電壓等信息,監(jiān)控硬件電路的工作狀態(tài);通信接口電路完成數(shù)據(jù)的輸入、輸出功能;人機交互電路通過LVDS顯示接口輸出雷達系統(tǒng)的工作狀態(tài)、航跡和ADS-B信息,雷達操作人員通過USB鍵盤按鍵操控,完成雷達控制命令輸入。
CPU子卡選用德國控創(chuàng)公司的COMe模塊COMe-mBT10,該模塊基于COMe Express標(biāo)準(zhǔn),接口兼容PCIMG規(guī)范COM.0 Rev 2.1版本,尺寸為85 mm×54 mm;CPU為Intel的Z3845四核超線程低功耗處理器,運行頻率最高達1.91 GHz,內(nèi)部集成高性能GPU,具有較強的二維、三維圖形繪制能力;子卡板載4 GB容量DDR3內(nèi)存;對外提供1路4×的PCIe、7路USB、2路SATA和千兆以太網(wǎng)等高速接口,具有卓越的連接性,同時集成LVDS顯示接口;操作系統(tǒng)支持Windows、Linux和VxWorks。
電源管理是決定硬件平臺是否穩(wěn)定的重要因素之一,電源設(shè)計必須嚴(yán)格按照處理器手冊上要求的上電時序和下電時序,否則可能引起電流過沖,導(dǎo)致芯片無法正常工作。
顯控終端的電源管理由兩部分組成,設(shè)計如圖2所示。第一部分是輸入濾波和短路保護電路,雷達系統(tǒng)通過VPX連接器提供直流+12 V和+5 V電壓輸入,為了提高模塊的電磁兼容性,在每路電源輸入端口處增加三端濾波器進行電源濾波,然后經(jīng)過保險絲以防止模塊內(nèi)部電源輸入端出現(xiàn)短路保護時拖垮系統(tǒng)電源。為了保證電源短路時保險絲迅速做出反應(yīng)而又不發(fā)生誤保護情況,選擇的保險絲額定電流為模塊電源穩(wěn)態(tài)電流的3~4倍。第二部分是電壓二次轉(zhuǎn)換電路,+12 V電壓經(jīng)濾波保護后提供給CPU子卡,+5 V電壓再經(jīng)過DC/DC、LDO二次轉(zhuǎn)換后產(chǎn)生+1.0 V、+1.5 V、+2.5 V和+3.3 V電壓,提供給Tsi721芯片和外圍電路、電子硬盤、USB鼠標(biāo)鍵盤使用濾波、短波保護之后的+5 V電壓。
圖2 電源管理設(shè)計框圖
CPU子卡只具有PCIe接口而不兼容RapidIO,顯控終端使用PCIe to RapidIO橋芯片Tsi721完成PCIe與RapidIO總線間之間的協(xié)議轉(zhuǎn)換,Tsi721能夠?qū)?shù)據(jù)傳輸從RapidIO總線轉(zhuǎn)換到PCIe總線,或相反,并保證數(shù)據(jù)傳輸?shù)牧鲿承?、高效性和可靠性[2]。對于CPU,Tsi721只是一個普通的PCIe設(shè)備,對于RapidIO網(wǎng)絡(luò)來說,Tsi721也只是一個擁有一個ID號的RapidIO設(shè)備節(jié)點。顯控終端的RapidIO總線采用1×4的物理連接,速率2.5 GHz,提供8 Gbps的有效傳輸帶寬。Tsi721需要100 MHz的差分時鐘輸入,因此在外部接入100 MHz的晶振。需要注意的是,PCIe與RapidIO總線速率較高,信號發(fā)送端和接收端分別需要端接一個100 nF的電容,隔離直流分量進行AC耦合,PCB布線時需要等長以及隔離處理,保證其信號完整性。
RS422、RS232和CAN接口用于低速設(shè)備的通信控制,芯片CP2105完成USB協(xié)議轉(zhuǎn)換,然后選用深圳國微的SM3490和SM3030驅(qū)動器擴展RS422及RS232接口。MCU芯片C8051F00自帶有CAN控制接口,選用TI公司的SN65HVD230Q作為收發(fā)器。
CPU子卡集成了千兆網(wǎng)卡,顯控載板使用隔離變壓器HX5008NL進行信號轉(zhuǎn)換,就構(gòu)成了10 M/100 M/1 000 M自適應(yīng)以太網(wǎng)。
人機交互包括鍵盤、鼠標(biāo)信息輸入以及顯示輸出,CPU子卡集成了USB host和USB otg控制器,顯控載板將USB信號直接經(jīng)VPX連接器引出,實現(xiàn)外接鍵盤、鼠標(biāo)。
顯控終端輸出LVDS/24Bit視頻信號,分辨率最高可達1 366×768,相對原VGA標(biāo)準(zhǔn),由于采用差分信號傳輸,具有更好的抗干擾性能,傳輸線纜長度對信號影響較小,可以實現(xiàn)遠距離的圖像數(shù)據(jù)傳輸。
顯控終端軟件總體框圖如3所示,由操作系統(tǒng)、驅(qū)動程序、軟件開發(fā)工具和應(yīng)用軟件等部分組成。
圖3 顯控終端軟件總體框架
由于Linux系統(tǒng)具有安全性高、開放源代碼、實時性高等優(yōu)點,已經(jīng)在軍事和民用電子設(shè)備中得到廣泛應(yīng)用,顯控終端選用基于Linux內(nèi)核的Centos 7桌面操作系統(tǒng),在此平臺下開發(fā)驅(qū)動及應(yīng)用軟件。
Linux內(nèi)核已集成了以太網(wǎng)、串口、CAN總線等接口的驅(qū)動程序,本文把Tsi721橋芯片驅(qū)動設(shè)計為字符驅(qū)動,借助Linux字符設(shè)備的驅(qū)動模型將RapidIO端口虛擬為一個字符設(shè)備,驅(qū)動程序中實現(xiàn)open、close、read、write和ioctl等標(biāo)準(zhǔn)系統(tǒng)調(diào)用函數(shù),應(yīng)用軟件通過字符設(shè)備文件(比如/dev/xyz)來訪問對應(yīng)的硬件設(shè)備[3]。Tsi721橋芯片驅(qū)動實現(xiàn)流程如圖4所示。
圖4 Tsi721橋芯片驅(qū)動實現(xiàn)流程
驅(qū)動加載的步驟主要如圖4所示,tsi721_probe函數(shù)先根據(jù)Tsi721芯片的設(shè)備標(biāo)識Device ID和供應(yīng)商標(biāo)識Vendor ID遍歷內(nèi)核中PCIE設(shè)備鏈表,一一進行匹配;匹配之后從pci_device結(jié)構(gòu)中獲取內(nèi)核,分配給Tsi721芯片設(shè)備的資源;然后調(diào)用函數(shù)pci_enable_device,把Tsi721配置空間的Command域的bit 0和bit 1置成1,從而達到開啟該PCIE設(shè)備的目的;再調(diào)用函數(shù)pci_request_regions,通知內(nèi)核該設(shè)備對應(yīng)的IO端口和內(nèi)存資源已經(jīng)使用,其它的PCIE設(shè)備不能再使用這個區(qū)域;調(diào)用pci_ioremap_bar,把剛剛申請到的物理內(nèi)存映射成為虛擬內(nèi)存以供驅(qū)動訪問;再根據(jù)分配的中斷號調(diào)用函數(shù)reques_irq,掛載中斷服務(wù)程序;最后調(diào)用函數(shù)pci_alloc_consistent,申請DMA緩存。
內(nèi)核集成的RapidIO子系統(tǒng)框架實現(xiàn)協(xié)議的封裝、枚舉等工作,將Tsi721虛擬為RapidIO網(wǎng)絡(luò)中的一個節(jié)點。Tsi721字符設(shè)備的初始化步驟如圖4所示,先調(diào)用cdev_init函數(shù),初始化一個字符設(shè)備tsi721_cdev,并注冊其操作函數(shù)結(jié)構(gòu)體tsi721_file_operations;然后調(diào)用alloc_chrdev_region,為該字符設(shè)備動態(tài)分配“主設(shè)備號”和“次設(shè)備號”;再調(diào)用cdev_add函數(shù),向內(nèi)核中增加該字符設(shè)備tsi721_cdev,驅(qū)動最后調(diào)用class_create()函數(shù)和device_create()函數(shù),在sysfs中注冊該字符設(shè)備自己的class以及在/dev目錄下創(chuàng)建一個tsi721的設(shè)備文件[4];當(dāng)系統(tǒng)啟動時,udev能自動產(chǎn)生相應(yīng)的設(shè)備節(jié)點/dev/tsi721_rio。
考慮到二次雷達顯控終端應(yīng)用軟件的穩(wěn)定性、可靠性、可移植性和實用性,開發(fā)環(huán)境IDE選用跨平臺的Qt creator,應(yīng)用軟件開發(fā)選擇Qt,數(shù)據(jù)庫軟件選擇MySQL,采用Qt圖形工具的面向?qū)ο缶幊谭椒?,把各個功能的實現(xiàn)合理地分配到不同的類中[5],做到顯控軟件模塊清晰,人機界面整潔、直觀、逼真。軟件工具移植流程如圖5所示。
圖5 軟件工具移植流程圖
先使用默認(rèn)參數(shù)安裝Qt creator,再根據(jù)自己的硬件特性選取相應(yīng)的Qt配置參數(shù),配置并安裝Qt至/usr/local/目錄下;然后安裝數(shù)據(jù)庫軟件MySQL,最后針對MySQL編譯QT中的插件庫。
在實際應(yīng)用中,二次雷達顯控終端通過RapidIO總線接收信號處理機輸出的目標(biāo)信息并顯示,供雷達操作員觀察;接收雷達操作員的控制輸入,并且傳送控制命令,實現(xiàn)操作員對雷達工作模式的切換和對雷達工作狀態(tài)的監(jiān)控[6]。顯控終端軟件利用Qt和MySQL實現(xiàn)后,運行速度快,穩(wěn)定性高,顯示畫面美觀、逼真,操作便捷。終端主界面畫面如圖6所示。
圖6 顯示終端主界面圖
在二次雷達航跡顯示的過程中,信號處理機和顯示終端之間需要進行大數(shù)據(jù)的交互。數(shù)據(jù)傳輸吞吐的時間損耗是一個關(guān)鍵指標(biāo)。因此,使用RapidIO高速接口著重對顯控終端大數(shù)據(jù)搬移時間進行了測試。測試結(jié)果如表1所示。
通過測試發(fā)現(xiàn),負(fù)載數(shù)據(jù)低于512 kbyte時,數(shù)據(jù)包越小則傳輸?shù)乃俾试铰鴶?shù)據(jù)包大小增大到一定階段時,則傳輸?shù)乃俾首兓淮?。因此,在實際軟件設(shè)計過程中,應(yīng)盡量減少小塊數(shù)據(jù)的傳輸,提供雷達系統(tǒng)數(shù)據(jù)實時處理能力。
表1 性能對比
當(dāng)顯控終端的四核CPU滿負(fù)載運行時,平均功耗約為12 W,通過冷板被動傳導(dǎo)散熱方式,即可正常工作。
本文以模塊化思想設(shè)計并實現(xiàn)了一款集成顯示、控制等多種功能于一身的新型二次雷達顯控終端,具有高性能、低功耗、可擴展性等優(yōu)點。軟件設(shè)計不僅充分滿足了二次雷達顯控終端的功能性,并充分考慮了雷達顯控終端的人性化設(shè)計,具有友好、美觀的人機界面。經(jīng)過測試,此顯控終端已經(jīng)成功應(yīng)用于某型雷達設(shè)備中,取得了良好的經(jīng)濟、社會效益。