xiaocainiao 发表于 2008-6-2 09:57:42

诚心求教SPI干扰问题

马老师你好!
最近做M16--SD卡读的时候,发现ISP下载线的干扰很大,不拔掉不能读出正确的数据,在网站上搜了很多相关的帖子。
看到马潮老师讲“如果AVR的SPI接口在系统中不仅作为ISP使用,还有它用的话(不管是当作普通的I/O,还是SPI),应该注意MISO、MOSI、CLK这3个脚的外部不能出现电路连接上表现出强上拉和强下拉的情况。否则会影响ISP。”
我下载程序的时候到没有影响,但是在读SD卡的时候会有干扰,不能正确读。想了一下,HC244在ISP下载之后自动变成高阻态,应该不会有什么强上拉或强下拉。那会是什么原因呢?在SPI连接部分加上拉电阻有用么?
每回读都得把ISP很麻烦啊(ISP是按照网站上的244做的)
不想知其然不知其所以然
诚心求教~~~

machao 发表于 2008-6-2 16:39:55

已经在其它栏目中看到你的帖子了.

书上讲的是MISO、MOSI、CLK这3个脚在系统中使用的话,如何其保证不影响ISP的使用。

而你的问题是ISP影响了SD读取,正好倒过来了.正常情况下,ISP肯定是拔掉的,对读写SD卡不会产生影响.两全的方法好象没有.

如果在调试过程中,不想经常拔ISP的话,你只能做如下尝试.

1.检查使用的下载软件,下载完成后是否将HC244的输出设置成高阻(BASCOM-AVR,SLISP,CVAVR,ICC中都可以使用该并口ISP下载线,不同的软件可能处理不一样).如果输出不是高阻,而是高电平(低电平)的话,肯定会造成读写SD的问题.因此首先要保证使用的软件在不执行下载操作时,将HC244自动变成输出高阻.

2.就是HC244为输出高阻时,也会影响SD的读写.因为ISP上有长的连线,有电容的存在,使得读写SD的信号上升下降有延时.这时可以尝试将读写SD的CLK降低.主要是为了方便在调试过程中经常拔ISP.等调试完成后,恢复读写SD的速度即可.

以上请参考,不过肯定是拔掉ISP后不会对读写SD有影响的.

xiaocainiao 发表于 2008-6-2 20:00:56

谢谢马老师!!受教了
如果能做您的学生,那真是一件幸福的事
页: [1]
查看完整版本: 诚心求教SPI干扰问题