一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

單片機為何需要Flash和EEPROM?它們有何作用

454398 ? 來源:alpha007 ? 作者:alpha007 ? 2022-12-06 11:45 ? 次閱讀

單片機運行時的數(shù)據(jù)都存在于 RAM(隨機存儲器)中,在掉電后 RAM 中的數(shù)據(jù)是無法保留的,那么怎樣使數(shù)據(jù)在掉電后不丟失呢?這就需要使用 EEPROM 或 FLASHROM 等存儲器來實現(xiàn)。

插播一段:ROM 最初不能編程,出廠什么內(nèi)容就永遠(yuǎn)什么內(nèi)容,不靈活。后來出現(xiàn)了 PROM,可以自己寫入一次,要是寫錯了,只能換一片。隨著不斷改進(jìn),終于出現(xiàn)了可多次擦除寫入的 EPROM,每次擦除要把芯片拿到紫外線上照一下,想一下你往單片機上下了一個程序之后發(fā)現(xiàn)有個地方需要加一句話,為此你要把單片機放紫外燈下照半小時,然后才能再下一次,這么折騰一天也改不了幾次。歷史的車輪不斷前進(jìn),偉大的 EEPROM 出現(xiàn)了,拯救了一大批程序員,終于可以隨意的修改 ROM 中的內(nèi)容了。

EEPROM 的全稱是“電可擦除可編程只讀存儲器”,即 Electrically Erasable Programmable Read-Only Memory。是相對于紫外擦除的 rom 來講的。但是今天已經(jīng)存在多種 EEPROM 的變種,變成了一類存儲器的統(tǒng)稱。

狹義的 EEPROM:

這種 rom 的特點是可以隨機訪問和修改任何一個字節(jié),可以往每個 bit 中寫入 0 或者 1。這是最傳統(tǒng)的一種 EEPROM,掉電后數(shù)據(jù)不丟失,可以保存 100 年,可以擦寫 100w 次。具有較高的可靠性,但是電路復(fù)雜 / 成本也高。因此目前的 EEPROM 都是幾十千字節(jié)到幾百千字節(jié)的,絕少有超過 512K 的。

Flash:

Flash 屬于廣義的 EEPROM,因為它也是電擦除的 ROM。但是為了區(qū)別于一般的按字節(jié)為單位的擦寫的 EEPROM,我們都叫它 Flash。

既然兩者差不多,為什么單片機中還要既有 Flash 又有 EEPROM 呢?

通常,單片機里的 Flash 都用于存放運行代碼,在運行過程中不能改;EEPROM 是用來保存用戶數(shù)據(jù),運行過程中可以改變,比如一個時鐘的鬧鈴時間初始化設(shè)定為 12:00,后來在運行中改為 6:00,這是保存在 EEPROM 里,不怕掉電,就算重新上電也不需要重新調(diào)整到 6:00。

但最大區(qū)別是其實是:FLASH 按扇區(qū)操作,EEPROM 則按字節(jié)操作,二者尋址方法不同,存儲單元的結(jié)構(gòu)也不同,F(xiàn)LASH 的電路結(jié)構(gòu)較簡單,同樣容量占芯片面積較小,成本自然比 EEPROM 低,因而適合用作程序存儲器,EEPROM 則更多的用作非易失的數(shù)據(jù)存儲器。當(dāng)然用 FLASH 做數(shù)據(jù)存儲器也行,但操作比 EEPROM 麻煩的多,所以更“人性化”的 MCU 設(shè)計會集成 FLASH 和 EEPROM 兩種非易失性存儲器,而廉價型設(shè)計往往只有 FLASH,早期可電擦寫型 MCU 則都是 EEPRM 結(jié)構(gòu),現(xiàn)在已基本上停產(chǎn)了。

在芯片的內(nèi)電路中,F(xiàn)LASH 和 EEPROM 不僅電路不同,地址空間也不同,操作方法和指令自然也不同,不論馮諾伊曼結(jié)構(gòu)還是哈佛結(jié)構(gòu)都是這樣。技術(shù)上,程序存儲器和非易失數(shù)據(jù)存儲器都可以只用 FALSH 結(jié)構(gòu)或 EEPROM 結(jié)構(gòu),甚至可以用“變通”的技術(shù)手段在程序存儲區(qū)模擬“數(shù)據(jù)存儲區(qū)”,但就算如此,概念上二者依然不同,這是基本常識問題。

EEPROM:電可擦除可編程只讀存儲器,F(xiàn)lash 的操作特性完全符合 EEPROM 的定義,屬 EEPROM 無疑,首款 Flash 推出時其數(shù)據(jù)手冊上也清楚的標(biāo)明是 EEPROM,現(xiàn)在的多數(shù) Flash 手冊上也是這么標(biāo)明的,二者的關(guān)系是“白馬”和“馬”。至于為什么業(yè)界要區(qū)分二者,主要的原因是 Flash EEPROM 的操作方法和傳統(tǒng) EEPROM 截然不同,次要的原因是為了語言的簡練,非正式文件和口語中 Flash EEPROM 就簡稱為 Flash,這里要強調(diào)的是白馬的“白”屬性而非其“馬”屬性以區(qū)別 Flash 和傳統(tǒng) EEPROM。

Flash 的特點是結(jié)構(gòu)簡單,同樣工藝和同樣晶元面積下可以得到更高容量且大數(shù)據(jù)量下的操作速度更快,但缺點是操作過程麻煩,特別是在小數(shù)據(jù)量反復(fù)重寫時,所以在 MCU 中 Flash 結(jié)構(gòu)適于不需頻繁改寫的程序存儲器。

很多應(yīng)用中,需要頻繁的改寫某些小量數(shù)據(jù)且需掉電非易失,傳統(tǒng)結(jié)構(gòu)的 EEPROM 在此非常適合,所以很多 MCU 內(nèi)部設(shè)計了兩種 EEPROM 結(jié)構(gòu),F(xiàn)LASH 的和傳統(tǒng)的,以期獲得成本和功能的均衡,這極大的方便了使用者。隨著 ISP、IAP 的流行,特別是在程序存儲地址空間和數(shù)據(jù)存儲地址空間重疊的 MCU 系中,現(xiàn)在越來越多的 MCU 生產(chǎn)商用支持 IAP 的程序存儲器來模擬 EEPROM 對應(yīng)的數(shù)據(jù)存儲器,這是低成本下實現(xiàn)非易失數(shù)據(jù)存儲器的一種變通方法。為在商業(yè)宣傳上取得和雙 EEPROM 工藝的“等效”性,不少采用 Flash 程序存儲器“模擬”(注意,技術(shù)概念上并非真正的模擬)EEPROM 數(shù)據(jù)存儲器的廠家紛紛宣稱其產(chǎn)品是帶 EEPROM 的,嚴(yán)格說,這是非常不嚴(yán)謹(jǐn)?shù)?,但商人有商人的目的和方法,?Flash“模擬”EEPROM 可以獲取更大商業(yè)利益,所以在事實上,技術(shù)概念混淆的始作俑者正是他們。

從成本上講,用 Flash“模擬”EEPROM 是合算的,反之不會有人干,用 EEPROM 模擬 Flash 是怎么回事呢?這可能出在某些程序存儲空間和數(shù)據(jù)存儲空間連續(xù)的 MCU 上。這類 MCU 中特別是存儲容量不大的低端 MCU 依然采用 EEPROM 作為非易失存儲器,這在成本上反而比采用 Flash 和傳統(tǒng) EEPROM 雙工藝的設(shè)計更低,但這種現(xiàn)象僅僅限于小容量前提下。因 Flash 工藝的流行,現(xiàn)在很多商人和不夠嚴(yán)謹(jǐn)?shù)募夹g(shù)人員將程序存儲器稱為 Flash,對于那些僅采用傳統(tǒng) EEPROM 工藝的 MCU 而言,他們不求甚解,故而錯誤的將 EEPROM 程序存儲器稱為“ 模擬 Flash”,根本的原因是他們未理解 Flash 只是一種存儲器結(jié)構(gòu)而非存儲器的用途,錯誤的前提自然導(dǎo)致錯誤的結(jié)論。商業(yè)上講,用 EEPROM 模擬 Flash 是不會有人真去做的愚蠢行為,這違背商業(yè)追求最大利益的原則,技術(shù)上也不可行,而對于技術(shù)人員而言。本質(zhì)的問題是 Flash 是一種存儲器類型而非 MCU 中的程序存儲器,即使 MCU 的程序存儲器用的是 Flash,但其逆命題不成立。

一家之言,你有什么看法呢?

審核編輯黃昊宇

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

    關(guān)注

    10

    文章

    1656

    瀏覽量

    150638
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1061

    瀏覽量

    83026
收藏 人收藏

    評論

    相關(guān)推薦

    扒一扒單片機與存儲器的那些事

    單片機與存儲器的關(guān)系像什么?單片機里的存儲都是一樣的嗎?為什么有的單片機既有EEPROM又有Flash?
    的頭像 發(fā)表于 04-10 10:06 ?708次閱讀
    扒一扒<b class='flag-5'>單片機</b>與存儲器的那些事

    PLC和單片機到底什么區(qū)別?

    在自動化和嵌入式開發(fā)領(lǐng)域,PLC和單片機是兩種常見的控制系統(tǒng)。雖然它們許多相似之處,但它們的功能、應(yīng)用范圍、開發(fā)成本等方面也存在顯著差異。本文將從多個角度詳細(xì)探討這兩者的不同之處,幫
    的頭像 發(fā)表于 04-07 11:58 ?806次閱讀
    PLC和<b class='flag-5'>單片機</b>到底<b class='flag-5'>有</b>什么區(qū)別?

    單片機方面的大佬嗎?幾個單片機方面的問題需要請教一下

    如題,單片機方面的內(nèi)容需要請教一下 (先疊個甲)純小白 我需要一個單片機控制模塊,我現(xiàn)在的想法是:在一個
    發(fā)表于 03-29 18:35

    hyper-v虛擬,為何需要用hyper-v虛擬?

    隨著科技的飛速發(fā)展,各類任務(wù)與數(shù)據(jù)量急劇攀升,批量管理恰似航行在信息海洋中的堅固燈塔,照亮高效管理的航道。今天小編給大家分享為何需要用hyper-v虛擬。 使用Hyper-V虛擬的主要原因包括
    的頭像 發(fā)表于 02-07 13:37 ?290次閱讀
    hyper-v虛擬<b class='flag-5'>機</b>,<b class='flag-5'>為何需要</b>用hyper-v虛擬<b class='flag-5'>機</b>?

    AFE4400的30管腳CLKOUT什么作用,他需要單片機相連嗎?連接到哪?

    AFE4400的30管腳CLKOUT什么作用,他需要單片機相連嗎?連接到哪?
    發(fā)表于 12-31 08:32

    開關(guān)電源電路中為何需要串聯(lián)小電阻

    開關(guān)電源電路中為何需要串聯(lián)小電阻,起什么作用,在電源中會見到阻值特別小的電阻,通常是0.5-2.2歐姆,它們分別在不同的位置,起到不同的作用。 在電源輸入端會串聯(lián)一顆2.2歐左右
    的頭像 發(fā)表于 11-19 13:40 ?5140次閱讀
    開關(guān)電源電路中<b class='flag-5'>為何需要</b>串聯(lián)小電阻

    單片機編程語言哪些選擇

    常用的單片機編程語言,以及它們的特點和應(yīng)用場景: 1. C語言 特點 :C語言是一種通用的編程語言,以其高效性和靈活性而聞名。它提供了豐富的庫函數(shù)和直接的硬件訪問能力,非常適合用于單片機編程。 應(yīng)用 :C語言是
    的頭像 發(fā)表于 11-01 14:13 ?1885次閱讀

    51單片機(一款國產(chǎn)8位高性能Flash的接近感應(yīng)單片機XD08M3232體驗感)

    給大家推薦一款在淘寶上發(fā)現(xiàn)的國產(chǎn)A/D型具有增強型1T8051內(nèi)核8位高性能Flash的接近感應(yīng)單片機XD08M3232,測試下來總體的感覺還是比較強大的,以下是本人試用后總結(jié)下來比較滿意的幾個點
    發(fā)表于 09-25 15:15

    8位單片機為何不會被高端單片機取代?

    )應(yīng)用:8位單片機應(yīng)用廣泛,包括汽車電子、家用電器、醫(yī)療設(shè)備、工業(yè)自動化和消費電子產(chǎn)品。它們通常是低成本、低功耗和實時控制應(yīng)用的首選。 8位單片機為何不會被高端
    發(fā)表于 09-24 16:51

    十天學(xué)會單片機可能嗎?單片機入門需要多久?

    一下,單片機的入門其實并沒有想象中那么難。對于那些一定編程基礎(chǔ),尤其是C語言基礎(chǔ)的學(xué)習(xí)者來說,入門的過程可能僅需幾天。例如,有人可能在三天內(nèi)就掌握了單片機的基礎(chǔ)
    的頭像 發(fā)表于 09-05 08:00 ?1946次閱讀
    十天學(xué)會<b class='flag-5'>單片機</b>可能嗎?<b class='flag-5'>單片機</b>入門<b class='flag-5'>需要</b>多久?

    提高M(jìn)SP430G系列單片機Flash擦寫壽命的方法

    電子發(fā)燒友網(wǎng)站提供《提高M(jìn)SP430G系列單片機Flash擦寫壽命的方法.pdf》資料免費下載
    發(fā)表于 08-28 11:51 ?0次下載
    提高M(jìn)SP430G系列<b class='flag-5'>單片機</b>的<b class='flag-5'>Flash</b>擦寫壽命的方法

    單片機boot0和boot1怎么設(shè)置

    單片機的啟動模式通常包括從內(nèi)部ROM啟動、從外部ROM啟動、從外部Flash啟動等。 不同的啟動模式對應(yīng)不同的Boot0和Boot1設(shè)置。 Boot0和Boot1的設(shè)置方法 Boot0和Boot1通常通過
    的頭像 發(fā)表于 08-22 09:50 ?4664次閱讀

    單片機和plc什么相同和不同之處

    單片機(Microcontroller,簡稱MCU)和可編程邏輯控制器(Programmable Logic Controller,簡稱PLC)都是廣泛應(yīng)用于工業(yè)自動化和控制領(lǐng)域的電子設(shè)備。它們
    的頭像 發(fā)表于 06-06 14:05 ?1769次閱讀

    EEPROMFlash存儲器的區(qū)別

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

    用stm32f103RC的flash模擬EEprom, 執(zhí)行到EE_Init()時候單片機沒有反應(yīng)是怎么回事?

    我用stm32f103RC的flash模擬EEprom, 執(zhí)行到EE_Init()時候(之前還有一個FLASH_Unlock()函數(shù)),單片機沒有反應(yīng),沒法往下執(zhí)行,我是用SWD下載程
    發(fā)表于 05-17 07:19