在调试28377D通过SPI读写外部E2PROM芯片M95640时发现如下现象:
1、写数据的时候如果是针对某一页进行的话,通过读指令读取写入的数据,反馈的数据都是正确的。
2、当所写的数据需要跨页的时候,由于跨页写数据需要分成两次对两个页分别进行写数据操作,所以在两次写数据的中间需要插入一个时间延迟,等待前一页数据写入后再写后一页的数据;本来根据示波器的波形只要前后两页写数据波形不重叠或者稍微错开点时间(比如起码1ms总不应该超过吧);然而实际上当第一页数据写入后需要间隔达到3毫秒时间才能写入第二页的数据(每页最多写数据为32个字节),否则读取同样地址区域数据的时候第二页之前预期写入的数据是读取不到的,读取到的还是第二页之前尚未进行跨页写数据之前的数据。
基于上述情形,请了解的同仁指教了.
Seven Han:
1.说明了通讯是没有问题的,
2.网上有写跨页读写的处理,可以参考下http://blog.csdn.net/u011961427/article/details/55099594
在调试28377D通过SPI读写外部E2PROM芯片M95640时发现如下现象:
1、写数据的时候如果是针对某一页进行的话,通过读指令读取写入的数据,反馈的数据都是正确的。
2、当所写的数据需要跨页的时候,由于跨页写数据需要分成两次对两个页分别进行写数据操作,所以在两次写数据的中间需要插入一个时间延迟,等待前一页数据写入后再写后一页的数据;本来根据示波器的波形只要前后两页写数据波形不重叠或者稍微错开点时间(比如起码1ms总不应该超过吧);然而实际上当第一页数据写入后需要间隔达到3毫秒时间才能写入第二页的数据(每页最多写数据为32个字节),否则读取同样地址区域数据的时候第二页之前预期写入的数据是读取不到的,读取到的还是第二页之前尚未进行跨页写数据之前的数据。
基于上述情形,请了解的同仁指教了.
kafei zhang:
回复 Seven Han:
你好,谢谢你的回复。通讯逻辑是正常的,跨页读写也是可以的,只是两页之间需要插入约3ms的时间这个难以理解,按理说只要通讯的波形发送完毕就可以发起下一页的数据写操作了,但如果两页的写操作靠的太近则导致第二页数据写入无效,读取第二页数据时第二页反馈的数据还是原先的数据信息.