乐此不疲
发表于 2024-6-11 22:16:21
此贴曾经读过一次,也回复了无关此贴内容的讨论,今天重读此贴并测试了例程才彻底搞清楚了通过ADC15通道采样值对比1.19V标定值计算其他通道ADC转换的电压值的算法,和对此还有疑问的新手分享以供参考。手册中给出的对于12位采样以MCU工作电压Vcc为参考值的计算公式为:
Vin=MCU工作电压Vcc*(12位ADC转换结果/4096);其中4096对应电源电压
如果以ACD15通道采样值为基准参考时计算公式可改为:
Vin=1.19V*(目标通道12位ADC转换结果/ACD15通道转换结果);其中15通道ACD值对应1.19V基准电压值
神农鼎
发表于 2024-6-11 22:34:58
使用ADC的第15通道固定接的1.19V辅助信号源,反推外部通道输入电压,假设
当前已获取了内部参考信号源电压为BGV,从CHIP中读取,或STC-ISP烧录时指定将重要参数烧录入程序Flash
内部参考信号源的ADC15测量值为resbg,对ADC15/1.19V采样转换一次就知到转换后的值
外部通道输入电压的ADCx测量值为resx,对ADCx的外部输入信号采样转换一次就知到转换后的值
则外部通道输入电压Vx=BGV / resbg * resx;
采样转换二次,只需要计算一次
注意,是假定2次采样转换期间 【ADC_VREF+ = ADC_VCC = MCU_VCC】不变
===所以对外部采样转换一次,也要对内部ADC15接的信号源立即采样转换一次
===============================================================================================
内部参考信号源电压为BGV, 这个值可能是
1.192V,
1.191V,
1.190V,
1.189V,
1.188V
大家要读取我们出厂时标定的是多少,肯定只是 1.190V附近
下面是郭天祥老师的视频讲解
【新提醒】提高篇10-5-利用STC8H单片机内部1.19V信号源反推电源电压-郭天祥老师-STC单片机教学视频 国芯技术交流网站 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
sqj
发表于 2024-7-7 23:24:36
{:5_300:}感谢分享{:4_186:}
ghost
发表于 2024-7-9 16:16:56
这么麻烦,为啥不做参考源呢?
机灵小老鼠
发表于 2024-7-12 23:54:31
我在 STC8H1K24 芯片上就已经使用了 BGV 电压ADC15检测反推,准确度可以在1%左右,可以满足使用要求;
如果不使用BGV反推校准VCC的话,我的电池电压检测误差大约为4%(包括电源抖动和温漂),所以这个功能还是很实用的;
唯一差一点的是, STC8H1K24 芯片在仿真的时候, 即使选择了 在结尾烧入重要工作参数 还是没有读到BGV的出厂电压值, 只能先用固定值模拟值替代,最后使用芯片实际值;
cdpzq
发表于 2024-7-19 01:54:40
ghost 发表于 2024-7-9 16:16
这么麻烦,为啥不做参考源呢?
应该是工艺实现和成本指标平衡不了问题,不同用户对参考源的电压温漂需求也不一样,好点的基准价格明显比单片机贵不少,电压基准和单片机做一起受影响指标做不高. 基准的的滤波电容也要浪费更多IO,当用户供电电压很低时候内部参考电压不一定能正常工作.带隙基准实现性价比高,很适合一般项目和电池供电的不额外增加成本的场合.
ghost
发表于 2024-7-19 09:31:47
FMD几毛钱的都有内部2,3个参考源
ly1350
发表于 2024-7-19 11:29:36
ghost 发表于 2024-7-9 16:16
这么麻烦,为啥不做参考源呢?
这个在山大老师讲课时提出来过,姚总当时就解释了,参考源的制造工艺彻底不一样,所以没有集成
ax6808
发表于 2024-8-29 13:17:49
STC8H系列ADC的第15通道用于测量内部参考信号源?
请问:什么系列无15通道或非此功能?
建议完善描述,8是一个母系列,H只是个子系列……
耀仔
发表于 2024-8-29 15:49:09
老师,您这个程序,被测量的电压是正负极用P0.0和GND吗?