64腳和小于64腳的STM32進(jìn)行AD時(shí)注意,參照電源處理方法
所以橫線以下的理解不對(duì),如果將其做為參考,則其電壓假定按1.2V計(jì)算,實(shí)際測量的數(shù)字量是1271~1275,按此推算:
1.2/1275=VDD/4095, 所以VDD=3.85V,很明顯供電壓換算出來的值與實(shí)際3.3V不符,所以不有用其做為參考。
實(shí)際上,可以通用ADC_IN1采集某參考源的電壓,其它通道按此進(jìn)行比例換算。
----------------------------------------------------------------
ADC_IN17是內(nèi)部參照電壓,不是基準(zhǔn)電壓;它僅僅相當(dāng)于一個(gè)標(biāo)準(zhǔn)電壓參照。
----------------------------------------------------------------
ADC_IN17是內(nèi)部參照電壓,不是基準(zhǔn)電壓;它僅僅相當(dāng)于一個(gè)標(biāo)準(zhǔn)電壓參照。
內(nèi)部參照電壓VREFINT與參考電壓不是一回事。ADC的參考電壓都是通過Vref+提供的并作為ADC轉(zhuǎn)換器的基準(zhǔn)電壓。 當(dāng)我們使用的Vref+是直接取自用VCC電壓時(shí),當(dāng)VCC電壓波動(dòng)比較大時(shí)或穩(wěn)壓性能比較差時(shí),可以借用STM32的內(nèi)部參照電壓VREFINT校正測量精度。 以測量1通道的電壓值為例,先讀出參照電壓的ADC測量結(jié)果,記為ADre;再讀出要測量通道1的ADC轉(zhuǎn)換結(jié)果,記為ADch1;則要測量的電壓為: Vch1 = VREFINT* (((ADch1*(VREF/4096))/(ADre*(VREF/4096))) 注:VREFINT=1.2V,VREF為參考電壓值=3.3V 公式簡化: Vch1 = VREFINT*(ADch1/ADre) 這種方法等于變相將內(nèi)部參照電壓VREFINT當(dāng)成是ADC參考電壓,也就是說,此時(shí)Vref參考電壓的準(zhǔn)確度已在此已對(duì)結(jié)果影響不大了,ADC的轉(zhuǎn)換結(jié)果基本由VREFINT的精度決定。 注:一般情況下,這種辦法只適合于當(dāng)Vref+參考電壓(其實(shí)也就是VCC電壓)離散性實(shí)在太差的情況下使用。 我們知道,STM32中64腳和小于64腳的型號(hào),Vref+在芯片內(nèi)部與VCC信號(hào)線相連,沒有引到片外,這樣AD的參考電壓就是VCC上的電壓,那么我們可以使用一個(gè)高精度的外部參照電壓,然后用上面的方法,也許可以解決因VCC電源電壓精度不高帶來的ADC測量不準(zhǔn)確的問題。 |
評(píng)論