這里是一些通用的固件設計技巧,可用來降低系統或信號噪聲,以實現更好的ADC 轉換精度:
1. 在即將開始ADC 轉換時,避免啟動任何通信外設的數據傳輸,因為I/O的切換可能會在供電電壓中產生一些噪聲,尤其高速率通信;或者回避可能導致電源波動、噪聲加劇的操作。
我在這里做個友情提醒?:?STM32芯片的GPIO輸出速率通常多檔位選擇配置,但不要動不動就選擇最高,并非最高就最好,滿足輸出要求就好。所謂合適的標準就是輸出波形無失真就行。其實隨意選擇最高輸出速率對系統毫無益處,一方面加劇電源噪聲和對系統的干擾,另一方面也加大了功耗。
2. 盡量避免切換高灌電流I/O,往往會在電源中產生噪聲波紋,從而給ADC轉換帶來誤差。
3. 盡量避免使用與AD輸入腳處于在同一GPIO 端口的IO腳切換數字輸出。如果A/D 輸入正在被轉換時,這會將切換噪聲引入模擬輸入中。
4.ADC應用中采用求平均值的方法可用來較好地消除源于輸入信號上的噪聲。即對模擬輸入實行多次采樣,將所有轉換結果累加后取均值。
5. 對于STM32F2/F4系列, ART 配置為啟用數據緩存 + 指令緩存,禁用指令預取。這可避免CPU對Flash 額外訪問而導致額外的噪聲,開啟預取在有些應用中這會極大地降低ADC精度!
-
adc
+關注
關注
99文章
6534瀏覽量
545768 -
GPIO
+關注
關注
16文章
1216瀏覽量
52383
原文標題:基于代碼固件方面保障ADC精度的幾點建議
文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
獻給新手們——STM32學習 建議
給學習嵌入式者10點建議
給學習嵌入式者10點建議
如何設計高精度ADC采樣系統(架構和數據處理方法)?
學習嵌入式者10點建議分享
我對嵌入式linux學習的5點建議
ADC精度:精度與分辨率的理解
ADC誤差的產生以及如何提高ADC的精度
高精度ADC,高精度ADC是什么意思
關于學習編程的實用建議
STM32的ADC代碼例程
![STM32的<b class='flag-5'>ADC</b><b class='flag-5'>代碼</b>例程](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論