參考方案簡(jiǎn)介
隨著電力電子技術(shù)的發(fā)展,電力電子交直流變換裝置應(yīng)用日益廣泛,移相載波技術(shù)可以有效的減小PWM調(diào)制過程中產(chǎn)生的諧波,被廣泛應(yīng)用到多相多電平等場(chǎng)合。 本文描述了使用eFlexPWM實(shí)現(xiàn)多級(jí)串聯(lián)載波移相PWM輸出的邏輯、外設(shè)配置及實(shí)現(xiàn)方法。 本參考設(shè)計(jì)主要向讀者介紹了eFlexPWM強(qiáng)大功能,并給出了六路互補(bǔ)移相60°的PWM實(shí)例作為參考,可以指導(dǎo)客戶快速實(shí)現(xiàn)想要的PWM輸出模式。
eFlexPWM簡(jiǎn)介
eFlexPWM全稱是:Enhanced Flex Pulse Width Modulator的縮寫,直譯為增強(qiáng)型靈活脈沖脈寬調(diào)制器。 i.MX RTxxxx系列一般具有1-4個(gè)強(qiáng)大的eFlexPWM(eFlexPWM1~eFlexPWM4)模塊。每個(gè)eFlexPWM有4個(gè)子模塊,可以產(chǎn)生四路互補(bǔ)PWM即產(chǎn)生8路PWM,也可以產(chǎn)生8路相互獨(dú)立的PWM波。
每個(gè)eFlexPWM模塊擁有一個(gè)向上計(jì)數(shù)的16位計(jì)數(shù)器,它僅在向上方向計(jì)數(shù)至VAL1值,然后重置為初始(INIT)值。在計(jì)數(shù)過程中,計(jì)數(shù)值與VAL2/VAL3/VAL4/VAL5寄存器中的值作比較,控制輸出電平高低翻轉(zhuǎn)。
PWM又有中心對(duì)齊、邊沿對(duì)齊、移相和雙開關(guān)模式。
每個(gè)eFlexPWM具有各自的故障檢測(cè)電路,當(dāng)故障發(fā)生時(shí)根據(jù)程序鎖定PWM輸出引腳的電平狀態(tài),這在逆變、整流及電機(jī)控制應(yīng)用中能夠有效的提高設(shè)備的安全性。eFlexPWM可以產(chǎn)生多種多樣的開關(guān)模式,包括非常復(fù)雜的波形。它可以用來(lái)控制大部分已知的電機(jī)類型,用于控制開關(guān)電源也非常具有優(yōu)勢(shì)。
eFlexPWM主要特點(diǎn)
eFlexPWM脈寬調(diào)制器的主要特點(diǎn)如下:
16位精度,支持中央對(duì)齊、邊沿對(duì)齊和非對(duì)稱PWM輸出;
分?jǐn)?shù)PWM時(shí)鐘生成器可生成高精度PWM周期和占空比;
可工作在互補(bǔ)輸出模式或獨(dú)立工作模式;
每個(gè)PWM輸出雙沿(上升沿/下降沿)可獨(dú)立控制;
可與外部硬件或其他PWM子模塊同步;
雙緩沖PWM寄存器,可設(shè)置1~16的整數(shù)周期重載或半周期重載;
支持PWM輸出的雙切換(周期和占空比);
一個(gè)PWM周期可以產(chǎn)生多個(gè)輸出觸發(fā)事件;
故障輸入可以指定連接控制多個(gè)PWM輸出;
獨(dú)立的可編程PWM輸出極性設(shè)置;
獨(dú)立的死區(qū)時(shí)間設(shè)置;
增強(qiáng)型雙沿(上升沿/下降沿)捕獲功能。
PWM子模塊功能圖
圖1 PWM子模塊功能框圖
圖中各個(gè)部分說明如下:
1是時(shí)鐘源模塊,可以選擇不同的時(shí)鐘源;
2是16位計(jì)數(shù)器;
3是同步寄存器,有四個(gè)同步信號(hào)供選擇,可以初始化計(jì)數(shù)器,可以方便的和外部同步;
4是比較器,用于產(chǎn)生PWM波,每個(gè)子模塊有6個(gè)比較寄存器,可以產(chǎn)生三路的PWM。
5和7是重裝載選擇器,可以用來(lái)選擇重裝載寄存器和N個(gè)PWM周期或者半周期重裝載。
6是輸出控制模塊,比較器產(chǎn)生的PWM23與PWM45經(jīng)過這些控制模塊轉(zhuǎn)變成PWM_A和PWM_B。主要包含互補(bǔ)控制,死區(qū)補(bǔ)償,故障保護(hù)等功能。
多級(jí)串聯(lián)PWM的實(shí)現(xiàn)
每個(gè)eFlexPWM子模塊有一個(gè)外部同步信號(hào)輸入,和兩個(gè)觸發(fā)信號(hào)輸出。外部同步輸入信號(hào)允許外部的信號(hào)源來(lái)初始化PWM計(jì)數(shù)器。通過這種方式,eFlexPWM子模塊的行為可以與外部電路同步。
兩個(gè)觸發(fā)信號(hào)輸出可以去控制其他模塊的行為,例如在特定的時(shí)刻觸發(fā)ADC采樣。
本文將使用輸出觸發(fā)信號(hào)去觸發(fā)其他eFlexPWM子模塊。
兩個(gè)輸出觸發(fā)信號(hào)分別由不同的寄存器值比較產(chǎn)生。當(dāng)PWM計(jì)數(shù)器匹配val0、val2或val4時(shí),TRIG0被置位。當(dāng)PWM計(jì)數(shù)器匹配val1、val3或val5時(shí),TRIG1被置位。計(jì)數(shù)器發(fā)生匹配事件后延遲兩個(gè)clock的后輸出觸發(fā)信號(hào)。
圖2 PWM子模塊外部同步輸入和Trig輸出
在一些電源應(yīng)用中,需要多路PWM輸出,并且需要彼此之間有固定相移,此時(shí)就能充分凸顯i.MX RT系列eFlexPWM強(qiáng)大的性能。
下面我們通過輸出六路互補(bǔ)且彼此之間相差60°相移的PWM為實(shí)例,詳述eFlexPWM使用方法和配置。
實(shí)例要求
下面以一個(gè)具體實(shí)例來(lái)介紹,方便讀者理解和運(yùn)用eFlexPWM模塊。
具體的實(shí)例要求如下:
PWM頻率為10KHz
六路互補(bǔ)PWM輸出
兩路之間移相60°
6路PWM輸出的邏輯如下圖所示:
圖3 6路PWM相移圖
eFlexPWM子模塊組合
用6個(gè)eFlexPWM子模塊級(jí)聯(lián),每個(gè)子模塊輸出一路互補(bǔ)的PWM,因?yàn)槊總€(gè)eFlexPWM子模塊都有一個(gè)獨(dú)立的計(jì)數(shù)器,因此實(shí)現(xiàn)起來(lái)比較方便。
圖4 eFlexPWM子模塊串聯(lián)
通過每個(gè)前級(jí)子模塊的TRIG0去觸發(fā)后級(jí)子模塊,我們通過設(shè)置前級(jí)子模塊Val4的值來(lái)靈活的設(shè)定觸發(fā)后級(jí)子模塊的時(shí)刻。
經(jīng)過這樣的組合,可以進(jìn)行0-360°任意相位的相移,讀者可以很方便的調(diào)節(jié)成自己想要的相移。不需要復(fù)雜的軟件操作,通過寄存器可以方便實(shí)現(xiàn),減小了CPU的開銷。
時(shí)序邏輯
圖5給出了載波移相的邏輯,從圖中我們可以看到六路PWM載波信號(hào)依次移相60°,后級(jí)子模塊由前級(jí)子模塊在特定時(shí)刻觸發(fā)。通過載波的移動(dòng),載波和比較器比較后產(chǎn)生的PWM也就產(chǎn)生了相應(yīng)的相移。 圖5 時(shí)序邏輯
從圖5中可以看出每個(gè)后級(jí)子模塊都由前級(jí)的TRIG0觸發(fā)產(chǎn)生的,只要設(shè)定好觸發(fā)時(shí)刻,就可以得到所預(yù)想的相移。
后級(jí)子模塊檢測(cè)到前級(jí)子模塊的TRIG0觸發(fā)信號(hào)后,會(huì)用兩個(gè)clock時(shí)鐘去同步。再加上TRIG0輸出前有兩個(gè)clock的延遲,所以總共會(huì)有4個(gè)clock的延遲,后面實(shí)驗(yàn)結(jié)果可以驗(yàn)證。
測(cè)試結(jié)果
考慮到前級(jí)觸發(fā)后級(jí)的延遲,本文進(jìn)行了實(shí)際測(cè)量和分析,如圖6所示測(cè)量?jī)上嘀g的時(shí)間間隔。
圖6 PWM 相移間隔圖
測(cè)量三次P1-P6的相位偏移時(shí)間,結(jié)果如下:
表1 P1-P6的相位偏移時(shí)間
因?yàn)楸緦?shí)例中PWM頻率是10Hz,所以P1-P6的理論間隔時(shí)間是16.667us(60°)。下表給出了實(shí)測(cè)和理論值的誤差。
表2 P1-P6的相位誤差
從測(cè)試結(jié)果我們可以看出,實(shí)測(cè)結(jié)果后級(jí)子模塊比理論有了30ns的延遲。這樣從初級(jí)子模塊,到最后級(jí)子模塊,誤差不斷積累,最后會(huì)導(dǎo)致最后級(jí)子模塊有150ns的延遲。如果級(jí)數(shù)更多,則誤差會(huì)更大。
因此我們需要一些方法進(jìn)行補(bǔ)償。
延遲補(bǔ)償方案
因?yàn)槊總€(gè)后級(jí)子模塊的延遲都是固定的,所以我們可以通過把觸發(fā)時(shí)刻前移固定時(shí)長(zhǎng)的方法補(bǔ)償此延遲。
根據(jù)PWM clock頻率和延遲時(shí)間我們可以計(jì)算出需要補(bǔ)償?shù)挠?jì)數(shù)值。
本實(shí)例中PWM clock的頻率是132M,延遲是30ns,從而計(jì)算出需要補(bǔ)償?shù)臄?shù)值約等于4。
在程序中補(bǔ)償后,測(cè)量?jī)上嗖ㄐ蜗嘁迫缦聢D所示:
圖6 補(bǔ)償后的PWM移相圖
從圖中可以看出兩相移相時(shí)間是16.664和理論值非常接近,考慮到測(cè)量誤差,已經(jīng)基本達(dá)到設(shè)置的目標(biāo)。這樣就完美的解決了延遲的問題。從而就實(shí)現(xiàn)了多級(jí)串聯(lián)載波移相的PWM輸出。
-
串聯(lián)
+關(guān)注
關(guān)注
6文章
424瀏覽量
37577 -
PWM
+關(guān)注
關(guān)注
114文章
5186瀏覽量
213954 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94574 -
脈寬調(diào)制器
+關(guān)注
關(guān)注
1文章
57瀏覽量
17008 -
eflexpwm
+關(guān)注
關(guān)注
0文章
2瀏覽量
3982
原文標(biāo)題:基于eFlexPWM的多級(jí)串聯(lián)載波移相脈寬調(diào)制技術(shù)實(shí)現(xiàn)
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論