有关SPI接口的奇怪问题,哪位高手能帮忙解决(附图)

[复制链接]
2978|8
 楼主| sunlu623 发表于 2008-1-28 21:42 | 显示全部楼层 |阅读模式
我使用AT89C51的三条口线(P1.0,P1.1,P1.2已经上拉),虚拟SPI接口,控制一个8位双通道的D/A转换器AD7303,工作过程中,2个输出通道的输出正常,在通过虚拟程序输出AD7303的控制字和转换的数字量后,输出的模拟量完全正常,但过了一段时间(时间不定),两个输出通道的输出都改变为0了,怀疑是因为干扰,但始终找不到解决问题的方法.在AD7303输出为0的情况下,单片机的程序正常.下面是接口电路,请各位高手给指点一下,先在这里谢谢了.
zhaziwen 发表于 2008-1-29 15:58 | 显示全部楼层

检查下放大电路了没有

 楼主| sunlu623 发表于 2008-1-30 21:46 | 显示全部楼层

谢谢2楼,但检查了放大电路,没有问题

zhaziwen 发表于 2008-2-1 12:58 | 显示全部楼层

反馈端接负极

放大器的反馈端应接在负极
古道热肠 发表于 2008-2-1 16:03 | 显示全部楼层

二分法查问题

不过首先得查看是共性,还是个性,存在共性可能就不是干扰了,而是有BUG在里面搞破坏。
出现输出为0时,检查DA的输出是多少,就能分清是前级,还是后级的问题了。
解决问题方法最重要!!!
machunshui 发表于 2008-2-1 16:22 | 显示全部楼层

试试看

如果ad和单片机直接相连,
试试串个电阻,ad这一侧对地接个pf级别的小电容
蓝色日出 发表于 2008-2-2 13:16 | 显示全部楼层

检查一下时钟

21icupk 发表于 2008-2-2 20:42 | 显示全部楼层

我的经验

每次spi同心结束后,将同步信号,数据输入,时钟信号都设置成高电平。
我以前遇到过有时好过段时间后就出错的情况,这么处理后就没有问题了。
edanzg 发表于 2008-2-2 20:55 | 显示全部楼层

同意4楼

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

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