此前關(guān)于TI的C2000系列DSP的移相功能模塊導(dǎo)致部分周期出現(xiàn)驅(qū)動(dòng)脈沖丟失的現(xiàn)象,已經(jīng)寫了兩篇文章了,其中第一篇提出這個(gè)現(xiàn)象并分析這種情況產(chǎn)生的原因,第二篇給出了一種可以在一定范圍內(nèi)規(guī)避脈沖丟失的方法。這種方法的思路是使用額外的ePWM2模塊作為中繼,產(chǎn)生一個(gè)固定的移相角,通過接力的方式,使ePWM1與ePWM3之間得到一個(gè)較大的移相角。雖然各種方式可以得到一個(gè)絕對(duì)值較大的移相角,但移相角的變化范圍依然受到比較值的限制。以雙有源橋?yàn)槔?,每一個(gè)開關(guān)管均為50% 占空比,所以比較值CMP等于周期值PRD的一半,由于ePWM3模塊的移相值不能與自身的比較值發(fā)生跨越,因此可用的移相范圍依然只是180度,當(dāng)然這個(gè)移相范圍對(duì)于雙有源橋已經(jīng)足夠了,但這種方法需要消耗更多的硬件資源,對(duì)于復(fù)雜移相調(diào)制的雙有源橋來說,可能需要多大4組互補(bǔ)且相位可調(diào)的PWM驅(qū)動(dòng)信號(hào),在加上所需要的中繼模塊,很可能超過DSP的片上資源總量,即使不超過這也是硬件資源的極大浪費(fèi),只能作為一種臨時(shí)的解決方案。
本文根據(jù)ePWM模塊的使用手冊(cè),給出另一種移相方法,在節(jié)省硬件資源的前提下實(shí)現(xiàn)較大范圍的移相。
上回書說到PWM移相是通過傳遞同步信號(hào)實(shí)現(xiàn)的,每個(gè)ePWM模塊都有個(gè)同步信號(hào)的輸入端SYNCI和同步信號(hào)的輸出端SYNCO,同步信號(hào)的產(chǎn)生有三種方式,分別是:
直接透?jìng)鱏YNCI的信號(hào)到SYNCO,作為下一個(gè)模塊SYNCI,這種方式也是我當(dāng)年的畢業(yè)設(shè)計(jì)用應(yīng)用的,這樣可以避免途經(jīng)的模塊移相角對(duì)后面的模塊相位的影響。
CTR=0時(shí)產(chǎn)生SYNCO脈沖,這種方式假設(shè)模塊1與模塊2之間的相位發(fā)生變換,模塊3也會(huì)隨之變化,導(dǎo)致模塊之間的移相同步值存在耦合,增加計(jì)算復(fù)雜度。
CMPB=CTR 這種方法可以在模塊不使用CMPB時(shí)獲得比較自由的移相方式,但也具有第2中方式的缺點(diǎn),累計(jì)移相角的問題。
產(chǎn)生同步脈沖后,后一個(gè)模塊接收到同步脈沖,會(huì)將PHS寄存器的值直接寫到計(jì)數(shù)器CRT中,相當(dāng)于為計(jì)數(shù)器賦初值,改變這個(gè)初值就會(huì)改變?cè)撚?jì)數(shù)器與前一個(gè)計(jì)數(shù)器的相位差。
上篇文章是針對(duì)方式2提出的方法,本篇文章針對(duì)方式3給出一種不用額外硬件資源作為中繼就可以實(shí)現(xiàn)大范圍移相的方法。
首先需要了解的是每個(gè)ePWM模塊有兩個(gè)比較值CMPA和CMPB,對(duì)于互補(bǔ)輸出只需要使用一個(gè)CMP比較值寄存器,另一個(gè)閑置就可以了。因?yàn)樗绤^(qū)模塊可以根據(jù)CMPA自動(dòng)生成兩路互補(bǔ)帶死區(qū)的驅(qū)動(dòng)信號(hào),那么閑置CMPB就可以用于產(chǎn)生移相同步脈沖,而且不會(huì)影響到自己模塊的發(fā)波。根據(jù)上面的第三種同步信號(hào)產(chǎn)生方式,可以使用ePWM模塊中的比較值CMPB與計(jì)數(shù)器CTR匹配的事件來產(chǎn)生同步信號(hào)輸出SYNCO,通過調(diào)整CMPB寄存器的值調(diào)整SYNCO與SYNCI的延遲相位。
以上圖為例,設(shè)定兩個(gè)ePWM模塊均為周期100,ePWM1的CMPB寄存器為30,ePWM2模塊的PHS寄存器為0,得到的效果就是當(dāng)模塊1計(jì)數(shù)到30的時(shí)候,將模塊2清零。這里面的CMPB用于產(chǎn)生移相角,移相角變化范圍可以在0到360度之間。當(dāng)然這個(gè)移相角的變換并非沒有限制,假設(shè)在一個(gè)周期內(nèi)移相角變化過大,超過180度,同樣可能造成驅(qū)動(dòng)脈沖的丟失。
上圖給出了一個(gè)實(shí)例,移相角從80一下子改成了20,超過了半周期50,那么下一周期的ePWM2模塊的計(jì)數(shù)只到40就再次歸零了,沒有機(jī)會(huì)與CMPA發(fā)生匹配(見紅色虛線圈出的部分),因此這個(gè)周期的驅(qū)動(dòng)脈沖無翻轉(zhuǎn)。這種方法需要使用者注意:調(diào)整移相角要每個(gè)周期逐漸調(diào)整,設(shè)定一個(gè)最大調(diào)整步長(zhǎng)。當(dāng)然這個(gè)步長(zhǎng)最好設(shè)定為遠(yuǎn)小于半周期,因?yàn)閱未握{(diào)整及時(shí)不超過半周期,也會(huì)導(dǎo)致驅(qū)動(dòng)脈沖畸變,原本互補(bǔ)50% 占空比的PWM會(huì)變成非50%。造成變壓器磁偏。較小的磁偏可以通過回路寄生電阻自行矯正,如果一個(gè)周期產(chǎn)生很大的磁偏,無法及時(shí)矯正,就可能導(dǎo)致變壓器飽和。
值得注意的是這種移相方法獲得的移相角是滯后的,而原本通過改寫PHS寄存器得到的移相角是超前的。用戶可以根據(jù)需要同時(shí)使用本文提出的移相方法和通過PHS寄存器賦初值的方法,這樣可以獲得更靈活的應(yīng)用。但切記PHS的變化范圍一定不能與比較值CMP發(fā)生跨跨越。
到此為止,關(guān)于C2000系列移相功能缺陷的分析與解決的文章就要告一段路了,接下來我準(zhǔn)備了一塊LCD板子,打算做一個(gè)串口屏,帶觸摸按鍵和一些存儲(chǔ)外設(shè),然后寫寫代碼。此后屏幕可以作為更大的系統(tǒng)的HMI,例如數(shù)控電源顯示與調(diào)節(jié)面板,電池模組的顯示單元等等。我將會(huì)把串口屏的軟硬件設(shè)計(jì)經(jīng)驗(yàn)分享出來。
-
dsp
+關(guān)注
關(guān)注
552文章
7912瀏覽量
347607 -
模塊
+關(guān)注
關(guān)注
7文章
2626瀏覽量
47211 -
PWM
+關(guān)注
關(guān)注
114文章
5098瀏覽量
212798 -
脈沖
+關(guān)注
關(guān)注
20文章
879瀏覽量
95411 -
串口屏
+關(guān)注
關(guān)注
8文章
522瀏覽量
37166
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論