劉娟
摘要:針對二次雷達(dá)譯碼數(shù)據(jù)傳輸?shù)耐话l(fā)性和實(shí)時性要求,研究了直接存儲器訪問(direct memory access,DMA)傳輸在二次雷達(dá)譯碼中的應(yīng)用方法,并通過時序分析,驗(yàn)證了DMA 傳輸在二次雷達(dá)譯碼時的優(yōu)勢和可行性。應(yīng)用DMA 傳輸大大增強(qiáng)了二次雷達(dá)系統(tǒng)的數(shù)據(jù)吞吐能力和處理能力,有效保障了二次雷達(dá)系統(tǒng)目標(biāo)應(yīng)答信號的實(shí)時性。
關(guān)鍵詞:二次雷達(dá);譯碼;DMA;實(shí)時
中圖分類號:TN919 文獻(xiàn)標(biāo)識碼:A
0 引言
二次雷達(dá)是空管監(jiān)視系統(tǒng)的重要組成部分,其在天線發(fā)現(xiàn)目標(biāo)期間,需實(shí)時獲取目標(biāo)的身份代碼、高度、方位和距離信息??罩心繕?biāo)信號具有隨機(jī)性和突發(fā)性,二次雷達(dá)信號處理系統(tǒng)要完整、實(shí)時地接收處理這些信號,就要求二次雷達(dá)信號和數(shù)據(jù)處理系統(tǒng)具有較高的數(shù)據(jù)吞吐能力和處理能力。
二次雷達(dá)的信號處理模塊接收前端的中頻IQ數(shù)據(jù)(信號正交分解后的兩個分量),對數(shù)據(jù)進(jìn)行解調(diào)、去交織、譯碼等處理,形成二次雷達(dá)原始數(shù)據(jù)。信號處理模塊由現(xiàn)場可編程門陣列(fieldprogrammablegate array,F(xiàn)PGA) 完成; 數(shù)據(jù)處理模塊對信號處理后的原始數(shù)據(jù)進(jìn)行關(guān)聯(lián)、凝聚、數(shù)據(jù)解析等處理,一般由中央處理器(centralprocessing unit,CPU)完成。
為了匹配信號處理模塊與數(shù)據(jù)處理模塊間的數(shù)據(jù)可靠傳輸,選擇總線直接存儲器訪問(directmemory access,DMA)作為通信方式。DMA 是總線并行方式,具有突發(fā)傳輸能力,讀寫速度快,穩(wěn)定性高,總線內(nèi)存直接訪問,不占用CPU 有效工作時間,能夠大大提高系統(tǒng)的實(shí)時性和吞吐能力。
1 DMA傳輸原理
外設(shè)與存儲器之間以及存儲器與存儲器之間的數(shù)據(jù)傳輸,通常采用程序中斷方式、程序查詢方式和DMA 控制方式。程序中斷方式和程序查詢方式都需要CPU發(fā)出輸入/ 輸出(In/Out,I/O)的指令,然后等待I/O 設(shè)備完成操作之后返回,期間CPU 需要等待I/O 設(shè)備完成操作。
DMA 在傳輸存儲器和I/O 設(shè)備的數(shù)據(jù)時,無須CPU 來控制數(shù)據(jù)的傳輸,直接通過DMA 控制器(direct memory access controller,DMAC)完成外設(shè)與存儲器之間以及存儲器與存儲器之間的數(shù)據(jù)高速傳輸。
一個完整的DMA 傳輸包括DMA 請求、DMA響應(yīng)、DMA 傳輸和DMA 結(jié)束4 個步驟。
DMA 傳輸原理如圖1 所示,圖中I/O 設(shè)備為源端設(shè)備,由I/O 設(shè)備向目的端設(shè)備(存儲器)傳輸數(shù)據(jù),其DMA 的基本傳輸過程如下:① CPU 對總線控制器進(jìn)行初始化,制定工作內(nèi)存空間,讀取DMAC 中的寄存器信息,了解DMAC 的傳輸狀態(tài)[1];② I/O 設(shè)備向DMAC 發(fā)送DMA 請求(DMArequest,DREQ),DMAC 收到此信號后, 向CPU發(fā)出總線保持信號(HOLD); ③ CPU 當(dāng)前總線周期執(zhí)行結(jié)束后發(fā)出總線響應(yīng)信號保持確認(rèn)(holdacknowledgment,HLDA); ④ DMAC 收到總線授權(quán)后,向I/O 設(shè)備發(fā)送DMA 響應(yīng)信號DMA 確認(rèn)(DMA acknowledgment,DACK),表示允許I/O 設(shè)備進(jìn)行DMA 傳送;⑤開始傳輸時,DMAC 首先從源地址讀取數(shù)據(jù)并存入內(nèi)部緩存中,再寫入目的地址,完成總線數(shù)據(jù)從源地址到目的地址的傳輸[1];⑥ DMA 傳輸完成后,DMAC 向CPU 發(fā)出結(jié)束信號,釋放總線,使CPU 重新獲得總線控制權(quán)。
一次DMA 傳輸只需要執(zhí)行一個DMA 周期,相當(dāng)于一個總線讀/ 寫周期,因而能夠滿足外設(shè)數(shù)據(jù)高速傳輸?shù)男枰?/p>
2 DMA在二次雷達(dá)中的應(yīng)用
2.1 FPGA 和PowerPC 協(xié)同架構(gòu)
系統(tǒng)架構(gòu)直接決定系統(tǒng)的性能、特點(diǎn)、處理能力和調(diào)試難易度等[2]。傳統(tǒng)的二次雷達(dá)譯碼器大多采用分立元件和中小規(guī)模集成電路的方式設(shè)計[3],其數(shù)據(jù)處理能力有限,無法完成大數(shù)據(jù)量的應(yīng)答處理。
本文的二次雷達(dá)系統(tǒng)采用FPGA 和嵌入式處理器(PowerPC)協(xié)同架構(gòu)。FPGA 易于處理大數(shù)據(jù)量的流水?dāng)?shù)據(jù),同時PowerPC 處理器具有強(qiáng)大的運(yùn)算能力,尋址靈活,處理速度快,能實(shí)時處理高密度、大容量的應(yīng)答信號。FPGA 主要用于原始應(yīng)答信號的延時對齊、量化反窄、框架檢測、旁瓣抑制、代碼提取等信號處理,形成原始目標(biāo)應(yīng)答報文[2]。PowerPC 主要用于點(diǎn)跡凝聚、航跡處理、假目標(biāo)處理等的復(fù)雜運(yùn)算和實(shí)時處理。同時FPGA 和PowerPC 通過一種高速串行計算機(jī)擴(kuò)展總線標(biāo)準(zhǔn)(PCI express,PCIe)進(jìn)行總線互聯(lián),采用DMA 的數(shù)據(jù)傳輸方式。PCIe 使用點(diǎn)到點(diǎn)的差分信號傳輸方式,可有效避免數(shù)據(jù)傳輸過程中的串?dāng)_問題[4],保證二次雷達(dá)譯碼電路高速、穩(wěn)定運(yùn)行。
2.2 DMA 報文傳輸原理
如圖2 所示,F(xiàn)PGA 采集到總線上的數(shù)據(jù)后,送入譯碼單元完成目標(biāo)譯碼,按照FPGA 與PowerPC 處理器之間的通信協(xié)議,將處理后的譯碼數(shù)據(jù)組包后放在先進(jìn)先出數(shù)據(jù)緩存器(first in firstout,F(xiàn)IFO)中,根據(jù)DMA 上報的秩序,依次將數(shù)據(jù)上報至上位機(jī)PowerPC [5],形成目標(biāo)原始應(yīng)答報文DMA 數(shù)據(jù)幀。PowerPC 根據(jù)譯碼單元上報的DMA 報文,剔除非法的數(shù)據(jù),將一個目標(biāo)的多次應(yīng)答整合成一組目標(biāo)數(shù)據(jù),并將各模式應(yīng)答信息裝填到點(diǎn)跡數(shù)據(jù)幀中上報終端處理。
二次雷達(dá)FPGA 和PowerPC 的DMA 數(shù)據(jù)傳輸?shù)膮f(xié)議包括以下5 點(diǎn):① PowerPC 通過片上通用I/O 讀取FPGA 提供的目標(biāo)應(yīng)答數(shù)據(jù);② PowerPC利用D0 ~ D15 數(shù)據(jù)總線,以16 位數(shù)據(jù)寬度讀取數(shù)據(jù);③ FPGA 向PowerPC 發(fā)送中斷請求信號,通知PowerPC 讀取所有的應(yīng)答數(shù)據(jù);④ PowerPC訪問FPGA 的FIFO 地址;⑤ PowerPC 讀取數(shù)據(jù)生成目標(biāo)報文后輸出到規(guī)定的端口。
2.3 DMA 報文傳輸流程
二次雷達(dá)系統(tǒng)中,PowerPC 包括以下信號:① 16 位數(shù)據(jù)總線D0 ~ D15 (LSB,最低有效位為D0),I/O; ② 總線讀信號IOR#(# 代表負(fù)邏輯),低電平有效(PowerPC 輸出);③總線寫信號IOWD#,低電平有效(PowerPC 輸出);④地址允許信號AEN(PowerPC 輸出):AEN=0 時為CPU地址,AEN=1 時為DMA 地址。
DMA 通信包括以下控制信號:①外部DMA 請求DREQ,高電平有效(PowerPC 輸入);② DMA響應(yīng)回答DACK#,低電平有效(PowerPC 輸出)。
二次雷達(dá)的譯碼數(shù)據(jù)傳輸時,根據(jù)約束條件將DMA 大小設(shè)置為固定值,以便CPU 通過查找同步頭解析數(shù)據(jù)形成雷達(dá)數(shù)據(jù)幀。FPGA 首先向PowerPC 的DMA 發(fā)送DREQ 信號,當(dāng)DMA 收到DREQ信號后,向CPU發(fā)出總線請求信號(HRQ),CPU 收到HRQ 信號后,釋放總線控制權(quán)。DMAC獲得總線控制權(quán)后,向FPGA 發(fā)送DACK 響應(yīng)回答,通知FPGA 可以進(jìn)行DMA 傳輸。PowerPC 發(fā)送總線讀信號IOR(input/output register,輸入/ 輸出寄存器),把譯碼數(shù)據(jù)從FPGA 寫入內(nèi)部存儲器。當(dāng)16 位數(shù)據(jù)傳輸完成后,DMAC 釋放總線控制權(quán),CPU 重新接管總線控制權(quán),至此DMA 傳輸完成。
3 DMA傳輸時序分析
一個DMA 傳輸只需要執(zhí)行一個DMA 周期。本文以二次雷達(dá)系統(tǒng)中使用的典型PowerPC 為例進(jìn)行DMA 數(shù)據(jù)傳輸?shù)臅r序分析。
如圖3 所示,PowerPC 完成一次DMA 傳輸需要900 ns,也就是說傳輸16 位數(shù)據(jù)需要900 ns。
以最常用的串口通信數(shù)據(jù)傳輸方式為例,完成一次傳輸包括固定起始位1 位、數(shù)據(jù)位8 位、無校驗(yàn)位、停止位1 位,用串口通信最大波特率115200 b/s 計算,因此,傳輸16 位數(shù)據(jù)需要的時間為173 600 ns。
European Mode S Station Functional Specification(歐洲關(guān)于S 模式的一個標(biāo)準(zhǔn))中規(guī)定二次雷達(dá)系統(tǒng)在詢問天線10 r/min 的轉(zhuǎn)速下,0.5 海里到256海里范圍內(nèi),3.5°扇區(qū)目標(biāo)容量峰值為54 批[6]。
通常應(yīng)答信號數(shù)目的需求至少為6 個,才可以獲得較好的真實(shí)目標(biāo)并確認(rèn)應(yīng)答數(shù)據(jù)的準(zhǔn)確性,所以在扇區(qū)內(nèi)收到的原始應(yīng)答信號數(shù)量至少為324 個,由于二次雷達(dá)目標(biāo)應(yīng)答信息報文基本長度至少為11個字(本文1 個字為16 位),可知此時需傳輸?shù)臄?shù)據(jù)長度為3 564 個字。
天線轉(zhuǎn)速為10 r/min,故天線旋轉(zhuǎn)3.5°扇區(qū)的時間為0.058 3 s(需要在此時間內(nèi)傳輸3 564 個字),則1 個字的傳輸時間為16 358 ns,而用DMA 方式傳輸時1 個字只需要900 ns,因此DMA 傳輸可以有效保證應(yīng)答目標(biāo)原始報文的高速和實(shí)時傳輸。若使用串口通信傳輸1 個字需要173 600 ns,遠(yuǎn)超獲得有效目標(biāo)的時間要求,所以串口通信并不滿足大容量目標(biāo)原始報文的有效傳輸需求。
4 結(jié)論
本文研究了DMA 傳輸設(shè)計在二次雷達(dá)譯碼中的應(yīng)用,在信號處理與數(shù)據(jù)處理模塊,采用DMA傳輸方式進(jìn)行數(shù)據(jù)交互,電路簡潔,可適應(yīng)數(shù)據(jù)突發(fā)傳輸,不消耗CPU 有效工作時間,適合作為嵌入式處理系統(tǒng)內(nèi)模塊間的數(shù)據(jù)高速傳輸,在復(fù)雜空域環(huán)境中有效提高了二次雷達(dá)系統(tǒng)探測目標(biāo)的實(shí)時性和可靠性。
參考文獻(xiàn)
[1] 高陽. 基于SoC 芯片的高性能DMA 控制器的設(shè)計與實(shí)現(xiàn)[D]. 哈爾濱:黑龍江科技大學(xué),2022.
[2] 邾琳琳,丁岐鵑,張卿. 二次雷達(dá)應(yīng)答代碼的提取及解析[J]. 科技信息,2011(10):787-788.
[3] 蔣睿. 基于DSP 的二次雷達(dá)應(yīng)答解碼器軟件設(shè)計[D].成都:電子科技大學(xué),2004.
[4] 沈洋,李紀(jì)三,夏東方,等. 多功能相控陣?yán)走_(dá)多通道DMA 傳輸系統(tǒng)設(shè)計[J]. 艦船電子工程,2022,42(9):82-86.
[5] 楊小飛. 基于FPGA 和DSP 技術(shù)的二次雷達(dá)應(yīng)答處理器[D]. 成都:電子科技大學(xué),2004.
[6] European Organization for the Safety of Air Navigation. European Mode S Station Functional Specification: SUR/MODES/EMS/SPE-01 [S/OL]. [2023-05-20]. https://www.eurocontrol.int/sites/default/files/2019-04/surveillancem o d e - s - e u r o p e a n - m o d e - s - f u n c t i o n a l -specification-20050509.pdf.