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