楊 浩,沈曄超,徐冠軍
(安徽機(jī)電職業(yè)技術(shù)學(xué)院,安徽 蕪湖 241002)
隨著新一代便攜產(chǎn)品和嵌入式系統(tǒng)的不斷發(fā)展,電子產(chǎn)品在性能上要求更安全可靠,在體積上則日趨小型化[1]。開關(guān)電源高頻化可以大大減小DC/DC變換器無源元件的體積,數(shù)字控制相比較傳統(tǒng)的模擬控制可以實(shí)現(xiàn)復(fù)雜的控制策略,提高了系統(tǒng)的可靠性和靈活性[2]。然而,開關(guān)電源高頻化帶來的一個(gè)問題,即數(shù)字控制精度問題日趨突出顯現(xiàn)。高分辨率DPWM控制器受到了越來越多的關(guān)注。隨即一些DPWM生成方法被提出,如抖動(dòng)法、Δ-Σ法、時(shí)鐘移相法等。這些方法大多將DPWM的分辨率提高到了ns級(jí)別。但隨著開關(guān)電源頻率的增加以及系統(tǒng)對(duì)開關(guān)電源輸出電壓精度的要求的提高,DPWM的精度必須向著更高級(jí)別提升,高分辨率DPWM控制器受到了越來越多的關(guān)注[3]。
數(shù)字脈寬調(diào)制器[4]的結(jié)構(gòu)如圖1所示,由加法器延遲模塊、低精度DPWM模塊以及SR觸發(fā)器模塊等組成[5],其中加法器延遲模塊為數(shù)字脈寬調(diào)制器的核心部分。15位的占空比輸入信號(hào)被分成兩部分,6位MSB和9位的LSB[6],分別作為低精度DPWM模塊的輸入信號(hào)和加法器延遲模塊的輸入信號(hào)[7]。下面對(duì)各個(gè)環(huán)節(jié)的功能分別進(jìn)行介紹。
圖1 數(shù)字脈寬調(diào)制器結(jié)構(gòu)圖
1.1.1計(jì)數(shù)器
本設(shè)計(jì)采用Verilog HDL編程方式實(shí)現(xiàn)[8],對(duì)于輸入時(shí)鐘信號(hào),只需一個(gè)50 MHz的系統(tǒng)時(shí)鐘信號(hào)即可?;诒驹O(shè)計(jì)使用的是高頻的系統(tǒng)時(shí)鐘[9],一點(diǎn)細(xì)微的誤差都會(huì)在比較過程中導(dǎo)致錯(cuò)誤的發(fā)生。在一個(gè)同步電路里,所有信號(hào)跟隨同一個(gè)時(shí)鐘,在二進(jìn)制數(shù)由10000111到10001000的計(jì)數(shù)過程中,同時(shí)會(huì)有四個(gè)二進(jìn)制數(shù)值發(fā)生改變,比較器可能因?yàn)橥ㄐ叛舆t而認(rèn)為計(jì)數(shù)值是由0000到1111之間變化而造成誤差,從而影響計(jì)數(shù)的精度[10]。此時(shí),若能避免電平觸發(fā),讓比較器只在時(shí)鐘信號(hào)上升沿到來的時(shí)候進(jìn)行邊沿觸發(fā),即可解決傳播延遲問題。本設(shè)計(jì)采用了格雷碼計(jì)數(shù)器,有效地解決了多個(gè)數(shù)字同時(shí)變化可能帶來的信號(hào)傳輸延遲[11]。
1.1.2比較器模塊
此模塊主要由2個(gè)比較器組成,比較器A的功能是將“6位MSB占空比輸入值”與計(jì)數(shù)器A的實(shí)時(shí)計(jì)數(shù)值進(jìn)行比較,輸出一個(gè)低精度脈寬信號(hào)與加法器延遲單元的輸出信號(hào)進(jìn)行邏輯與運(yùn)算[12]。
比較器B是將“開關(guān)頻率設(shè)定值”與格雷碼計(jì)數(shù)器B輸出的計(jì)數(shù)值進(jìn)行比較,輸出另一路脈寬信號(hào)作為SR鎖存器的輸入信號(hào)。與此同時(shí),比較器B輸出信號(hào)的上升沿被用作格雷碼計(jì)數(shù)器B的重置信號(hào)以及加法器延遲單元的系統(tǒng)時(shí)鐘信號(hào)[13]。
開關(guān)頻率設(shè)定值是根據(jù)系統(tǒng)使用的時(shí)鐘設(shè)定所需的開關(guān)頻率,設(shè)定值在開環(huán)時(shí)是固定的,在閉環(huán)時(shí)則根據(jù)反饋信號(hào)進(jìn)行修正[14]。例如系統(tǒng)時(shí)鐘為50 MHz要求的系統(tǒng)開關(guān)頻率為1 MHz時(shí),此數(shù)值設(shè)定為50。具體的公式可以寫為:
(1)
其中,fclk為時(shí)鐘頻率、fswith為開關(guān)頻率、n為開關(guān)頻率設(shè)定值如圖2所示。
圖2 低精度脈寬調(diào)制模塊系統(tǒng)框圖
此環(huán)節(jié)為“加法器進(jìn)位延遲”實(shí)現(xiàn)的具體環(huán)節(jié),是本設(shè)計(jì)的核心部分,由它來為系統(tǒng)提供ps級(jí)的脈寬調(diào)制信號(hào)。高精度延遲線的具體實(shí)現(xiàn)方式將在下面進(jìn)行詳細(xì)介紹。
輸出模塊主要由SR鎖存器構(gòu)成,它的功能是將兩路已經(jīng)處理過的脈寬信號(hào)進(jìn)行合成,用高精度加法器延遲模塊對(duì)低精度DPWM信號(hào)進(jìn)行二次細(xì)分,用來提高DPWM的精度,最終得到的高精度脈沖寬度調(diào)制信號(hào)輸出,是整個(gè)系統(tǒng)實(shí)現(xiàn)高精度脈寬調(diào)制的最后環(huán)節(jié)[15]。
時(shí)鐘信號(hào)在FPGA內(nèi)部的邏輯器件之間的傳遞延遲分為門延遲和連線延遲兩種。門延遲指的是信號(hào)在邏輯器件自身內(nèi)部傳遞過程中產(chǎn)生的電路延遲,門延遲是固定延遲,而連線延遲則是指信號(hào)在連接兩個(gè)邏輯器件之間的連線上傳遞時(shí)帶來的時(shí)間延遲如圖3所示。
圖3 FPGA內(nèi)部邏輯器件延遲
加法器進(jìn)位延遲DPWM設(shè)計(jì)的核心思想在于,利用FPGA內(nèi)部邏輯器件——加法器,在進(jìn)位時(shí)所產(chǎn)生的門延遲,對(duì)低精度PWM信號(hào)進(jìn)行二次細(xì)分,從而得到高精度的DPWM信號(hào)。為了方便理解加法器進(jìn)位延遲原理,用6位LSB代替9位LSB輸入,加法器進(jìn)位延遲模塊的原理如圖4所示。
圖4 加法器進(jìn)位延遲原理圖
首先,用低精度PWM模塊的輸出信號(hào)作為加法器延遲線模塊的開始信號(hào),復(fù)加到26=32個(gè)與門的輸入端,與門的另一個(gè)輸入為6位LSB經(jīng)移位寄存器譯碼后輸出的32位數(shù)字信號(hào)(其中,只有1位為1,其余全為0)。將移位寄存器的32位輸出信號(hào)按位分別和開始信號(hào)進(jìn)行邏輯與運(yùn)算,32個(gè)與門的輸出分別作為32個(gè)全加器的一路輸入,全加器的另一路輸入全部置1。即只有當(dāng)與門輸出高電平時(shí),對(duì)應(yīng)的全加器才會(huì)產(chǎn)生進(jìn)位輸出,使其進(jìn)位位Co=1。
當(dāng)某個(gè)全加器產(chǎn)生第一個(gè)進(jìn)位位時(shí),會(huì)直接導(dǎo)致下一個(gè)全加器的輸出信號(hào)S產(chǎn)生一個(gè)進(jìn)位延遲,至此后面的每一個(gè)全加器在計(jì)算過程中都會(huì)產(chǎn)生進(jìn)位,進(jìn)而產(chǎn)生一個(gè)進(jìn)位延遲。具體從哪個(gè)全加器開始產(chǎn)生進(jìn)位輸出,是由LSB的數(shù)值決定。例如二進(jìn)制LSB是000 011,譯碼后的數(shù)字信號(hào)為(00000000000000000000000000001000),即會(huì)產(chǎn)生3個(gè)進(jìn)位延遲。圖5中,寄存器輸出0001000,當(dāng)開始信號(hào)變?yōu)楦唠娖綍r(shí),8路全加器的輸入輸出對(duì)應(yīng)表如表1所示。
表1 8路全加器輸入輸出對(duì)應(yīng)表
在將程序下載到芯片之前,要對(duì)適配生成的結(jié)果進(jìn)行仿真測(cè)試。圖5是高精度DPWM發(fā)生器的時(shí)序仿真波形。
其中,act是系統(tǒng)的使能信號(hào);clkin是時(shí)鐘信號(hào),頻率為28MHz;reset是復(fù)位信號(hào);select-value是15位占空比輸入信號(hào),圖中select-value的值是000000111111111;pwm-out為高精度DPWM發(fā)生器輸出信號(hào)波形如表2所示。
圖5 高精度脈寬調(diào)制輸出時(shí)序仿真波形
表2 ps級(jí)脈寬調(diào)制內(nèi)部資源利用情況
根據(jù)仿真實(shí)驗(yàn)結(jié)果,FPGA內(nèi)部的加法器的一個(gè)進(jìn)位延遲時(shí)間約為70ps。仿真后將此DPWM設(shè)計(jì)方法在Altera公司DE2-70型FPGA數(shù)字平臺(tái)上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,并與傳統(tǒng)的計(jì)數(shù)比較法生成DPWM方案進(jìn)行數(shù)據(jù)分析比較如表3所示。在輸入占空比信號(hào)分別為110111011000011和110111011010010時(shí),在數(shù)字平臺(tái)輸出端得到的波形如圖6所示。在實(shí)際電路中,因?yàn)榇嬖谝欢ǖ挠布舆t,實(shí)測(cè)一個(gè)加法器進(jìn)位延遲時(shí)間為86ps。
(a)
(b)圖6 高精度DPWM波形
表3 兩種DPWM生成方案對(duì)比
本文提出了一種高精度數(shù)字脈寬控制方案在FPGA上的實(shí)現(xiàn)方法,詳細(xì)分析了系統(tǒng)中的移位寄存器和加法器進(jìn)位延遲原理,并提出了有效的實(shí)現(xiàn)方法,建立了一套在高開關(guān)頻率條件下高精度DPWM控制信號(hào)產(chǎn)生的解決方案。最后,通過仿真和硬件實(shí)驗(yàn)對(duì)所提出的方案進(jìn)行了驗(yàn)證,并與傳統(tǒng)的DPWM生成方案進(jìn)行了對(duì)比。