2017年5月27日 星期六

STM32F0 ADC calibration

如果有需要把ADC做準的話,需要先從MCU的SPEC開始K起……
!!!!!!!!!
有沒有這麼複雜?
看起來有喔!

先看一下介紹,如果不需要做很準的情況下,只要把ADC讀出來即可,但如果需要做準的話,除了VDDA需要注意,STM32F0需要注意internal reference voltage, 被放在channel 17的位置上

實際上的VDDA需要透過2個參數來進行校正:Vreferint_cal還有Vrefint_data, Vreferint_cal由MCU的內部ROM讀出,Vrefint_data就由ADC ch17 讀出,如下圖的公式


Vrefint_data的內部ROM值落在這裡,程式可以用(*(uint16_t*)0x1FFFF7BA)的方式取出

可以確認一下 internal reference voltage的情況


實測的結果:看起來還有一個固定的offset 存在

offset 目前是想在ADC上墊個固定offset,再把這個offet拉到一組ADC上,讀到的電壓減去offset,應該就可以消掉這個問題了!
待續……

沒有留言:

張貼留言