找回密码
 立即注册
楼主: lao4jiadian

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

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-3-25 23:20:42 | 显示全部楼层
21cns*** 发表于 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多是开关电容式的)。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 08:15:40
已绑定手机

13

主题

1257

回帖

2975

积分

金牌会员

积分
2975
发表于 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之间。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 08:15:40
已绑定手机

13

主题

1257

回帖

2975

积分

金牌会员

积分
2975
发表于 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
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-3-26 09:52:11 | 显示全部楼层
本帖最后由 梁工 于 2024-3-26 10:04 编辑
21cns*** 发表于 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多是开关电容式的)。


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-05-02 08:15:40
已绑定手机

13

主题

1257

回帖

2975

积分

金牌会员

积分
2975
发表于 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, 2025-5-2 15:47 , Processed in 0.109534 second(s), 71 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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