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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 采用FPGA的可編程電壓源系統(tǒng)原理及設(shè)計

          采用FPGA的可編程電壓源系統(tǒng)原理及設(shè)計

          作者: 時間:2010-03-29 來源:網(wǎng)絡(luò) 收藏

          概述:介紹一種基于與實現(xiàn)。為控制芯片,應(yīng)用QuartusⅡ軟件和硬件描述語言為工具,通過數(shù)/模轉(zhuǎn)換和運放把數(shù)字信號轉(zhuǎn)換成模擬信號。實驗表明,該操作靈活方便,穩(wěn)定性強,調(diào)壓精度高,可調(diào)范圍大(O~26 V),具有很好的實用性和工程參考價值。

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

          電源指某些功能或參數(shù)可以通過計算機軟件編程進行控制的電源。電源的實現(xiàn)方法有很多種。其中,現(xiàn)場可編程門陣列(Field ProgrammableGate Array,)具有性能好,規(guī)模大,可重復(fù)編程,開發(fā)投資小等優(yōu)點。隨著微電子技術(shù)的發(fā)展,F(xiàn)PGA的成本不斷下降,正逐漸成為各種電子產(chǎn)品不可或缺的重要部件。由于FPGA有著如此眾多的優(yōu)點,因此FPGA作為控制芯片,實現(xiàn)可編程電壓源系統(tǒng),為需要可調(diào)電壓源的電子產(chǎn)品提供高精度、高可靠性的電壓。

          1 系統(tǒng)
          Altera公司Cyclone系列EP1C6Q240C8為控制芯片。通過Altera的IP工具MegaWizard管理器定制LPM_ROM宏功能模塊,用.mif格式文件存放產(chǎn)生電壓的數(shù)據(jù);利用硬件描述語言(HDL)分頻電路、地址發(fā)生器或數(shù)據(jù)計數(shù)器等控制電路。地址發(fā)生器對ROM進行數(shù)據(jù)讀取。ROM中各單元的數(shù)據(jù)經(jīng)串/并轉(zhuǎn)換電路,在DAC控制電路的作用下,串行數(shù)據(jù)從高位到低位讀入數(shù)/模轉(zhuǎn)換器中,數(shù)/模轉(zhuǎn)換器出來的模擬電壓信號經(jīng)過運算放大器放大后,得到所需的模擬電壓。系統(tǒng)框圖如圖1所示。


          根據(jù)項目需求,定制10 b×32 Word的LPM_ROM??梢援a(chǎn)生32路1 024階可調(diào)的電壓。此外,可以根據(jù)需要定制不同的位寬,不同單元數(shù)的LPM_ROM宏功能模塊,可以產(chǎn)生符合精度要求的多通道電壓。

          2 控制電路設(shè)計
          2.1 分頻電路模塊
          開發(fā)板提供的系統(tǒng)時鐘為50 MHz,系統(tǒng)的時鐘信號通過分頻模塊進行分頻,將分頻后的時鐘信號分別提供給控制電路模塊、地址發(fā)生器和并/串轉(zhuǎn)換電路作為時鐘控制信號。該模塊部分VHDL源程序如下:


          上一頁 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); })();