【经验】一招教你延长单片机的Flash擦写寿命

2018-04-06 世强
单片机,EFM8SB10F8G,Silicon Labs 单片机,EFM8SB10F8G,Silicon Labs 单片机,EFM8SB10F8G,Silicon Labs 单片机,EFM8SB10F8G,Silicon Labs

单片机开发应用中,工程师经常会遇到需要在单片机内部Flash的某个区域保存和读取一些数据,而这些数据在应用中可能会经常变化,因而需要对Flash的数据经常更新。但是单片机的Flash都是有擦除次数要求的,并且擦除是按照“页”为单位操作的,频繁擦除超过一定次数后,Flash就会失效。那么,如何才能延长单片机的Flash擦写寿命呢?本文就以SILICON LABS的8位单片机EFM8SB10F8G为例,教大家如何延长单片机的Flash擦写寿命。


EFM8SB10F8G的Datasheet上Table4.4标称Flash擦除次数典型值是100K次,一个Flash Page是512字节,也就是在执行擦除指令时,一次至少擦除512字节的数据。EFM8SB10F8G提供了Flash自编程的读、写和擦除函数以及对Flash操作的参考例程。Flash支持单字节读和写,但是每次在更新数据之前必须要先擦除原来的数据,不能在原数据基础上直接写新数据内容。假设每次需要更新的数据长度是16个字节,最简单的方法就是在每次更新数据之前执行擦除指令,然后写入新数据。但是更新数据频率比较高的应用场合,这种方法显然是不行的。此时需要采取“空间换时间”的方法了,擦写的次数和存储数据长度的大小成反比。“空间换时间”就是指利用相对多的Flash空间来换取相对多的擦写时间(次数)。在第一次执行擦除指令后,可以依次将数据写入Flash的这一页,当写满一页后再进行擦除操作。这样的话,一页512字节空间,每次写入16字节长度的数据,一页就可以写32个数据块,写满后再全部擦除,而不用每次写数据前都擦除,该页的擦除次数就可以提高32倍,也就是100K*32=320万次了。


既然思路清晰了,那么软件实现起来就相对比较简单。首先需要选取数据块中的某一字节作为地址INDEX,更新数据时第一个写入Flash。Flash的编程原理都是只能将1写为0,而不能将0写为1。所以在Flash编程之前,必须将对应的页擦除,而擦除的过程就是把所有位都写为1的过程,页内的所有字节变为0xFF。


写入数据实现过程:每次写入数据时,从低地址到高地址依次(以16位步进)判断INDEX的内容,为了防止实际数据中包含0xFF内容,从而出现误判的情况,建议判断INDEX和INDEX+1两个地址的内容。如果都为0xFF,表示该地址空间未被写过数据,写入需要更新的数据;如果至少有一个不为0xFF,表示该地址空间已被写过数据,继续查询,直到查到内容都为0xFF为止;如果所有的INDEX(32个)和INDEX+1都至少有一个不为0xFF,表示该页已经写满,执行擦除指令后从首地址写入数据。


读取数据实现过程:每次读取数据时,从高地址到低地址依次(以16为步进)判断INDEX的内容,这样是为了查询到最新的数据。同样为了防止实际数据中包含0xFF内容,从而出现误判的情况,建议判断INDEX和INDEX+1两个地址的内容。如果至少有一个不为0xFF,表示该地址已写过数据,读取数据;如果所有的INDEX(32个)和INDEX+1都为0xFF,表示该页还未写入数据。


通过上面的方式,并不是真正的提升了单片机Flash的擦写次数,但是却延长了Flash的擦写寿命,实现了需要频繁更新数据的应用。


授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 3

本文由Carol提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(3

  • 古月工 Lv8. 研究员 2018-12-21
    学习
  • z24656 Lv6. 高级专家 2018-12-21
  • LouBing Lv7. 资深专家 2018-04-06
    谢谢经验分享
没有更多评论了

相关推荐

【经验】如何下载、安装、设置Silicon Labs 8位单片机集成开发环境IDE?

Silicon Labs的8位单片机集成开发环境IDE,简单、容易、强大,是C8051F及EFM8等8位单片机软件开发的强大利器!为了让新手能够快速上手IDE,本将详细接收Silicon Labs IDE的下载、安装、设置等方法。

2018-09-19 -  设计经验 代理服务 技术支持 批量订货

【经验】从低功耗角度比较32位单片机EFM32和STM32

Silicon Labs 32位单片机EFM32是世界上功耗最低的单片机之一,比目前市场上所有通用MCU的功耗都要低,本文通过跟目前最流行的MCU之一由ST推出的STM32L系列低功耗MCU进行比较,来向读者展示EFM32系列32位MCU的低功耗性能。

2018-11-14 -  设计经验 代理服务 技术支持 批量订货

【经验】8位单片机EFM8BB21 串口UART1的配置与调试

UART是单片机中经常要使用到的外设, Silicon Labs EFM8BB21系列8位单片机中有两个UART,分别UART0和UART1,本片文章主要介绍UART1的配置与调试。使用芯科官方推出的开发软件Simplicity Studio配置工具可以很方便的进行寄存器的初始化配置,省去了繁杂的计算。

2019-07-24 -  设计经验 代理服务 技术支持 批量订货

【经验】8位单片机EFM8系列的SFR Page操作

Silicon Labs的8位单片机EFM8系列,集成丰富的外设,高性能,小封装。软件开发时,由于外设多,寄存器操作引入了SFR Page机制,注意SFR Page设置,防止程序错误,让EFM8系列芯片设计出稳定的优质产品。

2019-04-17 -  设计经验 代理服务 技术支持 批量订货

【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?

在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。

2020-02-05 -  设计经验 代理服务 技术支持 批量订货

【经验】对EFM8系列8位单片机可编程逻辑单元CLU的作用及应用的理解

Silicon Labs的EFM8系列8位单片机,集成了独特数字外设可编程逻辑单元CLU,让EFM8单片机的功能更加强大。那么,这个CLU的作用及应用是什么呢?本文将详细为你解读。

2019-08-21 -  设计经验 代理服务 技术支持 批量订货

【经验】如何使用芯科的单片机EFM32PG23的内部温度传感器

EFM32PG23内部集成一个温度传感器,可以采集芯片的温度,用于时钟、ADC等校准,也可以用于过温报警等功能。由于手册对温度传感器的介绍比较少,并没有详细介绍温度传感器的使用步骤,导致研发时,不清楚怎么使用EFM32PG23内部的温度传感器。本文将详细介绍。

2023-04-17 -  设计经验 代理服务 技术支持 批量订货

8位单片机EFM8的烧录器有哪些?

8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。

2016-10-25 -  技术问答

基于32位单片机的超声波物位计的研制

在一些需要非接触式精准测量的环境下就需要用到超声波物位计,本文探讨的是如何完成一款基于EFM32单片机的超声波物位计。

2019-09-05 -  设计经验 代理服务 技术支持 批量订货

【经验】芯科科技8bit单片机C2通信接口烧录指南

本文主要介绍芯科科技的(Silicon Labs)8bit单片机,调试烧录过程中遇到的一些不稳定问题,以及工厂生产批次不良率分析处理。

2021-12-30 -  设计经验 代理服务 技术支持 批量订货

Silicon Labs 单片机程序烧写接口探讨

本文总体介绍了Silicon Labs 产品编程烧录选择,对于一个空白器件最常用的编程方法主要有两种,系统编程和预编程,对于这两种方法的选择,主要考虑两方面,一方面看需编程的器件数量,另一方面考虑需编程的器件上是否预留调试引脚(JTAG或C2),一旦器件被编程一次,器件即可通过UART或其他接口升级固件。

2016-05-26 -  技术探讨 代理服务 技术支持 批量订货

【经验】C8051F410单片机快速可视化编程代码产生的使用方法

​Silicon Labs为了帮助工程师快速编程,提供了一个配置向导软件,名称为”Configuration Wizard 2”,这个软件的主要功能是对各个模块初始化的配置和工程师设计原理图前对外设进行设置。本文主要介绍C8051F410单片机初始化代码快速产生的使用方法和技巧,这是Silicon Labs 可视化编程独有的特性,使用简单缩短开发时间。

2020-06-29 -  设计经验 代理服务 技术支持 批量订货

【经验】Silicon Labs EFM32系列单片机在使用KEIL编译时如何生成BIN文件?

Silicon Labs的32位单片机在集成开发环境中,默认情况下编译可以生成*.axf格式的调试文件和*.hex格式的可执行文件。这两个格式的文件支持市面上大部分仿真器的下载和调试,但是有些用户的下载器软件需要支持*.bin格式的文件,在现有的开发工具利用集成开发环境的优势,如何将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件。

2021-06-03 -  设计经验 代理服务 技术支持 批量订货
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:8位MCU

价格:¥4.4595

现货: 26,040

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥12.9143

现货: 61,558

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥12.1718

现货: 14,132

品牌:SILICON LABS

品类:32位MCU

价格:¥24.8076

现货: 10,000

品牌:SILICON LABS

品类:8b Wireless MCU

价格:¥7.2474

现货: 9,029

品牌:SILICON LABS

品类:8位MCU

价格:¥101.4587

现货: 5,361

品牌:SILICON LABS

品类:32MCU

价格:¥56.6760

现货: 5,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.5922

现货: 4,307

品牌:SILICON LABS

品类:32MCU

价格:¥51.0082

现货: 4,000

品牌:SILICON LABS

品类:32MCU

价格:¥57.6978

现货: 3,379

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥10.1700

现货:10,000

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥11.1200

现货:1,201

品牌:RENESAS

品类:microcontroller

价格:¥2.8532

现货:188,410

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:RENESAS

品类:microcontroller

价格:¥32.9564

现货:40,179

品牌:RENESAS

品类:MCU

价格:¥19.4999

现货:39,498

品牌:RENESAS

品类:MCU

价格:¥39.8484

现货:38,160

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

3C认证/CCC认证

支持微型计算机 、便携式计算机显示设备、投影仪、打印设备、绘图仪、多用途打印复印机、扫描仪、计算机内置电源、电源适配器、充电器、服务器、收款机等产品中国强制性产品认证。

提交需求>

工控触摸一体机定制

提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制

最小起订量: 1台 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面