93C46系列串行EEPROM储存器调试心得

时间:2007-05-13
 

线传感器网络中,需要一个EEPROM来存路由表,93C46系列算是比较老的器件了,速度也不快,但手头正好有几个,就先拿来试验一下,本以为很容易搞定的,却遇到了个奇怪的现象,搞了一阵才解决。在实验之前,查了些93C46资料,读写函数都很正常,和大部分SPI器件一样,所以没仔细看数据手册,确定了通讯格式就开始实验,奇怪的问题就开始了,我用指定地址方式写入数据,依次写入“012~128”,读出来确是:“001122~6464”,换了测试数据,反复了几次,确定每个数据都被右移了一位,位被0补齐。死活找不到原因,乖乖去看手册,发现这段:

接收到读指令和地址后,DO 引脚先输出一个虚拟的低电平然后数据根据时钟信号移位输出


估计就是这东西导致了我的数据右移,接下来还有一段:

在个数据字移位输出以后,只要保持片选信号CS 不变和时钟信号SK 继续触发,器件会自动将地址加1 指向下一地址并且连续输出串行数据,只要保持片选和时钟信号SK 不断的输入,器件会把地址不断的增加直到器件的末地址然后地址回到0 ,在连续读出的模式下只有个数据输出的时候有输出虚拟0 位后面送出的数据都没有虚拟0

试了一下自动将地址加1 的方法,果然没有问题,但我一般需要随机读取,现在的解决办法只有在每次读完之后,自己直接操作SK,再来触发,读出一位。我纳闷的是难道没有人遇到这问题吗?还是大家都不用随机读取模式?还是我哪里的理解出了问题?



  
上一篇:芯片78L05相关问题
下一篇:93c46读写程序

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料