關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于現場可編程門陣列的數控延時器的設計

基于現場可編程門陣列的數控延時器的設計

——
作者:孫建東 (南京理工大學 電子工程與光電技術學院,江蘇 南京210094) 時間:2007-01-26 來源:《國外電子元器件》 收藏

1 引言

利用硬件描述語言結合可編程邏輯器件(pld)可以極大地方便數字集成電路的設計,本文介紹一種利用vhdl.硬件描述語言結合現場可編程門陣列(fpga)設計的數控延時器,延時器在時鐘clk的作用下,從8位數據線輸入延時量,到iatch高電平時鎖存數據,可以實現對觸發(fā)脈沖trig的任意量的延時。由于延時范圍不同,設計所用到的fpga的資源也不同,本文詳細介紹最大延時量小于觸發(fā)脈沖周期的情況。該延時器的軟件編程和調試均在muxplus ii環(huán)境下完成,系統(tǒng)設計選用altera公司的epfl0k30aqc208-3,epc1441型專用電路,與dsp相結合,應用于雷達目標模擬器的控制部分,實現對目標距離的模擬。

本文引用地址:http://butianyuan.cn/article/21400.htm

2 設計原理

筆者設計的數控延時器采用3個串聯計數器來實現。由于在觸發(fā)脈沖trig的上升沿開始延時,使用時鐘的上升沿計數,考慮到vhdl對時鐘描述的限制,設計采用計數器1產生同步脈沖sync,寬度為tclk,利用sync的高電平觸發(fā)cflag,并在延時結束后cflag清零;計數器2計算延時的長度;計數器3計算所要產生的輸出脈沖output的脈寬,并在計數結束時對計數器2和計數器3清零。延時器的外部接口電路如圖1所示,原理框圖如圖2所示。整個電路的設計采用同步時鐘計數以盡量減少因局部時鐘不穩(wěn)定所產生的毛刺和競爭冒險。



該數控延時器低電平時鎖存數據,高電平時改變內部寄存器的數值(與ad9501型數控延時器的數據鎖存端電平相反)。一般情況下,觸發(fā)脈沖與時鐘的上升沿是一致的,如果輸入的觸發(fā)脈沖與時鐘不一致.則整個電路的延時將產生一定的誤差。時序仿真如圖3所示,延時量由dlylh為高電平時數據總線data8上的數據決定。


該數控延時器的vhdl硬件描述語言程序如下:



在該程序中,cnt1為延時量,cnt2為輸出脈沖的寬度,cflag為開始計數的標志。該段程序在觸發(fā)脈沖的周期大于256*tclk時,最大延時量為256*tclk,如果觸發(fā)脈沖周期小于256*tclk,則最大延時量為tclk一toutput (toutput為輸出脈沖的寬度)。

事實上。在實際應用中,延時后的輸出脈沖與輸入的觸發(fā)脈沖的頻率并不相同,譬如在設計雷達目標模擬器時要求延時后產生一連串的7分頻時鐘,時序如圖4所示(延時后產生11個7分頻的脈沖,占空比為2:5)。

要產生上述觸發(fā)脈沖,只需改變計數器2的長度,并在程序中加入case判斷語句即可。


3 延時范圍討論

3.1 延時范圍小于觸發(fā)脈沖周期

這種情況只需增加數據輸入端的位數,不過一般情況下,數據輸入端位數是固定的,這時可以在fpga的內部定義多位的數據寄存器。以延時范圍為224*tclk為例,在fpga內部定義24位的數據寄存器,并定義3條地址線dlylh1、dlylh2和dlylh3,通過8位數據總線分3次向數據寄存器送數,送數時間應在前一脈沖延時結束之后與下一脈沖到來之前。數據送入寄存器的程序如下:


3.2 延時范圍大于觸發(fā)脈沖周期

這種情況在實際應用中比較廣泛.譬如在雷達模擬器的設計中,所模擬的目標的距離范圍一般都很大.因而輸出延時脈沖的延時量將大于1個觸發(fā)脈沖周期,這時在考慮到fpga資源的前提下.可以采用多路延時合并的處理方法。以延時范圍小于4個周期為例,具體時序如圖5所示。
利用sync信號4分頻并產生4路分頻后的信號。在fpga內部設計4個延時電路,sync1、sync2、sync3、sync4分別作為4個延時電路的觸發(fā)信號,每個延時電路仿照第一種延時范圍的設計方法,輸出觸發(fā)脈沖通過4個或門送到輸出端output,值得注意的是每個延時電路內部都要定義1個與datareg位數相同的數據寄存器。延時數據在延時開始時送入內部寄存器。使用多路延時合并方法最關鍵的是要產生準確的分頻脈沖.如果產生的脈沖有毛刺.或者電路在設計的時候存在冒險,整個延時系統(tǒng)有可能都不能正常工作。

4 延時誤差分析

以延時范圍小于觸發(fā)脈沖周期為例,分析固定延時及延時誤差。

該延時器在muxplus ii環(huán)境下從輸入時鐘tclk到dlytrig的延時為8.2 ns;產生sync的寬度為tclk。因此在觸發(fā)脈沖上升沿與時鐘信號上升沿對時.該延時電路的固有延時為8.2 ns+2tclk。但一般情況下.觸發(fā)脈沖的上升沿與時鐘的上升沿并不是一致的,根據二者之間的關系可知,最大延時誤差t滿足:0
由于該數控延時器使用時鐘來計數,因此延時量只能為tclk的整數倍。如果設計者希望有更精確的延時.可以在設計的基礎上外加一片ad9501,該器件的延時可以精確到(ttotal+td)×1/28,其中ttotal是ad9501的總延時,td是ad9501的固有延時。

5 結束語

本文詳細介紹了利用vhdl硬件描述語言結合fpga設計一種數控延時器的方法,討論了延時范圍,分析了延時誤差,該延時器的設計旨在和dsp相結合實現對延時信號的處理。隨著eda技術的飛速發(fā)展。使用硬件描述語言設計fpga是電子設計人員應該掌握的一門技術。同時,將dsp和fpga技術相結合是進行數字信號處理的一種趨勢。




關鍵詞:

評論


相關推薦

技術專區(qū)

關閉