CH573 CH582 CH579外設ADC例程講解


在adc的例程中共有六種AD測量,1、溫度測量,2、單通道測量,3、DMA單通道測量,4、差分通道測量,5、觸摸按鍵測量,6、中斷方式單通道測量,接下來我們逐一描述。

粗調:粗調使得用0db測量VINTA電壓時為2048,

在例程中都會去獲取粗調制,使用通道1也就是PA5作為校准通道,

在ch573中可以使用通道6去校准,那么PA5仍可使用,

ch579僅可使用通道1校准,且不可使用通道1采集數據,

ch582中使用通道1作為校准通道,且可以使用通道1采集數據。

VINTA正常值為1.035-1.065V之間,若需要得到精確的電壓值,則在計算式Vref需使用實際的VINTA電壓值。

例程中沒有電池電壓采集的程序,可參考下方代碼,計算結果單位是毫伏。

       ADC_InterBATSampInit();
       for(i = 0; i < 20; i++)
       {
           adcBuff[i] = ADC_ExcutSingleConver(); // 連續采樣20次
       }
       for(i = 0; i < 20; i++)
       {
           PRINT("%d \n", adcBuff[i]*1050/512-3*1050);
       }

一、溫度測量

首先調用adc溫度測試初始化函數,其次獲取adc內部偏差值,再調用adc采集函數就可以獲取adc模擬值了,最后使用溫度轉化公式(adc.c文件的最下面一個函數),將模擬值轉化成溫度值。

目前轉化后的溫度相對值也就是變化值是正確的,但絕對值需要自己修正,如實際溫度20度,轉化溫度5度,則在轉化結果上加15。

二、單通道測量

首先,配置單通道的IO為浮空輸入,然后調用單通道初始化函數(可傳兩個參數,采樣頻率和增益,測量不同的電壓值需使用不同的增益),其次選擇IO對應的通道,再獲取adc內部偏差值,在調用adc采集函數獲取電壓模擬值,最后使用手冊中公式轉化。

四種增益選擇相應的公式進行計算,根據實測電壓范圍選擇增益。

三.DMA通道測量

四.差分通道測量

使能差分選擇0#通道:實際是對AIN0(正端PA4)和AIN2(負端PA12)的電壓進行差分轉換;
使能差分選擇1#通道:實際是對AIN1(正端PA5)和AIN3(負端PA13)的電壓進行差分轉換;
Vref=1.05V(更精確可測內部模擬電路的電源節點VINTA 的實際電壓值)
ADC 轉換后的結果,如果數據大於0x800(十進制2048)表示差分正端的電壓高於差分負端的電壓;如果數據小於0x800表示差分正端的電壓低於差分負端的電壓。以PGA增益選擇0dB為例,理論可測電壓范圍為-1.05V~1.05V,0x400表示差分正端的電壓低於差分負端的電壓約0.5Vref,0x000表示差分正端的電壓低於差分負端的電壓約1.0Vref,PGA增益選擇6dB時,理論可測電壓范圍為-0.5025V~0.5025V(0.5Vref),PGA增益選擇-6dB時,理論可測電壓范圍為-2.1V~2.1V(2Vref),PGA增益選擇-12dB時,理論可測電壓范圍為-4.2V~4.2V(4Vref),
測量范圍可參考手冊。
增益選擇0dB時P =1;6dB時PGA =2;-6dB時P =1/2;-12dB時P=1/4。
計算公式:(|測量值-0x800|/0x800/P)*1.05
如PGA選擇0dB時:
正端比負端大0.5V,測量值為3032,帶入公式計算得0.504V
正端比負端小0.5V,測量值為1060,帶入公式計算得0.506V
正端比負端大1.0V,測量值為4002,帶入公式計算得1.002V
正端比負端小1.0V,測量值為96,帶入公式計算得1.000V
如PGA選擇-6dB時:
正端比負端大0.5V,測量值為2551,帶入公式計算得0.516V
正端比負端小0.5V,測量值為1552,帶入公式計算得0.506V
正端比負端大1.0V,測量值為3040,帶入公式計算得1.017V
正端比負端小1.0V,測量值為1066,帶入公式計算得1.006V
正端比負端大2.0V,測量值為4020,帶入公式計算得2.022V
正端比負端小2.0V,測量值為87,帶入公式計算得2.010V

五.觸摸按鍵測量

六.中斷方式單通道測量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM