趙 君,蔡曉樂,張宇坤,郭建奇
(西安航空計算技術(shù)研究所,西安 710065)
星載數(shù)傳分系統(tǒng)是遙感衛(wèi)星中合成孔徑雷達(SAR)的重要組成部分。當(dāng)衛(wèi)星在軌運行時,數(shù)傳分系統(tǒng)主要針對星上有效載荷捕獲的高分辨率圖像數(shù)據(jù)完成接收、存儲與傳輸功能[1-2]。針對數(shù)傳分系統(tǒng)地面聯(lián)試需求,避免價格昂貴的星上有效載荷在地面聯(lián)試中頻繁操作降低其壽命,通常使用SAR載荷數(shù)據(jù)模擬器(SAR數(shù)據(jù)源)代替星上真實有效載荷進行測試[3]。
文中的SAR數(shù)據(jù)源針對LVDS接口型數(shù)傳分系統(tǒng)進行測試,根據(jù)功能對LVDS信號進行分類,一般包括時鐘、門控和數(shù)據(jù)信號。系統(tǒng)通過時鐘信號的上升沿觸發(fā)信號改變,如果門控信號在時鐘上升沿有效,則數(shù)據(jù)有效,反之?dāng)?shù)據(jù)無效[4]。理想條件下,系統(tǒng)要求門控和數(shù)據(jù)均在時鐘上升沿跳變,信號接收與發(fā)送端均遵循此原則以保證數(shù)據(jù)的準(zhǔn)確性。
但是,在數(shù)傳分系統(tǒng)實際工作中,時鐘、門控和數(shù)據(jù)信號存在相位偏移,主要原因包括邏輯綜合約束,線纜長度不等長、寄生電容分布不均勻、高速信號振鈴效應(yīng)等,而此類問題只有在整星集成后才能暴露出來。為了縮短數(shù)傳分系統(tǒng)正樣機研制周期,降低研制風(fēng)險,需要SAR數(shù)據(jù)源與數(shù)傳分系統(tǒng)模擬星上實際工況聯(lián)試,用于測試數(shù)傳分系統(tǒng)數(shù)據(jù)接收功能的正確性與穩(wěn)定性。因此要求SAR數(shù)據(jù)源能夠模擬時鐘、門控與數(shù)據(jù)信號時序不同步的情況。
SAR數(shù)據(jù)源可以模擬符合衛(wèi)星在軌運行時的數(shù)據(jù)及時序,基于SAR數(shù)據(jù)源的數(shù)傳分系統(tǒng)測試原理如圖1所示。
圖1 SAR數(shù)據(jù)源測試原理
SAR數(shù)據(jù)源支持基于PN碼自生成數(shù)據(jù)與本地加載數(shù)據(jù)輸出兩種輸出模式,時鐘頻率44.44 MHz,可以設(shè)置數(shù)據(jù)出處正程和逆程。
SAR數(shù)據(jù)源通道與數(shù)傳分系統(tǒng)通信類型為LVDS接口,該通信接口包括CLK、Flag、DATA[15:0]、RESET四類信號,信號功能如下:
1) CLK,是SAR數(shù)據(jù)源與數(shù)傳分系統(tǒng)接收控制器的同步傳輸時鐘信號,時鐘可配置,頻率最高支持44.44MHz;
2) Flag,是決定數(shù)據(jù)正程與逆程的門控信號;
3) DATA[15:0],是信號數(shù)據(jù)線,支持I/Q模式配置;
4) RESET,數(shù)傳分系統(tǒng)系統(tǒng)復(fù)位信號,由SAR模擬發(fā)起;
SAR模擬源與數(shù)傳分系統(tǒng)接口時序關(guān)系如圖2所示。
圖2 SAR模擬源與數(shù)傳分系統(tǒng)接口時序關(guān)系示意圖
SAR數(shù)據(jù)源支持多種成像工作模式,主要包括聚束模式、標(biāo)準(zhǔn)條帶模式、寬/窄幅掃描模式、超精細條帶模式、波模式等。
SAR數(shù)據(jù)源系統(tǒng)基于FPGA構(gòu)建的核心嵌入式測試模塊,實現(xiàn)了數(shù)據(jù)模擬與傳輸?shù)幕竟δ?并支持基于該模塊進行數(shù)據(jù)源時序拉偏測試。嵌入式測試模塊主要包括:數(shù)據(jù)處理單元、通訊單元、輸出接口單元三部分,系統(tǒng)硬件架構(gòu)如圖3所示。
圖3 SAR數(shù)據(jù)源嵌入式測試模塊原理
1.2.1 數(shù)據(jù)處理單元設(shè)計
數(shù)據(jù)處理單元是嵌入式測試模塊的核心,該單元通過USB總線接收上位機發(fā)送的SAR載荷數(shù)據(jù),并將數(shù)據(jù)按照上位機配置的控制參數(shù)完成數(shù)據(jù)發(fā)送,同時,可以將BIT信息反饋至上位機。數(shù)據(jù)處理單元以FPGA為基礎(chǔ),采用Virtex-5系列FPGA芯片XC5VLX 330T作為核心控制芯片。同時,設(shè)計DDR2內(nèi)存實現(xiàn)數(shù)據(jù)緩沖,構(gòu)成容量達1 Gbit的數(shù)據(jù)存儲空間,通過FPGA的MMU控制功能,完成數(shù)據(jù)傳輸?shù)木彌_功能。針對SAR載荷數(shù)據(jù)存儲需求,數(shù)據(jù)處理單元采用K4T1G164QF大容量NAND FLASH完成數(shù)據(jù)存儲,該芯片存儲容量高達1 TB,最高訪問速度可達800 Mbit/s。
1.2.2 通訊單元設(shè)計
通訊單元實現(xiàn)嵌入式測試模塊與上位機通訊功能,上位機通過USB總線控制發(fā)送SAR數(shù)據(jù)與控制命令至嵌入式測試模塊,同時嵌入式測試模塊也將系統(tǒng)工作狀態(tài)通過USB總線反饋至上位機。本系統(tǒng)采用CY7C68013A專用USB協(xié)議芯片實現(xiàn)數(shù)據(jù)傳輸和邏輯控制,該芯片將USB總線協(xié)議集成在專用接口芯片內(nèi)部,并為用戶提供簡單的訪問接口。采用這種方法的優(yōu)勢在于設(shè)計靈活,USB功能可以在任何控制器上實現(xiàn),可靠性高,開發(fā)周期短,易實現(xiàn),系統(tǒng)成本低。
1.2.3 輸出接口單元設(shè)計
SAR數(shù)據(jù)源系統(tǒng)具備兩組SAR信號輸出通道,包括:CLK,DATA[15:0]、Flag、RESET;以及兩組DPU信號輸出通道,包括:CLK,DATA、Flag,因此根據(jù)需求共需要44路LVDS輸出接口。LVDS接口芯片選用SN65LVDS31[5],該芯片具備4路LVDS接口,符合ANSITIA/EIA-644標(biāo)準(zhǔn),且輸出典型延時小于500 ps,滿足本系統(tǒng)設(shè)計需求。
SAR數(shù)據(jù)源在每次測試之前,系統(tǒng)應(yīng)首先進行自檢。自檢功能包括:FPGA健康監(jiān)測,存儲器BIT,輸出接口BIT等。
FPGA健康監(jiān)測采用心跳字的方式定時反饋FPGA工作狀態(tài)。當(dāng)FPGA處于正常工作狀態(tài)時,以固定時間間隔,按照依次遞增的規(guī)律,向主控平臺發(fā)送心跳字。主控軟件通過判斷心跳字是否符合要求,判斷FPGA的工作狀態(tài),如有異常,則設(shè)備自動報警,顯示故障信息。
存儲器BIT是指在系統(tǒng)開始工作前,按照固定規(guī)律,對存儲器每一個地址進行規(guī)律數(shù)據(jù)寫入。然后將數(shù)據(jù)讀出。如果數(shù)據(jù)正常,則系統(tǒng)存儲器狀態(tài)符合使用要求,否則設(shè)備自動報警,顯示故障信息。
輸出接口BIT是針對LVDS輸出接口的發(fā)送功能檢測。自檢時,對外輸出LVDS接口與相應(yīng)的BIT接口(LVDS接收電路)構(gòu)成回路。發(fā)送自檢命令后,通過對外輸出接口發(fā)送一組固定的監(jiān)測數(shù)據(jù)流,相應(yīng)的BIT接口將收到的數(shù)據(jù)反饋回上位機。如果收發(fā)數(shù)據(jù)滿足合格判據(jù),則工作正常。同時,在正常工作時,FPGA對所輸出數(shù)據(jù)進行監(jiān)控,并將監(jiān)控數(shù)據(jù)狀態(tài)周期反饋至上位機,如果發(fā)送數(shù)據(jù)與所設(shè)置數(shù)據(jù)異常,則自動報警,顯示故障信息。
為了滿足時間偏移測試需求,提出調(diào)用Xilinx原語IODELAY和IDELAYCTRL方式實現(xiàn)產(chǎn)生納秒級偏移的設(shè)計方案,其中IODELAY是輸入/輸出延遲單元,IODELAY可以連接到ILOGIC/ISERDES或OLOGIC/OSERDES模塊,也可同時連接到這兩個模塊。
IODELAY是具有64個tap的環(huán)繞延遲單元,具有標(biāo)定的tap分辨率,64個tap的環(huán)繞延遲單元產(chǎn)生的延時為參考時鐘(Frequency used for IDELAYCTRL)的一個周期。
鐘-碼拉偏功能通過基于時鐘偏移的延遲單元設(shè)計、正/負向延時輸出設(shè)計與正/負方向延時切換設(shè)計同時作用完成[6-7]。
SAR數(shù)據(jù)源輸出時鐘實測結(jié)果如圖4所示,藍線為時鐘信號偏移輸出結(jié)果,紅線為原始時鐘信號,延時值設(shè)定為0 ns。圖4(a)為原始時鐘和偏移時鐘對比結(jié)果(t0=8 ns),圖4(b)為原始時鐘和偏移時鐘對比,延時值設(shè)定為-8 ns(校正0點);圖4(c)為原始時鐘和偏移時鐘對比(t1=4 ns),延時值設(shè)定為12 ns。
圖4 時序拉偏測試結(jié)果
SAR數(shù)據(jù)源中數(shù)據(jù)處理單元軟件采用Verilog HDL編程語言設(shè)計實現(xiàn),本設(shè)計的編程環(huán)境是Xilinx公司推出的ISE 14.4。
圖5 嵌入式控制器功能示意圖
圖5中,主控軟件通過通訊接口將SAR數(shù)據(jù)、DPU數(shù)據(jù)、輔助指令等控制信息輸入嵌入式控制模塊。FPGA內(nèi)部需要完成數(shù)據(jù)傳輸控制,MMU控制,控制LVDS接口進行SAR數(shù)據(jù)傳輸?shù)裙ぷ?。同時,F(xiàn)PGA需要完成BIT功能,將系統(tǒng)工作狀態(tài)實時反饋給主控軟件。
FPGA與CY7C68013A完成數(shù)據(jù)交互,首先判斷OUT FIFO空標(biāo)志是否表示為空,如果不為空,則有數(shù)據(jù)到來,讀取OUT FIFO中數(shù)據(jù)。FPGA對讀取的數(shù)據(jù)進行解析,如果解析結(jié)果表示需要上傳數(shù)據(jù),則準(zhǔn)備好數(shù)據(jù),判斷IN FIFO是否為滿,不為滿,表示可以寫入數(shù)據(jù),將準(zhǔn)備好的數(shù)據(jù)寫入到IN FIFO中。其中,OUT FIFO與IN FIFO是完成上位機與FPGA通信的數(shù)據(jù)緩沖區(qū)。
圖6為MMU控制的程序狀態(tài)機流程圖。該流程圖表示FPGA控制緩沖單元完成數(shù)據(jù)緩沖的整個控制流程。
圖6 MMU控制的程序狀態(tài)機流程圖
圖6中共有8個狀態(tài):IDLE,WR_S,Wr_EN,WrEnd,RD_S,Rd_EN,Get_Data,RdEnd,功能分別為:
1)IDLE:一個初始狀態(tài),復(fù)位后進入此狀態(tài);
2)WR_S:寫操作開始狀態(tài),當(dāng)寫操作標(biāo)志置位時進入此狀態(tài)。將CS拉低,地址寫到地址線上;
3)Wr_EN:把WE信號拉低,將數(shù)據(jù)寫到數(shù)據(jù)線上;
4)WrEnd:Wr_EN持續(xù)至少12 ns后進入此狀態(tài),將CS信號拉高,將WE信號拉高,跳回IDLE狀態(tài);
5)RD_S:讀操作開始狀態(tài),當(dāng)讀操作標(biāo)志置位時進入此狀態(tài)。將CS拉低,地址寫到地址線上;
6)Rd_EN:將OE信號拉低;
7)GetData:從數(shù)據(jù)線上讀取數(shù)據(jù);
8)Rd_End:將CS信號拉高,將OE信號拉高,跳回IDLE狀態(tài)。
數(shù)傳分系統(tǒng)測試中,對SAR數(shù)據(jù)源數(shù)據(jù)輸出時序和DPU數(shù)據(jù)源數(shù)據(jù)輸出時序有嚴格要求,該時序的實現(xiàn)主要由嵌入式控制器完成。本設(shè)計對嵌入式控制器板卡軟件輸出時序進行仿真驗證和實驗測試。圖7為仿真波形,圖8為系統(tǒng)聯(lián)試實際測試結(jié)果。
圖7 仿真波形
對數(shù)據(jù)處理單元軟件仿真采用ISIM軟件,圖8中:Clk、Flag、Rest、數(shù)據(jù)輸出分別指輸出時鐘:44.44 MHz(DPU為50 MHz)、門控信號:低有效、復(fù)位信號:低有效(DPU沒有該位)、輸出數(shù)據(jù)(SAR數(shù)據(jù)為16 bit;DPU數(shù)據(jù)為1 bit);時鐘占空比為50%;門控信號、輸出數(shù)據(jù)在輸出時鐘的上升沿跳變;復(fù)位信號中t0>12 500 μs,t1=2 500 μs,t2=215 000 μs。滿足設(shè)計要求中:t0>400 ns,t1>500 ns,t2>300 ns的需求。
圖8 嵌入式控制器輸出波形
圖8為采用軟件ChipScope對嵌入式控制器輸出波形實時采集結(jié)果,其中:Clk、Flag、Reset、數(shù)據(jù)輸出分別指輸出時鐘(44.44MHz)、門控信號(低有效)、復(fù)位信號(低有效)、輸出數(shù)據(jù);時鐘占空比為50%;門控信號、輸出數(shù)據(jù)在輸出時鐘的上升沿跳變;復(fù)位信號中t0=1 000 μs,t1=2 500 μs,t2>15 000 μs。滿足系統(tǒng)測試判據(jù):t0>400 ns,t1>500 ns,t2>300 ns的指標(biāo)需求。
人機交互軟件主要完成配置星上LVDS接口輸出的數(shù)據(jù)格式,對各通道參數(shù)進行設(shè)置,選擇發(fā)送模式進行數(shù)據(jù)發(fā)送,其主要功能包括:加載指定測試文件、SAR/DPU模式選擇、設(shè)置工作模式參數(shù)(直傳/記錄/變速/恒速)、正/逆程設(shè)置、文件輸出/PN碼輸出、SAR模式拉偏與配置信息加載、保存等功能。人機交互界面如圖9所示,圖中各標(biāo)號區(qū)域功能如下:
圖9 SAR數(shù)據(jù)源人機交互界面
1)設(shè)備操作區(qū):打開、關(guān)閉設(shè)備,退出軟件;
2)SAR模式設(shè)置區(qū):設(shè)置SAR模式輸出模式,有直傳模式、記錄模式可選,變速模式、恒速模式可選,可配置數(shù)據(jù)率及正程長度;
3)通道設(shè)置區(qū):在此區(qū)域內(nèi)可以對實驗通道及DPU模式各參數(shù)進行設(shè)置;
4)SAR基本設(shè)置區(qū):
在此區(qū)域內(nèi)設(shè)置SAR通道實驗基本參數(shù);
5)操作區(qū):在此區(qū)域內(nèi)可完成配置加載,開始/停止試驗,信息加載,信息保存等操作;
6)日志顯示區(qū):此區(qū)域內(nèi)顯示操作日志。
針對實際應(yīng)用中星上載荷與數(shù)傳分系統(tǒng)間高速數(shù)據(jù)交換的時序測試需求,依據(jù)測試信號類型進行時序控制分析,提出基于FPGA的SAR數(shù)據(jù)源設(shè)計方法,并采用IODELAY原語設(shè)計受控延時單元用于數(shù)傳分系統(tǒng)數(shù)據(jù)傳輸時序測試,降低了數(shù)傳分系統(tǒng)測試復(fù)雜度,并提高了SAR數(shù)據(jù)源系統(tǒng)的可擴展性。結(jié)果表明,基于校正方法降低SAR數(shù)據(jù)源內(nèi)傳輸延時誤差,滿足了針對用戶指標(biāo)要求的星載數(shù)傳分系統(tǒng)的鐘-碼拉偏測試需求,鐘碼拉偏調(diào)整范圍達到-8 ns至8 ns,步進1 ns,CLK時鐘頻率最高可以達到120 MHz。