天天看點

adc采樣的值跳動_LPC5401x ADC精度以及LPC55 ADC采樣電壓跌落解決方案

1. 問題描述

在LPCXpresso540xx Eval Brd Rev E開發闆上測試ADC的例子程式 SDK_2.5.0_LPCXpresso54018\boards\lpcxpresso54018\driver_examples\adc\lpc_adc_basic\iar,得到如下結果:

LPC54608 VDD(VDD_TARGET_IC)引腳電壓是3.253v。

當輸入 0.156v 實際電壓,在通道4上獲得 adcResultInfoStruct.result 的結果是192,理論數值是0.152v=(3.253/4096 X 192), 誤差是 0.004v =(0.156v-0.152v). 

當輸入1.650v 實際電壓,在通道4上獲得 adcResultInfoStruct.result 的結果是2048,理論數值是1.6265v,誤差是0.0235v。

當輸入1.488v 實際電壓,在通道4上獲得 adcResultInfoStruct.result 的結果是1856,理論數值是1.474v,誤差是0.014v。

當輸入 3.253v 實際電壓,在通道4上獲得 adcResultInfoStruct.result 的結果是4093,理論數值是3.2506v,誤差是0.0024v。

為什麼在接近0v或者接近Vdd電壓的時候,誤差在小數點後3位,但是如果在1v到2v的範圍時,誤差在小數點後2位。

解決方法:

使用 LPCXpresso Board LPC54018 開發闆,測試條件:

Vdda = VDD = Vrefp = 3.29 V, Temp = 25 C,主時鐘=系統時鐘= ADC采樣時鐘= 80 MHz。在ADC0.4通道上采樣100次後的ADC輸入電壓的平均值如下表所示。

ADC 輸入電壓(V) 觀察輸出數值 (十進制) 100次采樣的平均值 理論輸出數值(十進制)
3 3734 3734
2.5 3112 3112
2 2489 2489
1.5 1868 1867
1 1245 1245

在早期的SDK2.5 ADC驅動例子, ADC_Init 函數裡面實際使用的是6位的精度替代了12位。是以采樣精度出現問題,主要原因是沒有定義宏。 

FSL_FEATURE_ADC_HAS_CTRL_RESOL 

在最新的SDK2.8裡面已經使能,

#define FSL_FEATURE_ADC_HAS_CTRL_RESOL (1)

另外有些GPIO引腳的内部電阻上拉是使能的,做ADC使用的時候需要禁止内部的電阻上拉功能。

2. 問題描述

LPC5528每次ADC觸發采集,電壓都有跌落。為什麼?如何解決?

目前使用LPC5528來實作連續的ADC采樣1Mhz采樣每秒,持續輸出采樣值。 

設定96M高頻時鐘,ADC使用Divider = 4, STS = 3, 16位分辨率。每次觸發後采樣16次,并将結果分别寫入到FIFO0 和FIFO1。實作步驟如下: 

a.初始化軟體觸發adc寫入到FIFO0

b.FIFO0 -> adc isr

c.在adc isr, 軟體觸發adc,寫入到FIFO1,觸發DMA從FIFO0拷貝到記憶體區。

d.FIFO1 -> adc isr

e.在adc isr, 軟體觸發adc,寫入到FIFO0,觸發DMA從FIFO1拷貝到記憶體區。

f.FIFO0 -> adc isr

g.重複 c - f

每次觸發都有延遲,大概是1us的時間。 

例如,如果在ADC引腳輸入正弦波,每16采樣,采樣數值連成的線并不是直的。

每次ADC啟動采集的時候,都有電壓跌落,是以每次在FIFO隊列的第一個采樣值都是小的。 

LPC5528的ENOB,針對16位的ADC,真有效的精度是12bit,但是跌落的範圍超過了這個精度的範圍,而且每16個數值後發生一次,是以這個并不是随機噪聲。

問題解答:

關于電壓跌落,S/H采保電路實際上是一個電容,是以在采樣階段,外部的模拟輸入給電容充電,是以模拟端的電壓會跌落,因為外部的模拟源有阻抗。為了減小電壓跌落,可以使用模拟緩沖器,可以使用電壓跟随運放電路,将外部模拟信号連接配接到運放的+輸入,将放大器的-引腳連接配接到放大器的輸出引腳。

從軟體的角度,設定CMDHT[STS] = 0x7, 但它會增加轉換時間,降低轉換率。可以有效的減小和消除跌落和尖峰。

LPC MCU 輸入阻抗的值不是一個固定的值,和選擇的采樣位數,采樣周期都有關系,可以參考下列公式:

adc采樣的值跳動_LPC5401x ADC精度以及LPC55 ADC采樣電壓跌落解決方案
adc采樣的值跳動_LPC5401x ADC精度以及LPC55 ADC采樣電壓跌落解決方案

在開始打開采樣通道的時采樣結果會有跌落,但是增加采樣cycles之後,會延長采樣時間,最後采的點會比較穩定。