找回密码
 立即注册
楼主: lao4j***

新手求教ADC返回值转换方法

[复制链接]

该用户从未签到

46

主题

2934

回帖

6619

积分

超级版主

积分
6619
发表于 2024-3-25 23:20:42 | 显示全部楼层
21cnsound 发表于 2024-3-25 22:42
逼近式是用的二分法没错,参考电压源是VCC_REF,测量目标也是VCC,按你说的逻辑计算得到就是VCC=4095/4096 ...

12位的ADC读数为0~4095,一共4096级。
将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入电压为AVREF*4095/4096时为满量程,明白了吗?
如果仍不明白,可以了解一下逼近式ADC原理(现代的逼近式ADC多是开关电容式的)。
回复 支持 反对 送花

使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

    积分
    817
    发表于 2024-3-26 00:10:43 | 显示全部楼层
    梁工 发表于 2024-3-25 23:20
    12位的ADC读数为0~4095,一共4096级。
    将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入 ...

    从逼近式ADC的原理看,输入电压大于等于AVREF*4095/4096时都能得到4095的测量值。

    输入电压小于AVREF*4095/4096时,测得的输入电压应该是介于AVREF*ADC/4096到AVREF*(ADC+1)/4096之间。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

    积分
    817
    发表于 2024-3-26 00:12:51 | 显示全部楼层
    梁工 发表于 2024-3-25 23:20
    12位的ADC读数为0~4095,一共4096级。
    将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入 ...

    除以4096和除以4095都存在均值半个ADC的误差(这样理解对不对?),估计是为了计算方便一般都是除以4096。

    点评

    最后回复一次这个问题: 半个字误差那是电路问题,不是原理问题。除以4096不是为了计算方便,而是原理如此。比如两个电压理论计算1V+1V=2V,实际测量时1.99V,那么,你可以这样说:1V+1V=1.99V,而1V+1V=2V是为了计  详情 回复 发表于 2024-3-26 09:52
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    46

    主题

    2934

    回帖

    6619

    积分

    超级版主

    积分
    6619
    发表于 2024-3-26 09:52:11 | 显示全部楼层
    本帖最后由 梁工 于 2024-3-26 10:04 编辑
    21cnsound 发表于 2024-3-26 00:12
    除以4096和除以4095都存在均值半个ADC的误差(这样理解对不对?),估计是为了计算方便一般都是除以4096 ...

    再重复一次这个问题:
    半个字误差那是电路问题,不是原理问题。除以4096不是为了计算方便,而是原理如此。
    比如两个电压理论计算1V+1V=2V,实际测量时1.99V,那么,你可以这样说:1V+1V=1.99V,而1V+1V=2V是为了计算方便!这样说法明显是错误的。

    12位的ADC读数为0~4095,一共4096级。
    将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入电压为AVREF*4095/4096时为满量程,明白了吗?
    如果仍不明白,可以了解一下逼近式ADC原理(现代的逼近式ADC多是开关电容式的)。


    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

    积分
    817
    发表于 2024-3-26 10:40:41 | 显示全部楼层
    梁工 发表于 2024-3-26 09:52
    再重复一次这个问题:
    半个字误差那是电路问题,不是原理问题。除以4096不是为了计算方便,而是原理如此。 ...

    12bit的ADC看不太出来差距,举个1bit ADC的例子就知道怎么计算更合理了:
    计算方式1:1bit将AVREF分2级,则输入电压范围就是0~1/2 * AVREF,即输入电压为AVREF*1/2时为满量程
    计算方式1:1bit将AVREF分2级,则输入电压范围就是0~1/1 * AVREF,即输入电压为AVREF*1/1时为满量程

    不要揪住逼近式ADC原理不放,单从以上1bit ADC的结果计算,你说哪种计算方式更合理?
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-5 15:59 , Processed in 0.057636 second(s), 44 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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