【经验】一招教你延长单片机的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 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】芯科科技单片机EFM32PG22的ADC采样如何使用LDMA传输大于2048个数据?

EFM32PG22使用LDMA传输ADC的采样数据,可以在MCU休眠下进行,从而降低MCU功耗,是比较好的应用方式。但是LDMA的计数器最多只能计数2048,限制了LDMA的一次性传输数据大小,本文介绍如何打破LDMA传输大小的限制。

2023-07-01 -  设计经验 代理服务 技术支持 现货查询 批量订货

【经验】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 -  设计经验 代理服务 技术支持 现货查询 批量订货

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

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

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

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

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

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

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

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

2016-10-25 -  技术问答

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

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

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

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

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

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

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

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

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

【经验】8位单片机C8051F360如何实现多个SPI通信?

快速与不同配置的多个从设备进行通信,已经成为当前MCU芯片设计中的核心技术点之一。在现有微控制器芯片中spi接口一般只有1个,如何实现多个SPI通信是个问题。本文将介绍Silicon Labs的8位单片机C8051F360实现多个SPI通信的方法。

2021-07-15 -  设计经验 代理服务 技术支持 现货查询 批量订货
展开更多

电子商城

查看更多

品牌:SILICON LABS

品类:8位MCU

价格:¥4.4595

现货: 26,040

品牌:SILICON LABS

品类:Mixed-Signal MCU

价格:¥12.9143

现货: 95,458

品牌: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,360

品牌: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

品类:MCU

价格:¥25.3732

现货:42,346

品牌:RENESAS

品类:microcontroller

价格:¥32.9564

现货:40,179

品牌:RENESAS

品类:MCU

价格:¥19.4999

现货:39,718

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

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

收藏
收藏当前页面