逼近式是用的二分法没错,参考电压源是VCC_REF,测量目标也是VCC,按你说的逻辑计算得到就是VCC=4095/4096 ...
12位的ADC读数为0~4095,一共4096级。
将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入电压为AVREF*4095/4096时为满量程,明白了吗?
如果仍不明白,可以了解一下逼近式ADC原理(现代的逼近式ADC多是开关电容式的)。 梁工 发表于 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之间。 梁工 发表于 2024-3-25 23:20
12位的ADC读数为0~4095,一共4096级。
将AVREF分4096级,则输入电压范围就是0~4095/4096 * AVREF,即输入 ...
除以4096和除以4095都存在均值半个ADC的误差(这样理解对不对?),估计是为了计算方便一般都是除以4096。 本帖最后由 梁工 于 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多是开关电容式的)。
梁工 发表于 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的结果计算,你说哪种计算方式更合理?
页:
1
[2]