原创 关于AD转换分辨率的认识

2009-11-15 14:19 4838 12 12 分类: 模拟

                                                  讨论AD转换分辨率的算法(转)


大家看一下下面的例子:



(1)       在总长度为5米的范围里,平均分布6棵树(或说6个元素),算出每科树(或说每个元素)的间隔?


解:每棵树(或说每个元素)应该这样分布:


在开头0米处种第1棵(记为0号树)


在1米处种第2棵(记为1号树);


在2米处种第3棵(记为2号树);


在第5米(即终点)处种第6棵(记为5号树)


所以,每棵树的间隔(或分辨率)的算法是:总长度/(长度内总元素-1)


即:5米/(6-1)棵=1米/棵


每隔1米有1棵树,这个道理大家都很清楚,应该没有人说分辨率=总长度/长度内总元素=5/6=0.83米,


即每隔0.83米有1棵树吧??? XXX, 再看例子(2)



(2)       在总长度为5米的范围里,平均分布256棵树,算出每棵树的间隔?


解:总长度=5;长度内总元素=256


所以:按上述算法,每棵树的间隔(或分辨率)=5/(256-1)=0.019607843


即:0号树的位置,即第1棵树的位置=0*0.019607843=0(米)


    1号树的位置,即第2棵树的位置=1*0.019607843=0.019607843(米)


100号树的位置,即第101棵树的位置=100*0.019607843=1.9607843(米)


255号树的位置,即第256棵树的位置=255*0.019607843=4.99999997=5(米)



(3)           在总电压为5V的范围里,平均分布256个元素(0-ff),算出每个元素的间隔?


解:总电压=5V;长度内总元素=256 (0-ff)


所以:每元素的间隔(或分辨率)=5/(256-1)=0.019607843


即:0号元素的位置,即AD<00>的电压=0*0.019607843=0(V)


100号元素的位置,即AD<64>的电压=100*0.019607843=1.9607843(V)


255号元素的位置,即AD<ff>的电压=255*0.019607843=4.99999997=5(V)



(4)           AD转换的分辨率=参考电压/(总元素-1)


当AD为8位,总元素=256(ff)取参考电压=Vdd=5V时


分辨率=5/(256-1)= 0.019607843


当AD=255时,AD转换值=255*0.019607843=4.99999997=5(V)



如这样算:转换值=255*(5/256)=4.98046875=4.98(V)   结果就错了,我们看看用这种算法算算例(1)看看:


每棵树的间隔(或分辨率)=总长度/长度内总元素=5/6=0.8333333333


即:0号树的位置,即第1棵树的位置=0*0.8333333333=0(米)


    1号树的位置,即第2棵树的位置=1*0.8333333333=0.8333333333(米)


5号树的位置,即第6棵树的位置=5*0.8333333333=4.166666666(米)


      可见,最后的元素不在终点5米处,很明显不把总元素减1的算法是不对的,忽略了有一个元素在0的位置啊。



***以前我用C51在设计产品的时候,我都综合参考很多书籍,有些书说“8AD位的除以256; 10AD位的除以1024” ,也有些书说“8AD位的除以255; 10AD位的除以1023”,从上面的分析看,显然后者是对的,这也是我产品设计中的心得, 欢迎再次讨论。


http://hi.baidu.com/spiderjun/blog/item/b5ec5681663f05dfbc3e1ef4.html

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条