基于現(xiàn)場可編程門陣列的數(shù)控延時(shí)器的設(shè)計(jì)
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):631
    
    
    作者:孫建東
    
    1引言
    
    利用硬件描述語言結(jié)合可編程邏輯器件(pld)可以極大地方便數(shù)字集成電路的設(shè)計(jì),本文介紹一種利用vhdl.硬件描述語言結(jié)合現(xiàn)場可編程門陣列(fpga)設(shè)計(jì)的數(shù)控延時(shí)器,延時(shí)器在時(shí)鐘clk的作用下,從8位數(shù)據(jù)線輸入延時(shí)量,到iatch高電平時(shí)鎖存數(shù)據(jù),可以實(shí)現(xiàn)對觸發(fā)脈沖trig的任意量的延時(shí)。由于延時(shí)范圍不同,設(shè)計(jì)所用到的fpga的資源也不同,本文詳細(xì)介紹最大延時(shí)量小于觸發(fā)脈沖周期的情況。該延時(shí)器的軟件編程和調(diào)試均在muxplus ii環(huán)境下完成,系統(tǒng)設(shè)計(jì)選用altera公司的epfl0k30aqc208-3,epc1441型專用電路,與dsp相結(jié)合,應(yīng)用于雷達(dá)目標(biāo)模擬器的控制部分,實(shí)現(xiàn)對目標(biāo)距離的模擬。
    
    2 設(shè)計(jì)原理
    
    筆者設(shè)計(jì)的數(shù)控延時(shí)器采用3個(gè)串聯(lián)計(jì)數(shù)器來實(shí)現(xiàn)。由于在觸發(fā)脈沖trig的上升沿開始延時(shí),使用時(shí)鐘的上升沿計(jì)數(shù),考慮到vhdl對時(shí)鐘描述的限制,設(shè)計(jì)采用計(jì)數(shù)器1產(chǎn)生同步脈沖sync,寬度為tclk,利用sync的高電平觸發(fā)cflag,并在延時(shí)結(jié)束后cflag清零;計(jì)數(shù)器2計(jì)算延時(shí)的長度;計(jì)數(shù)器3計(jì)算所要產(chǎn)生的輸出脈沖output的脈寬,并在計(jì)數(shù)結(jié)束時(shí)對計(jì)數(shù)器2和計(jì)數(shù)器3清零。延時(shí)器的外部接口電路如圖1所示,原理框圖如圖2所示。整個(gè)電路的設(shè)計(jì)采用同步時(shí)鐘計(jì)數(shù)以盡量減少因局部時(shí)鐘不穩(wěn)定所產(chǎn)生的毛刺和競爭冒險(xiǎn)。
    
    
    
    
    
    該數(shù)控延時(shí)器低電平時(shí)鎖存數(shù)據(jù),高電平時(shí)改變內(nèi)部寄存器的數(shù)值(與ad9501型數(shù)控延時(shí)器的數(shù)據(jù)鎖存端電平相反)。一般情況下,觸發(fā)脈沖與時(shí)鐘的上升沿是一致的,如果輸入的觸發(fā)脈沖與時(shí)鐘不一致.則整個(gè)電路的延時(shí)將產(chǎn)生一定的誤差。時(shí)序仿真如圖3所示,延時(shí)量由dlylh為高電平時(shí)數(shù)據(jù)總線data8上的數(shù)據(jù)決定。
    
    
    
    該數(shù)控延時(shí)器的vhdl硬件描述語言程序如下:
    
    
    
    
    
    
    
    在該程序中,cnt1為延時(shí)量,cnt2為輸出脈沖的寬度,cflag為開始計(jì)數(shù)的標(biāo)志。該段程序在觸發(fā)脈沖的周期大于256*tclk時(shí),最大延時(shí)量為256*tclk,如果觸發(fā)脈沖周期小于256*tclk,則最大延時(shí)量為tclk一toutput (toutput為輸出脈沖的寬度)。
    
    事實(shí)上。在實(shí)際應(yīng)用中,延時(shí)后的輸出脈沖與輸入的觸發(fā)脈沖的頻率并不相同,譬如在設(shè)計(jì)雷達(dá)目標(biāo)模擬器時(shí)要求延時(shí)后產(chǎn)生一連串的7分頻時(shí)鐘,時(shí)序如圖4所示(延時(shí)后產(chǎn)生11個(gè)7分頻的脈沖,占空比為2:5)。
    
    
    
    要產(chǎn)生上述觸發(fā)脈沖,只需改變計(jì)數(shù)器2的長度,并在程序中加入case判斷語句即可。
    
    
    
    3 延時(shí)范圍討論
    
    3.1 延時(shí)范圍小于觸發(fā)脈沖周期
    
    這種情況只需增加數(shù)據(jù)輸入端的位數(shù),不過一般情況下,數(shù)據(jù)輸入端位數(shù)是固定的,這時(shí)可以在fpga的內(nèi)部定義多位的數(shù)據(jù)寄存器。以延時(shí)范圍為224*tclk為例,在fpga內(nèi)部定義24位的數(shù)據(jù)寄存器,并定義3條地址線dlylh1、dlylh2和dlylh3,通過8位數(shù)據(jù)總線分3次向數(shù)據(jù)寄存器送數(shù),送數(shù)時(shí)間應(yīng)在前一脈沖延時(shí)結(jié)束之后與下一脈沖到來之前。數(shù)據(jù)送入寄存器的程序如下:
    
    
    
&nbs
    
    
    作者:孫建東
    
    1引言
    
    利用硬件描述語言結(jié)合可編程邏輯器件(pld)可以極大地方便數(shù)字集成電路的設(shè)計(jì),本文介紹一種利用vhdl.硬件描述語言結(jié)合現(xiàn)場可編程門陣列(fpga)設(shè)計(jì)的數(shù)控延時(shí)器,延時(shí)器在時(shí)鐘clk的作用下,從8位數(shù)據(jù)線輸入延時(shí)量,到iatch高電平時(shí)鎖存數(shù)據(jù),可以實(shí)現(xiàn)對觸發(fā)脈沖trig的任意量的延時(shí)。由于延時(shí)范圍不同,設(shè)計(jì)所用到的fpga的資源也不同,本文詳細(xì)介紹最大延時(shí)量小于觸發(fā)脈沖周期的情況。該延時(shí)器的軟件編程和調(diào)試均在muxplus ii環(huán)境下完成,系統(tǒng)設(shè)計(jì)選用altera公司的epfl0k30aqc208-3,epc1441型專用電路,與dsp相結(jié)合,應(yīng)用于雷達(dá)目標(biāo)模擬器的控制部分,實(shí)現(xiàn)對目標(biāo)距離的模擬。
    
    2 設(shè)計(jì)原理
    
    筆者設(shè)計(jì)的數(shù)控延時(shí)器采用3個(gè)串聯(lián)計(jì)數(shù)器來實(shí)現(xiàn)。由于在觸發(fā)脈沖trig的上升沿開始延時(shí),使用時(shí)鐘的上升沿計(jì)數(shù),考慮到vhdl對時(shí)鐘描述的限制,設(shè)計(jì)采用計(jì)數(shù)器1產(chǎn)生同步脈沖sync,寬度為tclk,利用sync的高電平觸發(fā)cflag,并在延時(shí)結(jié)束后cflag清零;計(jì)數(shù)器2計(jì)算延時(shí)的長度;計(jì)數(shù)器3計(jì)算所要產(chǎn)生的輸出脈沖output的脈寬,并在計(jì)數(shù)結(jié)束時(shí)對計(jì)數(shù)器2和計(jì)數(shù)器3清零。延時(shí)器的外部接口電路如圖1所示,原理框圖如圖2所示。整個(gè)電路的設(shè)計(jì)采用同步時(shí)鐘計(jì)數(shù)以盡量減少因局部時(shí)鐘不穩(wěn)定所產(chǎn)生的毛刺和競爭冒險(xiǎn)。
    
    
    
    
    
    該數(shù)控延時(shí)器低電平時(shí)鎖存數(shù)據(jù),高電平時(shí)改變內(nèi)部寄存器的數(shù)值(與ad9501型數(shù)控延時(shí)器的數(shù)據(jù)鎖存端電平相反)。一般情況下,觸發(fā)脈沖與時(shí)鐘的上升沿是一致的,如果輸入的觸發(fā)脈沖與時(shí)鐘不一致.則整個(gè)電路的延時(shí)將產(chǎn)生一定的誤差。時(shí)序仿真如圖3所示,延時(shí)量由dlylh為高電平時(shí)數(shù)據(jù)總線data8上的數(shù)據(jù)決定。
    
    
    
    該數(shù)控延時(shí)器的vhdl硬件描述語言程序如下:
    
    
    
    
    
    
    
    在該程序中,cnt1為延時(shí)量,cnt2為輸出脈沖的寬度,cflag為開始計(jì)數(shù)的標(biāo)志。該段程序在觸發(fā)脈沖的周期大于256*tclk時(shí),最大延時(shí)量為256*tclk,如果觸發(fā)脈沖周期小于256*tclk,則最大延時(shí)量為tclk一toutput (toutput為輸出脈沖的寬度)。
    
    事實(shí)上。在實(shí)際應(yīng)用中,延時(shí)后的輸出脈沖與輸入的觸發(fā)脈沖的頻率并不相同,譬如在設(shè)計(jì)雷達(dá)目標(biāo)模擬器時(shí)要求延時(shí)后產(chǎn)生一連串的7分頻時(shí)鐘,時(shí)序如圖4所示(延時(shí)后產(chǎn)生11個(gè)7分頻的脈沖,占空比為2:5)。
    
    
    
    要產(chǎn)生上述觸發(fā)脈沖,只需改變計(jì)數(shù)器2的長度,并在程序中加入case判斷語句即可。
    
    
    
    3 延時(shí)范圍討論
    
    3.1 延時(shí)范圍小于觸發(fā)脈沖周期
    
    這種情況只需增加數(shù)據(jù)輸入端的位數(shù),不過一般情況下,數(shù)據(jù)輸入端位數(shù)是固定的,這時(shí)可以在fpga的內(nèi)部定義多位的數(shù)據(jù)寄存器。以延時(shí)范圍為224*tclk為例,在fpga內(nèi)部定義24位的數(shù)據(jù)寄存器,并定義3條地址線dlylh1、dlylh2和dlylh3,通過8位數(shù)據(jù)總線分3次向數(shù)據(jù)寄存器送數(shù),送數(shù)時(shí)間應(yīng)在前一脈沖延時(shí)結(jié)束之后與下一脈沖到來之前。數(shù)據(jù)送入寄存器的程序如下:
    
    
    
&nbs
熱門點(diǎn)擊
- OrCAD/PSpice9直流掃描分析的應(yīng)用
- OrCAD/PSpice9直流掃描分析的應(yīng)用
- protel99se和DXP的使用感想
- CCS噪聲模型:用于串?dāng)_噪聲分析的高精確度建
- Xtreme PCB軟件允許多位工程師同時(shí)布
- ORCAD/PSPICE
- 硬件描述語言HDL的現(xiàn)狀與發(fā)展
- ALLEGRO布線缺點(diǎn)之我見
- PCB LAYOUT技術(shù)大全---初學(xué)者必看
- 利用Liberty CCS建模技術(shù)實(shí)現(xiàn)更高精
推薦技術(shù)資料
- 泰克新發(fā)布的DSA830
- 泰克新發(fā)布的DSA8300在一臺儀器中同時(shí)實(shí)現(xiàn)時(shí)域和頻域分析,DS... [詳細(xì)]
- 電磁與聲學(xué)結(jié)合混合濾波技術(shù)(H
- 超高性能芯片式電磁濾波技術(shù)(S
- 紫、藍(lán)、綠光激光二極管工藝封測
- SPICE模型ROHM Lev
- 高性能碳化硅(SiC)MOS功
- 新一代光纖通信的光收發(fā)器接收器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究