色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

延長FLASH和EEPROM芯片寫入次數(shù)的小方法

聚豐開發(fā) ? 2018-10-29 11:01 ? 次閱讀

注:本文是作者以前發(fā)表在其個人博客,現(xiàn)在發(fā)布到“聚豐開發(fā)”專欄


開發(fā)電子產(chǎn)品時,常常需要斷電后保存某些數(shù)據(jù),這就需要使用 FLASH或EEPROM芯片,這兩種芯片,可擦除的次數(shù)是有限制的,通常FLASH為10萬次,EEPROM要多一點,為100萬甚至1000萬次。 FLASH的擦除不能單個字節(jié)進行,有一個最小單位,存儲容量相對比較大,適合大量數(shù)據(jù)的存儲;EEPROM可以單個字節(jié)進行擦除,存儲容量不大,只適合存儲少量的設置數(shù)據(jù)。


先以FLASH和EEPROM需要寫入一個字節(jié)為例來說明新數(shù)據(jù)是如何寫入的。假定都是在首地址要寫入新數(shù)據(jù)0x55。不管是FLASH還是EEPROM。 對于FLASH,寫操作只能將數(shù)據(jù)位從1改寫為0,如果想要將數(shù)據(jù)位從0改為1,就需要進行擦除操作,而且這個擦除最小單位是page(可能是256字節(jié)或更多)。



現(xiàn)在要在首地址寫入0x55,穩(wěn)妥的方法是先擦除這個地方,也就是要擦除第一個page,擦除操作會一并將首地址后面的另外255個字節(jié)也擦除掉,如果這255個字節(jié)保存有其它數(shù)據(jù),還需要把這些數(shù)據(jù)先進行備份,擦除第一個page后再將0x55和備份的255個字節(jié)寫進去。也不是必須擦除第一個page,寫操作可以完成數(shù)據(jù)位1到0的轉(zhuǎn)變,利用這一特性結(jié)合首地址原來的內(nèi)容,我們就有可能不用進行擦除操作,比如原來內(nèi)容為0xFF,顯然可以直接寫入0x55,原內(nèi)容為0xF5,同樣也可以寫入0x55,但如果原內(nèi)容為0xAA,執(zhí)行寫0x55則會得到完全錯誤的結(jié)果,寫完后內(nèi)容依然為 0x00,因為對于0x55所有需要保持為1的位數(shù)據(jù)0xAA都是0,寫0x55會把0xAA為1的位全清0,原來為0的位不會改變。


對于EEPROM,寫操作既可以將數(shù)據(jù)位從1改寫為0,也可以將數(shù)據(jù)位從0改寫為1,不需要進行單獨的擦除操作,要寫0x55直接將0x55寫到首地址,不管原來內(nèi)容為什么,完成寫操作后內(nèi)容都是0x55。


一開始我們說了FLASH和EEPROM都有可擦除的最大次數(shù)(EEPROM實際上沒有擦除操作),雖然這個數(shù)字看著不小,但對于程序來說并不大,比如EEPROM為10萬次,如果我們以每秒一次的間隔依次寫入0xFF和0x00,則只能維持 100000/3600=27.78小時,也就是一天多就可以超出其最大壽命次數(shù),不能再可靠寫入所需的內(nèi)容。


這種可寫入的最大次數(shù)是芯片的特性決定的,我們無法改變,所以在使用這些芯片時,我們應充分考慮最大寫入次數(shù)這一參數(shù),要確保產(chǎn)品在實際工作中不超過這一參數(shù)。實際上許多時候只要程序做出針對性處理,有可能讓產(chǎn)品的最大寫入次數(shù)超過芯片的壽命,還是以EEPROM來做說明。


假定現(xiàn)在有一個產(chǎn)品,需要保存一些參數(shù),參數(shù)的個數(shù)并不多,總共為10個字節(jié),用EEPROM來保存就可以滿足需求,我們選用了容量為256字節(jié)的 EEPROM,如果我們不做過多考慮,很有可能就是直接將這10個字節(jié)從EEPROM的首地址開始保存,每次改寫也是直接修改這部分內(nèi)容,這樣我們最多可以保存參數(shù)10萬次。只要我們做一點簡單處理,就可以將保存參數(shù)的次數(shù)成倍增加,來看看我們應該如何實現(xiàn)。




直接保存的最簡方法:

地址 0x00 0x01 0x02 ... 0x09

內(nèi)容 data1 data2 data3 ... data10



改進的保存方法:


處理方法是將256字節(jié)按16字節(jié)大小分成16等份,按后面格式存儲參數(shù)


地址 0x10*n +0x00 +0x01 +0x02 ... +0x09 +0x0A +0x0B +0x0C +0x0D +0x0E +0x0F

內(nèi)容 flag data1 data2 ... data9 data10 保留1 保留2 保留3 保留4 check_sum

check_sum=(flag+data1+data2+...+data10+保留1+...+保留4 )&0xFF

flag為0xA5表示當前16個字節(jié)為正在使用的記錄,為其它值表示當前16字節(jié)已經(jīng)丟棄。


讀取參數(shù)的時候先從地址0x10*n+0x00讀flag,如果為0xA5表明當前記錄為正在使用中,讀出全部內(nèi)容,并按前面公式進行校驗,如果校驗出錯,則當前參數(shù)不可靠,直接使用默認參數(shù),并將當前區(qū)域的flag改寫為0,同時在地址0x10*(n+1)位置開始將默認參數(shù)寫入,地址0x10* (n+1)寫入內(nèi)容為0xA5。如果所有區(qū)域都沒有發(fā)現(xiàn)有效記錄,在地址0寫入默認參數(shù)。


每次需要更改參數(shù)設定時,先將當前記錄位置的flag改為0,然后再下一條記錄位置寫入新的參數(shù),這個順序可以做出適當改進,比如對寫入時斷電等意外情況做出考慮,從而得到更可靠的寫入結(jié)果,不過就按此方法也都可以滿足應用需求。


再來對比一下兩種方法,最簡方法只能保存10萬次,改進的方法理論上增加了16倍,達到160萬次,如果預估最簡方法產(chǎn)品是3年內(nèi)絕對不會出錯,現(xiàn)在就增加到了48年,一個電子產(chǎn)品使用超過3年還是有可能,但用48年的可能性就非常之小,可以視同為0。對于FLASH芯片也是同樣道理,這里就不重復舉例說明,在應用中也應該做出同樣的處理。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    50955

    瀏覽量

    424783
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1638

    瀏覽量

    148195
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1023

    瀏覽量

    81712
收藏 人收藏

    評論

    相關(guān)推薦

    LMP92066 EEPROM正常的寫次數(shù)是多少?

    LMP92066的datasheet里邊說明 EEPROM 經(jīng) 100 次寫入操作驗證,但是LMP92066 EVM GUI的“EEPROM Content“頁面又顯示寫操作只能限制10次。請問
    發(fā)表于 11-18 07:46

    eeprom芯片用在什么上

    電信號擦除和重寫數(shù)據(jù)。EEPROM具有讀寫速度快、擦寫次數(shù)多、功耗低等優(yōu)點,因此在許多應用領(lǐng)域中都有廣泛的應用。 EEPROM芯片的應用領(lǐng)域 在現(xiàn)代電子技術(shù)中,存儲器是不可或缺的組成部
    的頭像 發(fā)表于 10-17 10:36 ?800次閱讀

    如何向EEPROM寫入數(shù)字

    EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)寫入數(shù)字是一個相對直接的過程,但涉及到多個步驟和細節(jié)。以下是一個詳細的步驟說明,旨在幫助您理解并成功向
    的頭像 發(fā)表于 09-05 10:56 ?1163次閱讀

    NAND Flash的擦寫次數(shù)介紹

    NAND Flash作為非易失性存儲技術(shù)的重要一員,其擦寫次數(shù)是評估其性能和壽命的關(guān)鍵因素之一。以下將詳細介紹NAND Flash的擦寫次數(shù),包括其定義、不同類型NAND
    的頭像 發(fā)表于 07-29 17:18 ?3315次閱讀

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲芯片

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲芯片
    的頭像 發(fā)表于 06-25 17:14 ?590次閱讀

    EEPROMFlash存儲器的區(qū)別

    可編程只讀存儲器)和Flash存儲器是兩種常見的非易失性存儲器,它們具有各自的特點和應用場景。本文將深入分析和比較EEPROMFlash存儲器的原理、結(jié)構(gòu)、性能以及應用,以期為讀者提供全面而深入的理解。
    的頭像 發(fā)表于 05-23 16:35 ?6369次閱讀

    STM8S003F3P6操作EEPROM會影響FLASH嗎?

    各位前輩好,想請教一下,STM8S003F3P6操作EEPROM會影響FLASH嗎(具體的讀寫程序已經(jīng)寫完,只是擔心會影響FLASH,因為FLASH的擦寫
    發(fā)表于 05-21 06:36

    STM32寫入Flash不正常的原因?

    我參考原子的戰(zhàn)艦開發(fā)板 使用實驗34 FLASH模擬EEPROM實驗的Flash寫操作函數(shù) STMFLASH_Write(u32 WriteAddr,u16 *pBuffer,u16
    發(fā)表于 05-14 08:22

    STM8s 003 EEPROM斷電后不保存,eeprom數(shù)據(jù)被清零的原因?

    內(nèi)部的EEPROM第一個單元 // 對數(shù)據(jù)EEPROM進行解鎖 do { FLASH_DUKR = 0xae;// 寫入第一個密鑰 F
    發(fā)表于 05-13 06:01

    STM8L101 EEPROM在仿真器跟蹤狀態(tài)下讀寫正常,芯片獨立運行時不能寫入怎么解決?

    用下面的代碼在仿真器跟蹤狀態(tài)下讀寫正常,芯片獨立運行時不能寫入。請高手指點一下。謝謝 //CPU: STM8L101F3P6 主時鐘設為2M #define EEPROM_ADDR 0x9800
    發(fā)表于 04-30 08:23

    ESP32/Arduino如何使用EEPROM,并且讀取和寫入數(shù)據(jù)?

    EEPROM (electrically erasable programmable read-only memory)是一種用戶可修改的ROM,又或者稱為閃存(Flash Memory)。
    的頭像 發(fā)表于 03-19 11:44 ?4408次閱讀

    FLASH、EEPROM的區(qū)別和擴展【硬件干貨】

    EEPROMFLASH總體差異 ????部分MCU片內(nèi)不帶程序存儲器ROM,可執(zhí)行代碼只能放在外面的EEPROM、FLASH(外擴)中; ????單片機對于數(shù)據(jù)的處理和系統(tǒng)的大量數(shù)據(jù)
    的頭像 發(fā)表于 02-27 08:37 ?2074次閱讀
    <b class='flag-5'>FLASH</b>、<b class='flag-5'>EEPROM</b>的區(qū)別和擴展【硬件干貨】

    NAND Flash寫入速度和擦除速度分別是多少

    NAND Flash寫入速度和擦除速度會受到多種因素的影響,包括Flash芯片的具體型號、制造工藝、以及操作環(huán)境等。因此,無法給出確切的數(shù)值。
    的頭像 發(fā)表于 02-19 12:41 ?4253次閱讀

    單片機為何需要FlashEEPROM?它們有何作用?

    單片機為何需要FlashEEPROM?它們有何作用? 單片機是一種集成電路,具有處理器核心、內(nèi)存和外設等功能,通常用于嵌入式系統(tǒng)中。FlashEEPROM則是單片機中常用的存儲器類
    的頭像 發(fā)表于 01-18 11:43 ?3901次閱讀

    NUC029怎么利用data flash模擬EEPROM?

    各位大佬,我現(xiàn)在有一塊NUC029的芯片,現(xiàn)在想將全部的程序都放到EEPROM中去,將相當于芯片復位之后程序不會丟,開機之后依舊可以運行。不知道模仿EEPROM可不可以實現(xiàn)?如果可以的
    發(fā)表于 01-15 06:10
    主站蜘蛛池模板: 国产精品免费视频播放| 国产日韩欧美高清免费视频| 国产精品嫩草99AV在线| 成年黄网站免费大全毛片| 亚洲国产综合另类视频| 亚洲第一天堂无码专区| 亚洲精品第一页中文字幕| 一个人免费完整观看日本| 在线观看日韩一区| 99久久精品久久久| 儿子你得太大了慢点插| 97久久无码精品AV| 亚洲一区在线视频观看| 中国女人精69xxxxxx视频| A级毛片高清免费网站不卡| 第一福利在线永久视频| 国产免费人成在线视频视频| 精品午夜寂寞影院在线观看| 毛篇片在线观看| 日本熟妇乱妇熟色在线电影 | 成人中文在线| 国产内射AV徐夜夜| 久久香蕉国产线看观看首页| 青娱乐极品视觉盛宴av| 亚洲 欧美无码原创区| 真实处破女全过程完免费观看| my pico未删减在线观看| 国产内射AV徐夜夜| 伦理79电影网在线观看| 乳女教师欲乱动漫无修版动画| 亚洲国产精品久久精品成人网站| 365电影成人亚洲网在线观看| 国产超嫩一线天在线播放| 久久re这里精品23| 日本女人下面毛茸茸| 亚洲中文字幕日产乱码2020 | 无码一卡二卡三卡四卡| 中字幕久久久人妻熟女天美传媒| 俄罗斯美女性生活| 久久久久综合一本久道| 日日夜夜天天操|