打印

谢谢啦,这篇**刚才还在看呢!

[复制链接]
3757|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cnchip|  楼主 | 2007-12-15 23:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个N位的ADC,分辨率到底是2N还是2N-1?(N是N次方哦)
记得这里有位仁兄说起过,应该是2N-1,并贴了MAXIM的一个datasheet说明!
我找了快一晚上了,国外的一些资料里基本是2N-1,但也有少数标2N的,甚至还有大名鼎鼎的AD公司的资料里同一页有不同的表述:

怎么样,真是郁闷!

到底应该是什么?这应该与ADC的结构有关,几位前辈能否指点一下?
非常感谢!

随便贴一份资料,就上面那份文档,《仪表放大器应用工程师指南(第二版,中文版》

相关帖子

来自 2楼
xwj| | 2007-12-15 23:45 | 只看该作者

这个问题要区分是ADC还是DAC

对于ADC,应该是2^N才对,而不是2^N-1

实际上ADC可以看成是输入和基准的in/x比较

比如最简单的一bit的,只有0和1两种状态,要全量程的话当然是应该以1/2REF为准,
对于0~1/2的,判定为0;对于1/2~1的,判定为1,每个格子的范围就是1/2
再扩展成2bit,有(0~3)4个状态:
那么对于0~1/4的,判定为0;对于1/4~2/4的,判定为1;对于2/4~3/4的,判定为2...每个格子的范围就是1/4

更多的位数时,依此类推,就可以得出结论了:
应该是2^N才对,而不是2^N-1


而对于DAC,结果却又不同 

DAC的每个格子还是1/(2^N)
但是由于最大输出数只能输出2^N-1,因此会造成输出数少1的现象


比如我们用8bit ADC采样基准,再用8bit DAC 同一基准输出,会发现采样的值是255,以255输出时只能输出255/256 倍REF!
因为>255/256~256/256这一段范围内采样的值都是255,都只能输出255/256 倍REF。

这就是量化带来的误差,简称量化误差

量化误差的范围为1/2^n 倍基准
 
 

使用特权

评论回复
板凳
awey| | 2007-12-15 23:32 | 只看该作者

2N-1, N比较大时,也不在乎那个1了

使用特权

评论回复
地板
cnchip|  楼主 | 2007-12-15 23:34 | 只看该作者

上面那份资料好像有第三版了,需要的朋友自己找一下

不过目前中文版可能还没出来!

使用特权

评论回复
5
cnchip|  楼主 | 2007-12-15 23:43 | 只看该作者

多谢前辈指点!

主要是为什么呢?虽然很小,但却是一个基本概念啊!

从结构上如何解释?稍加分析似乎应该就是2N-1,但……晕了!还是不太懂!

再次感谢!

使用特权

评论回复
6
xwj| | 2007-12-15 23:54 | 只看该作者

哈哈,这家伙,拿裤子来诱惑我...

使用特权

评论回复
7
chunyang| | 2007-12-15 23:58 | 只看该作者

小x把你的二帖合一,我就给你穿条裤子

使用特权

评论回复
8
程序匠人| | 2007-12-15 23:59 | 只看该作者

同意7楼chunyang

使用特权

评论回复
9
chunyang| | 2007-12-16 00:06 | 只看该作者

已经给穿上了

谁叫你愿意上钩?!

刚才BBS居然卡壳两分钟,怎么回事,跟投票截止有关吗?

使用特权

评论回复
10
cnchip|  楼主 | 2007-12-16 00:20 | 只看该作者

受教受教,非常感谢几位前辈指点!

保存下来明日认真拜读,到时不懂再请教,非常感谢!

还有一个问题,SAR型ADC的DNL是不是只能做到0.5LSB,一个LSB应该就等于分辨率吧?可为何又叫最低有效位呢?是不是一个概念被弄糊涂了!

此外,这个DNL只能做到0.5LSB感觉是不是太差了?这误差也太大了点吧?
这是TI的一个页面:


再次感谢几位前辈,非常感谢!

使用特权

评论回复
11
赤铸| | 2007-12-16 00:24 | 只看该作者

什么型的ADC也不可能优于0.5LSB

这是数字阶梯和模拟直线间最大误差的最小值(能看懂吧?呵呵)

使用特权

评论回复
12
xwj| | 2007-12-16 00:28 | 只看该作者

11楼正解,量化存在格子问题啊

每个格子的大小为1LSB ,很多ADC或补偿0.5个格子把误差分布成正负半个格子

而这半个格子的误差(0.5LSB)已经是理想线性时的最佳状态了,怎么还可能再少呢?

使用特权

评论回复
13
cnchip|  楼主 | 2007-12-16 16:54 | 只看该作者

嘿嘿,刚弄来了一个强悍的东东:



昨晚从国半弄的,还没来得及细看呢,稍等,我来找找URL,然后贴上!
非常感谢几位前辈指点!

使用特权

评论回复
14
cnchip|  楼主 | 2007-12-16 17:37 | 只看该作者

这里有个具体的,ADC081500的页面

使用特权

评论回复
15
赤铸| | 2007-12-16 18:00 | 只看该作者

我前面说的就当是胡说

我看的是 INL/DNL,想的是量化误差 :(
量化误差不可能小于 0.5LSB 的,INL/DNL 又是一回事
这方面的解释好像很多了,简单说,INL/DNL 只管数字量对应的那些离散点,不管点之间空白,所以理论上可以到 0

但实际上,INL 很少有小于 0.5LSB 的,道理很简单的,12-bit 的 ADC,如果 INL 能达到 0.25LSB,那只要在电阻网络上再加几个电阻,就是 13-bit 的了,可以卖更高价钱了。这纯属经济问题了 :)

DNL 倒是有远小于 0.5LSB 的,7135 就是典型

使用特权

评论回复
16
cnchip|  楼主 | 2007-12-16 23:18 | 只看该作者

谢谢、谢谢!

呵,我也在想,理论上DNL应该可以逼近0的,开始只看了TI的,那个页面怎么只有0.5LSB的,所以以为只能做到0.5LSB呢!
不过0.15LSB也够大呀,那不就等于说ADC转换后相邻的两个数据间相对真实值误差间的误差最大会达到15%吗?这也够夸张啊?虽然整体相对输入的模拟信号误差可能非常小。

是不是这样?

另,INL的“平均值”应该是0.5LSB吧?
比如模拟信号0V时,ADC也是00H;
之后逐渐升高到逼近ADC的最低位即将变为1时,此时ADC转换后仍然是0,所以INL逼近1LSB;
当模拟信号再次升高到ADC最低位刚好变为1时,此时的INL又是0了。

所以如果ADC一直保持线性的话,或者说在ADC相邻的DNL值均保持一致时(这样表述好像不妥^_^),那么INL的平均值就是0.5LSB。

唉,表达的太罗嗦,不过意思我想前辈一定明白,不知我这样理解对不对?
被这两个东西给搞糊涂了,还是晕!
能否再指点一下?非常感谢!

使用特权

评论回复
17
cnchip|  楼主 | 2007-12-16 23:23 | 只看该作者

现在感觉INL的理论极限值是0.5LSB了

唉,越想越糊涂!晕~~~

使用特权

评论回复
18
cnchip|  楼主 | 2007-12-17 00:51 | 只看该作者

谢谢啦,这篇**刚才还在看呢!

不过还没弄明白综合噪声到底有多大!
谢谢!

使用特权

评论回复
19
zjp8683463| | 2007-12-18 15:58 | 只看该作者

差0.5LSB又没什么大关系

放弃最后几位就可以了,特别是24位的ADC

使用特权

评论回复
20
sz_kd| | 2007-12-18 17:38 | 只看该作者

..

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

1375

帖子

1

粉丝