李聲飛
(中國電子科技集團(tuán)公司第十研究所, 成都 610000)
綜合傳感器系統(tǒng)是飛機(jī)航電系統(tǒng)的重要組成部分,采用綜合一體化的設(shè)計(jì)思想,對(duì)通信、導(dǎo)航、識(shí)別、雷達(dá)等功能進(jìn)行一體化設(shè)計(jì),完成特定的作戰(zhàn)任務(wù)是保障飛機(jī)安全、遂行作戰(zhàn)任務(wù)的重要組成部分。信號(hào)處理平臺(tái)是綜合傳感器系統(tǒng)的數(shù)據(jù)處理中心,承擔(dān)了大量傳感器數(shù)據(jù)的實(shí)時(shí)處理和傳輸,平臺(tái)的技術(shù)水平對(duì)飛機(jī)作戰(zhàn)效能至關(guān)重要。傳統(tǒng)的信號(hào)處理平臺(tái)采用多個(gè)FPGA+DSP的設(shè)計(jì)架構(gòu),每個(gè)通道上獨(dú)立運(yùn)行不同的功能,功能跨通道重構(gòu)流程復(fù)雜,無法滿足系統(tǒng)對(duì)多功能動(dòng)態(tài)、實(shí)時(shí)不間斷的重構(gòu)需求,且在體積、重量和功耗方面比較大,不能滿足綜合傳感器系統(tǒng)高度綜合、任務(wù)可靠性、實(shí)時(shí)性的要求。
針對(duì)綜合傳感器系統(tǒng)高度綜合化,功能重構(gòu)不可間斷的需求,提出了一種基于FPGA動(dòng)態(tài)可重構(gòu)技術(shù)的信號(hào)處理平臺(tái),利用FPGA局部可重配置特點(diǎn),對(duì)有限的片內(nèi)資源進(jìn)行時(shí)分復(fù)用,功能波形在可重構(gòu)區(qū)域中進(jìn)行動(dòng)態(tài)局部重配置,實(shí)現(xiàn)了多個(gè)功能波形在同一片F(xiàn)PGA芯片上分時(shí)重構(gòu),某個(gè)功能重構(gòu)時(shí)不影響系統(tǒng)其他功能的使用,提高了綜合傳感器系統(tǒng)任務(wù)的可靠性和魯棒性,同時(shí)降低了系統(tǒng)的功耗和體積,滿足現(xiàn)代殲擊機(jī)作戰(zhàn)快速響應(yīng)的需求。
通用信號(hào)處理平臺(tái)架構(gòu)由3個(gè)獨(dú)立的信號(hào)處理通道組成,如圖1所示。每個(gè)信號(hào)處理通道包括:射頻預(yù)處理單元、ADC采樣單元、FPGA功能單元和DSP算法處理單元組成。射頻信號(hào)(頻率范圍30 MHz~3 GHz)從天線端輸入后,進(jìn)過饋線傳輸進(jìn)入射頻預(yù)處理通道,通道內(nèi)采用巴倫電路對(duì)射頻信號(hào)進(jìn)行預(yù)處理、放大和濾波,提取有用模擬信號(hào)送入ADC采樣單元;ADC采集單元將該模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并通過JESD204B總線傳輸給FPGA功能單元,利用JESD204B總線延遲固定、相位一致性的特點(diǎn),保證了三路AD信號(hào)到后端FPGA功能單元的相位一致和數(shù)據(jù)同步。
圖1 通用信號(hào)處理平臺(tái)架構(gòu)框圖Fig.1 Architecture of general signal processing platform
數(shù)據(jù)處理部分主要包含F(xiàn)PGA功能單元和DSP算法處理單元。FPGA功能單元由3個(gè)動(dòng)態(tài)區(qū)和1個(gè)靜態(tài)區(qū)組成,主要實(shí)現(xiàn)AD數(shù)據(jù)解碼、高速數(shù)據(jù)交換、外部射頻組件控制,同時(shí)也負(fù)責(zé)功能波形的重構(gòu)和加載。DSP算法處理單元實(shí)現(xiàn)功能波形的調(diào)制、解調(diào)、功能算法的實(shí)現(xiàn)等。
為了提高AD采樣精度,信號(hào)處理平臺(tái)采用時(shí)分交替AD構(gòu)建,對(duì)多通道AD采樣后數(shù)據(jù)進(jìn)行誤差校準(zhǔn),利用多片低速、高精度的ADC并行處理模擬輸入信號(hào),采用最小均方算法,在保證采樣精度的前提下,不降低系統(tǒng)級(jí)采樣速率,并行結(jié)構(gòu)不需要增加單片設(shè)計(jì)的難度,就可以達(dá)到高速、高精度的系統(tǒng)采樣,算法實(shí)現(xiàn)流程如圖2所示。
圖2 LMS算法流程框圖Fig.2 LMS algorithm flow chart
LMS算法實(shí)現(xiàn)分為3個(gè)步驟,具體方法如下:
(1)
式(1)中:為當(dāng)前時(shí)鐘誤差;為算法迭代次數(shù)。
第2步,計(jì)算目標(biāo)函數(shù)的梯度。根據(jù)式(2)計(jì)算出目標(biāo)函數(shù)。
(2)
(3)
第3步,計(jì)算時(shí)鐘誤差。依據(jù)式(4)計(jì)算時(shí)鐘誤差。
(4)
重構(gòu)濾波器H的頻率響應(yīng)為:
()=ej
(5)
式(5)中:為角頻率;為時(shí)鐘誤差;為采樣周期(1/100 M)。
通用信號(hào)處理平臺(tái)硬件架構(gòu)如圖3所示,射頻信號(hào)經(jīng)過巴倫電路處理后,進(jìn)入ADC采樣電路進(jìn)行AD轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)字信號(hào)經(jīng)過JESD204B總線傳輸給FPGA最小系統(tǒng)。FPGA最小系統(tǒng)外掛4 Gbit的DDR3存儲(chǔ)器、1 Gbit的BPI FLASH單元,實(shí)現(xiàn)FPGA程序加載和數(shù)據(jù)存儲(chǔ)。FPGA最小系統(tǒng)通過EMIF總線與DSP最小系統(tǒng)進(jìn)行數(shù)據(jù)交互,DSP最小系統(tǒng)外掛DDR3存儲(chǔ)器和NOR FLASH存儲(chǔ)器,實(shí)現(xiàn)功能算法的處理和數(shù)據(jù)緩存。管理單元電路實(shí)現(xiàn)板卡健康狀態(tài)管理、電壓監(jiān)測(cè)、溫度監(jiān)測(cè),功耗管理單元實(shí)現(xiàn)低功耗模式的控制,存儲(chǔ)器管理電路實(shí)現(xiàn)板卡存儲(chǔ)器資源的控制和分配管理,管理單元電路通過SPI總線與DSP最小系統(tǒng)進(jìn)行數(shù)據(jù)交互。電源管理電路實(shí)現(xiàn)1級(jí)電源(電壓為+12 VDC)到2級(jí)電源(電壓為+5 V/3.3 V/2.5 V/1.8 V/1.0 V/0.75 VDC)的轉(zhuǎn)換,控制各2級(jí)電源的上電順序,時(shí)鐘分/倍頻電路實(shí)現(xiàn)輸入時(shí)鐘的分頻、倍頻,將輸入的100 MHz時(shí)鐘分/倍頻至系統(tǒng)需要的頻率。
圖3 通用信號(hào)處理平臺(tái)硬件架構(gòu)框圖Fig.3 Hardware architecture of general signal processing platform
由于AD輸入頻率范圍要求寬(30 MHz~3 GHz),在硬件上設(shè)計(jì)了超低插損的巴倫電路,對(duì)輸入單端射頻信號(hào)進(jìn)行預(yù)處理、匹配和濾波,選用Mini-Circuits公司的TC1-33-75G2+寬帶巴倫芯片,頻率范圍從5 MHz到3 000 MHz滿足設(shè)計(jì)要求。
經(jīng)巴倫電路處理后的射頻信號(hào),送入ADC采樣電路進(jìn)行AD轉(zhuǎn)換。ADC芯片采用TI公司的ADS54J60 進(jìn)行設(shè)計(jì)。ADS54J60 是一款雙通道、16位、1Gsps模數(shù)轉(zhuǎn)換器,該器件內(nèi)置緩存器和采樣保存電路,是一款低功耗,小尺寸和易設(shè)計(jì)高速ADC。ADS54J60 采樣數(shù)據(jù)通過JESD204B總線接口輸出,JESD204B高速串行總線輸出參數(shù)與接收通道的速率相匹配,并且通過SYSREF和SYNCB輸入管理控制,提供多AD器件的同步設(shè)計(jì)。ADS54J60的采樣時(shí)鐘及同步采樣時(shí)鐘由JESD204B專用時(shí)鐘芯片提供,本設(shè)計(jì)選用TI公司提供的HMC7044,該芯片為JESD204B總線提供專用時(shí)鐘。
數(shù)據(jù)處理部分由FPGA最小系統(tǒng)和DSP最小系統(tǒng)組成,其中FPGA選擇xilinx公司 Kintex UltraScale系列的XCKU085-2FLVA1517芯片,F(xiàn)PGA通過JESD204B總線接口接收ADC采樣數(shù)據(jù),并通過EMIF總線與DSP進(jìn)行數(shù)據(jù)交互。DSP最小系統(tǒng)主要實(shí)現(xiàn)與FPGA通信、功能算法處理、數(shù)據(jù)緩存等功能,DSP采用TI公司的TMS320C6455BCTZA芯片,主頻1 GHz、16 bit定點(diǎn)運(yùn)算模式;管理單元電路選用復(fù)旦微公司的JFM7K325T8-AS芯片,通過SPI接口與DSP進(jìn)行通信,完成板卡的健康狀態(tài)管理、多版本程序切換控制等功能。
信號(hào)處理平臺(tái)軟件架構(gòu)如圖4所示。DSP采用多核AMP模式運(yùn)行多個(gè)功能波形版本,每個(gè)功能版本由底層驅(qū)動(dòng)板級(jí)支持包(包括Bootloader、加載管理程序)、DSP/BIOS實(shí)時(shí)操作系統(tǒng)、功能軟件應(yīng)用程序和接口控制應(yīng)用程序組成。其中底層驅(qū)動(dòng)板級(jí)支持包完成硬件平臺(tái)初始化,注冊(cè)底層硬件通信接口,在系統(tǒng)上電后底層驅(qū)動(dòng)程序首先運(yùn)行,并駐留在DSP片內(nèi)ROM中,引導(dǎo)2個(gè)部分代碼:Bootloader和加載管理程序。Bootloader主要完成系統(tǒng)上電后的管理程序加載,將管理程序載入DSP片內(nèi)RAM上并執(zhí)行。底層加載管理程序的任務(wù)是完成默認(rèn)DSP和FPGA應(yīng)用程序載入、信號(hào)處理功能模式切換、應(yīng)用程序代碼版本更新等工作,并提供控制程序跳轉(zhuǎn)入口。DSP功能軟件應(yīng)用程序和接口控制應(yīng)用程序,在DSP/BIOS實(shí)時(shí)操作系統(tǒng)的統(tǒng)一調(diào)度下運(yùn)行,實(shí)現(xiàn)功能波形算法處理、數(shù)據(jù)處理、接口控制等工作。
圖4 平臺(tái)軟件架構(gòu)框圖Fig.4 Platform software architecture
通用信號(hào)處理平臺(tái)軟件初始化流程如圖5所示。模塊加電后運(yùn)行硬件初始化程序,完成底層硬件初始化。初始化完成后運(yùn)行管理單元程序,管理單元程序控制各組電源按照預(yù)設(shè)的上電順序進(jìn)行啟動(dòng),為保證平臺(tái)正常運(yùn)行,首先啟動(dòng)FPGA最小系統(tǒng)電路,等待FPGA啟動(dòng)完成后再啟動(dòng)DSP最小系統(tǒng)電路和AD電路,完成初始默認(rèn)AD采樣率、DSP工作模式的配置。模塊啟動(dòng)完成后,管理單元控制FPGA和DSP加載默認(rèn)版本加載,待程序加載成功后,管理單元控制完成時(shí)鐘鎖相環(huán)芯片的初始化,輸出需要的采樣率時(shí)鐘;AD芯片的初始化,配置默認(rèn)采樣速率和精度;FPGA寄存器和DSP寄存器初始化,包括對(duì)外部接口、DDR控制器、GTH接口、SRIO接口、JESE204B接口初始化操作。待所有芯片初始化完畢后,自動(dòng)執(zhí)行加電BIT自檢,自檢結(jié)果上報(bào),至此,模塊初始化啟動(dòng)完成。
圖5 通用信號(hào)處理平臺(tái)軟件初始化流程框圖Fig.5 Software initialization process of general signal processing platform
FPGA分區(qū)動(dòng)態(tài)加載技術(shù),是一種分時(shí)復(fù)用有限的片內(nèi)資源,對(duì)重構(gòu)區(qū)域中的邏輯進(jìn)行動(dòng)態(tài)局部的重配置,以滿足多功能、大規(guī)模應(yīng)用的需求。如圖6所示,通用信號(hào)處理平臺(tái)將FPGA芯片分為動(dòng)態(tài)區(qū)1、動(dòng)態(tài)區(qū)2和靜態(tài)區(qū),其中靜態(tài)區(qū)為固定的基礎(chǔ)資源,包括IO接口、時(shí)鐘配置、復(fù)位邏輯等資源,重構(gòu)時(shí)靜態(tài)區(qū)程序保持不變,功能程序在動(dòng)態(tài)區(qū)1和動(dòng)態(tài)區(qū)2上完成動(dòng)態(tài)加載和重構(gòu),根據(jù)飛機(jī)作戰(zhàn)任務(wù)需求加載不同的功能程序,且某個(gè)動(dòng)態(tài)區(qū)進(jìn)行功能版本切換時(shí),不影響其他的動(dòng)態(tài)區(qū)功能的正常運(yùn)行,這樣保證了系統(tǒng)在重構(gòu)時(shí)功能的連續(xù)性和實(shí)時(shí)性。分區(qū)動(dòng)態(tài)加載技術(shù),一方面允許對(duì)FPGA指定區(qū)域使用新的程序進(jìn)行重新配置,另一方面允許在器件的剩余空間繼續(xù)運(yùn)行當(dāng)前的功能,這樣做的好處是動(dòng)態(tài)區(qū)1的功能重配置時(shí),不影響動(dòng)態(tài)區(qū)2的功能正常運(yùn)行,保證了系統(tǒng)關(guān)鍵功能的連續(xù)性,也進(jìn)一步擴(kuò)展了FPGA固有的靈活性。
圖6 FPGA動(dòng)態(tài)區(qū)功能分布框圖Fig.6 FPGA dynamic area function distribution
信號(hào)處理FPGA動(dòng)態(tài)加載架構(gòu)如圖7所示,包括動(dòng)態(tài)區(qū)程序、靜態(tài)區(qū)程序和運(yùn)行管理程序組成。依據(jù)系統(tǒng)應(yīng)用需求,功能波形分別部署在動(dòng)態(tài)區(qū)1、動(dòng)態(tài)區(qū)2上,2個(gè)動(dòng)態(tài)區(qū)間有通信進(jìn)口,實(shí)現(xiàn)功能波形運(yùn)行數(shù)據(jù)交換和處理。每個(gè)動(dòng)態(tài)區(qū)通過通信中間件與靜態(tài)區(qū)運(yùn)行平臺(tái)進(jìn)行數(shù)據(jù)交換和控制,通信中間件實(shí)現(xiàn)了標(biāo)準(zhǔn)的通信協(xié)議,為功能與靜態(tài)區(qū)平臺(tái)通信提供了統(tǒng)一的平臺(tái),總線適配接口封裝了底層通信的通用接口,包括SRIO接口組件、GTX組件、AD/DA組件、SPI控制組件等,為信號(hào)處理平臺(tái)對(duì)外通信提供標(biāo)準(zhǔn)化的互聯(lián)接口,實(shí)現(xiàn)平臺(tái)通信方式與具體硬件的解耦,提高了平臺(tái)的可移植性和通用性。
運(yùn)行管理程序?yàn)榛A(chǔ)的應(yīng)用管理,包括重構(gòu)管理組件和動(dòng)態(tài)區(qū)切換控制組件,完成系統(tǒng)重構(gòu)配置,動(dòng)態(tài)區(qū)動(dòng)態(tài)切換和管理。時(shí)鐘管理組件為系統(tǒng)提供統(tǒng)一的時(shí)鐘源,復(fù)位組件完成上電初始化復(fù)位操作,運(yùn)行管理程序?qū)崿F(xiàn)對(duì)動(dòng)態(tài)區(qū)的實(shí)時(shí)監(jiān)控和調(diào)度,實(shí)現(xiàn)平臺(tái)動(dòng)態(tài)化運(yùn)行和管理。
圖7 FPGA動(dòng)態(tài)加載架構(gòu)框圖Fig.7 FPGA dynamic loading architecture
動(dòng)態(tài)重構(gòu)是指在飛機(jī)不同作戰(zhàn)任務(wù)或條件發(fā)生時(shí),在系統(tǒng)控制調(diào)度下資源被不同的功能波形時(shí)分復(fù)用。重構(gòu)能力是通用信號(hào)處理平臺(tái)能力重要的指標(biāo),也是提高飛機(jī)系統(tǒng)任務(wù)可靠性的重要手段。作為系統(tǒng)的核心能力需求,動(dòng)態(tài)重構(gòu)技術(shù)是通用信號(hào)處理平臺(tái)設(shè)計(jì)過程中必須突破的關(guān)鍵技術(shù)。重構(gòu)設(shè)計(jì)分為任務(wù)重構(gòu)和故障重構(gòu)等2種。任務(wù)重構(gòu)是指不同的飛行階段,如起飛、巡航、作戰(zhàn)和進(jìn)場著陸等階段,系統(tǒng)對(duì)通用信號(hào)處理功能波形需求不同,功能共享通用資源所進(jìn)行的功能重構(gòu);故障重構(gòu)是指當(dāng)某一高優(yōu)先級(jí)功能故障時(shí),系統(tǒng)利用通用資源重建故障的高優(yōu)先級(jí)功能波形,保證飛行任務(wù)中最關(guān)鍵任務(wù)的執(zhí)行。
通用信號(hào)處理模塊重構(gòu)流程如圖8所示,上電后首先完成初始化操作,運(yùn)行DSP程序處理用戶功能線程,當(dāng)系統(tǒng)主機(jī)在需要對(duì)某個(gè)處理通道進(jìn)行功能重構(gòu)時(shí),需要向DSP發(fā)送功能重構(gòu)指令。DSP接收到該指令后,立即停止當(dāng)前運(yùn)行的用戶程序,跳轉(zhuǎn)到底層管理程序并開始執(zhí)行。底層管理程序解析用戶程序傳遞來的重構(gòu)指令,獲取重構(gòu)的版本號(hào)、需要跳轉(zhuǎn)的Flash地址,并從FLASH中查找對(duì)應(yīng)的FPGA和DSP程序分別進(jìn)行加載,完成FPGA功能波形加載,檢測(cè)INIT信號(hào)是否為1,如果為1表示FPGA程序可以被加載,從BPI-Flash中讀取FPGA程序并進(jìn)行在線更新,更新完成后檢測(cè)FPGA加載成功標(biāo)識(shí)位,如果標(biāo)識(shí)位為“0”加載失敗,繼續(xù)等待加載;如果標(biāo)識(shí)位為“1”表示FPGA加載完成,即進(jìn)入DSP程序加載流程,從DSP外置NOR-Flash中讀取需加載的程序進(jìn)行在線更新,更新完成后判斷DSP程序加載成功標(biāo)識(shí)位,如果標(biāo)識(shí)位為“0”表示加載失敗繼續(xù)等待;如果標(biāo)識(shí)位為“1”表示DSP程序加載完成,DSP重新跳轉(zhuǎn)到功能波形入口地址處開始執(zhí)行新加載的波形程序,信號(hào)處理通道完成了功能波形重構(gòu)。
圖8 功能重構(gòu)策略流程框圖Fig.8 Functional waveform reconstruction process
功能波形資源使用情況如圖9所示。圖9中列舉了UV、TACAN、IFF、ATC等功能的資源使用情況,每個(gè)功能的資源使用量遠(yuǎn)小于FPGA片內(nèi)資源總量,CLB LUT資源余度在30%以上。與文獻(xiàn)[10]、文獻(xiàn)[11]對(duì)FPGA整片資源進(jìn)行刷新加載方式對(duì)比,本文中提出的波形重構(gòu)方案,實(shí)現(xiàn)了FPGA片上資源分時(shí)復(fù)用,功能波形動(dòng)態(tài)重構(gòu)。動(dòng)態(tài)可重構(gòu)平臺(tái)與傳統(tǒng)平臺(tái)指標(biāo)如表1所示。
圖9 波形資源使用情況直方圖Fig.9 Statistics of waveform resource usage
從表1可看出,相對(duì)于傳統(tǒng)的平臺(tái),本文提出的可重構(gòu)信號(hào)處理平臺(tái),在重構(gòu)時(shí)間、功能連續(xù)、資源復(fù)用、通道功能、功耗、體積、重量等方面有明顯優(yōu)勢(shì)。改進(jìn)的平臺(tái)采用LMS算法,對(duì)2通道采樣精度為16 bit,采樣速率為100 MHz的AD數(shù)據(jù)進(jìn)行校準(zhǔn),校準(zhǔn)后有效精度提高到14.7 bit,系統(tǒng)級(jí)采樣速率為200 M,大大提高了ADC的動(dòng)態(tài)范圍和信噪比。經(jīng)外場飛行驗(yàn)證,在飛機(jī)的不同任務(wù)階段,綜合傳感器系統(tǒng)內(nèi)任意功能,如UV、TACAN、IFF、ATC等波形發(fā)生重構(gòu)刷新時(shí),不影響其他動(dòng)態(tài)區(qū)功能。本平臺(tái)實(shí)現(xiàn)了綜合傳感器系統(tǒng)功能波形在FPGA芯片級(jí)的重構(gòu)和切換,能夠滿足綜合傳感器系統(tǒng)低功耗、小型化、綜合化的需求,為系統(tǒng)功能集成提供了良好的運(yùn)行平臺(tái)。
表1 傳統(tǒng)平臺(tái)與動(dòng)態(tài)可重構(gòu)平臺(tái)指標(biāo)Table 1 Comparison of platform indicators
提出了一種改進(jìn)的機(jī)載綜合傳感器系統(tǒng)功能動(dòng)態(tài)可重構(gòu)技術(shù)信號(hào)處理平臺(tái)。利用FPGA局部可重配置技術(shù),對(duì)有限的片內(nèi)資源進(jìn)行分時(shí)復(fù)用,實(shí)現(xiàn)了功能波形在芯片級(jí)的重構(gòu)和實(shí)時(shí)刷新,使綜合傳感器系統(tǒng)資源共享與功能重構(gòu)靈活性與有效性統(tǒng)一。該平臺(tái)可推廣應(yīng)用于航空、船舶、兵器等領(lǐng)域。