qjy822 发表于 2023-3-13 16:51:34

怎么利用内部15通道的Bandgap电压来测量外部电压

 各位大师们,MCU是STC8H1K08,VREF是接到VCC的5V上的,怎么利用内部15通道的Bandgap电压来测量外部电压,外部电压是用ADC12来检测,有相关的计算公式或是参考代码吗?谢谢!

神农鼎 发表于 2023-3-13 17:02:24



请参考

qjy822 发表于 2023-3-13 17:12:36

  我看了这个参考程序是检测电源电压VCC的,没有检测外部其它ADC口的电压的,所以有点不是很明白,要检测其它AD口的电压要怎么处理,谢谢解答!

神农鼎 发表于 2023-3-13 18:38:08

你没看完:






qjy822 发表于 2023-3-13 19:12:49

好的,明白,谢谢!

梁工 发表于 2023-3-13 22:49:08

利用内部15通道的Bandgap电压来校准外部电压,外部电压是用ADC12来检测:
读取ADC12,读取ADC15,则输入电压 = BGV * ADC12/ADC15。
为了避免浮点运算,转成整数运算,比如BGV取1.19V,则输入电压 = (u32)1190*ADC12/ADC15,结果单位为mV,比如结果为2355,则为2.355V。

qjy822 发表于 2023-3-14 14:52:45

好的,解答得非常祥细,非常感谢!

qjy822 发表于 2023-3-14 15:32:11

还有个地方不是很明白,这个BGV电压从ROM中读取出来,固定的1.19V还是一个变化的电压呢?会受电压变化的影响吗?

梁工 发表于 2023-3-14 16:06:23

本帖最后由 梁工 于 2023-3-14 16:07 编辑

qjy822 发表于 2023-3-14 15:32
还有个地方不是很明白,这个BGV电压从ROM中读取出来,固定的1.19V还是一个变化的电压呢?会受电压变化的影 ...
BGV电压从ROM中读取出来的是生产测试时的实际电压,固定的1.19V是额定电压(Normal),这BGV在MCU2.5~5.5V供电时,其变化一般会小于1%。
如果你的VREF要更高的精度和更小的温度系数,请外挂基准。好的基准一般比MCU贵得多。

qjy822 发表于 2023-3-14 17:20:37

好的,明白,目前这个精度已经够用了,谢谢!
页: [1] 2
查看完整版本: 怎么利用内部15通道的Bandgap电压来测量外部电压