【经验】如何将EFM8系列MCU的FLASH用作EEPROM?
SILICON LABS的EFM8系列8位MCU ,性能先进、价格友好,被广泛应用在光模块、电机控制、传感器等产品上。 其中,需要指出的是,EFM8的FLASH,除了用于代码存储外,还可以用于用户数据存储(掉电不丢失),省去外扩EEPROM的麻烦。本文将详细讲述这个方法。
一、选择恰当的数据存储空间。
根据EFM8 MCU的特性,它的代码存储,都是从0x0000开始的,因此,当使用EFM8的FLASH存储用户数据时,要使用FLASH后面的空间,如下图1,以EFM8BB21F16为例,从0x3FFF开始,向前放置用户数据。但是,对于早期的C8051F单片机,最后一页,会包含加密字节,该页不方便用于数据读写操作,因此,要从FLASH的倒数第二页开始放置用户数据。
图1 EFM8BB21F16的FLASH结构
需要说明的是,EFM8BB21F16还存在一个Nonvolatile Data空间,该空间也可以存放用户数据。
二、灵活使用数据读写机制延长FLASH寿命
图2 EFM8BB21F16 FLASH的电气规格
FLASH有个特性,存在擦除寿命,即一般有总擦除次数的限制,当擦除超过限制次数,FLASH就有失效的可能。同样以EFM8BB21F16为例,如上图2,FLASH可擦除总次数最小值为20k次、典型值为100k次。当客户更新数据比较频繁的时候,这个擦除次数,显然就比较危险了。
为了延长FLASH的寿命,我们可以采用“多次写、擦一次”的办法。具体的操作方法是:当客户要存储的数据较少时,可将不同次要写的数据写入同一页的不同的地址中,当这一页写满后再擦除。
另,如果有多页没有被code占用,还可以在多页内进行数据循环操作,如此,可以大大延长FLASH擦除次数。
图3 在一页内多次操作
三、FLASH做EEPROM使用时的注意事项
当用FLASH作EEPROM使用时,需要进行相关辅助操作,否则,在上电瞬间,会导致FLASH上的代码有异常丢失的风险。 具体操作,可以参考内容:【经验】主控MCU芯片使用flash作EEPROM使用时代码异常丢失该如何解决?
综上,当客户有掉电存储数据需求的时候,如果能用好EFM8系列MCU上的FLASH,不仅能满足存储数据的需求,还可以做到安全、长寿命,并降低BOM成本、减小PCB面积,完全可以不用外扩EEPROM,能给客户带来实实在在的好处!
- |
- +1 赞 0
- 收藏
- 评论 7
本文由风起云扬提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
评论
全部评论(7)
-
用户86910647 Lv5. 技术专家 2018-10-27不错呀!
-
washingluo Lv3. 高级工程师 2018-10-27这个真的还是可以试试
-
iwen Lv3. 高级工程师 2018-10-27不错 不错
-
编号897570 Lv3. 高级工程师 2018-10-27地佐辛
-
咖啡加奶 Lv8. 研究员 2018-10-27学习了
-
用户56731903 Lv9. 科学家 2018-10-27这个不错,要学习下!!!
-
灰太狼 Lv7. 资深专家 2018-10-27不错!学习啦
相关推荐
【经验】8位MCU EFM8LB1的SPI时钟频率度计算方法
EFM8LB1系列是Silicon Labs公司推出的高性能8位MCU,带有通信速率最高12 Mbps的 SPI,支持主/从模式,本文将介绍SPI时钟频率度是如何计算的,以及要产生一个时钟频率,软件如何初始化。
设计经验 发布时间 : 2020-12-24
【经验】8位MCU EFM8SB2擦除Flash会复位的解决方法
SILICON LABS的EFM8SB2是最节能的小封装8位MCU。采用高效的8051内核,最低睡眠电流为50nA,功耗可达170μA/MHz,可应用手持设备、电池驱动式消费电子设备、传感器接口等。
设计经验 发布时间 : 2023-06-01
【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?
在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。
设计经验 发布时间 : 2020-02-05
Silicon Labs(芯科科技)EFM8™ 8位MCU选型指南
型号- EFM8UB20F32G,EFM8UB20F64G,EFM8,EFM8SB20F64G,SLSTK2000A,SLSTK2022A,SLSTK2010A,SLSTK2020A,SLSTK2030A,EFM8UB10F8G,EFM8SB20F32G,EFM8SB20F16G,SLTB005A,EFM8LB11F32E,EFM8UB11F16G,EFM8SB10F2G,EFM8BB21F16G,EFM8SB10F4G,EFM8LB11F16E,EFM8BB10F2G,EFM8SB10F8G,EFM8 FAMILY,EFM8LB12F64E,EFM8LB10F16E,EFM8LB12F32E,EFM8UB10F16G,EFM8UB31F40G,EFM8BB31F32G,EFM8BB31F64G,SLSTK2001A,SLSTK2011A,SLSTK2021A,EFM8BB10F4G,EFM8BB31F16G,EFM8UB30F40G,EFM8BB10F8G,EFM8BB22F16G
【经验】基于8位MCU C8051F850的BLDC参考设计演示操作指南,也适用EFM8BB10
Silicon Labs提供有基于8位MCU C8051F850的BLDC的参考设计,这个参考设计也同样适用于EFM8BB10系列的8位MCU。本文介绍基于C8051F850(EFM8BB10) BLDC相关资料的下载地址及如何快速的搭建开发环境并演示。
设计经验 发布时间 : 2018-12-05
【经验】解决8位单片机EFM8BB51驱动三相电机过零检测不灵敏的问题
对于简单的8位MCU实现,块换向用于驱动电动机。这种驱动方法需要逆变器电路对根据霍尔传感器给出的转子位置,电机相位电角度每120度的电流或者无传感器方法。本文主要解决8位单片机EFM8BB51F16I-QFN20驱动三相电机过零检测不灵敏的问题。
设计经验 发布时间 : 2023-03-31
【应用】基于8位MCU的无感BLDC设计,有参考原理图、有源代码!
选用Silicon Labs的EFM8BB10作为主控器件,提供完整的参考原理图、源代码,让攻城狮,即使新手,也可以轻松实现BLDC的开发。
新应用 发布时间 : 2017-07-03
【经验】8位MCU EFM8LB1 FLASH擦写操作步骤
EFM8LB1系列是silabs专门针对光模块以及消费市场推出的高度集成的3x3mm小封装8位MCU,内部自带温度传感器,+/-3℃温度范围,可选0-4路DAC,UART或者SMBUS bootloader,以及其他通用接口。本文主要介绍EFM8LB1系列Flash的擦写方式以及步骤。
设计经验 发布时间 : 2019-01-31
【应用】芯科超低功耗8位MCU C8051F920-G-GQ用于甲烷浓度检测传感器,内部集成10位ADC,可减少成本
煤矿产业是重要的能源产业,近年来,煤矿开采过程中工人随时面临着爆炸危险,几乎都是瓦斯事故。所以实时监控甲烷气体浓度,对于煤矿监控系统的安全监控具有重大意义。推荐芯科超低功耗8位MCU C8051F920-G-GQ,应用于煤矿行业的甲烷浓度检测传感器
应用方案 发布时间 : 2022-11-06
【应用】超小型3mm*3mmQFN封装8位MCU EFM8BB,助力小体积小功率LED恒流源控制模块
Silicon Labs 的EFM8BB系列8位MCU,经过AEC_Q100认证,拥有高性能的ADC和数字外设,内置温度传感器,Flash可做EEPROM存储数据,节省成本。小功率LED驱动电源控制模块,因结构设计原因对MCU的封装尺寸有限制,EFM8BB系列QFN封装的3mm*3mm的封装,可以满足此类的产品对尺寸的严格要求。
应用方案 发布时间 : 2019-01-11
【经验】Silicon Labs的8位MCU EFM8UB10系列中的USB转串口软件实现常见问题分析
Silicon Labs的8位MCU EFM8UB10系列,内置USB外设接口 ,为了简化用户USB的开发,官方提供USB库及API接口,客户可以使用API接口对EFM8UB单片机的USB模块进行操作。
设计经验 发布时间 : 2019-03-13
【应用】集成一路12位高精度ADC的8位MCU助力电动阀门设计,最小尺寸仅3*3mm
芯科的高集成度小封装8位MCU EFM8BB52系列,集成一路12位高精度ADC,可应用于角度检测传感器的信号输入。此外,产品采用超小封装,最小尺寸达3*3mm,满足电动阀门、空间受限设备和小型设备需求。
应用方案 发布时间 : 2022-09-29
【应用】芯科科技新型8位MCU EFM8BB51用于无人机电调,4路16位定时器和3通道互补PWM可对电机进行精准控制
芯科科技(Silicon Labs)推出新型8位MCU EFM8BB51,具有4路16位定时器和2路8位定器,支持3通道互补PWM输出,2路模拟比较器,支持SMBus/I2C、uart/usart和SPI通讯接口。可用于无人机电调上,实现对电机的精准控制。
应用方案 发布时间 : 2021-12-29
【经验】Silicon Labs 8位MCU EFM8LB SMBUS通信异常状态的处理
Silicon Labs 8位MCU EFM8LB芯片工作主频可以达到72MHz,在3*3mm的极小封装内集成有14位ADC、12位DAC、±3℃温度传感器、模拟比较器及高速通信外设等功能,芯片集成度高,运算速度快,在信号处理等领域有广泛的应用。 本文介绍Silicon Labs 8位MCU EFM8L SMBUS总线通信异常的分析及解决方法。
设计经验 发布时间 : 2019-03-01
【应用】芯科8位MCU用于分酸分注器上,集成12位分辨率的ADC采样,主频达49MHz
分酸分注器,通过控制电机打开关闭阀门,将酸性液体注入到石油中,采用芯科的8位MCU EFM8BB31F64I-D-5QFN32作为信息采集和控制信号发送,此芯片集成了2个UART和 1个IIC接口,满足产品对外设接口的需求。
应用方案 发布时间 : 2022-09-20
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论