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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CPLD的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計

          基于CPLD的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計

          作者: 時間:2011-02-14 來源:網(wǎng)絡(luò) 收藏

          3 電路的VHDL描述
          數(shù)據(jù)采集控制電路、數(shù)據(jù)處理電路均是使用硬件描述語言VHDL(Very High Speed Integrated Circuit Hatdware Description Langu-age)設(shè)計而成。例如:數(shù)據(jù)采集控制模塊設(shè)計如下:
          e.JPG
          VHDL語言具有多層次的電路設(shè)計描述功能,既可描述級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。VHDL語言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型,采用VHDL語言描述硬件電路時,設(shè)計人員并不需要首先考慮選擇進(jìn)行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進(jìn)行電路設(shè)計的優(yōu)化,而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計描述完成以后,VHDL語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。

          4 的波形仿真
          在數(shù)據(jù)處理電路中,當(dāng)gate=‘1’,整個器件處于數(shù)據(jù)采集及處理模式,選擇不同的工作方式,即fun值,可實現(xiàn)不同的數(shù)據(jù)處理,當(dāng)do為O時,其波形仿真如圖5所示。從仿真波形中可以看出輸入數(shù)據(jù)等于輸出數(shù)據(jù),在通過輸出運(yùn)放,使輸出值增大2倍,從而使輸出數(shù)據(jù)為輸入數(shù)據(jù)的2倍。

          g.JPG


          在數(shù)據(jù)處理電路中,當(dāng)gate=‘0’,整個器件處于循環(huán)檢測的模式,當(dāng)輸入數(shù)據(jù)超出預(yù)設(shè)值時就進(jìn)行報警,即alm=‘1’,當(dāng)無輸入值大于預(yù)設(shè)值時,就進(jìn)行循環(huán)檢測。其波形仿真如圖6所示。

          h.JPG

          5 結(jié)語
          設(shè)計了基于的多路異步數(shù)據(jù)采集,系統(tǒng)中使用狀態(tài)機(jī)控制數(shù)據(jù)的采集,使用ADC0832進(jìn)行數(shù)/模轉(zhuǎn)換。同時利用強(qiáng)大的數(shù)字處理功能和高密集成的特點,降低了硬件的成本,簡化了電路設(shè)計,并配合軟件增加了系統(tǒng)的靈活性和可擴(kuò)充性,具有很好的經(jīng)濟(jì)效益和社會效益。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();