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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 實(shí)現(xiàn)數(shù)字電源轉(zhuǎn)換的方法

          實(shí)現(xiàn)數(shù)字電源轉(zhuǎn)換的方法

          作者: 時(shí)間:2011-12-27 來源:網(wǎng)絡(luò) 收藏

          7 PID算法

          使用PID算法,將實(shí)際與期望輸出電壓之間的誤差進(jìn)行比例、積分和微分計(jì)算,然后將這三項(xiàng)合起來,對(duì)PWM占空比的控制。PID算法可以用于采用電壓和電流模式的控制環(huán)路。處理Microchip的DSC不需要DSP技巧(見圖5的代碼列表),控制軟件(圖4)的主要“核心”是PID環(huán)路。PID軟件通常很小,但是其執(zhí)行速度非??欤ǔC棵肟梢苑磸?fù)幾十萬次。這么高的反復(fù)率需要PID軟件程序盡可能有效地發(fā)揮最佳性能。使用匯編程序是保證“嚴(yán)緊代碼”的一種很好的

          PID控制環(huán)路是定期由ADC進(jìn)行中斷驅(qū)動(dòng),任何系統(tǒng)功能都能在“空閑環(huán)路”中執(zhí)行,以便減少PID控制軟件內(nèi)不必要的工作量。諸如電壓上升/下降、錯(cuò)誤檢測(cè)、前饋計(jì)算和通信支持程序功能都是空閑環(huán)路可以執(zhí)行的,其他中斷驅(qū)動(dòng)進(jìn)程的優(yōu)先級(jí)都必須比PID環(huán)路低。

          空閑環(huán)路在完成系統(tǒng)和外設(shè)的初始化任務(wù)之后啟動(dòng)。通常,空閑環(huán)路監(jiān)控溫度,計(jì)算“前饋”條件,并檢查故障狀況。SMPS軟件可執(zhí)行該控制算法,將ADC中斷驅(qū)動(dòng)的PID環(huán)路作為其與時(shí)間關(guān)系最密切的部分。PID軟件不應(yīng)該使用超過可用處理器大約66%的帶寬,以便計(jì)算資源的其余部分能夠分配給空閑環(huán)路軟件。

          假設(shè)以30 MIPS運(yùn)行PID環(huán)路(包括30條指令),執(zhí)行時(shí)間大約為1μs。如果反復(fù)率是500kHz(2μs),那么PID工作量需要消耗一半可用的處理器帶寬,也就是15MIPS。

          用于式降壓式器的PID軟件的實(shí)例代碼列表:

          CALCULATE_PID:

          push.s ; Save SR and W0-W3

          bclr.b IFS0+1, #3 ; Clr IRQ flag in interrupt controller

          #PID_REG_BASE, w8 ; Init pointer to PID register block

          mov #PID_GAIN_REG_BASE, w10 ; Init pointer to PID gain register block

          mov ADBUF1, w0 ; Read ADC to get voltage measurement

          mov COMMANDED_VOLTAGE, w1 ; Get commanded output voltage

          sub w1, w0, w0 ; W0 = proportional voltage error

          mov PROPORTIONAL_Error, w1 ; Get previous voltage error

          sub w0, w1, w2 ; diff error = new verr - old verr

          mov w0, PROPORTIONAL_ERROR ; Store New Proportional Voltage Error

          mov w0, PREINTEGRAL_TERM ; Store copy PERR as pre integral term

          mov w2, DERIVATIVE_ERROR ; Store new Derivative Error

          ; These registers are reserved for PID calculations

          ; w6, w7 = contains data for MAC operations

          ; w8, w10 = pointers to error terms, and gain coefficients

          SUM_PID_TERMS:

          clr A, [w8]+=2, w6, [w10]+=2, w7 ; clr A, prefetch w6, w7

          mac w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC proportional term and gain

          mac w6*w7, A, [w8]+=2, w6, [w10]+=2, w7 ; MAC derivative term and gain

          mac w6*w7, B, [w8]+=2, w6, [w10]+=2, w7 ; Update Integrator

          add ACCA ; Add ACCB (Integrator) to ACCA



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