如何提高STM32 ADC的精度

在 ST 所提供的技術手冊 "How to get the best ADC accuracy in STM32 devicse" 一文中提出造成
ADC誤差的一些困素,如下述的重點:


1. ADC模組自身相關的誤差
1.1 偏移誤差 Offset error
1.2 增益誤差 Gain error
1.3 微分線性誤差 Differential linearity error
1.4 積分線性誤差 Integral linearity error
1.5 總不可調校誤差 Total unadjusted error
 
2.  與環境相關的ADC誤差 
2.1 電源雜訊 Power supply noise
2.2 電源穩壓 Power supply regulation
2.3 類比輸入信號的雜訊 Analog input signal noise
2.4 ADC的動態範圍與最大輸入信號幅度嚴重不匹配 ADC dynamic range badly matching the maximum input signal amplitude
2.5 類比信號源阻抗的影響 Effect of the analog signal source resistance
2.6 信號源的容抗與PCB分佈電容的影響 Effect of the source capacitance and parasitic capacitance of the PCB
2.7 注入電流的影響 Injection current effect
2.8 溫度的影響  Temperature influence
2.9 I/O接腳間的串擾 I/O pin crosstalk

2.10 EMI導致的雜訊 EMI-induced noise

上述的原因會造成輸入ADC的電壓和讀出的電壓值有相當的誤差,因此工程師在應用時需特別注意。
而關於ADC模組自身相關的誤差,可以用校正演算法來處理,而與環境相關的ADC誤差
則可用過取樣及數位濾波來取得我們希望的ADC值。當然最好是硬體設計時能將電路設計好,使用環境能更佳化。





















留言

這個網誌中的熱門文章

STM32 I2C-EEPROM 的讀寫

ENC28J60+Uip TCP Server/Client