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

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

[复制链接]

83

主题

8317

回帖

1万

积分

超级版主

积分
17932
发表于 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多是开关电容式的)。
回复

使用道具 举报 送花

已绑定手机

20

主题

1456

回帖

4428

积分

论坛元老

积分
4428
发表于 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之间。
回复

使用道具 举报 送花

已绑定手机

20

主题

1456

回帖

4428

积分

论坛元老

积分
4428
发表于 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
回复

使用道具 举报 送花

83

主题

8317

回帖

1万

积分

超级版主

积分
17932
发表于 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多是开关电容式的)。


回复

使用道具 举报 送花

已绑定手机

20

主题

1456

回帖

4428

积分

论坛元老

积分
4428
发表于 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的结果计算,你说哪种计算方式更合理?
回复

使用道具 举报 送花

已绑定手机

0

主题

37

回帖

192

积分

注册会员

积分
192
发表于 2026-2-27 09:00:49 | 显示全部楼层
有二分法的视频详解不?
回复

使用道具 举报 送花

已绑定手机

24

主题

701

回帖

2731

积分

金牌会员

积分
2731
发表于 2026-2-27 10:13:13 | 显示全部楼层
21cns*** 发表于 2024-3-25 21:16
较真的话应该是除4095
举个极端例子,比如是1位的ADC是除以1而不是除以2。 ...

正确的是4095,
回复

使用道具 举报 送花

33

主题

3085

回帖

7234

积分

论坛元老

积分
7234
发表于 2026-2-27 10:36:45 | 显示全部楼层

正确的是4096。数值达到4095时,实际的电压可能在 4095/4096*Vref到Vref 之间(默认实际电压不超过Vref电压)。

读数为0的时候,实际的电压也可能不为零。

是不是很反直觉
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

已绑定手机

24

主题

701

回帖

2731

积分

金牌会员

积分
2731
发表于 2026-2-27 10:46:59 | 显示全部楼层
_奶*** 发表于 2026-2-27 10:36
正确的是4096。数值达到4095时,实际的电压可能在 4095/4096*Vref到Vref 之间(默认实际电压不超过Vref电 ...

你去看看TI,ADI的adc手册就明白了
回复

使用道具 举报 送花

已绑定手机

0

主题

37

回帖

192

积分

注册会员

积分
192
发表于 2026-2-28 09:02:47 | 显示全部楼层
Ayb_*** 发表于 2026-2-27 10:46
你去看看TI,ADI的adc手册就明白了

可以上传一份不,老大,谢谢
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-8 01:14 , Processed in 0.073915 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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