完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
掉电存储是单片机系统中非常常用的一项功能。非易失性存储器也有很多选择,比如EEPROM、FRAM、单片机内部Flash、SPI flash、eMMC、SD卡、NAND flash等等。
工程师需要根据项目的实际需求来选择存储器。一般需要考虑以下几个方面: 1、容量大小 容量是存储器选择时首先要考虑的东西。一般来说,EEPROM和FRAM容量相对较小,都在几KB;其次是单片机内部Flash,根据不同型号的单片机,可以分配不同大小的容量,也在KB级别,通常这种小容量的存储器只适合存储一些系统参数;然后是SPI Flash,比如W25Q128等,一般容量在几MB到几十MB,可以用于存储参数和少量数据;最后就是SD卡、eMMC、NAND Flash等大容量的存储器了,一般都在GB级别,可以存储大量的数据。 2、读写速度 首先说说eMMC、SD卡、NAND flash等大容量存储器。这类存储器通常都会配合文件系统来使用,他们的读写速度取决于接口类型(SPI、SDIO等)、一次性写入数据大小、存储器本身速度级别限制等。通常情况下平均速度会在几百KB~几MB/秒。 其次是单片机内部Flash和SPI Flash。Flash的特点是需要整个页(扇区或块)擦除才能写入,扇区擦除的时间一般在几十ms,因此,Flash的写入速度也会受限。但读取数据时没有此限制。 再说EEPROM,最常用的AT24CXX系列,IIC接口,接口速度可以达到400K甚至1M。速度貌似还可以,但是要注意的是,跨页写需要有大约5ms的等待。所以一旦写入数据需要跨页,整体速度就会大受影响。 如果需要更快的写入速度,那只能选择FRAM,铁电存储器,比如FM24CLXX系列,接口与AT24CXX兼容。铁电存储器没有页的概念,因此没有等待时间,相比EEPROM,写入速度可以大大提高。 3、擦写寿命 一般情况下,flash存储器的擦写次数在1~10万次左右,单片机内部的flash擦写次数相对较少,像STM32可以达到1万次,有些单片机的flash擦写次数只有1000次,使用时一定要注意。eeprom可以达到100万次左右,而FRAM没有擦写次数的限制。 如果需要频繁的写入,考虑使用寿命,可能需要配合磨损均衡算法来实现。SD卡是自带磨损均衡的,而其他flash或者eeprom就需要自己来实现磨损均衡算法,或使用带磨损均衡算法的文件系统。 |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1078浏览 3评论
558浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
551浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2286浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 15:25 , Processed in 0.972853 second(s), Total 47, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号