求助A/D转换精度算法问题

[复制链接]
8947|20
 楼主| abbywang 发表于 2010-2-8 00:38 | 显示全部楼层 |阅读模式
最近一直在搞A/D转换,请教各位高手一下2种算法那个是正确的??

8位的A/D , 参考电压5v  
算法1:分辨率=5V/256=0.0195V
算法2;分辨率=5V/255=0.0196V
谈的元 发表于 2010-2-8 23:28 | 显示全部楼层
第二个吧!

如果是1位AD
如果是2位AD
就好理解了吧
leizi2008 发表于 2010-2-9 09:51 | 显示全部楼层
第一个
8位就是把5v(满量程吧??)分成256份,而不是分成255分,
大碗拉面 发表于 2010-2-9 13:53 | 显示全部楼层
这个可以去参考你所选用A/D的DataSheet
在里面会很明确的告诉你它的1个LSB等于多少
yewuyi 发表于 2010-2-9 14:05 | 显示全部楼层
呵呵,选择1

以前曾经有个争论,最终多数人的意见为1,我个人的意见也是1
Wxy8030 发表于 2010-2-9 21:32 | 显示全部楼层
个人以为对于实际应用来说没有区别,因为你的系统根本精确不到0.1mV......
luoyong21ic 发表于 2010-2-10 12:37 | 显示全部楼层
算法2正确(5V/255)
xymxym 发表于 2010-2-10 15:52 | 显示全部楼层
乍一看,我也会选择第一个,因为是算它的量程,也就是256等分,这时候0是无用的,所以是对的,但如果要与实际返回的AD值来对应第一种算法就错了,因为AD值中,0也是有意义的。这与字节型表示的0~255有关系。也就是8位返回的AD值只能是0~255,不会是256
比如,用5/256=0.01953125表示每一格的电压值,如果AD值返回了最大值0xFF(255),去乘这个数,此时就不对了,这也表示了中间的每一个值都不对。
我以前也一直用第一种方法求,倒没仔细想过,看来似乎是错的。
大家觉得我理解的对不对?
 楼主| abbywang 发表于 2010-2-10 21:05 | 显示全部楼层
谢谢个位高人的指点,,,我也看到有很多人是用的算法1 ,,但算法2的也有,,  :)
yewuyi 发表于 2010-2-11 09:23 | 显示全部楼层
呵呵,我的理解为:

AD值为0表示为:(0,1/256]
AD值为255表示为:[255/256,256/256)

再从方便计算的角度考虑,所以,我都毫不犹豫的选择了1
tianmei44 发表于 2010-4-9 13:10 | 显示全部楼层
与时俱进 发表于 2010-4-11 22:12 | 显示全部楼层
邪恶猛男 发表于 2011-4-11 17:51 | 显示全部楼层
ZFX491669347 发表于 2011-4-30 11:08 | 显示全部楼层
呵呵,我也跟后面学了好多东西!谢谢!
CHEIMEIFU 发表于 2011-5-3 22:33 | 显示全部楼层
学习学习
nicklee112233 发表于 2011-5-4 16:29 | 显示全部楼层
chongren 发表于 2011-5-4 16:45 | 显示全部楼层
我倾向于选2,恩
ZRL700424 发表于 2011-5-4 16:54 | 显示全部楼层
如果改成1位AD:
参考电压5v  
算法1:分辨率=5V/2=2.5V            AD值为最大值时表示电压为2.5V?
算法2;分辨率=5V/1=5V               AD值为最大值时表示电压为5V!
ZRL700424 发表于 2011-5-4 17:01 | 显示全部楼层
如果是将检测到的电压显示出来,用算法1永远显示不了5V。

这个问题N年前就讨论了很久,谁也说服不了谁,实际应用中用哪种都没问题。
shizaigaole 发表于 2011-5-5 11:34 | 显示全部楼层
分辨率 1/256

0位 1等分   (全部是0)
1位 2等分 (小于1/2 是0,否则是1)
。。。。。。
8位  256等分,即分成256段
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部