问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ADC转换结果计算:除以1023还是1024?

创作时间:
作者:
@小白创作中心

ADC转换结果计算:除以1023还是1024?

引用
1
来源
1.
https://cloud.tencent.com/developer/article/1893521

ADC(模数转换器)是嵌入式系统和电子工程领域中一个非常重要的组件,它负责将模拟信号转换为数字信号。在处理ADC转换结果时,一个常见的问题是:应该除以1023还是1024?这个问题看似简单,却引发了激烈的争论。让我们一起来探讨这个问题的答案。

不久前的某天早上,有个群友提出了一个貌似很简单的问题,没想到引发了激烈的争论。前前后后多位高手杀入战团,引经据典,各抒己见。世界上就怕认真二字,不管最后谁对谁错,让我们先为这些同学们的精神点赞吧!

问题是这样的:

到这里已经分成了两大阵营:1023派和1024派。好像都很有道理啊,10bit最大不就是1023吗?究竟谁对谁错呢?

10bit ADC能得到的最大值是1023,如果除以1024的话,那我们永远测不到满量程,不过10bit明明是表示1024嘛。有点儿蒙圈了。

正在纠结该支持1023还是1024,没想到又杀出来一派,实践检验派。你们都别争了,咱们接个最高参考电压VREF看一下不就结了吗?这个挺狠。

有同学发现老外也挺纠结这个问题的,下面是一个论坛里的讨论帖子。

https://forum.allaboutcircuits.com/threads/why-adc-1024-is-correct-and-adc-1023-is-just-plain-wrong.80018/

THE_RB同学使用了一个化繁为简的方法,让我们直观地了解到问题出在哪儿。如果ADC参考电压为5V,我们假设ADC输出结果只有5个值,即0,1,2,3,4。那我们是用5除(也就是n),还是用4除(也就是n-1)能得到更精确的结果呢?

下面我们看一个3bit ADC,数字输出和模拟量输入之间的对应关系图(图片来源:ADI培训手册)。我们看到在输入接近0V或Full Scale满量程的时候,会产生相对来说大一点的偏差。

有兴趣的同学可以用ADC输出值反推一下电压,看是用7除还是用8除更合适。对于10bit的ADC来说,虽然用1023和1024去除,得出的结果差别非常小,但是用1024可以在全量程范围内得到比较小的偏差和很好的一致性。

看到这里,你对该除1023还是1024还有疑问吗?

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号