找回密码
 立即注册
查看: 74|回复: 3

32G,ADC方面的问题

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:172
  • 最近打卡:2025-04-28 08:49:07
已绑定手机

90

主题

961

回帖

2318

积分

超级版主

积分
2318
QQ
发表于 2025-4-19 10:45:19 | 显示全部楼层 |阅读模式
帮客户问:
我采用ADC采集引脚上电压,先测试了一下
电路上ADC_ref引脚和VCC引脚连接了,测量时根据STC32G datasheet文档上的21.6.4范例程序编程操作,
ADCTIM = 0x3F;
ADCCFG = 0x2F;  
ADC_CONTR = 0x8f;
上电后等待了20ms
结果读取BGV是1184(CHIPID7和CHIPID8),测量出的值是977,然后根据公式计算出VCC是4963,但是我用万用表量的VCC是4.88V,即4880这样,不知道这是为什么?是还差哪里需要矫正吗?
截图202504191044475285.jpg

根据这个进行的计算


热线19952583534
www.STCAI.com
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-4-19 10:48:00 | 显示全部楼层
在解决您提到的AD采集电压不一致的问题时,我们需要从多个角度进行分析和排查。以下是一些可能的原因及相应的解决方案:

1. 参考电压的准确性
问题描述:您提到ADCref引脚和VCC引脚连接在一起,这意味着ADC的参考电压直接来自于VCC。如果VCC本身存在波动或不准确,将直接影响ADC的测量结果。
解决方案:建议使用一个稳定的外部参考电压源(如TL431、REF3030等)来替代VCC作为ADC的参考电压。这样可以提高ADC测量的准确性。

2. ADC配置参数
问题描述:您设置的ADC配置参数(如ADCTIM、ADCCFG、ADCCONTR)可能影响ADC的采样时间和精度。
解决方案:确保ADC的配置参数符合实际应用的需求。例如,ADCTIM = 0x3F表示采样时间为最大值,适用于高阻抗信号源。如果信号源阻抗较低,可以适当减少采样时间以提高采样速率。

3. 电源电压的测量
问题描述:您用万用表测量的VCC值为4880mV,而通过ADC计算得到的VCC值为4963mV,存在约1.7%的误差。
解决方案:这种误差可能来自于万用表本身的精度限制或ADC的线性误差。建议使用更高精度的测量仪器(如6位半数字万用表)来验证VCC的实际值。

4. ADC校准
问题描述:ADC的测量结果可能存在偏移和增益误差,导致测量值与实际值不一致。
解决方案:可以通过以下步骤进行ADC校准:
     1. 偏移校准:在ADC输入端接地,读取ADC输出值,记录为偏移值。
     2. 增益校准:在ADC输入端接入已知精确的参考电压,读取ADC输出值,记录为增益值。
     3. 应用校准公式:使用记录的偏移值和增益值对ADC的测量结果进行校正。

5. 软件计算误差
问题描述:您在软件中使用的计算公式可能存在误差,导致计算结果与实际值不符。
解决方案:确保计算公式正确无误。例如,VCC的计算公式应为:
     \[
     VCC = \frac{BGV{measured}}{BGV{nominal}} \times V{ref}
     \]
     其中,\(BGV{measured}\)是测量得到的带隙电压值,\(BGV{nominal}\)是标称带隙电压值,\(V{ref}\)是参考电压值。

6. 硬件设计
问题描述:PCB布局、电源去耦、信号走线等硬件设计因素可能影响ADC的测量精度。
解决方案:检查PCB设计,确保电源去耦电容(如0.1μF和10μF)靠近芯片引脚,减少电源噪声。同时,优化信号走线,避免高频信号对ADC的干扰。

7. 温度影响
问题描述:环境温度的变化可能影响ADC的测量精度,尤其是带隙电压的稳定性。
解决方案:如果应用环境温度变化较大,建议在软件中加入温度补偿算法,以提高ADC的测量精度。

通过以上分析和排查,您应该能够找到导致ADC测量结果不一致的原因,并采取相应的措施进行校正。如果问题仍未解决,建议进一步详细检查硬件设计和软件实现,或联系芯片厂商获取技术支持。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2025-4-19 13:18:33 | 显示全部楼层
建议给出具体的供电环境说明,不同的电源稳定时间也大不同,建议初始化ADC后,给足充分的电源稳定时间,前几次采集的数据丢掉,并且控制电源纹波减小对ADC采集的影响。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2025-4-19 13:24:43 | 显示全部楼层
BGV:ADC=Vref:4096
内项之积等于外项之积
Vref=BGV*4096/ADC
BGV=1184mV
ADC=977
Vref=1184mV*4096/977
(int)Vref=4963
算法是没有问题的
另一个ADC通道输入1184mV,对比一下和15通道是否一致
DebugLab
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 06:46 , Processed in 0.156380 second(s), 70 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表