最近在做的一个小项目要求实现将AD采样数据保存至EEPROM中,要求是:8位AD,5k采样率(暂定,可能会更高),采10s,也就是50000 bytes的存储信息。这段时间研究了24C1024的手册,尝试了采用连续写来提高写入速度,但没有调出来。。。
读出来的数据全都是0XFF,暂时也没有测出到底是没写进去还是没读出来,不过我怀疑是由于EEPROM写入时的延时不够导致的。因此想在此请教一下关于24C1024写入和读取的细节。
现在我的程序完全是按照手册上来的,但就是延时时间感觉出了问题。貌似看到有人说EEPROM每写入一个字节都要延时至少5ms?那这肯定不满足我这个设计要求了。。。
顺便求解决方案(SD卡神马的行不)
此帖出自
小平头技术问答
1. 连续写入只能是按页来的,一次连续写一页,如果数据超出了一页了,超出的部分会从该页的开头重新开始写,而不会写入到下一页;
2. 每写一页后,做一个延时,手册上给的时间是5ms;
3. 调试的时候不要一下写入50000个数据,写入十来个,然后再读出来验证是否正确
我现在是这样实现的:首先,手册上写的24C1024分为512个page,每页256字节,我在程序中用了一个256项的数组作为缓冲,也就是每存满一次数组写一次EEPROM,在这写的过程中每个字节间没有延时,然后IIC发出停止信号,再延时5ms。连续读时没有任何延时。请问这样对吗?
谢谢帮助......
一周热门 更多>