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

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

完善資料讓更多小伙伴認識你,還能領(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)容就永遠什么內(nèi)容,不靈活。后來出現(xiàn)了 PROM,可以自己寫入一次,要是寫錯了,只能換一片。隨著不斷改進,終于出現(xiàn)了可多次擦除寫入的 EPROM,每次擦除要把芯片拿到紫外線上照一下,想一下你往單片機上下了一個程序之后發(fā)現(xià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 次。具有較高的可靠性,但是電路復雜 / 成本也高。因此目前的 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ù)存儲器。當然用 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ù)手冊上也清楚的標明是 EEPROM,現(xiàn)在的多數(shù) Flash 手冊上也是這么標明的,二者的關(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ù)量反復重寫時,所以在 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 的,嚴格說,這是非常不嚴謹?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)在很多商人和不夠嚴謹?shù)募夹g(shù)人員將程序存儲器稱為 Flash,對于那些僅采用傳統(tǒng) EEPROM 工藝的 MCU 而言,他們不求甚解,故而錯誤的將 EEPROM 程序存儲器稱為“ 模擬 Flash”,根本的原因是他們未理解 Flash 只是一種存儲器結(jié)構(gòu)而非存儲器的用途,錯誤的前提自然導致錯誤的結(jié)論。商業(yè)上講,用 EEPROM 模擬 Flash 是不會有人真去做的愚蠢行為,這違背商業(yè)追求最大利益的原則,技術(shù)上也不可行,而對于技術(shù)人員而言。本質(zhì)的問題是 Flash 是一種存儲器類型而非 MCU 中的程序存儲器,即使 MCU 的程序存儲器用的是 Flash,但其逆命題不成立。

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

審核編輯黃昊宇

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

    關(guān)注

    10

    文章

    1679

    瀏覽量

    151797
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1086

    瀏覽量

    83749
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    FLASH模擬EEPROM

    FLASH模擬EEPROM 由于 AT32 單片機沒有 EEPROM 功能,但是在一些應(yīng)用中需要使用
    發(fā)表于 07-16 15:13

    單片機和伺服什么區(qū)別

    單片機和伺服的區(qū)別 單片機(Microcontroller)和伺服(Servo System)是兩種完全不同的技術(shù)概念,分別屬于 控制系統(tǒng)硬件 和 運動控制執(zhí)行系統(tǒng) 。以下是它們的詳細對比和區(qū)別
    的頭像 發(fā)表于 05-26 09:18 ?214次閱讀

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

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

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

    在自動化和嵌入式開發(fā)領(lǐng)域,PLC和單片機是兩種常見的控制系統(tǒng)。雖然它們許多相似之處,但它們的功能、應(yīng)用范圍、開發(fā)成本等方面也存在顯著差異。本文將從多個角度詳細探討這兩者的不同之處,幫
    的頭像 發(fā)表于 04-07 11:58 ?2285次閱讀
    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 ?429次閱讀
    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 ?1.4w次閱讀
    開關(guān)電源電路中<b class='flag-5'>為何需要</b>串聯(lián)小電阻

    單片機編程語言哪些選擇

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

    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

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

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

    樹莓派和51單片機哪個優(yōu)勢

    樹莓派和51單片機是兩種不同的硬件平臺,它們各自有其特點和優(yōu)勢。在決定使用哪一個之前,我們需要了解它們的基本特性、應(yīng)用場景和開發(fā)難度。 1. 簡介 1.1 樹莓派(Raspberry
    的頭像 發(fā)表于 09-02 09:04 ?1714次閱讀

    提高MSP430G系列單片機Flash擦寫壽命的方法

    電子發(fā)燒友網(wǎng)站提供《提高MSP430G系列單片機Flash擦寫壽命的方法.pdf》資料免費下載
    發(fā)表于 08-28 11:51 ?0次下載
    提高MSP430G系列<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 ?5776次閱讀