Board logo

标题: 关于用SPI总线控制EEPROM——AT93C46 [打印本页]

作者: malyyuer    时间: 2007-7-2 19:10     标题: 关于用SPI总线控制EEPROM——AT93C46

谁用SPI总线控制过EEPROM——AT93C46,给个例程。。。。不知怎么回事,老有问题!
作者: strongchen    时间: 2007-7-3 10:09

可以参考一下这两个帖子:
http://bbs.eccn.com/dispbbs.asp?boardID=3&RootID=118618&ID=118618
http://bbs.eccn.com/dispbbs.asp?boardid=3&rootid=118351&id=118351&star=
作者: malyyuer    时间: 2007-7-3 12:33

版主,我的单片机的SPI设置应该没问题,可能是由于单片机SPI时序和AT93C46的时序的问题。不知道怎么配置。。。帮我分析一下吧,我把AT93C46的时序图和SPI的时序图传上来。http://bbs.chinaecnet.com/uploadImages/时序图.doc
先谢谢了。。。。
作者: malyyuer    时间: 2007-7-3 13:07

http://bbs.chinaecnet.com/uploadImages/时序图.rar
作者: malyyuer    时间: 2007-7-3 13:12

怎么打不开,这个应该没问题了吧http://bbs.chinaecnet.com/uploadImages/shixutu.rar
作者: strongchen    时间: 2007-7-3 14:05

你用示波器看过通讯波形吗?现在的现象是怎样的?
作者: malyyuer    时间: 2007-7-3 20:29

看来是写不进去,写busy标志没有!读有数,也不准。读出的是7F。波形都有,时钟,单片机的输出管脚都应该是对的。
作者: strongchen    时间: 2007-7-4 11:59

看起来是时序没有对齐,差了一位。再仔细检查一下!
作者: malyyuer    时间: 2007-7-4 20:05

嗯,我觉得也是这个问题,可我通过CPOL和CHPA两位进行时序配置怎么都不对啊!您觉得应该配置成什么呢?我觉得CPOL CHPA应该是00或着11,因为AT93C46是在SCK的上升沿进行采样,只有这两种情况MCU也在SCK的上升沿采样!他们应该是同步的吧。而且我试了一下,配置成10也能读到数,可配置成01就不行了。
版主给点建议,我对时序也是不怎么懂。
作者: strongchen    时间: 2007-7-5 10:25

SS脚的信号时序是否正确?
作者: malyyuer    时间: 2007-7-5 10:49

因为MCU的SS脚是低有效,可我用的AT93C46是高有效,所以就配置了一下MCU的寄存器,把SS脚作为通用IO了,根据93C46对SS信号的要求置高,置低。应该没问题的
作者: xuhuadong    时间: 2007-7-5 11:11

我刚做过试验,qg8spi-93c46,

采用查询方式,原码在21ic.bbs free的论坛上。用示波器看到,波形正常,可以正常接口,要注意cs线的延时

主要是电平方式sipc=0x54
作者: xuhuadong    时间: 2007-7-5 11:16

如果用sipc=50;则接受的数据要左移一位,因为93c46会发起始0
作者: malyyuer    时间: 2007-7-5 11:20

没上过您说的那个论坛,帖子的地址是什么?我去看看
作者: malyyuer    时间: 2007-7-5 11:23

您数的sipc是什么?我怎么没见过?不好意思。。。我用的是DG128A
作者: malyyuer    时间: 2007-7-5 11:27

我把AT93C46配置成8位的,那么最高地址也就是7F,第八位没有数,那么往AT93C46内发地址时,是不是一定严格发7位?
作者: malyyuer    时间: 2007-7-5 11:29

能告诉我您的QQ么,方便请教。。。
作者: malyyuer    时间: 2007-7-7 21:15

解决了。。。谢谢版主和xuhuadong,果然如你所说。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0