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



請問c2000或其它的數(shù)字電源芯片的PWM模塊能在使用外部同步時鐘時移相嗎?
如何對DSP C2000系列中的8位數(shù)據(jù)進行讀寫呢
C2000 DSP實驗指導(dǎo)
C2000 DSP實驗箱實驗指導(dǎo)用書
DSP C2000系列中8位數(shù)據(jù)的讀寫

評論