<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 64腳和小于64腳的STM32進(jìn)行AD時(shí)注意,參照電源處理方法

          64腳和小于64腳的STM32進(jìn)行AD時(shí)注意,參照電源處理方法

          作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
          請注意,ADC_IN17上沒有內(nèi)部基準(zhǔn),將其說成基準(zhǔn)電壓概念不對(duì)。
          所以橫線以下的理解不對(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)電壓參照。

          STM32的內(nèi)部參照電壓VREFINT和ADCx_IN17相連接,它的作用是相當(dāng)于一個(gè)標(biāo)準(zhǔn)電壓測量點(diǎn),內(nèi)部參照電壓VREFINT只能出現(xiàn)在主ADC1中使用。
          內(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)確的問題。



          關(guān)鍵詞: STM32AD電源處

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();