dsPIC33CK系列高速PWM模塊高精度模式的運(yùn)行討論
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著新能源汽車市場(chǎng)發(fā)展的推動(dòng),不斷涌現(xiàn)出各種數(shù)字電源的應(yīng)用需求,汽車車載無(wú)線充電應(yīng)用及車載充電器OBC是近來(lái)其中兩個(gè)非常典型的應(yīng)用,基于Microchip的dsPIC33C系列芯片的數(shù)字電源在這兩個(gè)領(lǐng)域的使用越來(lái)越廣泛。
如下圖1是一個(gè)單核dsPIC33CK系列(雙核為dsPIC33CH系列芯片)芯片的大致資源的說(shuō)明,其中高速PWM模塊是實(shí)現(xiàn)數(shù)字電源最為重要的模塊之一。以已經(jīng)量產(chǎn)的dsPIC33CK256MP50X或者dsPIC33CK256MP20X系列為例來(lái)說(shuō),最大可以提供多達(dá)8組,共16個(gè)獨(dú)立的PWM輸出通道,充分滿足各種開關(guān)電源拓?fù)涞?/span>PWM通道需求。
圖1 dsPIC33CK系列大致資源說(shuō)明
這個(gè)PWM模塊內(nèi)部具有實(shí)現(xiàn)高精度模式的設(shè)計(jì),當(dāng)使能高精度PWM模式時(shí),就可以讓PWM模塊大大提高參數(shù)的調(diào)整步長(zhǎng),比如電源PWM占空比,周期,相位及死區(qū)的精度,依靠高精度時(shí)最高250pS的分辨率更好的體現(xiàn)數(shù)字電源的優(yōu)勢(shì),比如精確的進(jìn)行占空比的調(diào)整。用戶在使用時(shí),可以分別使能相關(guān)PWM輸出子模塊的PWM高精度模式,具體通過使能PGxCONL寄存器中的HREN位來(lái)實(shí)現(xiàn)(x代表1-8,對(duì)應(yīng)于每一個(gè)PWM產(chǎn)生器)。
圖2 PWM高精度模式的使能
當(dāng)讀規(guī)格書時(shí),細(xì)心的朋友會(huì)發(fā)現(xiàn)對(duì)于PWM高精度位使能,Microchip是規(guī)定了一些限制條件的。比如,如下圖3在寄存器說(shuō)明時(shí),通過小字體注釋對(duì)HREN位的一個(gè)額外要求,即一定要在500M輸入頻率的條件下去使用PWM高精度模式。
圖3 PWM高精度模式的要求
在這篇文章中,我們也重點(diǎn)分析一下PWM高分辨率的使用及在電源設(shè)計(jì)中需要注意的地方。
第一,我們總結(jié)一下產(chǎn)品規(guī)格書及PWM模塊reference manual中dsPIC33CK系列PWM高精度模式的使用條件說(shuō)明。
作為一個(gè)數(shù)字外設(shè),其運(yùn)行需要一定的時(shí)鐘,所以我們理解高速PWM模塊的運(yùn)行及高精度模式運(yùn)行之前,首先了解一下其時(shí)鐘的分配方式。
圖4 PWM模塊的時(shí)鐘選擇及分配
如圖4,是PWM模塊的時(shí)鐘產(chǎn)生框圖,除了給PWM模塊一個(gè)整體的master時(shí)鐘選擇(即上圖中的MCLKSEL對(duì)應(yīng)的選項(xiàng))之外,用戶可以對(duì)每一個(gè)PWM子模塊設(shè)置不同的獨(dú)立的時(shí)鐘源(即PGx_clk),這個(gè)時(shí)鐘源可以和總的PWM時(shí)鐘源一致,也可以是進(jìn)行分頻之后的低頻,或者通過頻率調(diào)整電路之后再給到PWM子模塊,這為設(shè)置不同范圍的PWM頻率提供了方便。
在reference manual中也對(duì)PWM高精度模式做了一些說(shuō)明,如下截圖中的注釋Note中,我們可以看到使用PWM高精度模式時(shí),必須要將CLKSEL設(shè)置為0b01,也就是必須要直接選擇我們給PWM模塊選擇的總的master時(shí)鐘源,而不能采用頻率分頻電路或者頻率調(diào)整電路之后的時(shí)鐘源。這是文檔中對(duì)高精度PWM模式時(shí)鐘源的 “定性限制“。
圖5 PWM高精度模式的時(shí)鐘分配限制條件
其次,對(duì)于PWM模塊,如同其它MCU的外設(shè)模塊一樣,在規(guī)格書電氣特性中有一些定量參數(shù)描述,如下可以參考。
圖6 PWM時(shí)鐘源的定量參數(shù)描述
這里我們重點(diǎn)關(guān)注PMW模塊的輸入頻率,Microchip建議必須要在500M下實(shí)現(xiàn)高精度模式PWM,那么潛在意思是如果采用低于500M的輸入頻率時(shí),這個(gè)高精度PWM模式就不做保證了,最多就是在±10%范圍內(nèi)變化(即最小450MHz),產(chǎn)品出廠前所有相關(guān)的PWM高精度電路的驗(yàn)證測(cè)試都是基于這個(gè)條件去進(jìn)行。這是關(guān)于PWM高精度模式運(yùn)行頻率的一個(gè) “定量限制” 的信息。
嚴(yán)格按照這個(gè)限制,我們對(duì)PWM主時(shí)鐘頻率進(jìn)行一定的簡(jiǎn)單分析,首先使能高精度模式,即HREN設(shè)置為1.
圖7 PWM高精度模式的寄存器使能
再通過MCLKSEL的設(shè)置選擇11,即APLL輔助鎖相環(huán)的后分頻輸出,而我們將APLL的后分頻輸出事先設(shè)置為500MHz的頻率(關(guān)于dsPIC33CK芯片的時(shí)鐘PLL及APLL的設(shè)置,由于篇幅關(guān)系我們不在本篇文章中做說(shuō)明),詳情參考如下鏈接的前述文章。
基于MCC配置dsPIC33C芯片的時(shí)鐘及輸出系統(tǒng)時(shí)鐘FOSC波形
圖8 PWM高精度模式的主時(shí)鐘源寄存器選擇
對(duì)應(yīng)PWM模塊(如PG1)的時(shí)鐘源選擇寄存器CLKSEL設(shè)置為01,意味著PG1的時(shí)鐘源直接選擇PWM主時(shí)鐘源。
圖9 PWM子模塊的時(shí)鐘源選擇
這樣設(shè)置后對(duì)應(yīng)PG1的輸入頻率就是500MHz,結(jié)合PG1內(nèi)部的高精度8倍頻PLL電路的作用,我們就得到了4G的PWM時(shí)鐘頻率,對(duì)應(yīng)時(shí)鐘周期為1/4GHz=250pS,由于我們的PWM周期PG1PER或者占空比PG1DC為16bit寄存器,在這種條件下可以實(shí)現(xiàn)的PWM周期和占空比的最大數(shù)字就是65535,即對(duì)應(yīng)的最大周期為65535*0.25nS=16.384uS,大約為61kHz左右,這也就是我們?cè)诎凑諊?yán)格限制的高精度模式下實(shí)現(xiàn)的最大周期(最小頻率)。
第二,我們對(duì)規(guī)格書“定量限制”的之外的情況進(jìn)行嘗試,對(duì)PWM模塊輸入頻率進(jìn)行調(diào)整,觀察測(cè)試的結(jié)果。此時(shí)我們對(duì)PWM輸入頻率做一個(gè)極限的變化,將之設(shè)為8MHz,也就是說(shuō)選擇系統(tǒng)時(shí)鐘FOSC作為PWM模塊的輸入頻率,即如下MCLKSEL選擇為00, 同時(shí)在時(shí)鐘鏈路上直接將內(nèi)部FRC振蕩器8M時(shí)鐘設(shè)置為FOSC.
圖10 PWM模塊超規(guī)格時(shí)鐘設(shè)置
對(duì)系統(tǒng)主時(shí)鐘進(jìn)行如下簡(jiǎn)單設(shè)置,按照如下周期和占空比的設(shè)置即可。
圖11 PWM超規(guī)格設(shè)置時(shí)的簡(jiǎn)單代碼配置
我們就得到了如下PWM輸出波形,PG1H的實(shí)測(cè)頻率為306k,由于此時(shí)PWM輸入頻率為8MHz,因此疊加PWM內(nèi)部的PLL的8倍頻關(guān)系,得知PWM的內(nèi)部時(shí)鐘頻率為64MHz,即分辨率約為15.6nS,計(jì)算出來(lái)的PWM頻率對(duì)應(yīng)這個(gè)PWM的實(shí)測(cè)頻率,由此得知在常溫demo測(cè)試下,PWM內(nèi)部高精度電路運(yùn)行還是正常的。
圖12 PWM高精度模式超規(guī)格運(yùn)行波形1
第三.我們對(duì)規(guī)格書“定性限制”的之外的情況進(jìn)行嘗試,啟用PWM主時(shí)鐘的分頻電路,如下的寄存器位,DIVSEL,此處設(shè)置為2分頻,選擇00,同時(shí)如第一步驟中一樣,將PWM模塊master時(shí)鐘設(shè)置為500MHz(這里采用MCLKSEL=0b11,且將APLL的后分頻輸出設(shè)置為500MHz).
圖13 PWM模塊時(shí)鐘分頻設(shè)置
實(shí)測(cè)結(jié)果我們得到了如下波形,通道1為PG1H,通道2為PG1L,代碼中我們?cè)O(shè)置二者為互補(bǔ)輸出模式。
此時(shí)PWM開關(guān)頻率為250kHz。對(duì)此頻率進(jìn)行分析,輸入時(shí)鐘頻率500MHz,進(jìn)行分頻后輸入給PWM模塊PG1的輸入頻率為250MHz,假定PWM內(nèi)部的PLL在工作的話,實(shí)際PWM的時(shí)鐘頻率為2GHz,則對(duì)應(yīng)分辨率為500pS,根據(jù)周期PG1PER和占空比PG1DC的設(shè)置,其計(jì)算周期為4uS,對(duì)應(yīng)實(shí)測(cè)的250kHz,以上說(shuō)明PWM模塊內(nèi)部的8倍頻PLL在啟用PWM主時(shí)鐘分頻時(shí)在常溫demo下還是正常工作。
圖14 PWM高精度模式超規(guī)格設(shè)置及運(yùn)行波形2
以上第二和第三部分內(nèi)容分析了在PWM模塊主時(shí)鐘輸入頻率大幅降低時(shí),及不降低PWM主時(shí)鐘輸入頻率而啟用PWM模塊輸入頻率分頻器后的PWM模塊內(nèi)部8倍頻PLL的實(shí)際表現(xiàn)??梢钥闯鰜?lái)microchip在設(shè)計(jì)這個(gè)高精度電路時(shí)的設(shè)計(jì)裕量還是比較大的,其對(duì)應(yīng)的規(guī)格書和外設(shè)參考手冊(cè)說(shuō)明也非常的嚴(yán)謹(jǐn)和保守。
由于dsPIC33C芯片在測(cè)試及驗(yàn)證高精度模式時(shí)僅僅只對(duì)PWM在500MHz下的性能進(jìn)行了保證,所以真正在應(yīng)用產(chǎn)品設(shè)計(jì)電源時(shí)并不推薦PWM模塊輸入頻率低于500MHz這個(gè)頻率,否則在各種復(fù)雜的工況下,比如高低溫等條件時(shí)會(huì)有一定的風(fēng)險(xiǎn)。當(dāng)然如果采用的是非HREN=1的模式,那么將另當(dāng)別論。
第四,對(duì)于PWM高精度模式電路在電源產(chǎn)品閉環(huán)設(shè)計(jì)中的考慮。
首先介紹一下我們所常用的Q15格式,因?yàn)槲覀兊?/span>dsPIC33C系列芯片是基于定點(diǎn)運(yùn)算的處理器,所以要處理電源環(huán)路涉及到的線性差分方程系數(shù)等小數(shù)時(shí)要將小數(shù)轉(zhuǎn)化為與之對(duì)應(yīng)的定點(diǎn)整數(shù)。
我們簡(jiǎn)要說(shuō)明一下Q15格式(或者Q1.15)的數(shù)據(jù),因?yàn)橛幸粋€(gè)最高位符號(hào)位,所以它可以表示正數(shù)(符號(hào)位為0),也可以表示負(fù)數(shù)(符號(hào)位為1),其余位數(shù)按照如下圖所示含義表示,那么就可以知道它表示的最大整數(shù)數(shù)字范圍就是0x7FFF,即0.999969482422,對(duì)應(yīng)的最大負(fù)數(shù)為,0x8000,即-1,計(jì)算時(shí)按照二進(jìn)制補(bǔ)碼去計(jì)算相應(yīng)表示的小數(shù)值,一定要注意小數(shù)點(diǎn)在對(duì)應(yīng)bit14和bit15之間。
圖15 Q15格式說(shuō)明
在我們的dsPIC33系列產(chǎn)品的編譯器中包含了非常豐富的定點(diǎn)數(shù)學(xué)函數(shù)庫(kù),只要去調(diào)用libq-omf.a中,或者libq-dsp-omf.a,同時(shí)在程序中包含相應(yīng)的頭文件libq.h即可使用。
通過如下一個(gè)示例,可以很方便地理解小數(shù)和Q15整數(shù)之間的相互轉(zhuǎn)換關(guān)系,如下表格中+24576轉(zhuǎn)對(duì)應(yīng)的小數(shù)就是0.75,實(shí)際上二者之間是32768這個(gè)系數(shù)。
圖16 Q15格式對(duì)應(yīng)十進(jìn)制小數(shù)的轉(zhuǎn)換
在數(shù)字電源設(shè)計(jì)中,為了盡可能地利用處理器的最大字長(zhǎng),即16位的Q15整數(shù)對(duì)應(yīng)+32767為最大字長(zhǎng),除了采用Q15格式表示線性差分方程系數(shù)之外,還需對(duì)它進(jìn)行一系列的縮放操作(這一部分內(nèi)容我們放在后面的話題中進(jìn)行討論)。如果采用Q15進(jìn)行線性差分方程系數(shù)的定義,那么通過調(diào)用環(huán)路計(jì)算函數(shù)2P2Z或者3P3Z產(chǎn)生的結(jié)果(周期或者占空比)也將以Q15的范圍進(jìn)行限制,即最大限制為0x7FFF,即32767,如果考慮到電源設(shè)計(jì)中對(duì)最大占空比的限制,這個(gè)值將被設(shè)置的更小。所以在500M頻率下使能PWM的高精度HREN=1的模式時(shí),最大分辨率為250pS時(shí),對(duì)應(yīng)最大周期為8.191uS,即122kHz,如果最大周期高于8.191uS,或者開關(guān)頻率低于122k,在閉環(huán)設(shè)計(jì)中就不能采用Q15格式進(jìn)行計(jì)算,用戶需要對(duì)環(huán)路補(bǔ)償器的運(yùn)算及線性差分方程系數(shù)定義做適當(dāng)變化。
當(dāng)然,如果環(huán)路設(shè)計(jì)不采用Q15的格式計(jì)算,那么在HREN=1的高精度PWM模式下可以獲得61kHz的最低頻率。如果需要采用更低的開關(guān)頻率,建議將PWM設(shè)置為非高精度PWM模式,即HREN=0.
以上是dsPIC33CK系列高速PWM模塊的一些基礎(chǔ)分析,對(duì)dsPIC33C系列芯片有興趣的朋友可以作為簡(jiǎn)單了解,歡迎討論。





