<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 單片機脈沖信號源的CPLD實現方案

          單片機脈沖信號源的CPLD實現方案

          作者: 時間:2011-05-18 來源:網絡 收藏

          產生的由于是靠軟件的,所以輸出頻率及步進受時鐘頻率、指令數和指令執(zhí)行周期的限制。文中介紹了一種以為核心的,的參數(頻率、占空比)由工控機通過I/O板卡設置,設定的參數由數碼管顯示,這種脈沖信號源與其它脈沖信號發(fā)生電路相比具有輸出頻率高、步進小(通過選用高速可提高頻率及縮小步進)、精度高、參數調節(jié)方便、易于修改等優(yōu)點。

            1 系統組成及工作原理

            脈沖信號源電路核心采用一片可編程邏輯器件EPM7128SLC84—10,它屬于Ahera公司MAX7000系列產品,MAX7000系列產品是高密度、高性能的CMOS EPLD,是工業(yè)界速度最快的可編程邏輯器件系列,它是在Ahera公司的第二代MAX結構基礎上采用先進的CMOS EEPROM技術制造的。MAX7000系列產品包括MAX7000E、MAX7000S、MAX7000A,集成度為600~5 000可用門,有32~256個宏單元和36—155個用戶I/0引腳。這些基于EEPROM的器件能夠組合傳輸延遲快至5.0 ns,16位頻率為178 MHz。此外,它們的輸入寄存器的建立時間非常短,能夠提供多個系統時鐘且有可編程的速度/功率控制。

            MAX7000S是MAX7000系列的增強型,具有高密度,是通過工業(yè)標準4引腳JTAG接口在線可編程的,在線編程電壓為5 V。EPM7128SLC84—10有128個邏輯宏單元,2 500個門電路,8個邏輯陣列塊,68個L/O管腳,速度等級為一6(傳輸延遲6 ns),最高時鐘頻率為147.1 MHz。整個信號產生及數碼顯示控制電路(不包括驅動)集成在一片中。脈沖信號源電路由時鐘源、鎖存器、計數器、控制電路、驅動電路以及數碼管動態(tài)掃描顯示電路組成,電路框圖,如圖l所示。

          本文引用地址:http://www.ex-cimer.com/article/156296.htm

            時鐘電路采用80 MHz有源晶振,它為系統提供時鐘信號;鎖存器1及鎖存器2用于保存頻率及占空比數據,為16位計數器提供預置值,鎖存器位數為8位,設定的數據通過工控機輸入,由于計數器位數為16位,故需分兩次打人數據;計數器1及計數器2作為定時器,按鎖存器1、2設定的值計時,兩個計數器交替工作,即一個計數器工作而另一個計數器不工作。當工作的計數器到達計時時間后,向控制電路發(fā)出時間到信號??刂齐娐方邮沼嫈灯靼l(fā)出的信號,停止計數器工作,并重新裝載計時數據,同時啟動另一個計數器工作,從而產生規(guī)定頻率、占空比的脈沖信號,并輸出兩路脈沖信號,如圖2所示。為了提高信號源帶負載能力,輸出使用了7417367驅動芯片增加驅動電流。

            顯示電路圖,如圖4所示,其中需要顯示的數據代碼通過工控機輸入。緩沖器74LS244用做多路開關,當選通信號有效時,該路鎖存數據有效,數碼管顯示相應的數據。

            頻率及占空比數據按如下方式計算:

            設要輸出的頻率為f,占空比為D,則鎖存器1、2要設定的值分別為

            其中fOSC為系統時鐘,C1、C2采用2進制補碼。由式(1),式(2)式可得到頻率及占空比計算式


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();