摘 要:雙頻星載雷達高度計是一種主動式微波遙感器,有Ku和C兩個波段。控制處理單元用于高精度時序控制、高速數據采集和實時高速處理,硬件主要由DSP,FPGA,A/D組成。這種基于DSP+FPGA設計不但滿足整個系統對精度和處理速度的需求,同時還滿足了星載設備小型化、低功耗和高可靠性的要求。
關鍵詞:雙頻雷達高度計;遙感器;DSP;FPGA
中圖分類號:TN959.74 文獻標識碼:B
文章編號:1004373X(2008)0301103
Design and Realization for the Control and Processing Unit of
Double—frequency Spaceborne Radar Altimeter
TANG Yueying,XU Ke,YU Xiufen
(Center for Space Science and Applied Research,Chinese Academy of Sciences,Beijing,100080,China)
Abstract:Double—frequency spaceborne radar altimeter is a kind of active microwave remote sensor with Ku band and C band.The control and processing unit performs the function of high—precision timing control,high—speed data acquisition and real—time processing.The hardware of control and processing unit consists of DSP,FPGA and ADC.This design based on DSP + FPGA can not only meet the requirement of precision and processing speed,but also meet the demand of small size,low power consumption and high reliability.
Keywords:double—frequency radar altimeter;remote sensor;DSP;FPGA
雙頻星載海洋雷達高度計是一種全天時、全天候主動式微波遙感器,他的直接測量結果是衛星到海面高度、海面有效波高和后向散射系數。方法是通過對回波的跟蹤來獲取海面回波,并從回波波形中提取高度、海面有效波高和后向散射系數[1]。進一步反演可對全球大洋環流及異常、海平面的變化和海面波浪場進行觀測、分析和預報,還可以監測海冰和極區冰層變化[2]。
1 系統總體設計
雙頻雷達高度計控制處理單元功能框圖見圖1,主要作用是實現對海洋回波的捕獲和跟蹤,其中A/D單元采集來自接收機正交I/Q信號再送到FPGA內緩存,然后由DSP讀到其片內DRAM中進行FFT轉換和跟蹤處理。
跟蹤結果產生回波波形和相關的科學數據,其中高度跟蹤結果送到FPGA中用來控制產生I/Q采集控制脈沖、微波開關控制脈沖、收發信號控制脈沖、功放控制脈沖;AGC跟蹤結果通過FPGA控制該通道接收機的自動增益; DDS信號帶寬控制也是通過FPGA送出;DSP送出的科學數據包經FPGA通過高速串行總線打包下行;DSP通過雙口RAM與1553B總線雙向通信。由于該設備需工作在遠離地球的空間環境,要求所用關鍵器件均要有相應的宇航級產品。
2 信號采集
ADC選用ANALOG DEVICES公司的AD871a,Ku和C通道采集時鐘均由FPGA時序控制部分產生,采集數據KuI,KuQ,CI,CQ分別存儲在FPGA內部4塊BRAM中,數據從A口寫入,FPGA的時序控制在產生寫BRAM地址時需主意考慮ADC的3個流水線延遲。DSP的數據總線、地址總線和讀控制信號都連到BRAM的B口,每一組數據采集完成后FPGA內的時序控制產生給DSP的中斷,DSP響應中斷將數據讀到DSP內部進行相關處理。
設計PCB板時為避免數字電路對模擬電路的干擾,將PCB板分區為模擬部分和數字部分,確保模擬信號在電路板所有層的模擬區內布線,而數字信號在數字電路區內布線;模擬與數字部分分別供電;模擬地與數字地分開;分割電地層時要保證布線不可跨越分割間隙。數據采集時序控制及采集數據流向見圖2。實驗通過加10 kHz,100 kHz,1 MHz等正弦波作為各通道的I/Q輸入,用DSP的CCS開發環境直接畫出采集信號的頻譜,證實該系統AD采集的信噪比和動態有效位滿足設計要求。
3 FPGA功能簡介
本設計FPGA采用Xilinx公司的FPGA XCV600,該器件提供了各種資源用以實現用戶的設計,包括可編程邏輯、可編程I/O、布線、時鐘網絡和SRAM。80 MHz高穩定度的頻蹤源通過FPGA專用時鐘輸入管腳輸入,連接到其中一條高穩定度低漂移全局時鐘分布網絡[3],整個設計都用該時鐘來進行同步,這樣可以保證各開關控制的精度,XCV600內部豐富的寄存器資源和專用的進位邏輯非常適合做時序控制。
FPGA時序控制程序主要包括AD控制、各控制開關時序、高速串行數據傳輸控制等,用VHDL語言設計程序。圖3是用Mentor 公司的EDA 工具Modelsim 仿真得到的符合系統需求的 C 和Ku 兩通道的開關時序(不是完整的一簇)。圖4是用邏輯分析儀測得的所有開關控制時序,測試時為了捕獲完整的一簇發送脈沖和接收回波,邏輯分析儀的采樣周期設為128 ns,測試結果證明時序邏輯正確。再通過設置邏輯分析儀的采樣周期為4 ns,測量小的時間范圍,看各控制開關的相互關系,證實控制精度也滿足系統要求。
XCV600內部有24塊4 096 b的同步雙口RAM,可用于存儲兩通道I/Q共4路AD采集值,另外還用他構造FIFO,接收由DSP并行發送來的需通過FPGA打包下行的科學數據包,FIFO的輸出經并串轉換,并與產生的同步時鐘一起送到單端到差分的驅動芯片,經此送到衛星的公共系統。
選用該型號FPGA主要原因就是該器件的可編程I/O的LVTTL接口電平是5 V兼容,使他可以直接與5 V器件相連。而且這種基于SRAM的FPGA可實現在線重構。
4 DSP C6701功能簡介
DSP選用TI高性能32位浮點DSP C6701,其主頻可達167 MHz,8個功能單元,包括4個定浮點ALUS,2個定點ALUS,2個定浮點乘法器,這8個功能單元可同時工作,運算速度高達1 GFLOPS。片內1 Mb SRAM分為64 kB DRAM和64 kB PRAM/Cache。處理單元采用超長指令結構(VLIW),內部總線是一種改進的哈佛總線結構,對內部DRAM每周期能完成2個64 b的CPU訪問和一個32 b的DMA訪問。由于片內有大容量的RAM,經過仔細的分析測算,可省去對片外高速RAM需要。
C6701作為整個系統的核心,主要完成以下功能:初始化系統狀態,控制和監測FPGA的配置,對經FPGA控制的Ku 和C 通道I/Q采集的數據進行FFT變換和實時跟蹤處理;將處理完的結果再傳到FPGA用以調整控制時序及AGC等;打包科學數據并發送到FPGA;通過一個雙口RAM與星上公用系統通信。
本設計中復數FFT和復雜的實時跟蹤處理由DSP的CPU核完成。實時跟蹤處理可以分為五個狀態:初始自檢、搜索、捕獲、跟蹤和記憶,當處于正常功能運行時,整個系統的運行是一個狀態轉換、進程激活的機制。為滿足陸地、海冰等不同復雜環境的觀測要求,雙頻高度計使用了OCOG (OFFset Center of Gravity)算法,OCOG算法生成的誤差信號還要經過α—β濾波器才能得到跟蹤結果。本系統是雙頻雷達,共用一個處理器,且脈沖重復頻率很高,DSP的工作時序很緊,必須最大限度地利用8個功能單元,使用軟件流水線,盡量讓程序無沖突的并行執行,才能滿足系統需求。256點復數FFT是雷達信號處理的重要工具,也是最耗時的運算,經測試需用時3 696個時鐘周期,設計用132 MHz主頻,即28 μs便可完成,可以滿足系統需求。
5 FPGA與DSP協同工作設計
5.1 接口設計
DSP利用CE2空間將FPGA作為一個外部SRAM,通過其外部存儲器接口EMIF與FPGA異步通信,接口設計見圖5,通過FPGA發中斷來控制其時序與DSP程序進程相對應。
在本設計中由于C6701沒有專用的通用輸入輸出端口,因此用他的定時器輸入輸出(TINPxTOUTx)代替。由于該系統用于星載設備,需工作在空間高輻射環境中,在上電時可能遭受單粒子功能中斷(Single—Event Functional Interrupt,SEFI)導致配置失效,加固措施是采用監測電路,當配置發生錯誤時,通過重新配置來恢復系統。具體方法是系統上電時DSP處于RESET狀態,TOUT1為低,將此連到FPGA的/PROG腳,FPGA保持在清除狀態。DSP開始工作后,通過軟件置TOUT1為高電平,此時FPGA開始配置,DSP通過TINP0監測FPGA的DONE是否在一定的時間內變為高,如果沒有,說明FPGA未配置成功,DSP再置 TOUT1為低電平一定的時間后再置高,FPGA重新開始一次配置。
5.2 DSP與FPGA數據通信
DSP與FPGA之間大量的數據讀和寫由DSP的DMA來完成,幾乎不占用DSP內核CPU資源。DSP與FPGA異步通信需在滿足信號的建立和保持時間的條件下根據器件的數據手冊仔細計算出DSP的CE2空間異步讀和寫的Setup/Strobe/Hold周期數并在軟件中設置[4],使之盡可能快的讀寫,少占用總線、DMA和CPU資源,又同時保證讀寫的可靠性。I和Q的采集結果分別放在32 b的數據總線的高16位和低16位以同時讀取(見圖5),每次FPGA控制采集完一組I/Q數據后就向DSP發中斷,中斷事件觸發DSP的DMA,將這組數據讀到DSP的內部DRAM中,DMA傳輸完成后給DSP的CPU發中斷,CPU開始對這組數據處理。
6 PCB板信號完整性(SI)分析
本設計使用了高速DSP C6701,指令周期只有6 ns。這樣高速的DSP可保證雙頻高度計高速數據處理的需要。雖然本設計電路板內器件間信號工作頻率不高,但是由于C6701輸出信號的上升沿很短,由此帶來了信號完整性問題。根據傳輸線理論,傳輸線上阻抗不匹配會引起信號反射(振蕩衰減)。當傳輸線的長度超過驅動信號上升沿有效電氣長度的1/6時,就需要端接[5]。
式中L為傳輸線線長,Tr為源端信號的上升時間,tpd為傳輸線上每單位長度的傳輸延遲。
以常用FR—4做PCB,可以計算出用微帶線傳輸且L≥03 in,帶狀線傳輸且L≥023 in時,就必須使用端接技術,實際布局布線時傳輸線線長都會大于這個值。圖6就是根據該設計的實際情況在未作端接處理時源端(C6701數據線A0)與負載端(Bx)信號的波形,由于是源端阻抗不到10 Ω,而傳輸線阻抗約60 Ω,阻抗不連續造成信號反射,導致負載端有高達17 V的上沖、大于1 V的下沖和震蕩,還有可出現多次跨越邏輯電平門限導致功能紊亂。
由于C6701DSP帶的負載較多,布局比較困難。設計中借助EDA仿真工具HyperLynx,用基于器件的IBIS模型進行仿真,尋求最佳布局方案和綜合使用各種端接策略,對個別信號在布局布線后再進行后仿真,在PCB板制板之前分析驗證信號的完整性問題。
7 結 語
本文論述的控制處理單元在雙頻雷達高度計預研項目中完成了電性樣機,已經經過驗收測試,完全滿足系統要求。目前已經轉到星載型號任務初樣件的研制階段。
這種FPGGA+DSP結構,可以作為通用的星載高精度控制和高速數據處理平臺。但是作為星載設備,還需更多地關注其可靠性,尤其是XCV600這種基于靜態RAM的FPGA構架,用于空間高輻射環境易發生的單粒子效應(SEE)如單粒子翻轉(SEU)等導致失效模式,需考慮抗輻照加固措施,這在目前正在進行的型號初樣件研制中將著重考慮。
參考文獻
[1]許可,董曉龍,張德海,等.HY[CD#*2]2雷達高度計和微波散射計[J].遙感技術與應用,2005,20(1):89—93.
[2]Ridley J K,Partington K C,A Model of Satellite Radar Altimeter Return from the Ice Sheets[J].Int.Remote Sensing,1988,9:601—624.
[3]Xilinx Inc.VirtexTM 25 V Field Programmable Gate Arrays,2001.
[4]Texas Instruments.TMS320C6000 EMIF to External Asynchronous SRAM Interface,2001.
[5]Howard Johnson,Martin Graham.High—Speed Digital Design.
作者簡介 唐月英 女,1966年出生,高級工程師。主要研究方向為星載微波遙感器實時信號處理。
許可男,1967年出生,研究員。主要研究方向為星載微波遙感器系統研究。
于秀芬女,1980年出生,助理研究員。主要研究方向是嵌入式軟件研制。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。