关于用SPI总线控制EEPROM——AT93C46

- UID
- 161036
- 性别
- 男
|
关于用SPI总线控制EEPROM——AT93C46
谁用SPI总线控制过EEPROM——AT93C46,给个例程。。。。不知怎么回事,老有问题! |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
版主,我的单片机的SPI设置应该没问题,可能是由于单片机SPI时序和AT93C46的时序的问题。不知道怎么配置。。。帮我分析一下吧,我把AT93C46的时序图和SPI的时序图传上来。http://bbs.chinaecnet.com/uploadImages/时序图.doc
先谢谢了。。。。 |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
http://bbs.chinaecnet.com/uploadImages/时序图.rar |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
怎么打不开,这个应该没问题了吧http://bbs.chinaecnet.com/uploadImages/shixutu.rar |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
看来是写不进去,写busy标志没有!读有数,也不准。读出的是7F。波形都有,时钟,单片机的输出管脚都应该是对的。 |
|
|
|
|
|

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

- UID
- 161036
- 性别
- 男
|
因为MCU的SS脚是低有效,可我用的AT93C46是高有效,所以就配置了一下MCU的寄存器,把SS脚作为通用IO了,根据93C46对SS信号的要求置高,置低。应该没问题的 |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
您数的sipc是什么?我怎么没见过?不好意思。。。我用的是DG128A |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
我把AT93C46配置成8位的,那么最高地址也就是7F,第八位没有数,那么往AT93C46内发地址时,是不是一定严格发7位? |
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
|
|
|
|
|

- UID
- 161036
- 性别
- 男
|
解决了。。。谢谢版主和xuhuadong,果然如你所说。 |
|
|
|
|
|