<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于現場(chǎng)可編程門(mén)陣列的數控延時(shí)器的設計

基于現場(chǎng)可編程門(mén)陣列的數控延時(shí)器的設計

作者: 時(shí)間:2008-03-18 來(lái)源: 收藏

  l 引言

本文引用地址:http://dyxdggzs.com/article/80236.htm

  利用硬件描述語(yǔ)言結合可編程邏輯器件(PLD)可以極大地方便數字集成電路的設計,本文介紹一種利用VHDL硬件描述語(yǔ)言結合現場(chǎng)可編程門(mén)陣列(FPGA)設計的數控延時(shí)器,延時(shí)器在時(shí)鐘clk的作用下,從8位數據線(xiàn)輸入延時(shí)量,到LATCH高電平時(shí)鎖存數據,可以實(shí)現對觸發(fā)脈沖TRIG的任意量的延時(shí)。由于延時(shí)范圍不同,設計所用到的FPGA的資源也不同,本文詳細介紹最大延時(shí)量小于觸發(fā)脈沖周期的情況。該延時(shí)器的軟件編程和調試均在MuxplusⅡ環(huán)境下完成,系統設計選用Altera公司的EPFl0K30AQC208-3,EPCI44l型專(zhuān)用電路,與DSP相結合,應用于雷達目標模擬器的控制部分,實(shí)現對目標距離的模擬。

  2 設計原理

  筆者設計的數控延時(shí)器采用3個(gè)串聯(lián)計數器來(lái)實(shí)現。由于在觸發(fā)脈沖TRIG的上升沿開(kāi)始延時(shí),使用時(shí)鐘的上升沿計數,考慮到VHDL對時(shí)鐘描述的限制,設計采用計數器l產(chǎn)生同步脈沖SYNC,寬度為T(mén)clk,利用SYNC的高電平觸發(fā)cflag,并在延時(shí)結束后cflag清零;計數器2計算延時(shí)的長(cháng)度;計數器3計算所要產(chǎn)生的輸出脈沖OUTPUT的脈寬,并在計數結束時(shí)對計數器2和計數器3清零。延時(shí)器的外部接口電路如圖1所示,原理框圖如圖2所示。整個(gè)電路的設計采用同步時(shí)鐘計數以盡量減少因局部時(shí)鐘不穩定所產(chǎn)生的毛刺和競爭冒險。

  

延時(shí)器的外部接口電路圖

 

  

原理框圖

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

  該數控延時(shí)器的VHDL硬件描述語(yǔ)言程序如下:

  

數控延時(shí)器的VHDL硬件描述語(yǔ)言程序

  

數控延時(shí)器的VHDL硬件描述語(yǔ)言程序

  在該程序中,cntl為延時(shí)量,cnt2為輸出脈沖的寬度,cflag為開(kāi)始計數的標志,該段程序在觸發(fā)脈沖的周期大于256xTclk時(shí),最大延時(shí)量為256×Tclk,如果觸發(fā)脈沖周期小于256xTclk,則最大延時(shí)量為T(mén)clk-Toutput(Toutput為輸出脈沖的寬度)。

  

時(shí)序仿真圖

 

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

  

7分頻時(shí)鐘時(shí)序圖

 

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

  

程序

  3 延時(shí)范圍討論

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

  這種情況只需增加數據輸入端的位數,不過(guò)一般情況下,數據輸入端位數是固定的,這時(shí)可以在FPGA的內部定義多位的數據寄存器。以延時(shí)范圍為224xTclk為例,在FPGA內部定義24位的數據寄存器,并定義3條地址線(xiàn)dlyLHl、dlyLH2和dlyLH3,通過(guò)8位數據總線(xiàn)分3次向數據寄存器送數,送數時(shí)間應在前一脈沖延時(shí)結束之后與下一脈沖到來(lái)之前。數據送入寄存器的程序如下:

  

程序

 

  點(diǎn)擊看原圖

  

程序

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

  這種情況在實(shí)際應用中比較廣泛,譬如在雷達模擬器的設計中,所模擬的目標的距離范圍一般都很大,因而輸出延時(shí)脈沖的延時(shí)量將大于1個(gè)觸發(fā)脈沖周期,這時(shí)在考慮到FPGA資源的前提下,可以采用多路延時(shí)合并的處理方法。以延時(shí)范圍小于4個(gè)周期為例,具體時(shí)序如圖5所示。

  

體時(shí)序圖

  利用SYNC信號4分頻并產(chǎn)生4路分頻后的信號。在FPGA內部設計4個(gè)延時(shí)電路,SYNCl、SYNC2、SYNC3、SYNCA分別作為4個(gè)延時(shí)電路的觸發(fā)信號,每個(gè)延時(shí)電路仿照第一種延時(shí)范圍的設計方法,輸出觸發(fā)脈沖通過(guò)4個(gè)或門(mén)送到輸出端OUTPUT。值得注意的是每個(gè)延時(shí)電路內部都要定義1個(gè)與DATAREG位數相同的數據寄存器,延時(shí)數據在延時(shí)開(kāi)始時(shí)送入內部寄存器。使用多路延時(shí)合并方法最關(guān)鍵的是要產(chǎn)生準確的分頻脈沖,如果產(chǎn)生的脈沖有毛刺,或者電路在設計的時(shí)候存在冒險,整個(gè)延時(shí)系統有可能都不能正常工作。

  4 延時(shí)誤差分析

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

  該延時(shí)器在Muxplus Ⅱ環(huán)境下從輸入時(shí)鐘Tclk到dlytrig的延時(shí)為8.2 ns;產(chǎn)生SYNC的寬度為T(mén)clk。因此在觸發(fā)脈沖上升沿與時(shí)鐘信號上升沿對時(shí),該延時(shí)電路的固有延時(shí)為8.2 ns+2Tclk。但一般情況下,觸發(fā)脈沖的上升沿與時(shí)鐘的上升沿并不是一致的,根據二者之間的關(guān)系可知,最大延時(shí)誤差T滿(mǎn)足:O

  由于該數控延時(shí)器使用時(shí)鐘來(lái)計數,因此延時(shí)量只能為T(mén)clk的整數倍。如果設計者希望有更精確的延時(shí),可以在設計的基礎上外加一片AD9501,該器件的延時(shí)可以精確到(Ttotal+Td)×1/28,其中Ttotal是AD9501的總延時(shí),Td是AD9501的固有延時(shí)。

  5 結束語(yǔ)

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

脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>