為實現高精度、高穩定性的ADC模數轉換,硬件與軟件設計均需遵循特定原則。硬件層面需優化信號調理、參考電壓及抗干擾設計;軟件層面需合理配置采樣參數、實現數據濾波及異常處理。本文將結合實際開發場景,詳解ADC硬件設計與軟件開發的關鍵要點,為開發者提供ADC轉換的實戰指導。
本文將分享硬件參考設計及LuatOS開發相關API,帶你快速了解ADC的軟硬件實現要點。

01. 模組相關管腳
Air780EPM系列模組與ADC相關的管腳,包括:
ADC0,PIN9;
ADC1,PIN96;
ADC2,PIN77;
ADC3,PIN76;
02. 主要功能說明
雖然我們在溝通和交流中習慣稱為ADC,但更為準確的稱呼應該是AUXADC,AUXADC是芯片內部的輔助ADC通道,主要用于溫度監測、電池電量檢測等。
Air780EPM系列模組共有4個AUXADC通道,包含以下三個主要功能:
1)外接模擬電壓信號檢測通路
選擇內部分壓電路,適用于外接信號電壓范圍為0~3.3V;
選擇直通AUXADC輸入端的通路,適用于電壓范圍0~1.6V;或經外部分壓后在1.6V,分壓后電壓范圍需控制 0~1.6V。
2)VBAT電壓檢測通路
VBAT電壓經過分壓電路到達AUXADC輸入口。
3)溫度傳感器檢測通路
模組芯片內部溫度檢測:芯片溫度發生變化時,片內Thermal Sensor的電壓信號也會隨之變化,將THM_VBE信號送至AUXADC測試。
▼ ADC內部框圖 ▼


相關注意事項如下:
圖中用AIO表示從外部輸入到模組內部AUXADC的部分,可以理解為直接連接到模組ADC管腳的電平;
片內電阻絕對偏差:
MAX= ±8.5%(-40~85 ℃);
片內電阻的相對偏差,阻值比誤差:
MAX=+/-0.15%(-40~85 ℃);
AUXADC可以選擇內部分壓,也可以選擇外部分壓,不管選擇外部分壓還是內部分壓,都需要調整合適的分壓比,保證AUXADC輸入端電壓在0~1.6V范圍;
當被測電壓低于1.6V時:
外部無需分壓,內部也無需分壓;
LuatOS ADC函數對應選擇:
adc.ADC_RANGE_MIN
當被測電壓低于3.3V時:
外部無需分壓,內部需要分壓至1.6V以內,LuatOS已將該部分在底層做好,ADC函數對應選擇:
adc.ADC_RANGE_MAX
當被測電壓大于3.3V時:
內部無需分壓,外部需要分壓至1.6V以內,LuatOS已將該部分在底層做好,ADC函數對應選擇:
adc.ADC_RANGE_MIN
讀取模組芯片溫度的常量為:
adc.CH_CPU
可檢測溫度范圍為-40 °C~85 °C ,外部硬件電路上無需任何操作;
讀取VBAT電壓的常量為:
adc.CH_VBAT
電壓范圍為2.2~4.8V;在VBAT輸入電壓范圍3.3~4.35V之內,外部硬件電路上無需任何操作。
03. ADC性能參數
分辨率:12bit
時鐘頻率(Fc):1.625MHz~6.5MHz
采樣頻率:Fc/16
典型功耗:500μA
更多參數說明,詳見下方圖表:

04. 注意事項及硬件參考設計
AUXADC的有效輸入范圍為0.1~1.5V,在0~0.1V和1.5~1.6V范圍可能存在較大誤差,不建議使用;
外部分壓時,如果AUXADC輸入電壓無法滿足低于1.6V,以NTC電阻為例,可使用如下圖右側所示電路進行分壓設計:

如果不希望ADC變化太快,可以通過軟件算法處理,過濾掉變化較大的數值,也可以在硬件電路上增加濾波電路;
比如,外部分壓時,可以增加濾波電容增加ADC輸入穩定性,但缺點是ADC的細微變化會被過濾掉,請根據實際需要謹慎選擇。
特別說明:
R300可以增加ESD能力,阻值建議為510Ω,不建議使用K級阻值的電阻。
參考設計如下圖示:

05. 與ADC相關的LuatOS API
關于LuatOS中ADC相關API的介紹,詳見:
https://docs.openluat.com/osapi/core/adc/
特別說明:
所有ADC共用一個通道,同時只能調用一路ADC采樣,包括芯片溫度、VBAT電壓;
ADC打開( adc.open() )后,會產生約500μA的功耗,如需低功耗控制,請將ADC關閉( adc.close() );
示例代碼:

今天的內容就分享到這里了~
審核編輯 黃宇
-
adc
+關注
關注
100文章
7511瀏覽量
555916 -
模數轉換
+關注
關注
1文章
223瀏覽量
38086
發布評論請先 登錄
智能雙卡設計實戰指南:硬件電路與軟件配置詳解!
構建可靠USB應用:硬件設計要點與LuatOS開發技巧!
電子工程師硬件設計開發指南
深入剖析ADC080x系列8位模數轉換器
Texas Instruments ADS803:高性能12位模數轉換器的技術剖析與應用指南
CW32嵌入式軟件開發的必備知識
ADC 實戰:如何精準讀取傳感器信號
?ADC1283 12位SAR模數轉換器技術解析與應用指南
高性能模擬信號采集:揭秘ADC硬件設計的核心要素!
一款理想的Σ-Δ ADC(模數轉換器)是什么樣?硬件工程師ADC選型開發梳理
知識分享 | 敏捷方法在基于模型的軟件開發項目中的應用
ADC模數轉換實戰:硬件設計與軟件開發要點指南!
評論