江友平,梁 晶,林沂杰,蔡 武
(中國船舶重工集團(tuán)公司第七二三研究所,江蘇 揚(yáng)州 225101)
在現(xiàn)代軍事對抗系統(tǒng)設(shè)計(jì)中,無源定位[1]已經(jīng)成為電子對抗的一個相當(dāng)重要、不可或缺的技術(shù)。因此對無源定位系統(tǒng)的模擬為現(xiàn)代電子對抗系統(tǒng)的試驗(yàn)和演練提供必要的試驗(yàn)驗(yàn)證環(huán)境及場景設(shè)置成為一種必不可少的手段。就時差定位模擬系統(tǒng)而言,如何提高系統(tǒng)時鐘的精度及分辨率成為該系統(tǒng)設(shè)計(jì)的關(guān)鍵。時鐘的精度取決于該晶振的頻率穩(wěn)定度,而時鐘的分辨率則取決于晶振的頻率大小。一般晶振的頻率較低,通過倍頻以及鎖相環(huán)技術(shù)[2]可以獲得高頻率以提高分辨率。在現(xiàn)場可編程門陣列(FPGA)控制的系統(tǒng)中,控制時鐘的頻率一般不會太高,因此在高分辨率系統(tǒng)中,比如對時差定位系統(tǒng)的模擬[3],需要控制時延分辨率精度在幾ns甚至1 ns以下,這就需要FPGA的控制時鐘高達(dá)1 GHz,顯然在FPGA的控制時序中難以實(shí)現(xiàn)。本文結(jié)合這種需求,就時差定位模擬系統(tǒng)如何提高系統(tǒng)定位精度提出了一種高分辨率時延控制的設(shè)計(jì)方法。該設(shè)計(jì)方法在不增加多余硬件的情況下,采用了時延粗控加精控的方案來解決時差定位系統(tǒng)1 ns分辨率的問題。粗控時采用高精度控制時鐘對延時值做等分處理,在精控時,利用輸入/輸出延時(IODELAY)單元模塊對控制時序做精控補(bǔ)償,使得時延控制能夠精準(zhǔn)到1 ns,以達(dá)到提高系統(tǒng)分辨率的目的。
時差定位系統(tǒng)至少需要3個偵察站組成,其中1個是主站,2個是輔站[4]。輔站把接收到的雷達(dá)信號傳送到主站,由主站測量出雷達(dá)脈沖傳播到輔站和主站的時間差。這個時間差反映了雷達(dá)到這個輔站和主站的路程之差,就能畫出1條雙曲線軌跡,雷達(dá)必定在這條軌跡之上。2個時差確定的雙曲線軌跡的交點(diǎn)就是雷達(dá)的位置。
在模擬時差定位系統(tǒng)時一般采用脈沖展寬切割法來模擬實(shí)現(xiàn)雷達(dá)信號到各基站的時間差。如圖1所示,W是展寬脈沖,w是真實(shí)脈寬,以雷達(dá)信號到達(dá)其中距離最近的其中一站的時間作為參考時間點(diǎn)t,可得到該站相對于其他兩站的時間差Δt1,Δt2。以延時值t+Δt1,t+Δt2作除數(shù),以系統(tǒng)延時控制時鐘周期T作被除數(shù),得到的商即是系統(tǒng)需要控制的延時周期數(shù),余數(shù)為當(dāng)前系統(tǒng)所產(chǎn)生的誤差。最大誤差接近于一個時鐘周期T,由于控制時鐘一般在幾ns到十幾ns,因此模擬的時差定位系統(tǒng)不可避免地引入了量化誤差,造成定位精準(zhǔn)度不夠。
圖1 時差定位模擬系統(tǒng)的時延圖
FPGA每個I/O模塊都包含一個可編程絕對延遲單元,稱為輸入/輸出延遲(IODELAY)單元。如圖2所示,它可以連接ILOGIC或者OLOGIC或者同時連接這2個模塊。IODELAY是具有64個tap的環(huán)繞延遲單元,具有標(biāo)定的tap分辨率。IODELAY可以用于組合輸入通路、寄存器輸入通路、組合輸出通路或寄存器輸出通路,還可以在內(nèi)部資源中直接使用,允許各輸入輸出信號有獨(dú)立的延遲。
圖2 IODELAY原理框圖
當(dāng)IODELAY作為輸入延遲單元(IDELAY)使用時,數(shù)據(jù)從輸入緩沖器(IBUF)或內(nèi)部資源輸入,有3種可用操作模式,分別為零保持時間延遲模式、固定延遲模式、可變延遲模式。當(dāng)用作輸出延遲(ODLEAY)單元時,數(shù)據(jù)從輸出邏輯(OLOGIC)單元輸入,然后輸出到輸出緩沖器(OBUF),只有一種可用操作模式——固定輸出延遲模式,在固定輸出延遲模式下,配置是將延遲值預(yù)設(shè)置成由屬性O(shè)DELAY_VALUE確定的tap數(shù),此值配置后不可更改。
利用FPGA每個I/O模塊單元可編程延遲的特點(diǎn),根據(jù)上位機(jī)解算好的3路時差信號的時延值,首先對3路延時控制信號作粗控控制,粗控周期是能被時延值整除的控制時鐘周期數(shù),即商的值,余數(shù)作為時延控制需要的精控控制補(bǔ)償值。具體設(shè)計(jì)流程如圖3所示。
圖3 時延控制信號產(chǎn)生流程圖
精控補(bǔ)償?shù)氖疽鈭D如圖4所示。
圖4 精控補(bǔ)償示意圖
精控補(bǔ)償時調(diào)用IODELAY控制模塊,選擇合適的tap值,tap值的取值范圍從0到63,只要選擇合適的tap值,使得Δt-nT-τ<1 ns即可。精控補(bǔ)償?shù)木唧w操作如圖5所示。
圖5 精控補(bǔ)償流程圖
假設(shè)T=4 ns時,則所有可能出現(xiàn)的精控補(bǔ)償值如表1所示。
利用Xilinx編譯工具ISE調(diào)用模塊IODELAY,對IODELAY的屬性值作如下設(shè)置:
COUNTER_WRAPAROUND?“WRAPAROUND”,
DATA_RATE?“SDR”,
DELAY_SRC?“ODATAIN”,
IDELAY2_VALUE?0,
IDELAY_MODE?“NORMAL”,
IDELAY_TYPE?“FIXED”,
IDELAY_VALUE?0,
SERDES_MODE?“NONE”;
表1 精控補(bǔ)償值統(tǒng)計(jì)表
鑒于IODELAY模塊的固定延時為110 ps,對于不同的精控補(bǔ)償值,tap屬性設(shè)置值如表2所示。
表2 IODELAY延時模塊表
精控補(bǔ)償值為3 ns時,先經(jīng)過1個延時為1 ns的IODELAY模塊,然后再經(jīng)過一個2 ns的IODELAY模塊,也可以串行經(jīng)過3個延時為1 ns的IODELAY模塊。
具體仿真如圖6~圖8所示,其中din_d為輸入信號,dout、dout1、dout2分別為輸出信號,從仿真圖可以看出,dout、dout1、dout2相對于輸入信號din_d分別延時了1 ns、2 ns、3 ns,從而實(shí)現(xiàn)了對時延控制輸入信號的精控補(bǔ)償,使得系統(tǒng)的時延控制分辨率由4 ns提高到1 ns。
圖6 1 ns的IODELAY模塊延時圖
圖7 2 ns的IODELAY模塊延時圖
圖8 3 ns的IODELAY模塊延時圖
在不增加任何硬件的情況下,也不依賴于提高FPGA的控制時鐘,以避免時序的復(fù)雜性,本文從實(shí)際應(yīng)用出發(fā),提出了通過采用IODELAY模塊的方案來達(dá)到1 ns分辨率的時延控制精度的方案。該方案可以滿足特定條件下系統(tǒng)對高分辨率時延控制精度的需求。鑒于IODELAY模塊的固定延時為110 ps,所以系統(tǒng)的時延控制分辨率完全可以做到500 ps,本文不再贅述。