【導讀】降低PWM DAC紋波的方法通常有兩種:一種是降低低通濾波器的截止頻率,另一種是提高PWM信號的頻率。然而,前一種方法會(huì )加長(cháng)上升時(shí)間,后一種方法會(huì )導致分辨率降低。本設計實(shí)例討論了在不使用上述兩種方法的情況下,如何降低PWM DAC的紋波。
我們大多數人都知道PWM DAC(數模轉換器)。它們很容易實(shí)現,也很便宜,非常適合一些低性能的應用。
實(shí)現它們的方法是濾除PWM信號中的高頻分量,只留下正比于占空比的低頻或直流分量。但是低通濾波器并不能完全濾除PWM頻率,因此低頻/直流信號中通常都會(huì )有一定程度的紋波。
減少PWM DAC紋波的方法一般有兩種。一種是降低低通濾波器的截止頻率,另一種是提高PWM信號的頻率。然而不可避免的是,更低的截止頻率會(huì )延長(cháng)上升時(shí)間;如果是在給定時(shí)鐘頻率點(diǎn)通過(guò)減小計數器尺寸實(shí)現的,那么更快的PWM頻率會(huì )降低分辨率。
下面要討論的設計實(shí)例非常有趣,著(zhù)重介紹了另外一種降低PWM DAC紋波的方法。
事實(shí)上,我們可以使用相位差為180°的兩個(gè)PWM信號來(lái)降低上述紋波。從直覺(jué)上,當兩個(gè)相同頻率的正弦波的相位相差180°時(shí),它們會(huì )相互抵消,因此我們使用相位差為180°的兩個(gè)PWM信號也能將彼此的諧波分量抵消干凈,是這樣嗎?確實(shí)是這樣,但并不是PWM信號的所有諧波分量都能抵消,有些分量可以抵消,有些卻抵消不了。這與傅里葉級數有關(guān),比較復雜,這里就不羅列一大堆數學(xué)公式來(lái)進(jìn)行解釋了。
兩個(gè)PWM信號之間180°的相位差是如何實(shí)現的呢?我使用了TI的MSP320FR5969 LaunchPad,這種方法很常用。為了實(shí)現相位移動(dòng),需要兩個(gè)定時(shí)器。其中一個(gè)定時(shí)器必須包含兩個(gè)比較-捕獲-PWM(CCP)模塊,另一個(gè)只需要一個(gè)CCP模塊。
在包含兩個(gè)CCP模塊的定時(shí)器中,可以用一個(gè)CCP模塊來(lái)設置該定時(shí)器的PWM頻率和占空比,另一個(gè)CCP模塊產(chǎn)生中斷,用于啟動(dòng)另一個(gè)定時(shí)器,兩者的延時(shí)等于PWM周期的一半。另一個(gè)定時(shí)器中的CCP模塊用于設置相同的PWM頻率和占空比。你還必須對這個(gè)延時(shí)進(jìn)行“微調”,因為軟件會(huì )在PWM信號之間增加額外的時(shí)間。舉例來(lái)說(shuō),在我的代碼的102行,我將比較寄存器的值從(timer_period+1)/2改為了(timer_period+1)/2-27。
我做了一些小調查,想看看其它微控制器是否具有相同的硬件和能力來(lái)實(shí)現我所用的方法:許多Atmel微控制器都有1個(gè)以上的定時(shí)器,每種控制器通常都有兩個(gè)CCP(比如ATmega 328),因此實(shí)現這種方法應該是可能的。另外一個(gè)常見(jiàn)的例子是STM32F051R8(這是一些流行的ST電路板使用的微控制器),它有11個(gè)定時(shí)器,其中許多定時(shí)器都有1個(gè)以上的CCP。TI基于A(yíng)RM的微控制器通常有獨立的PWM和定時(shí)器模塊(如TM4C123GH6PM),因此應該更容易實(shí)現相移。使用其中一個(gè)定時(shí)器,兩個(gè)PWM模塊就可以以一半PWM周期的延時(shí)開(kāi)啟。

圖1:?jiǎn)温泛碗p路PWM電路。
在相移DAC的Vout端,兩個(gè)PWM信號被累加在一起,結果有些諧波分量彼此抵消,最終實(shí)現了降低紋波的效果。
我們看看使用三種不同電阻值時(shí)的情況。每個(gè)PWM信號都是占空比為25%、頻率為100kHz。

圖2:上面的波形是傳統PWM,下面的波形是雙路相移PWM。從左到右每格的電壓遞減100mV、50mV、4mV。
從圖中的結果可以看出:首先,峰-峰紋波降低了;其次,傳統PWM DAC的紋波基頻等于 PWM信號的頻率(100kHz)。相移PWM DAC的紋波基頻等于PWM信號的二次諧波(200kHz),這意味著(zhù)我們用相移DAC成功地刪除了PWM信號的一次諧波。
這種方法的一個(gè)優(yōu)點(diǎn)是不用增加上升時(shí)間也能降低紋波(或者相同的紋波只需一半的上升時(shí)間)。
另外一個(gè)潛在優(yōu)點(diǎn)是,將兩個(gè)PWM設置為相隔一個(gè)計數值可以獲得中間值,進(jìn)而實(shí)現DAC有效分辨率的翻倍。雖然這會(huì )導致少許的不對稱(chēng)并增加紋波,但是影響很小可以忽略不計。
本文轉載自電子技術(shù)設計。
推薦閱讀: