请教: AD558应用中遇到的一个怪异问题

[复制链接]
1522|3
 楼主| wf.yang 发表于 2013-11-28 08:32 | 显示全部楼层 |阅读模式
本帖最后由 wf.yang 于 2013-11-28 08:35 编辑

当输入数字量为奇数时,输出模拟电压是正确的;

当输入数字量为偶数时,输出模拟电压比正确值偏小。多数情况比正确值低一个LSB的电压,有时低几个LSB的电压;

特别是输入数字量为4, 8, 16, 32, 64, 128时,输出模拟电压均为2个LSB对应的模拟电压。

现在,完全可以排除数据线交叉错误、单片机发送错误。因为在0~255之间的每个输入数据,在AD558的数据线上均测量到正确的八位数据。

也排除了万用表测量错误,因为在能够正确转换的输入数据情况下,每个输出模拟电压正好对应相应输入数据。

曾经怀疑AD558芯片存在问题,换了三片,都存在同样的问题。

请求老师指点,感谢感谢!

连续输入0~255时,得到的锯齿波如下(输入为4、8时,不太好画,没有画出,只画出了对应16、32、64、128的情形;偶数输入时错误输出造成的毛刺也没画出):

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
大前门 发表于 2013-11-28 09:20 | 显示全部楼层
具体情况不太了解,DAC/ADC内部基准源或相关电路在一定时刻的波动可能会造成missing code,基本上就是你遇到的现象。
我觉得可以试试在VCC上多加一些去耦,在CS,CE等数据线上串联电阻以减缓上升下降沿和过冲,还可以试试改变数据传输锁定等的时序。
 楼主| wf.yang 发表于 2013-11-28 10:08 | 显示全部楼层
好!

谢谢你!
 楼主| wf.yang 发表于 2013-11-28 10:16 | 显示全部楼层
不可理解的是,电压波动造成的影响,也太有规律了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

846

帖子

2

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