最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

ADC 使用相關(guān)注意事項(xiàng)以及常見問題

2023-06-21 10:01 作者:賽元MCU平臺  | 我要投稿

? ? ? ?賽元的大部分芯片都具有 ADC 功能,其中 92F 系列大部分芯片的 ADC 有兩個(gè)基準(zhǔn)電 壓可以選擇,VDD 和內(nèi)部 2.4V,內(nèi)部 2.4V 要求的芯片供電電壓為 2.9V 以上,低于 2.9V 內(nèi) 部 2.4V 無 法 保 證 穩(wěn) 定 ; 95F 系 列 芯 片 的 ADC 有 三 個(gè) 基 準(zhǔn) 電 壓 可 以 選 擇 , VDD/2.048V/1.024V,內(nèi)部 2.048V 要求芯片供電電壓在 2.7V 以上,內(nèi)部 1.024V 要求芯片 供電電壓在 2.4V 以上,低于供電電壓限制,內(nèi)部參考電壓的值會無法保證穩(wěn)定;SC92F859X 系列芯片的 ADC 基準(zhǔn)電壓與 95F 系列芯片一致。?

? ? ? ?此文檔主要對 ADC 使用過程中常見的問題以及相關(guān)注意事項(xiàng)進(jìn)行說明,包含以下幾個(gè)內(nèi)容:

1、ADC 采樣電路注意事項(xiàng);?

2、ADC 多通道轉(zhuǎn)換注意事項(xiàng);?

3、怎樣改善 ADC 的采樣誤差;?

4、如何使用 ADC 檢測電源電壓;?

5、加入 ADC 檢測功能之后,出現(xiàn)程序跑死的現(xiàn)象是什么原因;?

6、ADC 采樣值如何計(jì)算;?

7、ADC 測量電壓的范圍是多少。?

以下為具體內(nèi)容:?

1、ADC 采樣電路注意事項(xiàng)?

? ? ? ?ADC 采樣口需要在靠近管腳處加 103 電容,ADC 轉(zhuǎn)換需要讓電源電壓穩(wěn)定,所以在使用 ADC 功能時(shí),請?jiān)诳拷?IC 的 VCC 和 GND 處加 104 電容,以保證轉(zhuǎn)換結(jié)果準(zhǔn)確。?

2、ADC 多通道轉(zhuǎn)換注意事項(xiàng)?

? ? ? ?賽元芯片大多數(shù)型號擁有多路 ADC 通道,但每次轉(zhuǎn)換只能轉(zhuǎn)換一個(gè)通道,若想實(shí)現(xiàn)多路 通道的ADC信號的采集,需要在一路ADC通道轉(zhuǎn)換完畢后將轉(zhuǎn)換口切換至另一路ADC, 如此反復(fù)以實(shí)現(xiàn)多通道的 ADC 轉(zhuǎn)換。若在 ADC 通道切換后馬上進(jìn)行 AD 轉(zhuǎn)換,通道口 線上的電壓可能存在不穩(wěn)定的現(xiàn)象,在切換通道后轉(zhuǎn)換的第一個(gè)值可能會存在異常,建議 用戶對某個(gè)通道做連續(xù)的多次采集和轉(zhuǎn)換后,將切換通道后轉(zhuǎn)換的第一個(gè)值或幾個(gè)值去 除,或?qū)⒆畲笾导白钚≈等コ?,再將剩余?AD 轉(zhuǎn)換值求平均值得到采集結(jié)果。?

使用示例如下:?

unsigned int ADC_Value0,ADC_Value1,ADC_Value2;?

unsigned int ADC_Convert(void)?

{?

unsigned int Tad=0,MinAd=0x0fff,MaxAd=0x0000,TempAdd=0;?

unsigned char t=0;?

for(t=0;t<10;t++)?

{?

ADCCON |= 0X40;? ? ? ? ? ? ? ? ? ? ?//開始 ADC 轉(zhuǎn)換?

while(!(ADCCON&0x20));? ? ? ? ? //等待 ADC 轉(zhuǎn)換完成,具體轉(zhuǎn)換完成標(biāo)志位請參照規(guī)格。

?ADCCON&=~(0X20);? ? ? ? ? ? ? ?//清中斷標(biāo)志位?

Tad = ((unsigned int)ADCVH<<4)+(ADCVL>>4);? ? ? ? ? //取得一次轉(zhuǎn)換值?

if (Tad>MaxAd)?

{?

MaxAd=Tad;? ? ? ? ? ?? ? ? ? ? ? ? ? ? ?//獲得當(dāng)前的最大值?

}?

if (Tad<MinAd)

{?

MinAd=Tad;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //獲得當(dāng)前的最小值?

}?

TempAdd+=Tad;? ? ? ? ? ? ? ? ? ? ? ? ?//轉(zhuǎn)換值累加?

}?

TempAdd-=MinAd;? ? ? ? ? ? ? ? ? ? ? //去掉最小值?

TempAdd-=MaxAd;? ? ? ? ? ? ? ? ? ? //去掉最大值?

TempAdd>>=3;? ? ? ? ? ? ? ? ? ? ? ? ?//求平均值?

return(TempAdd);?

}?

void ADC_channel(unsigned char channel)?

{?

ADCCON = ADCCON &0xE0| channel;? ? ? ? ? //ADC 輸入選擇為 ADCchannel 口??

}?

void ADC_Multichannel()?

{?

ADCCFG0 = 0x07;? ? ? ? ? ? //設(shè)置 AIN0、AIN1、AIN2 設(shè)置為 ADC 口,并自動將上拉電阻移除。?

ADCCON |= 0X80;? ? ? ? ? ? //開啟 ADC 模塊電源?

ADC_channel(0);? ? ? ? ? ? ? //ADC 入口切換至 AIN0 口?

ADC_Value1 = ADC_Convert();? ? ? ? ? ?//啟動 ADC 轉(zhuǎn)換,獲得轉(zhuǎn)換值?

ADC_channel(1);? ? ? ? ? ? ? ?//ADC 入口切換至 AIN1 口?

ADC_Value1 = ADC_Convert();? ? ? ? ? ? ?//啟動 ADC 轉(zhuǎn)換,獲得轉(zhuǎn)換值?

ADC_channel(2);? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? //ADC 入口切換至 AIN2?

ADC_Value2 = ADC_Convert();? ? ? ? ? ? ?//啟動 ADC 轉(zhuǎn)換,獲得轉(zhuǎn)換值

3、怎樣改善 ADC 的采樣誤差?

使用 ADC 采樣實(shí)際值和理論值達(dá)到幾百甚至上千個(gè)值,可以從以下幾個(gè)方面進(jìn)行檢查:?

1) 查看 ADC 初始化是否正確,ADC 電源是否提前打開,AD 口的選擇除了需要設(shè)置 選擇 ADC 采樣通道以外,還要有 ADC 端口設(shè)置寄存器需要將 ADC 采樣口所在的 IO 口設(shè)置為 ADC 輸入口,檢查 ADC 采樣口選擇是否正確;?

2) ADC 轉(zhuǎn)換完成標(biāo)志位判斷錯(cuò)誤,或者是 bit 位搞錯(cuò),導(dǎo)致啟動 ADC 轉(zhuǎn)換后沒有等 待轉(zhuǎn)換完成就進(jìn)行了 ADC 值的讀取,賽元各系列芯片的 ADC 轉(zhuǎn)換完成的標(biāo)志位 不是全部都在同一個(gè) bit 位的,需要注意,大多數(shù)集中在 ADCCON 寄存器的 bit4 和 bit5,具體需要查看規(guī)格書;

3) ADC 檢測需要將對應(yīng)的 IO 口設(shè)置為輸入模式,同時(shí)需要設(shè)置為 ADC 輸入口,設(shè) 為輸出模式的話在進(jìn)行 AD 口切換時(shí)有可能導(dǎo)致 ADC 值偏差。?

使用 ADC 采樣實(shí)際值和理論值相差幾十到一兩百個(gè)值時(shí),可以從以下幾個(gè)方面進(jìn)行檢查:?

1) 是否有切換 ADC 通道或者是參考電壓,建議切換后延時(shí)一下等待電路穩(wěn)定后再進(jìn) 行 ADC 轉(zhuǎn)換;?

2) 輸入電壓或者是芯片供電電壓不穩(wěn)定,可以實(shí)驗(yàn)一下看切為內(nèi)部參考電壓 ADC 采 樣值是否有改善;?

3) 分壓電阻太大,導(dǎo)致 ADC 采樣值和理論值有偏差,可以減小分壓電阻實(shí)驗(yàn)是否有 改善,分壓電阻超過 1MΩ 就會有影響;?

4) VDD 做參考時(shí),VDD 電壓有較大波動,或者是輸入電壓有較大波動,或者是 VDD 電壓和輸入電壓波動的頻率不一樣,都會導(dǎo)致 ADC 采樣值不準(zhǔn),可以將芯片電源 管腳上的 104 電容盡量靠近芯片管腳擺放,或?qū)?ADC 采用管腳上的電容值減小, 使電源電壓的波動與采樣電壓的波形頻率與幅度盡量保持一致。?

4、如何使用 ADC 檢測電源電壓?

賽元芯片的 ADC 通道選擇中提供了測量 1/4VDD 的通道用于測量電源電壓,將 ADC 采 樣通道設(shè)置為測量 1/4VDD 的通道,92F 系列芯片選擇內(nèi)部 2.4V 參考電壓,95F 系列芯 片選擇內(nèi)部 2.048V 或 1.024V 參考電壓,獲取的 ADC 采樣值就是 1/4VDD 的采樣值,所 得到的的 ADC 采樣值通過反算可以得到電源電壓的 1/4,再乘以 4 就可以得到電源電壓, 具體的 ADC 采樣通道設(shè)置可查看對應(yīng)芯片的規(guī)格書。?

5、加入 ADC 檢測功能之后,出現(xiàn)程序跑死的現(xiàn)象是什么原因?

不同型號的芯片,ADC 轉(zhuǎn)換完成的標(biāo)志可能不同,有的在 ADCCON 寄存器的 bit4,有的 在 ADCCON 寄存器的 bit5,請檢查 ADC 轉(zhuǎn)換完成標(biāo)志位是否操作有誤,程序中一直在 等待轉(zhuǎn)換完成的標(biāo)志,導(dǎo)致出現(xiàn)程序跑死的現(xiàn)象。?

6、ADC 采樣值如何計(jì)算?

ADC 采樣值的計(jì)算方式為:(被采樣電壓/參考電壓)*滿偏值,其中被采樣電壓為 ADC 通 道檢測的實(shí)際電壓值,參考電壓為用戶所設(shè)置的參考電壓值,92F 系列芯片的參考電壓可 選 VDD 或內(nèi)部 2.4V,95F 系列的參考電壓可以選擇 VDD,內(nèi)部 2.048V 和內(nèi)部 1.024V, 滿偏值為 ADC 采樣值能達(dá)到的最大值,例如 12 位的 ADC 滿偏值是 4095,假如使用 12bit 的 ADC,選擇內(nèi)部 2.4V 為參考電壓,ADC 采樣通道上的電壓值為 2V,那么得到 的采樣值為:(2/2.4)*4096=3413。?

7、ADC 測量電壓的范圍是多少?

賽元芯片使用 ADC 功能可以檢測的電壓范圍與所選擇的 ADC 基準(zhǔn)電壓有關(guān),電壓檢測 范圍為 0V 到參考電壓,不同系列的芯片,ADC 參考電壓不同,用戶需要根據(jù)被測量電壓 的電壓值范圍選擇合適的參考電壓:?

1) 92F 系列芯片的 ADC 有兩個(gè)基準(zhǔn)電壓可以選擇,VDD 和內(nèi)部 2.4V,內(nèi)部 2.4V 要 求的芯片供電電壓為 2.9 以上,低于 2.9V 內(nèi)部 2.4V 無法保證穩(wěn)定的 2.4V;?

2) 95F 系列芯片的 ADC 有三個(gè)基準(zhǔn)電壓可以選擇 VDD/2.048V/1.024V,內(nèi)部 2.048V 要求芯片供電電壓在 2.7V 以上,內(nèi)部 1.024V 要求芯片供電電壓在 2.4V 以上,低 于供電電壓限制內(nèi)部參考電壓的值會無法保證穩(wěn)定;?

3) 目前賽元的芯片還不能選擇外部電壓做 ADC 基準(zhǔn)電壓。


ADC 使用相關(guān)注意事項(xiàng)以及常見問題的評論 (共 條)

分享到微博請遵守國家法律
长子县| 读书| 凉城县| 米易县| 虞城县| 克拉玛依市| 吉林省| 秭归县| 景德镇市| 喜德县| 遂川县| 合阳县| 德化县| 屯门区| 大洼县| 南和县| 福建省| 安阳市| 泾源县| 峨山| 唐海县| 阿克苏市| 通州市| 白水县| 库伦旗| 赤城县| 柳江县| 屯昌县| 甘德县| 竹山县| 阳西县| 成都市| 石景山区| 和林格尔县| 柘荣县| 科尔| 屏山县| 南昌市| 涟源市| 清徐县| 阳泉市|