摘 要:用VHDL語言設(shè)計一個連續(xù)脈沖
信號延遲線,通過對連續(xù)脈沖信號的可控延遲來
仿真脈沖多普勒雷達對動目標的跟蹤回波包絡(luò),分析并建立了直接采樣法的系統(tǒng)模型。
關(guān)鍵詞:VHDL,
CPLD,雷達回波,延遲線
?
?
1 引言
在延遲
控制系統(tǒng)及目標跟蹤仿真測試系統(tǒng)等應(yīng)用系統(tǒng)中,要使用脈沖延遲器來實現(xiàn)脈沖信號延遲控制功能。傳統(tǒng)的延遲繼電器無法滿足大動態(tài)范圍、
高精度以及高速實時控制等諸多系統(tǒng)要求?,F(xiàn)有的專用脈沖延遲器件(如
AD9500/9501等)雖然在精度、速度方面可以保證,但對于比較大的動態(tài)范圍實現(xiàn)比較困難,而且在連續(xù)脈沖信號的延遲時間逐漸減小時,無法實現(xiàn)負增量延遲。針對以上問題,我們采用VHDL對CPLD進行
編程,通過直接采樣法實現(xiàn)大范圍動態(tài)連續(xù)脈沖信號可控延遲功能。
2 系統(tǒng)功能
本系統(tǒng)擬定對頻率范圍在200~600kHz的TTL電平脈沖序列進行延遲處理,延遲范圍600ns~170μs,分辨率為100ns。延遲精度<50ns,延遲量刷新周期大于脈沖信號周期但要小于1ms。
3 方案選擇
當要處理的信號是單個脈沖信號或連續(xù)脈沖的脈沖間隔時間大于脈沖延遲時間時,延遲器只要一級緩沖,不必考慮脈沖串的多脈沖存儲和再生問題。這種情況下,可以根據(jù)不同精度的要求采用
機械延遲(如:延時繼電器)、
模擬延遲(如:積分延遲)和數(shù)字延遲(如:計數(shù)器)等手段。如果要無失真恢復脈沖信號,則必須有精確的脈寬測量和恢復電路。見圖1。
?
?

?
但當脈沖串的脈沖間隔小于延遲時間時,就有很大的不同。此時必須考慮多脈沖存儲和再生的問題,電路必須設(shè)定相應(yīng)的存儲器保存多脈沖
信息用于再生。可以直接對脈沖串進行采樣,然后量化為
數(shù)字信號進行存儲,再利用延遲量來控制信號再生。另外,脈沖信號不同于通常的數(shù)字信號,數(shù)字信號的占空比一般為固定的50%,所以,無論存儲和再生都比較容易,而脈沖信號的占空比是不規(guī)則的,隨時因場合的變化而變化,所以,要無失真地再生脈沖串信號必須精確記錄每一脈沖的脈沖寬度和周期信息。
輸入連續(xù)脈沖是邏輯電平信號,所以,可以將連續(xù)脈沖串信號看作邏輯信號直接使用FIFO進行采樣,采樣結(jié)果只有1和0兩種值,所以采樣結(jié)果只需要一位寬度的FIFO進行存儲。為保證電路的精度,采樣速度可能比較高,采樣速度越高,所需要的FIFO規(guī)模越大,對于本設(shè)計所要求的精度,即最大延遲170μs,延遲精度<50ns,則采樣周期必須小于25ns。選擇40MHz的采樣頻率,采樣周期為25ns,采樣精度±25ns。此時要求FIFO的深度為170000/25=6800bit,為解決在延遲參數(shù)切換時造成的系統(tǒng)不連續(xù)性,尤其在延遲參數(shù)遞減時造成的系統(tǒng)信息無法恢復的問題,我們對奇數(shù)幀和偶數(shù)幀的信號分別進行延遲處理(設(shè)每一次延遲參數(shù)下的脈沖信號為一幀)。使用控制信號來分時選通兩種FIFO進行清除和采樣以及信號輸出。
?
?

?
4 方案實現(xiàn)
具體方案原理見圖2,F(xiàn)IFO的數(shù)量為2個。用2個FIFO輪流存儲脈沖的采樣值,延遲時間相同的脈沖存儲在同一個FIFO中,延遲時間不同的脈沖存在不同的FIFO中,延遲時間每刷新一次,存儲FIFO切換一次。輸出信號由兩個FIFO的輸出相或而得。
從圖2可以看出:該設(shè)計主要有切換控制、延遲時間控制、FIFO等組成部分。信號由輸入端進入器件,經(jīng)切換開關(guān),由切換控制選擇存儲FIFO,直接采樣存儲到不同的FIFO中去,由延遲
控制器控制延遲時間,最后兩個FIFO的輸出相或得到輸出脈沖。
用可編程器件進行設(shè)計時,應(yīng)采用自頂向下的設(shè)計方法,脈沖延遲電路的
端口圖如圖3所示。首先,把系統(tǒng)劃為幾個模塊,再對各個模塊進行設(shè)計,完成
電路設(shè)計。在設(shè)計脈沖延遲電路時,對電路模塊進行了劃分,分成了切換控制、延遲控制、存儲FIFO等模塊,由各模塊之間的控制關(guān)系構(gòu)成了系統(tǒng)的結(jié)構(gòu)框圖如圖4所示。
端口說明:
·clk為系統(tǒng)
時鐘,應(yīng)用于整個電路,輸入端口;
·reset為系統(tǒng)復位信號,高電平有效,輸入
·cs為延遲時間更新控制信號,控制延遲時間的改變,低電平有效,輸入端口;
·pulse為調(diào)制脈沖,被處理脈沖,輸入端口;
·
timda[15..0]為延遲時間數(shù)據(jù),延遲時間的大小由此信號得到,為16位數(shù)據(jù)線,輸入端口;
·outpulse為調(diào)制脈沖輸出信號,輸出延遲后的脈沖,輸出端口。
該方案設(shè)計的脈沖延遲電路由三類元件組成,分別是切換控制元件(CTRLFSM)、延遲控制元件(DELAYCTRL)、存儲單元(LPFIFO)。下面對各元件進行設(shè)計:
CTRLFSM 該元件為時序邏輯電路,可設(shè)計成有限狀態(tài)機。狀態(tài)轉(zhuǎn)移圖如圖5所示:首先,一個同步復位信號使該狀態(tài)機進入空閑態(tài)(idle)。當cs信號有效后,在下一個時鐘周期進入decision狀態(tài),再根據(jù)ab1信號分別進入channela或channelb狀態(tài),判斷并發(fā)選擇信號。當pulse有效時進入last狀態(tài),進行切換,切換后,等待cs無效,以便返回空閑狀態(tài)。
DELAYCTRL 延遲時間控制元件完成延遲時間的刷新和延遲時間的定時控制,由一個有限狀態(tài),計數(shù)器完成定時。定時計數(shù)器為簡單的16位計數(shù)器,設(shè)計比較簡單,在此不再贅述。這里只介紹一下延遲控制器的設(shè)計,其狀態(tài)轉(zhuǎn)移圖如圖6所示。延時控制器包括三個狀態(tài):空閑狀態(tài)(idle)、延遲時間刷新狀態(tài)(indata)、延時狀態(tài)(countstar)。
LPFIFO 存儲單元可以自己設(shè)計,也可以調(diào)用已有
參數(shù)化lpm模塊。為簡化設(shè)計,提高器件的利用率,本方案中直接調(diào)用lpm模塊,具體調(diào)用過程可由軟件生成。
綜上所述,可以寫出脈沖延遲電路的實體說明如下(VHDL語言):
說明了上述元件包以后,可以根據(jù)頂層結(jié)構(gòu)圖將各元件連接起來,得到脈沖延遲電路的頂層描述VHDL語言代碼如下:
本設(shè)計選擇
Altera的FLEX 10KE
產(chǎn)品,Altera FLEX 10KE的產(chǎn)品集成度更高,工作頻率高、系統(tǒng)傳輸延遲更小。采樣周期為25ns,采樣精度±25ns。要求FIFO的深度為2×170000/25=2×6800bit,Altera FLEX 10KE的EAB規(guī)模為2048×2bit,對于40MHz的采樣時鐘,每一個FIFO至少需要4塊EAB(6800/2048>3),共8塊,此時選用EPF10K50E比較合適,電路板設(shè)計采用
Mentor Graphic
EDA產(chǎn)品,CPLD設(shè)計采用Altera的MaxplusII。為了延遲系統(tǒng)能盡量獨立工作,采用主動配置方式設(shè)計系統(tǒng),選用Altera的EPC2電可擦除EP
ROM來配置系統(tǒng)。電路
PCB及電路實物圖略。
5 系統(tǒng)仿真
完成設(shè)計后,用MAX+PLUS II軟件進行后仿真,仿真結(jié)果如圖7所示。
?
?

?
從圖7可以看出,輸入信號與輸出信號延遲可變,輸出的脈沖信數(shù)與輸入的脈沖個數(shù)相等。符合設(shè)計要求,滿應(yīng)用需要。
6 結(jié)束語
本設(shè)計不同于現(xiàn)有的延遲電路,它可以對實時連續(xù)信號進行大范圍動態(tài)延遲,不但可以實現(xiàn)正增量延遲,更重要的是可以實現(xiàn)負增量動態(tài)延遲,這為雷達回波模擬提供了可能,同時延遲范圍不局限于通常延遲電路小于一個脈沖周期的延遲時間,在不丟失脈沖的前提下,實現(xiàn)了多周期大范圍動態(tài)延遲。該方法不但可以完成TTL電平信號的大范圍動態(tài)延遲,而且只要適當增加位深度,就可以將該方法用于對模擬信號進行采樣延遲,為各種信號大范圍實時動態(tài)延遲提供了很好的思路。
?
參考文獻
?
1 侯伯亨,顧新編著.VHDL
硬件描述語言與數(shù)字邏輯電路設(shè)計.西安:西安
電子科技大學出版社,1999,1
2 曾繁泰,陳美金著.VHDL程序設(shè)計.北京:清華大學出版社,2001,2
3 林敏,方穎立編著.VHDL數(shù)字系統(tǒng)設(shè)計與高層次綜合.北京:電子工業(yè)出版社,2002,1
評論