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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高精度數(shù)字電源設(shè)計(jì)

          基于FPGA的高精度數(shù)字電源設(shè)計(jì)

          作者: 時(shí)間:2011-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

          5 PWM脈沖的生成

          實(shí)現(xiàn)PWM部分框圖如圖5所示。

            PWM的生成主要由脈寬寄存器、緩沖寄存器、周期寄存器、死區(qū)寄存器、死區(qū)發(fā)生器、數(shù)值比較器、控制邏輯等部分組成。脈寬寄存器,決定各路PWM信號(hào)的脈寬;緩沖寄存器,實(shí)現(xiàn)對(duì)脈寬數(shù)據(jù)的緩沖;周期寄存器,決定PWM的斬波周期;死區(qū)寄存器,決定H橋臂的死區(qū)時(shí)間。脈寬寄存器在每個(gè)開關(guān)周期更新一次,其輸出數(shù)據(jù)經(jīng)緩沖后與基準(zhǔn)計(jì)數(shù)器進(jìn)行數(shù)值比較,得到各路PWM信號(hào)。再經(jīng)死區(qū)電路處理,最后產(chǎn)生4路PWM驅(qū)動(dòng)信號(hào),驅(qū)動(dòng)相應(yīng)的功率器件。

            基準(zhǔn)計(jì)數(shù)器,用來(lái)產(chǎn)生類似模擬電路中的三角波基準(zhǔn),是一個(gè)最小計(jì)算值為0,最大計(jì)算值為周期寄存器中保存的數(shù)值、計(jì)數(shù)方向交替變換的可逆計(jì)數(shù)器?;鶞?zhǔn)計(jì)數(shù)單元在最大計(jì)數(shù)值時(shí)產(chǎn)生一個(gè)同步信號(hào)SYN,當(dāng)其有效時(shí)將4個(gè)脈沖寬度的數(shù)據(jù)存入各自的緩沖寄存器,實(shí)現(xiàn)雙緩沖,使各個(gè)脈沖寬度寄存器在SYN無(wú)效時(shí)可依次更新而不影響最終的功率器件導(dǎo)通。

          6 結(jié)束語(yǔ)

            本文以芯片EP1C20為核心,敘述了實(shí)現(xiàn)控制調(diào)節(jié)器的一種方法,根據(jù)現(xiàn)場(chǎng)工藝要求在中可靈活配置控制方案而無(wú)需重新配置硬件,外圍電路(如ADC、DAC等)選用、低溫漂的器件,從而實(shí)現(xiàn),這是模擬系統(tǒng)所不及的。同時(shí),由于控制調(diào)節(jié)的核心采用了化電路,系統(tǒng)自身的抗干擾能力明顯優(yōu)于模擬系統(tǒng)。

            目前,在很多應(yīng)用領(lǐng)域中,需要數(shù)十臺(tái)甚至更多同時(shí)協(xié)調(diào)工作,即適應(yīng)網(wǎng)絡(luò)化電源應(yīng)用,而上述方案的數(shù)字化電源,通過(guò)Nios軟核CPU的強(qiáng)大通訊功能,可以很方便的實(shí)現(xiàn)批量電源的網(wǎng)絡(luò)化管理。



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(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); })();