PWM DAC以其一貫的簡易性而在設計師的心目中佔有一席之地,但回應時間慢和PWM漣波問題卻限制了其使用價值和設計潛能;抑制PWM漣波的常用方法是使用RC低通濾波器,但它永遠無法完全消除漣波,並且會使輸出穩定時間極其緩慢。圖1展示了一種能克服上述缺點的不同方法——同步採樣&維持(sample & hold,S&H)。

EDNT180813_PWMDAC_NT61P1

S1的採樣-維持運作可以消除PWM漣波。
(來源:EDN)

本設計實例利用PWM漣波固有的週期性特性,它在VC1波形的任何同步選擇點處都具有完全相同的電壓,如圖2所示。因此,如果VC1被同步採樣,例如透過圖1的類比開關S1和傳輸電容C2,然後維持(也就是採樣-維持),即可利用C3產生輸出電壓Vout,那麼無論VC1的AC分量有多大,其結果都將是平滑的無漣波Vout,這一原理可透過圖2中的DAC動態行為來說明。

EDNT180813_PWMDAC_NT61P2

圖2:DAC在15個PWM週期內穩定到8位元精準度。
(來源:EDN)

此外,由於同步採樣消除了漣波,與RC1時間常數的長短無關,所以RC1可以非常短。這可以顯著降低穩定時間,如圖1所示,其中 RC1 =100μs =Tc =PWM週期,不到15·Tc = 1.5ms即可達到穩定(8位元精準度)。但是,就像所有的好東西一樣,我們知道它也必然有一定的侷限,因此,現在問題就變成:RC1能夠在多短的時間內與適當的DAC功能維持一致,以及有哪些設計因素導致了其侷限性?

仔細觀察VC1波形可以得出答案:Vout是採樣的電壓,它不是透過VC1的平均值,而是利用漣波最大值計算得出。因此:

EDNT180813_PWMDAC_NT61F1

其中:

EDNT180813_PWMDAC_NT61F2

用DAC Vout函數對非線性部分求和,使得DAC傳遞函數也呈非線性,從而導致積分非線性(INL)誤差,對於圖2中示例電路的常數,誤差可能達到滿量程的8.3%。對於許多應用來說,這麼大的INL誤差不可被接受,幸運的是,有一個簡單的(軟體)修復:對DAC設置進行數值預加重(Numerical pre-emphasis?)。例如,若使用圖1中的常量,其中:

EDNT180813_PWMDAC_NT61F3

如果更改Tp

EDNT180813_PWMDAC_NT61F4

那麼,Vripple項將從Vout中消失,8位元INL即可恢復。

EDNT180813_PWMDAC_NT61P3

圖3:整流漣波引起的INL誤差。
(來源:EDN)

值得一提的是,可選的Vs和S2以精確的基準參考(Vs)產生RC1輸入波形,從而避免了在Vout電壓上疊加邏輯電源的雜訊和惡意調變(因此疊加到PWM邏輯訊號上)。當然,如果你的應用對精準度要求不高,也可以省略這些,讓R直接與PWM訊號相連即可。

正如我一開始所說,一貫的簡易性是PWM DAC的主要魅力之一!

EDNT180813_PWMDAC_NT61P4

圖4:三種不同輸出設置下的DAC回應。
(來源:EDN)

(參考原文:Fast PWM DAC has no ripple,by Stephen Woodward;本文原刊於EDN China)