|
數(shù)模轉(zhuǎn)換是我們在嵌入式系統(tǒng)中用的非常頻繁的一個(gè)功能,市面上大部分MCU內(nèi)部都集成了ADC,內(nèi)置ADC的精度也從以前的10bit變成現(xiàn)在常見的12bit(NXP),還可以看到不少內(nèi)置16bit精度的MCU(Freescale)。ADC精度攀升的同時(shí),怎么樣能夠更好的駕馭這匹烈馬也同時(shí)困擾著各位年輕工程師。
數(shù)模轉(zhuǎn)換是我們在嵌入式系統(tǒng)中用的非常頻繁的一個(gè)功能,市面上大部分MCU內(nèi)部都集成了ADC,內(nèi)置ADC的精度也從以前的10bit變成現(xiàn)在常見的12bit(NXP),還可以看到不少內(nèi)置16bit精度的MCU(Freescale)。ADC精度攀升的同時(shí),怎么樣能夠更好的駕馭這匹烈馬也同時(shí)困擾著各位年輕工程師,今天就讓小編給大伙支兩招吧!
隔離數(shù)字信號與模擬信號 這一點(diǎn)應(yīng)該是各位工程師最先想到,由于模擬信號抗干擾能力比較差,系統(tǒng)有頻率比較高的數(shù)字信號時(shí),最好能夠在硬件上對模擬信號進(jìn)行隔離。筆者在這方面了解不是很深,實(shí)際使用中,在模擬電源跟地前面串了個(gè)小磁珠,在要求不是太過苛刻的環(huán)境下也夠用了,如下圖所示:
如果大家有進(jìn)一步的需求,就需要考慮到元器件布局、鋪地策略、旁路電容與去耦電容的選取等問題了,可以看一下NXP官方寫的關(guān)于ADC的硬件設(shè)計(jì)參考,鏈接如下:
http://www.zlgmcu.com/NXP/LPC1000/ds/AN10974_12bit_ADC_design.zip
使用基準(zhǔn)電壓校準(zhǔn)Vref 很多MCU都有獨(dú)立的模擬參考電源引腳Vref,常見的硬件設(shè)計(jì)中都會直接接到LDO的輸出端。但實(shí)際系統(tǒng)工作中,LDO受負(fù)載改變的影響,其輸出電壓可能存在比較大的波動。因此,推薦使用一個(gè)通道實(shí)時(shí)采集基準(zhǔn)電壓(常用2.5V、1.24V或者更低等),對Vref電壓進(jìn)行補(bǔ)償校正。
軟件上的配置 不少M(fèi)CU內(nèi)置的ADC都有自動硬件校準(zhǔn)功能,從POR啟動或者低功耗模式喚醒后,都需要進(jìn)行校準(zhǔn),校準(zhǔn)過程只需要為ADC模塊提供固定的時(shí)鐘,硬件自動完成剩余操作,用戶只需要查詢完成標(biāo)志位即可。
ADC引腳需要配置成無上下拉的模擬輸入引腳,這一點(diǎn)很重要,多余的上下拉都將影響ADC正常采樣。
濾 波 硬件上常見的處理方法為,在采樣點(diǎn)上面并聯(lián)一個(gè)電容,這樣可以改善采樣點(diǎn)的波形,減少高頻分量在該點(diǎn)的干擾;同理,軟件上面可以采用中值法、平均法等進(jìn)行濾波,盡量避免采樣點(diǎn)上面極值干擾。
但是,上述方法是通過犧牲ADC的采樣速率來獲得采樣精度的,在對采樣速率有要求的場合下顯然不適用。
采樣電阻的選取 理想情況下,ADC引腳作為輸入引腳,可以近似為一個(gè)阻抗為MΩ級的電阻。很多情況下,為減小整體系統(tǒng)的功耗,很多工程師都會選擇一個(gè)比較大的采樣電阻,以盡量減少電源在采樣電阻上面的漏電流。
這個(gè)時(shí)候,工程師很可能遇到這么一個(gè)問題:在ADC采樣頻率比較高的情況下,只使能單通道,采集回來的數(shù)據(jù)是正確的;當(dāng)同時(shí)開啟多個(gè)通道進(jìn)行轉(zhuǎn)換時(shí),采樣結(jié)果存在非常大的誤差。
實(shí)際上,多通道ADC模塊內(nèi)部結(jié)構(gòu)一般如下圖所示:
多個(gè)轉(zhuǎn)換通道共用一個(gè)采樣電容,在通道切換過程中,采樣電容有一個(gè)充放電的過程。當(dāng)系統(tǒng)工作時(shí),使用示波器觀察采樣引腳波形,可以看到頻率與采樣周期相同的脈沖形狀尖峰。如果采樣前端阻抗比較大,很有可能到達(dá)MCU采樣瞬間,采樣電容上的電壓未能到達(dá)采樣通道引腳的實(shí)際電壓,導(dǎo)致誤差的產(chǎn)生。
問題解決方法是考慮減小采樣前端電路的阻抗。
|
|