SD卡高速存储时写入时间不确定问题

2019-07-20 12:07发布

移植FAT文件系统,可以正常读写,但是当写入一段时间(5分钟左右)后,就会有掉数的情况。按照原子的方法,加入了FIFO,在主循环中不断读取FIFO的数据,有数据即写入SD卡,但是效果不明显。通过示波器观察,正常读写一次9KB的数据在10ms以内,但是会偶尔出现2-3s的写入时间(写入SD卡停顿),从而导致数据的丢失。
网上查了SD 卡内部的存储器是 AND Flash。擦写是比较慢的。SD 卡的名义块大小是 512 byte。但实际上,它所用的 Flash 页长度,如果比较新的话,是 8KB 或 16KB。SD 卡接口中的缓存积攒到一个页时,就发生了写入操作(停顿)。当 SD 卡存储容量已经较大时,还可能需要 Flash 块的擦除和合并(Merge),需要更长的时间。
SD卡写入时间不稳定 ,有过类似项目经历的大神说下该怎么解决吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-20 18:03
要2-3s,应该不会这么久啊
kobemrc
2楼-- · 2019-07-21 00:01
正点原子 发表于 2017-9-5 00:45
要2-3s,应该不会这么久啊

是啊  原子哥  我也觉得时间过长了。我是8路串口DMA接收,每路的数据量大概是36KB/S,发送端每秒发送9KB的数据,我在每路的DMA接收完成中断中写入FIFO,再在while循环中分8次查询每一路的FIFO值,有即写入SD卡。我在想会不会是我打开关闭文件过于频繁。。另外,这个仿真也没法找原因,单步的话都是正常。
kokoromi
3楼-- · 2019-07-21 04:57
 精彩回答 2  元偷偷看……
wlq19911021
4楼-- · 2019-07-21 10:11
 精彩回答 2  元偷偷看……

一周热门 更多>