为什么大家喜欢用Fee的Fls,而不是Ea的EEPROM?

为什么大家喜欢用fee的fls,而不是ea的eeprom?我猜是成本问题,因为eeprom要外挂额外的芯片,而fls(dataflash)是内置在mcu中的。
相对于eeprom,dataflash的缺点也是相当明显的:
擦写寿命较短;
擦写单位比较大。
你看之前文章(autosar的memory是如何设计的?)提到的这个案例:
以下以在0x0008地址写入0x11, 0x22, 0x33, 0x44这四个字节内容为例,看看eeprom和dataflash的实际操作情况:
当然,这两个缺点也是有办法弥补的,不过要牺牲点时间效率为代价。
这样,项目到底用eeprom还是用dataflash做存储,那得根据实际使用需求做评估了。
vector提供的fee方案有两种:一种是常规的standard fee,另外一种是small sector fee。
vector的官网有详细介绍为什么有两种不同的fee:
《standard fee and smallsectorfee》(https://support.vector.com/kb/?id=kb_article_view&sysparm_article=kb0012027&sys_kb_id=8c2582281b2614148e9a535c2e4bcbe8&spa=1)
常规的fee,一般是将fls空间分为两个逻辑分区
在使用的时候,首先使用分区1
用完分区1后,再使用分区2
如果还要继续使用,就再擦除分区1使用,如此反复轮换使用。
我打算将这个过程原理做成视频,本文先放一段gif动图看看吧。
以上是standard fee的做法,这是因为flash一把擦除单位比较大,所以才这么干的。
为了更好理解这个原理,引入两个概念:sector和page
姑且这么理解,sector是flash一次擦除的最小单位,page是flash一次写入的最小单位。
例如nxp s32k mcu的dataflash的sector大小是8k,page大小是4byte。
这就有个问题,一般情况下,一个数据段内容不会很大,都是很小的几个字节,第一次写倒是无所谓,如果第二次要改内容怎么办。要擦除8k的sector才能重新写入这个更改的内容!嗯,很不合算!
于是,fee就用了上文讲到的方法,两个sector轮流来。
但是呢,并不是所有flash的sector都是很大的,也有很小的,例如瑞萨的rh850的dataflash,sector大小是64byte,page大小是4byte。
好家伙,那就让一段应用内容数据占用一整个(即使多几个)sector也不亏。
于是samllsector fee就来了。
还有个问题,一般情况下mcu内部的dataflash的擦写周期p/e cycle是10万次的,如果客户要求有段数据的存储擦写寿命要达到20万次怎么办。
那就要加入个叫“磨损均衡算法”的策略了,简单地理解,用双倍的空间存储这个内容。
这些策略,我在之前的文章有提及过。《autosar的memory是如何设计的?》
这里不展开讲这些细节了,后续有机会出更多的图文或视频来讲解其原理和过程。
那接下来就是配置了,如果你学会ea/eep的配置,这个fee/fls的配置就很简单了,大部分概念和操作都是一样的。建议参考《autosar nvm模块配置详解》和《autosar ea深度剖析》。
如果新手非要想看看fee的具体操作配置,我后期再专门出个fee配置的文章。
当然,我也会像之前分析ea的方法那样,用pc的纯软件方式模拟fee的读写行为(这可能会比ea复杂很多)。


扫地机器人App分享扫地成果时出现低俗用语,客服:暂时无法删除
嵌入式智能系统在智能家居中有怎么样的应用
提高维修效率的利器——液压柱塞杆划伤在线修复技术
德国Alcan Systems公司正在计划于2019年推出基于液晶材料制作的天线
FLEx Lighting用极薄导光板改善反射式LCD
为什么大家喜欢用Fee的Fls,而不是Ea的EEPROM?
智能传感器助力破解中国物联网之痛
TL431三端可调分流基准电压源的工作原理
OLED透明屏是什么?制造OLED透明屏有哪些品质和要求?
走进分析探索iPhone 12的MagSafe磁吸无线充电功能
什么是硬度计
压力传感器的选择常识
实力让你感受一键“静音”,40dB深度降噪耳机新品南卡A2
华为这个功能好暖心,苹果三星都没有
深度学习的发展会带给硬件架构怎样的影响?
基站天线是5G新基建的关键环节之一
极限氧指数测试机标准,它的主要用途是什么
中国物联网市场持续扩大,智能制造前景广阔
高灯科技服务数字经济体 实现财税科技多极增长新局面
盛群半导体推出全新录放音Flash type IC HT83F22