數位電源是以 MCU 控制電源轉換,而決定電源的運作是否能達到所預期的規格,除了控制電源運作的程式以外,類比訊號的採樣也至關重要。由於 MCU 只能透過採樣取得電源的運作狀態,採樣若是無法得到真實的情況,程式的運算結果也會被影響,從而導致最終的結果不如預期,比如輸出漣波或雜訊過大、控制迴路震盪等等情況,有時候就是因為採樣誤差造成。
在設計數位電源硬體時,我們首要考慮如何確保 MCU 能夠正確取得所需的類比採樣訊號,以避免問題的發生。然而,出於各種原因,最終的樣機可能仍然存在採樣訊號不佳的問題,這時候就需要進行問題排除。但是數位電源的控制結構包含了類比採樣、數位轉換、程式運算與驅動電路等組成部分,因為同時涉及硬體和軟體,有時往往很難一眼看出到底是哪個環節出了差錯。這時首先需要排除的就是是否是採樣誤差造成的影響。
本文會介紹一些在數位電源中會造成採樣誤差的常見情況。
在電源系統中,充斥著大量的干擾與功率電路造成的電壓壓降,這也是造成採樣誤差的最主要原因。在排除採樣造成的異常情形時,首先必須要對 MCU 的採樣有基本的認知:
-
ADC 的採樣是以 MCU 供電電源做為採樣的參考電壓,只要電壓不精準,採樣便不會正確。
-
MCU 看到的所有電壓,參考的 GND 電位都是 MCU 的 ADC 供電 GND,只要 MCU 的 GND 和採樣目標的 GND 不同,採樣就會存在偏差。
-
ADC 轉換是透過轉換電路進行的,因此需要確認 MCU 對於 ADC 外部電路的需求,確保內部的 ADC 電路與外部採樣電路搭配起來能正常運作。
-
MCU 並不是所有時間都在採樣,只有當輪 ADC 切換到該 pin 進行轉換時才會讀取 pin 上的電壓,因此當採樣目標存在快速的變化時,便需要對照 MCU 的採樣時間點,才能夠確認問題。
由以上幾點,我們就可以推測電路上量測出什麼樣的情形時,會造成 MCU 採樣出現誤差。下面是一些常見的情形,要注意的是對於 MCU 來說,ADC 看到的訊號都是以 MCU 的 GND 為參考地,因此當以示波器量測 MCU 的採樣訊號時,都要以 MCU GND 作為示波器探棒的 GND 才能做出正確的判斷。
MCU 電源不穩定時產生的採樣誤差
由於 ADC 在轉換時,使用的參考電壓通常就直接是 MCU ADC 的供電 ( VDD 或是 VDDA ) 對 MCU GND ( VSS 或是 VSSA ) 之間的電壓,因此供電上受到的影響當然也會影響 ADC 轉換的結果。由於 MCU 的電壓不高,一點點電壓的變化都很容易對採樣造成劇烈的影響。
比如 MCU 的 VCC 3.3V 存在一個干擾 Ripple 電壓,電壓與頻率是 50mV / 120Hz,則 MCU 的採樣也會出現採樣誤差。這個誤差的頻率會和 VCC 一樣是 120Hz,大小則是 ADC_Scale * 0.1(Ripple) / 3.3(VDDA),其中 ADC_Scale 指的是 ADC pin 在 3.3V 時對應採樣對象的物理量,也就是 ADC 可以採樣的最大值。假使採樣的對象是 PFC 級的輸出電容,而採樣電路設計在電容電壓 450V 時 ADC pin 是 3.3V,則 MCU 採樣被影響的誤差大小就是 450V * 0.1 / 3.3 = 13.5V。
以上的例子可以看到,50mV 的 Ripple 存在於 VCC 上便可以造成 MCU 採樣有極大的誤差結果,最糟的是由於是受到電源影響,所以全部的 ADC 通道都會出現相同的偏移。而且因為 MCU 沒有方法可以得知自己受到怎樣的干擾,所以也沒辦法對此做出任何處理來改善。因此對於 MCU 來說電源的穩定性至關重要,是首先需要確保的功能。
系統中的壓降造成的採樣誤差
由歐姆定律 ( V = I × R ) 可知,只要電路上有電流與阻抗存在,便會有壓降的產生,這個壓降不僅存在於電源的功率級電路上,MCU 的 VCC 與 GND,甚至是訊號路徑上也會存在相同問題。依據連接位置、銅箔厚度、導線的粗細等造成的阻抗不同,產生的壓降有可能對於 MCU 的採樣造成影響。常見的情況像是電流、電壓採樣與實際狀況存在一個固定比例或偏移的誤差,或是在電源輕重載下的採樣值會偏移。
若是採樣的偏移的規律不容易被判別或是較無規律,那就和電源不穩定的情況相同,無法透過 MCU 做處理。而在偏移量是固定或是線性的場合下,MCU 可以用硬體量測搭配軟體校正的方式讓數據接近準確,但是若是沒辦法歸納為精簡的算式,則會加重 MCU 的負擔,尤其在佔用計算量最大的控制迴路上影響最為嚴重。
系統上的雜訊干擾
在電源轉換器電路中,由於存在功率級的轉換,因此雜訊的干擾往往也較容易產生。如果是採樣電路或 MCU 電源被干擾時,MCU 採樣也會出現誤差。若受到干擾的是有關控制迴路的 ADC 訊號,則容易導致控制不容易穩定,或是存在震盪的現象。
雜訊在電源轉換器中往往最難以解決,軟體上則可以使用數位濾波的方式降低雜訊的影響,但是濾波的程度越大,對於控制迴路響應速度的影響就越大,往往都還是有其限度。而硬體上需要先找到雜訊的來源和干擾路徑,再想辦法改善或消除。
採樣電路設計不良而造成的誤差
採樣電路用於將想要採樣的物理量轉換為 MCU 的 ADC 可以讀取的範圍,使 MCU 可以取得電源運作與監控所需的電壓 / 電流 / 溫度等參數。但設計不佳的採樣電路會使 ADC 難以取得正確的參數,進而導致 MCU 無法正確的計算控制迴路。
一些較不適當的設計,比如說採樣電流時選用了不合適的 OPA 來放大電流,使得訊號的高頻雜訊過度放大,又或是 OPA 輸入對輸出的非線性程度過高,會導致低電流時的採樣訊號無法被參考,使得輕載下的控制迴路工作情況不佳。或是濾波電路的 RC 放太重,導致訊號延遲過長,也會使控制迴路的動態反應速度過慢。
總結
由上述採樣誤差的例子可以看到,有些採樣誤差是可以由軟體做處理,但更多的是軟體無法處理的情形,或是會造成 MCU 計算上的拖累。採樣電路和 ADC 是 MCU 認知外部電路情況的唯一途徑,而電源的穩定是保證 MCU 可以正常運行的關鍵,因此在數位電源設計上,必須要盡可能保證 MCU 的電源與採樣不受到干擾或被誤差所影響。常見用於數位電源上的 MCU,其 ADC 工作電壓大都為 3.3V,相對於 VCC 通常在 12V 甚至 20V 以上的類比 IC 來說,MCU 更容易受到雜訊或壓降的影響,因此在硬體設計上比起類比 IC 控制的電源需要更加小心。