找回密码
 立即注册
楼主: 神农鼎

12位ADC 计算公式是/4096还是/4095;10位ADC 计算公式是/1024还是/1023

[复制链接]
已绑定手机

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-12-3 21:21:57 | 显示全部楼层

乘除法不就是一个倍数的问题吗,就好比我们用12位的ADC取采样12V的电压,不就要乘上一个系数吗,4095-4096有区别吗,就是系数不一样而已

回复

使用道具 举报 送花

2

主题

178

回帖

1176

积分

金牌会员

积分
1176
发表于 2024-12-3 23:36:25 | 显示全部楼层

能引发思考的好贴

学无止境
回复

使用道具 举报 送花

已绑定手机

0

主题

2

回帖

10

积分

新手上路

积分
10
发表于 2025-1-24 12:00:20 | 显示全部楼层
必须是2^N, 而不应该是2^n -1,用大脚指头想一想:降到1位或2位的ADC,难道分母能是0或3吗?
回复

使用道具 举报 送花

已绑定手机

0

主题

2

回帖

10

积分

新手上路

积分
10
发表于 2025-1-24 12:01:56 | 显示全部楼层
显然,2位ADC的01必须是0.25而不会是0.333333, 千万不要当大脚指头哦
回复

使用道具 举报 送花

0

主题

19

回帖

256

积分

中级会员

积分
256
发表于 2025-4-1 10:10:20 | 显示全部楼层



12位ADC正确的是除4096, ADC基准FS, ADC满量程实际是FS减一个LSB.
认为ADC满量程就是基准电压其实是不对的, 不过除4096还是4095对结果影响有限.

回复

使用道具 举报 送花

已绑定手机

24

主题

701

回帖

2731

积分

金牌会员

积分
2731
发表于 2025-4-1 10:45:28 | 显示全部楼层
实际应该是4095,1023,但用4096,1024也是可以的,误差在1~几千分之一,对实际没有影响
回复

使用道具 举报 送花

已绑定手机

1

主题

3

回帖

65

积分

注册会员

积分
65
发表于 2025-5-16 12:03:40 | 显示全部楼层
一直是用STC官方的公式:Ux = Vref * Nx / Nref
Vref = 1190mV (读取芯片信息可以查看这个值的)
Nref = Get_ADCResult(15);
Nx  = 测量的通道的值
都不用管它是4095,1023,还是4096,1024。


回复

使用道具 举报 送花

已绑定手机

9

主题

28

回帖

421

积分

中级会员

积分
421
发表于 2025-8-12 11:07:20 | 显示全部楼层
我的理解是,基准电压为5V的12位adc是把电压分成4096段,电压在这一段中,比如是0v和0.00001V都属0x00段,所以adc的读值是0x00;当电压为4.99999和4.99988这样的电压时属于0xFFF段,因此读值是0xfff;
ADC读到的值都是一个区间值;
回复

使用道具 举报 送花

已绑定手机

5

主题

23

回帖

277

积分

中级会员

积分
277
发表于 2025-9-20 23:46:57 | 显示全部楼层
简单的总结一下:认为要除以4096的是理论派,认为要除以4095的是实践派。不管你觉得这只是个读数问题还是只是转换原理中的LSB问题,现实应用中,量程的最大值理应对应Vref+值,并应该严格一致。至于说误差范围可以说通,但追求完美的人觉得不严谨。5V的Vref,ADC的结果0xFFFF时,理应就是5V,而不应该是4.998V。
回复

使用道具 举报 送花

已绑定手机

0

主题

6

回帖

1774

积分

金牌会员

积分
1774
发表于 2025-12-14 22:26:23 | 显示全部楼层
0-4095是4096段
每一段是4096分之一
如果每一段值是50那么0-50就是0
51-100就是1
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-8 05:48 , Processed in 0.082409 second(s), 102 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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