toofree 发表于 2019-12-16 22:34:51

hqw 发表于 2019-12-16 17:22
toofree,多谢你的指教。
STM32F103C8T6 没有单独的外部模拟参考电压,是与AVDD共用的,即3.3V。
那么当你 ...
但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是现在通道0采到的码值依然是4095;
那么通道0上是实际电压换算就是,(1.2/1800)*4095 = 2.73V

麻烦请看完
17通道的码值是会变的,只是电压不变。

17通道能采到码值为1489的机率很少,只有你的AVDD是准确的3.3V时,才有可能采到1489

hqw 发表于 2019-12-17 17:14:01

toofree 发表于 2019-12-16 22:34
但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是 ...

明白了,:handshake:handshake

hqw 发表于 2019-12-17 17:18:25

流水源 发表于 2019-12-16 19:11
*VREFINT_CAL_ADDR                Vrefint_ADValue_ch17
1.2V= --------------------------- ...

多谢指教:handshake:handshake

hqw 发表于 2019-12-17 17:33:04

toofree 发表于 2019-12-16 22:34
但是如果AVDD的电压不知道是多少的话,那么通过1.2V来反推;
假如你在通道17通道采到的码值为 1800,但是 ...

对了,我其实还是想问一下,这内部的1.2v基准电压,应该也是通过MCU的VDD稳压得到,我们应该可以把它理解成内部做了个1.2V的LDO。对于稳压输出1.2V这么低的输出,在VDD从3.3V慢慢降到2.8v,能让这内部的LDO输出一直都稳压在1.2v应该是没有问题的,对吧?

那么,这1.2V内部是接到IN17,这样,读取IN17的AD值,应该是一直不变的。因为不管VDD是3.3V还是2.8V,这IN17的模拟输入电压一直都是1.2v,对吧?这AD值,只跟输入量有关。
对于普通的AD通道而言,(VDD通过两个电阻分压输入的话)如果是要把AD值转换成分压点的电压值,这才跟VDD有关。
页: 1 [2]
查看完整版本: STM32F103C8T6怎样通过内部1.2V基准电压去反推出MCU的VDD?