STM32对24C1024的读写速度问题

2019-03-23 18:38发布

       最近在做的一个小项目要求实现将AD采样数据保存至EEPROM中,要求是:8位AD,5k采样率(暂定,可能会更高),采10s,也就是50000 bytes的存储信息。这段时间研究了24C1024的手册,尝试了采用连续写来提高写入速度,但没有调出来。。。
       读出来的数据全都是0XFF,暂时也没有测出到底是没写进去还是没读出来,不过我怀疑是由于EEPROM写入时的延时不够导致的。因此想在此请教一下关于24C1024写入和读取的细节。
   页写.png
顺序读.png
       现在我的程序完全是按照手册上来的,但就是延时时间感觉出了问题。貌似看到有人说EEPROM每写入一个字节都要延时至少5ms?那这肯定不满足我这个设计要求了。。。顺便求解决方案(SD卡神马的行不)


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
Ageis
2019-03-24 08:18
本帖最后由 Ageis 于 2015-4-16 20:01 编辑
Aragorn 发表于 2015-4-16 19:41
你需要注意以下几点:
1. 连续写入只能是按页来的,一次连续写一页,如果数据超出了一页了,超出的部分会从该页的开头重新开始写,而不会写入到下一页;
2. 每写一页后,做一个延时,手册上给的时间是5ms;
3. 调试的时候不要一下写入50000个数据,写入十来个,然后再读出来验证是否正确

我现在是这样实现的:首先,手册上写的24C1024分为512个page,每页256字节,我在程序中用了一个256项的数组作为缓冲,也就是每存满一次数组写一次EEPROM,在这写的过程中每个字节间没有延时,然后IIC发出停止信号,再延时5ms。连续读时没有任何延时。请问这样对吗?
谢谢帮助......

一周热门 更多>