趙 君,艾鐵柱,張宇坤
(中航工業(yè)西安航空計(jì)算技術(shù)研究所,西安 710065)
基于IODELAY原語SAR載荷模擬器延遲單元設(shè)計(jì)
趙 君,艾鐵柱,張宇坤
(中航工業(yè)西安航空計(jì)算技術(shù)研究所,西安 710065)
針對(duì)星載合成孔徑雷達(dá)中數(shù)傳分系統(tǒng)測(cè)試時(shí),需要進(jìn)行接收數(shù)據(jù)時(shí)序拉偏測(cè)試需求,提出一種基于FPGA原語的SAR載荷模擬器延時(shí)單元設(shè)計(jì)方法,該延遲單元采用IODELAY原語,通過時(shí)序約束實(shí)現(xiàn)正反向時(shí)鐘與數(shù)據(jù)時(shí)序拉偏功能,同時(shí)分析了FPGA內(nèi)部邏輯資源約束對(duì)時(shí)序拉偏功能的影響;仿真與試驗(yàn)結(jié)果表明,基于該延遲單元的SAR載荷模擬器時(shí)鐘與數(shù)據(jù)時(shí)序調(diào)整范圍可達(dá)-6~6 ns,步進(jìn)1 ns,系統(tǒng)運(yùn)行穩(wěn)定,滿足設(shè)計(jì)要求。
星載合成孔徑雷達(dá);數(shù)傳分系統(tǒng);載荷模擬器;IODELAY原語
隨著1978年美國(guó)“海洋衛(wèi)星”(SEASAT)的成功發(fā)射升空,作為全球第一顆合成孔徑雷達(dá)(SAR)衛(wèi)星,它掀開了空間微波遙感的新篇章,同時(shí)也引發(fā)了全球?qū)AR衛(wèi)星的需求熱潮。數(shù)傳分系統(tǒng)是遙感衛(wèi)星的重要組成之一,在衛(wèi)星在軌運(yùn)行過程中,數(shù)傳分系統(tǒng)主要完成針對(duì)星上有效載荷捕獲的高分辨率圖像數(shù)據(jù)的接收、存儲(chǔ)于傳輸[1 2]。
在針對(duì)星載數(shù)傳分系統(tǒng)的測(cè)試過程中,真實(shí)數(shù)據(jù)源——星上有效載荷價(jià)格昂貴,容易受損,為了避免數(shù)傳分系統(tǒng)在地面測(cè)試時(shí),頻繁對(duì)真實(shí)載荷進(jìn)行操作而造成功能損壞,一般采用SAR載荷數(shù)據(jù)模擬器(簡(jiǎn)稱SAR數(shù)據(jù)源),用來替換真實(shí)的星上有效載荷,模擬出符合衛(wèi)星在軌運(yùn)行時(shí)的數(shù)據(jù)及時(shí)序。SAR數(shù)據(jù)源應(yīng)用方式如圖1所示[3]。
本文針對(duì)星上實(shí)際應(yīng)用中載荷與數(shù)傳分系統(tǒng)間高速信號(hào)時(shí)序測(cè)試需求,依據(jù)測(cè)試信號(hào)類型進(jìn)行時(shí)序控制分析,基于IODELAY原語實(shí)現(xiàn)受控延時(shí)單元設(shè)計(jì),有效地減少系統(tǒng)維護(hù)復(fù)雜度與測(cè)試耦合度,并提高了SAR數(shù)據(jù)源系統(tǒng)的可擴(kuò)展性。
圖1 SAR數(shù)據(jù)源應(yīng)用方式
1.1 功能需求技術(shù)指標(biāo)
本SAR數(shù)據(jù)源僅針對(duì)LVDS接口型數(shù)傳分析進(jìn)行測(cè)試,在數(shù)據(jù)傳輸過程中,一般包括時(shí)鐘、門控和數(shù)據(jù)信號(hào)。在時(shí)鐘上升沿時(shí),若門控信號(hào)為有效,則此刻的數(shù)據(jù)為有效;若門控位無效,則數(shù)據(jù)為無效[4]。
通常情況下,要求時(shí)鐘、門控和數(shù)據(jù)在同一時(shí)刻跳變,即在時(shí)鐘上升沿跳變。同時(shí)跳變可以減少數(shù)據(jù)接收設(shè)備在數(shù)據(jù)采集時(shí)采集到錯(cuò)誤數(shù)據(jù)。使得數(shù)據(jù)傳輸?shù)目煽啃蕴岣?。但是,在?duì)數(shù)傳分系統(tǒng)測(cè)試時(shí),需要SAR數(shù)據(jù)源模擬實(shí)際星上工況。在實(shí)際工作中,時(shí)鐘、門控和數(shù)據(jù)信號(hào)經(jīng)過電纜傳輸后,會(huì)產(chǎn)生不同程度的相位偏移,該偏移的產(chǎn)生原因較多,如邏輯綜合約束,PCB布線,寄生電容等。在測(cè)試過程中,為了盡可能模擬真實(shí)情況,需要SAR數(shù)據(jù)源將鐘碼關(guān)系進(jìn)行拉偏,從而模擬時(shí)鐘與數(shù)據(jù)不同步的情況,以此測(cè)試星載數(shù)傳分系統(tǒng)數(shù)據(jù)接收功能的穩(wěn)定性。
1.2 系統(tǒng)工作原理
SAR模擬源通道與數(shù)據(jù)處理器交互信號(hào)包括2組LVDS數(shù)據(jù)傳輸接口,每組有四類信號(hào)構(gòu)成:CLK、Flag、DATA [15:0]、RESET。模擬源功能如下:
1)SAR模擬源具有將自身內(nèi)部存儲(chǔ)的SAR數(shù)據(jù)從LVDS接口輸出的功能;
2)模擬源具有19 bit(含時(shí)鐘、門控和復(fù)位)位寬;
3)信號(hào)電平為L(zhǎng)VDS,時(shí)鐘頻率44.44 MHz;
4)可以設(shè)置門控正程和逆程。
SAR模擬源與數(shù)傳分系統(tǒng)接口時(shí)序關(guān)系如圖2所示。
圖2 SAR模擬源與數(shù)傳分系統(tǒng)接口時(shí)序關(guān)系示意圖
SAR模擬源工作模式及數(shù)據(jù)率如表1所示。
表1 SAR模擬源工作模式及數(shù)據(jù)率
其中:數(shù)據(jù)率是指單路數(shù)據(jù)速率,速率范圍約定為每10幀跳變10%或20%(百分比可選擇);針對(duì)波模式的間歇工作特性,約定工作時(shí)間(范圍約1.27~1.43 s)和間歇時(shí)間 (范圍約5.8~6.1 s)。
SAR模擬源接口參數(shù)如下:
1)時(shí)鐘頻率:44.44 MHz;
2)時(shí)鐘上升沿對(duì)準(zhǔn)FLAG信號(hào)下降沿,超前或者滯后flag下降沿小于4 ns;
3)Reset信號(hào)寬度為t1(不小于500 ns),信號(hào)超前穩(wěn)定輸出數(shù)據(jù)的時(shí)間為t2(不小于200 ns,不大于100 ms);
4)T0時(shí)間為SAR信源加電正常后到第一個(gè)正常的Reset低脈沖到來之前時(shí)間間隔,要求T0≥500 ms;
5)FLAG信號(hào)下降沿到來時(shí)開始傳送SAR雷達(dá)數(shù)據(jù),16 bit雷達(dá)數(shù)據(jù)并行傳輸,且有效門控下時(shí)鐘周期為偶數(shù);
6)時(shí)鐘上升沿超前數(shù)據(jù)跳變沿,超前小于4 ns(時(shí)鐘時(shí)延考驗(yàn)±6);
7)時(shí)鐘占空比:45%~55%;
8)時(shí)鐘連續(xù)不間斷;
9)SAR模擬源輸出至數(shù)傳分系統(tǒng)的數(shù)據(jù)由2路16 bit的并行數(shù)據(jù)傳輸完成,數(shù)據(jù)處理器兩個(gè)通道的圖像數(shù)據(jù)計(jì)數(shù)器與圖像的時(shí)間關(guān)系保持一致;
為了滿足時(shí)間偏移測(cè)試需求,本文提出調(diào)用Xilinx原語IODELAY和IDELAYCTRL方式實(shí)現(xiàn)產(chǎn)生納秒級(jí)偏移的設(shè)計(jì)方案,其中IODELAY是輸入/輸出延遲單元,IDELAYCTRL模塊是為IODELAY模塊服務(wù)的,主要用于提供參考時(shí)鐘。
2.1 IODELAY概述
每個(gè)I/O模塊包含一個(gè)可編程絕對(duì)延遲單元,稱為IODELAY。IODELAY可以連接到ILOGIC/ISERDES或OLOGIC/OSERDES模塊,也可同時(shí)連接到這兩個(gè)模塊。IODELAY是具有64個(gè)tap的環(huán)繞延遲單元,具有標(biāo)定的tap分辨率,64 個(gè)tap的環(huán)繞延遲單元產(chǎn)生的延時(shí)為參考時(shí)鐘(Frequency used for IDELAYCTRL)的一個(gè)周期。IODELAY可用于組合輸入通路、寄存輸入通路、組合輸出通路或寄存輸出通路,還可以在內(nèi)部資源中直接使用。IODELAY允許各輸入信號(hào)有獨(dú)立的延遲。按照類型可以分為IDELAY、ODELAY、IODELAY[5]。
當(dāng)用作IDELAY時(shí),數(shù)據(jù)從IBUF或內(nèi)部資源輸入,然后輸出到ILOGIC/ISERDES,包括3種可用操作模式:
1)零保持時(shí)間延遲模式(IDELAY_TYPE=DEFAULT);
2)固定延遲模式(IDELAY_TYPE=FIXED);
3)可變延遲模式(IDELAY_TYPE=VARIABLE);
當(dāng)用作ODELAY時(shí),數(shù)據(jù)從OLOGIC/OSERDES輸入,然后輸出到OBUF,僅有一種固定延遲輸出模式
當(dāng)用作IODELAY時(shí),將IOB配置成雙向模式。IODELAY交替延遲輸入通路和輸出通路上的數(shù)據(jù),包括兩種工作模式:
1)固定IDELAY(IDELAY_TYPE=FIXED)和固定ODELAY模式;
2)可變IDELAY(IDELAY_TYPE=VARIABLE)和固定ODELAY模式;
IODELAY基元結(jié)構(gòu)如圖3所示。
圖3 IODELAY基元結(jié)構(gòu)
其中:ODATAIN、IDATAIN、DATAIN均為被調(diào)節(jié)信號(hào)輸入端,區(qū)別在于需要和IODELAY基元鏈接的端口類型不同。通過配置原語,選擇其中一種模式來使用;DATAOUT為輸出端,當(dāng)輸入使用ODATAIN時(shí),輸出端只能接到輸出管腳,不能再做邏輯處理;T為三態(tài)控制信號(hào)輸入腳;CE、INC、C用于可變延遲模式下調(diào)節(jié)延時(shí)的控制信號(hào);RST為復(fù)位信號(hào)輸入。
2.2 基于時(shí)鐘偏移的延時(shí)單元設(shè)計(jì)
通過多次調(diào)用IODELAY原語,通過調(diào)整時(shí)鐘。產(chǎn)生等效的負(fù)向偏移。使得輸出的時(shí)鐘延時(shí)接近3/4周期后輸出,同時(shí)做微調(diào),可以實(shí)現(xiàn)輸出時(shí)鐘偏移量為負(fù)1/4周期[6],其他延時(shí)量以此類推,延時(shí)單元實(shí)現(xiàn)流程如圖4所示。
圖4 延時(shí)實(shí)現(xiàn)流程圖
2.2.1 正/負(fù)向延時(shí)輸出設(shè)計(jì)
正向延時(shí)輸出設(shè)計(jì)時(shí),若IODELY的資源充足,可以使用200 M時(shí)鐘作為參考時(shí)鐘,連續(xù)調(diào)用兩個(gè)可變IODELAY,兩個(gè)可變IODELAY的初始值設(shè)為0,將其串聯(lián),設(shè)置其以tap遞增模式變化。使用同一組控制信號(hào)控制器微調(diào),可完成正向0~10 ns延時(shí)微調(diào)。完全滿足0~6 ns延時(shí)微調(diào)。
若IODELY的資源不足,可以使用175 M時(shí)鐘作為參考時(shí)鐘,調(diào)用一個(gè)可變IODELAY,IODELAY的初始值設(shè)為0,設(shè)置其以tap遞增模式變化。使用同一組控制信號(hào)控制器微調(diào),可完成正向0~5.7 ns延時(shí)微調(diào)。
負(fù)向延時(shí)輸出設(shè)計(jì)時(shí),若IODELY的資源充足,使用200 M時(shí)鐘作為參考時(shí)鐘,先將原始時(shí)鐘取反,接入一個(gè)連續(xù)固定IODELAY,再接入兩個(gè)可變IODELAY。固定延時(shí)設(shè)置為18(計(jì)算得到),同時(shí)控制兩個(gè)可變IODELAY,兩個(gè)可變IODELAY的初始值設(shè)為63,設(shè)置其以tap遞減模式變化。使用同一組控制信號(hào)控制器微調(diào),可完成正向0~-10 ns延時(shí)微調(diào)。
若IODELY的資源不足,使用175 M時(shí)鐘作為參考時(shí)鐘,先將原始時(shí)鐘取反,接入一個(gè)連續(xù)固定IODELAY,再接入一個(gè)可變IODELAY。固定延時(shí)設(shè)置為18(計(jì)算得到),同時(shí)控制可變IODELAY,兩個(gè)可變IODELAY的初始值設(shè)為63,設(shè)置其以tap遞減模式變化。使用同一組控制信號(hào)控制器微調(diào),可完成正向0~-5.7 ns延時(shí)微調(diào)。
2.2.2 正負(fù)方向延時(shí)切換設(shè)計(jì)
由于正向延時(shí)和負(fù)向延時(shí)的產(chǎn)生方法不一樣,所以調(diào)用兩組IODELAY原語,第一組完成正向延時(shí),第二組完成負(fù)向延時(shí),最終按照配置的要求,二選一輸出。在FPGA中,通過內(nèi)部邏輯產(chǎn)生信號(hào),信號(hào)被送到OBUF,再從OBUF輸出到PAD,其中OBUF自身就具有邏輯選擇功能。
當(dāng)需要將時(shí)鐘拉偏時(shí),首先通過解析延時(shí)配置參數(shù),獲取產(chǎn)生CE電平相應(yīng)長(zhǎng)度的控制量,然后對(duì)所有IODELAY進(jìn)行復(fù)位,使其恢復(fù)到初始狀態(tài),最后根據(jù)表2配置的控制量產(chǎn)生相應(yīng)長(zhǎng)度的CE信號(hào)。
表2 CE參數(shù)配置表
2.3 邏輯資源約束
在進(jìn)行延時(shí)單元設(shè)計(jì)時(shí),需要對(duì)IODELAY的位置進(jìn)行約束,使其盡量接近輸出端口,或者接近下一級(jí)邏輯單元。通過對(duì)時(shí)鐘、數(shù)據(jù)等信號(hào)加上兩個(gè)IODELY單元來實(shí)現(xiàn)延時(shí)控制的方法,需要進(jìn)行如下設(shè)計(jì)配置:
1)為了滿足最大偏移6 ns的要求,需要將兩個(gè)IODELY串聯(lián)使用;
2)為了滿足IODELY的使用要求,在使用IDELAY模式時(shí),IDELY單元的輸出信號(hào)需要人為做一次邏輯后才能輸出;
每個(gè)IO需要兩個(gè)IODELY單元,因此布局布線時(shí)需要嚴(yán)格約束,且在使用前需要判斷是所用到的IO附近的IOLEDY單元數(shù)量是否滿足需求。在功能實(shí)現(xiàn)后,需要對(duì)IODELAY所在的位置進(jìn)行時(shí)序約束,將IODELAY約束到IO的距離PAD最近的位置。圖5為邏輯資源約束效果對(duì)比。
圖5 邏輯資源約束
如圖5所示,圈中線條為產(chǎn)生延時(shí)相關(guān)線路。在沒有做約束的情況下,會(huì)默認(rèn)優(yōu)先調(diào)取X0Y0位置的IODELY。實(shí)際使用過程中,PAD的位置并不在X0Y0。這樣會(huì)造成片內(nèi)線路回繞,增大FPGA片內(nèi)延時(shí),影響時(shí)序拉偏測(cè)試精度。
2.4 延時(shí)單元仿真
針對(duì)延時(shí)單元邏輯設(shè)計(jì)進(jìn)行仿真,仿真結(jié)果如圖6所示。圖中DATAOUT1~DATAOUT5的變化情況一樣,當(dāng)偏移量為5時(shí),會(huì)同時(shí)產(chǎn)生正向偏移和負(fù)向偏移,僅在clk_sim_ out最后輸出時(shí)選擇需要輸出的信號(hào)。
圖6 延時(shí)單元仿真結(jié)果
如圖6(a)所示,iodely為8’h5時(shí),需要將輸出時(shí)鐘延時(shí)5 ns輸出。
1)t0,clk_sim為原始信號(hào),
2)t1,經(jīng)過一次可變IODELY之后,得到DATAOUT1,
3)t2,經(jīng)過一次可變IODELY之后,得到DATAOUT2,如圖6(b)所示,iodely為8’h85時(shí),需要將輸出時(shí)鐘超前5 ns輸出。
1)t1,將原始信號(hào)clk_sim取反輸入一次固定IODELY。
2)t2,取反后的時(shí)鐘經(jīng)過一次固定IODELY之后,得到DATAOUT3,tap值為xx,參考時(shí)鐘200 M,即產(chǎn)生1.35 ns延時(shí);
3)t3,再經(jīng)過一次可變IODELY之后,得到DATAOUT4,切控制器tap值為xx,參考時(shí)鐘200 M,每個(gè)IODELY產(chǎn)生2.5 ns延時(shí)。
4)t4,再經(jīng)過一次可變IODELY之后,得到DATAOUT5,切控制器tap值為xx,參考時(shí)鐘200 M,每個(gè)IODELY產(chǎn)生2.5 ns延時(shí)。
5)t5,三次次疊加后得到了延時(shí)量等效為提前5 ns的clk _out_sim。
由于固有延時(shí)的存在,因此當(dāng)設(shè)施延時(shí)量為0時(shí),輸出量信號(hào)與延時(shí)信號(hào)存在一定的延時(shí)。通過校正,可以使延時(shí)量變?yōu)闉?,但其缺點(diǎn)是使得負(fù)方向的可變化范圍減小。
圖7為SAR數(shù)據(jù)源輸出時(shí)鐘實(shí)測(cè)結(jié)果,下圖藍(lán)線偏移之后的時(shí)鐘信號(hào),紅線為原始時(shí)鐘信號(hào)。其中,圖7(a)為延時(shí)值為0 ns時(shí),原始時(shí)鐘和延時(shí)時(shí)鐘對(duì)比圖(t0=6 ns),圖7 (b)為延時(shí)值為-6 ns時(shí)(校正0點(diǎn)),原始時(shí)鐘和延時(shí)時(shí)鐘對(duì)比;圖7(c)為延時(shí)值為10 ns時(shí),原始時(shí)鐘和延時(shí)時(shí)鐘對(duì)比(t1=4 ns)。
本文提出與設(shè)計(jì)的基于IODELAY原語設(shè)計(jì)的延遲單元具有架構(gòu)靈活、耦合度低和可擴(kuò)展性強(qiáng)的特點(diǎn),采用該延時(shí)單元可以實(shí)現(xiàn)SAR載荷模擬器時(shí)鐘拉偏輸出功能,測(cè)試結(jié)果表明,通過校正可以消除FPGA內(nèi)傳輸固有延時(shí)誤差,其延時(shí)功能可以滿足SAR載荷模擬器針對(duì)星載數(shù)傳分系統(tǒng)的信號(hào)拉偏測(cè)試需求,時(shí)序調(diào)整范圍達(dá)到-6~6 ns,步進(jìn)1 ns,LVDS接口輸出時(shí)鐘最高頻率可以達(dá)到60 MHz。
圖7 延時(shí)單元測(cè)試結(jié)果
[1]高洪濤,陳 虎,劉 暉,等.國(guó)外對(duì)地觀測(cè)衛(wèi)星技術(shù)發(fā)展[J].航天器工程,2009,18(3):84-92.
[2]張銳菊.航天器載遙感器與數(shù)傳系統(tǒng)接口設(shè)計(jì)規(guī)范[S].2007.
[3]趙 宏,單慶曉,肖昌炎,等.遙感衛(wèi)星數(shù)傳基帶數(shù)據(jù)模擬源的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(2):411-413.
[4]張文彬,鄧云凱,倪 江.星載SAR目標(biāo)回波信號(hào)模擬源的研制[J].計(jì)算機(jī)測(cè)量與控制,2005,13(3):265-266.
[5]Kilts S.Advanced FPGA Desgin:Architecture,Implementation and Optimization[M].孟憲元,譯.北京:機(jī)械工業(yè)出版社,2009.
[6]Jurgenmattausch H,Matthiesen F.Amemory based high-speed digital delay line with a large adjustable length[J].IEEE Journal of Solid state E Circuits,1988,23(1).
Design of Delay Unit in SAR Load Simulator Based on IODELAY Primitive
Zhao Jun,Ai Tiezhu,Zhang Yukun
(Xi′an Aviation Institute of Computing Technology,Aviation Industry Corporation of China,Xi′an 710065,China)
In allusion to the requirement of timing perturbation between data and clock,which is in process of testing data transmission subsystem of spaceborne synthetic aperture radar(SAR),a new design of SAR load simulator,which is based on delay unit with FPGA primitive,is proposed in this thesis.For testing data transmission subsystem,the delay unit,completing timing perturbation between data and clock,consists of IODELAY primitive by timing rules.And it also analyzes the influence of the logic resource constraint in FPGA on the timing perturbation function.Finally,the performance and robustness are assessed through the simulation and test,whose result shows that the range of timing perturbation is from-6ns to 6ns with 1ns step.The system runs stably and meets the design requirements.
spaceborne synthetic aperture radar;data transmission subsystem;load simulator;IODELAY primitive
1671-4598(2016)08-0240-04
10.16526/j.cnki.11-4762/tp.2016.08.066
:TP957.51
:A
2016-02-23;
:2016-03-12。
航空科學(xué)基金-青年基金(2014ZD31006)。
趙 君(1982-),男,博士,一站博士后,高級(jí)工程師,主要從事新型機(jī)載機(jī)電系統(tǒng)嵌入式智能控制、機(jī)電系統(tǒng)綜合仿真與評(píng)估技術(shù)方向的研究。