位置:51电子网 » 技术资料 » 接口电路

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

发布时间:2008/5/28 0:00:00 访问次数:690

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

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


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

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

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



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

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


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

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

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



相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!