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

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

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

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

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

貿(mào)澤電子 ? 來源:貿(mào)澤電子 ? 2025-04-10 10:06 ? 次閱讀

單片機與存儲器的關(guān)系像什么?單片機里的存儲都是一樣的嗎?為什么有的單片機既有EEPROM又有Flash?

本期貿(mào)澤科普實驗室,就來扒一扒單片機與存儲器的那些事——

01單片機與存儲器的關(guān)系像什么?

請你用比喻來形容下存儲與單片機的關(guān)系,你會用什么呢?

我覺得他們很像大腦與大腦的記憶系統(tǒng),大腦(單片機)掌控著身體(嵌入式系統(tǒng))的各項活動和決策,記憶系統(tǒng)存儲那些與生俱來的本能反應和經(jīng)過長期學習固化下來的知識(ROM),也短暫存儲當前正在思考和處理的信息(RAM),比如剛剛看到的一個電話號碼,一旦注意力轉(zhuǎn)移(斷電),這個短期記憶就會遺忘(數(shù)據(jù)清除)。所以,如果存儲不工作了,無論性能多高的器件,都得“涼涼”。

25fa4982-14d6-11f0-9310-92fbcf53809c.png

02單片機里的存儲都是一樣的嗎?

以超低功耗32位MCU STM32L151R6-A為例,下圖是其電路框圖,標紅的部分就是在MCU內(nèi)部集成的存儲器。

26278ec4-14d6-11f0-9310-92fbcf53809c.png

在單片機中,為什么會有這么多種類的存儲呢?捋一遍STM32L151R6-A單片機的工作過程就立刻清晰明了了。

1)在單片機上電復位之后,首先需要執(zhí)行的是引導代碼,就如電腦的系統(tǒng)一樣,引導程序的目的是初始化系統(tǒng)硬件,如時鐘、外設等,并將應用程序從其他存儲器,如Flash,加載到SRAM中,然后跳轉(zhuǎn)到應用程序的入口地址開始執(zhí)行。此外,引導程序還可以提供一些基本的調(diào)試和下載功能,方便開發(fā)者對MCU進行程序燒錄和調(diào)試。Boot ROM是單片機正常工作使用的第一個存儲器。

264979f8-14d6-11f0-9310-92fbcf53809c.png

當然,并不是所有MCU都有Boot ROM,像一些簡單、低端的單片機本身是不需要復雜的引導過程的,還有一些自定義設計的特殊單片機,可以通過外部電路或者其他的特殊機制來實現(xiàn)程序的啟動和加載。

2)單片機啟動之后,需要去完成某個具體的應用功能,比如智能家居應用,單片機要控制燈光,實現(xiàn)這個功能的應用代碼在PC編寫完成之后,會被燒錄到單片機里的存儲器中,這個存儲器就是Flash。除了所有的應用程序之外,F(xiàn)lash存儲一些需要長期保存的數(shù)據(jù),如系統(tǒng)配置參數(shù)、校準數(shù)據(jù)等,這些數(shù)據(jù)在設備運行過程中可能會被讀取或修改,但在斷電后依然能夠保留。

2668c434-14d6-11f0-9310-92fbcf53809c.png

3)單片機系統(tǒng)在運行時,可能會產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)需要頻繁的修改,但又不能丟失,比如溫濕度的調(diào)節(jié),需要實時根據(jù)情況更新數(shù)據(jù),但數(shù)據(jù)保存后,在下次啟動時,不能丟失,這些數(shù)據(jù)就會被存儲在另外一種ROM,EEPROM里。

4)前面提到的控制燈光功能,假設需要根據(jù)光的強度進行控制,就要使用光傳感器,單片機要對傳感器測得的光線數(shù)據(jù)進行處理、運算,會產(chǎn)生臨時數(shù)據(jù)、中間結(jié)果,這些會被暫時存放在SRAM中,而且程序通常從Flash加載到SRAM執(zhí)行。

5)任何電子系統(tǒng)都有可能出現(xiàn)異常情況,比如電源故障。在故障修復之后,如何能夠保證系統(tǒng)恢復到正常狀態(tài)?這就需要Backup Data存儲器中存儲的關(guān)鍵備份數(shù)據(jù),比如運行狀態(tài)信息、配置信息等。

從單片機系統(tǒng)的運行過程來看,這些存儲器扮演著重要的角色,雖然種類多,但缺一不可。

03既有EEPROM又有Flash的單片機

這要從早期ROM說起,初始的ROM數(shù)據(jù)寫入方式是在ROM的制造工序中,芯片廠商用特殊的方法燒錄進去的,一次性寫入內(nèi)容后,用戶只能驗證寫入的資料是否正確,不能再作任何修改。這,工程師怎么能忍,于是就有了可編程只讀存儲器(PROM),PROM允許在制造后由工程師使用編程器寫入數(shù)據(jù),但只能寫入一次,之后就不能再更改了,額,只能寫一次?這不相當于人生下來,只能吃一頓飯一樣?還得改。

26aaadb8-14d6-11f0-9310-92fbcf53809c.png

為了解決不能重復寫入的問題,EPROM出現(xiàn)了,EPROM芯片可重復擦除和寫入,它有一個很明顯的特征,就是它正面的陶瓷封裝上,開有一個玻璃窗口,透過這個窗口,可以看到其內(nèi)部的集成電路,當紫外線透過這個窗口照射內(nèi)部芯片時,就可以擦除其內(nèi)的數(shù)據(jù)。由于使用紫外線擦除過程需要特殊的設備和操作,很繁瑣,還有可能因為擦除窗口遮光失效,導致數(shù)據(jù)被誤擦除。

26ca9038-14d6-11f0-9310-92fbcf53809c.png

是不是可用其他方式擦除呢?沒錯,用電信號也可以的,這就是電可擦除可編程只讀存儲器(EEPROM)。EEPROM的電可擦除,無疑是前進了一大步。在數(shù)據(jù)讀取/寫入操作上,EEPROM允許以字節(jié)為單位進行操作。不論是編程,還是擦除的過程,EEPROM非常靈活和方便。

雖然EEPROM的性能已經(jīng)非常不錯了,既可以電擦除,又能按字節(jié)讀寫,但是,隨著程序逐漸復雜,EEPROM的讀寫速度和容量就有點捉襟見肘,如果還是只能按照字節(jié)操作,就太慢太慢了,改幾行代碼,還得等半天,所以,在EEPROM的基礎上,又發(fā)展出了Flash存儲器,有更高的存儲密度、更低的成本和更快的擦寫速度。

26e361a8-14d6-11f0-9310-92fbcf53809c.png

要回答為什么有的單片機既有EEPROM又有Flash這個問題,還得看EEPROM和Flash的本質(zhì)區(qū)別,這里我們整理了EEPROM和Flash在數(shù)據(jù)讀取/寫入操作方式、使用次數(shù)以及容量大小這些數(shù)據(jù):

2706e984-14d6-11f0-9310-92fbcf53809c.png

從擦除和寫入次數(shù)上看,EEPROM次數(shù)較高,以常用的AT24C02為例,它的擦除和寫入次數(shù)高達100萬,數(shù)據(jù)保存年限為100年。Flash的次數(shù)相對較少,以華邦的W25Q系列的SPI Flash為例,它的擦除和寫入次數(shù)可小至10萬,數(shù)據(jù)保存年限為在20年以上。

從讀寫方式上來看,EEPROM允許以字節(jié)為單位進行擦除和寫入操作,而Flash則是以塊或扇區(qū)為單位進行擦除和寫入操作。

從存儲容量上來看,EEPROM的容量都比較小,一般在幾K字節(jié)到幾百K字節(jié),而Flash的容量是非常大的,小到幾M,大到幾T。

EEPROM和Flash這些各自的特點,讓EEPROM在單字節(jié)數(shù)據(jù)的讀寫環(huán)境更有優(yōu)勢,而Flash適合存儲程序代碼和大量不頻繁更新的數(shù)據(jù)。

舉兩個單片機應用的例子,第一個,比如要保存一個溫度值,范圍在0-100攝氏度,只占用1個字節(jié),每1分鐘需要把更新的溫度值寫入單片機的存儲器。

如果使用EEPROM,只需要操作存儲器中一個字節(jié)的空間,如果是Flash,就需要去操作一個塊或者一個扇區(qū),比如一個扇區(qū)有512字節(jié),操作一個字節(jié)的數(shù)據(jù),整個扇區(qū)都需要重新擦寫,這么高頻次的擦寫,F(xiàn)lash的這個扇區(qū)很快就會被干廢了,F(xiàn)lash廢了,單片機也就廢了。所以,這種場景使用EEPROM更適合。

第二個是在OTA升級系統(tǒng)固件時,為了防止系統(tǒng)升級失敗造成系統(tǒng)變磚,就要在系統(tǒng)升級前備份系統(tǒng)固件,一般OTA升級的周期都是以月或者年為單位的,數(shù)據(jù)量大且集中,這個時候就需要使用Flash,它的讀寫速度快且容量大,如果使用EEPROM,讀寫速度慢而且有可能容量不夠。

2728b8ac-14d6-11f0-9310-92fbcf53809c.png

從這兩個例子,可以看出,F(xiàn)lash和EEPROM在功能上實現(xiàn)互補,他們的存在可以讓系統(tǒng)更好的工作。

如果你認真仔細地讀到了這里,相信文章開頭提到的3個問題,你都已經(jīng)了解清楚了,那就說明我們本期的貿(mào)澤科普實驗室沒白做!

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

    關(guān)注

    6058

    文章

    44821

    瀏覽量

    644695
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17718

    瀏覽量

    358182
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1656

    瀏覽量

    150609
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7613

    瀏覽量

    165912
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1061

    瀏覽量

    83007

原文標題:單片機存儲之謎:Flash和EEPROM到底誰更強?| 貿(mào)澤科普實驗室

文章出處:【微信號:貿(mào)澤電子,微信公眾號:貿(mào)澤電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    51單片機存儲器內(nèi)存的講解

    51單片機當中的存儲器從功能性上來劃分可以分為程序存儲器與數(shù)據(jù)存儲器。般來說單片機
    發(fā)表于 08-10 16:40 ?1966次閱讀

    那些年曾經(jīng)很火的單片機

    其實,我不想直接說AVR,我想說的是Arduino。Arduino絕大部分的產(chǎn)品,都是使用的AVR的單片機作為處理的,甚至有的產(chǎn)品還會同時出現(xiàn)兩塊AVR的MCU。
    發(fā)表于 07-23 11:42 ?2107次閱讀

    與無線網(wǎng)絡相關(guān)的那些

    無線網(wǎng)絡的庇佑時,選擇上網(wǎng)的方式是3G\4G還是蹭網(wǎng)???想必大多數(shù)人會節(jié)省流量而選擇免費的公眾wifi,享受上網(wǎng)時帶來的快樂。講下,大家在外使用無線網(wǎng)絡普遍存在的問題:在外吃飯時,進入飯店的第一件事
    發(fā)表于 05-27 11:40

    我看過的那些Linux相關(guān)的書籍

    來北京工作已經(jīng)個多月,大都市的生活比起讀大學要忙碌得多,尤其是出行,基本以小時為基本的計時單位。有時茫然看著窗外車水馬龍,會有些迷茫自己選擇的是對還是錯。  題外話不多說,回歸這次的主題,
    發(fā)表于 07-04 06:39

    產(chǎn)品有哪些參數(shù)

     銑挖履帶式挖掘裝載(俗名:)是種連續(xù)生產(chǎn)的高效率出礦設備,主要用于礦山巖巷、半煤巖巷掘進,也可以用于引水洞、鐵路隧道施工和國防
    發(fā)表于 09-02 08:00

    單片機存儲器擴充與程序下載技巧

    介紹了如何對單片機存儲器進行擴充,以及在這種大容量存儲器條件下的程序下載技巧。關(guān)鍵詞:單片機;存儲器;程序下載中圖分類號:-.+++*) 文
    發(fā)表于 10-14 16:47 ?63次下載

    單片機存儲器,單片機存儲器結(jié)構(gòu)原理是什么?

    單片機存儲器,單片機存儲器結(jié)構(gòu)原理是什么? 存儲器單片機的又
    發(fā)表于 03-11 09:15 ?7046次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>存儲器</b>,<b class='flag-5'>單片機</b><b class='flag-5'>存儲器</b>結(jié)構(gòu)原理是什么?

    單片機存儲器擴充與程序下載技巧

    單片機存儲器擴充與程序下載技巧。
    發(fā)表于 05-20 11:16 ?14次下載

    單片機教程之單片機總線與存儲器的擴展資料說明

    本文檔的詳細介紹的是單片機教程之單片機總線與存儲器的擴展資料說明主要內(nèi)容包括了:1.單片機系統(tǒng)總線和系統(tǒng)擴展方法,2.程序存儲器的擴展,3.
    發(fā)表于 02-14 17:34 ?27次下載
    <b class='flag-5'>單片機</b>教程之<b class='flag-5'>單片機</b>總線與<b class='flag-5'>存儲器</b>的擴展資料說明

    如何對單片機進行片外程序存儲器設計

    EA=0,單片機只訪問外部程序存儲器,對于8031單片機此引腳必須接地.EA=1,單片機訪問內(nèi)部程序存儲器,對于內(nèi)部有程序
    發(fā)表于 03-20 15:05 ?5206次閱讀

    51單片機存儲器

    :思維結(jié)構(gòu)很重要:由上圖可知,51單片機存儲器分為倆大部分:程序存儲器ROM和數(shù)據(jù)存儲器RAM,這點有別與計算機程序
    發(fā)表于 11-11 20:36 ?15次下載
    51<b class='flag-5'>單片機</b>之<b class='flag-5'>存儲器</b>

    單片機存儲器

    單片機存儲器——幾個有關(guān)的概念:1、數(shù)據(jù)存儲器——RAM(Random Access Memory)2、程序存儲器——ROM(Read Only Memory)3、閃速
    發(fā)表于 12-02 10:06 ?3次下載
    <b class='flag-5'>單片機</b>的<b class='flag-5'>存儲器</b>

    中斷為什么不能調(diào)printf?

    前面說會寫下Modbus-RTU的實現(xiàn),寫了1000多字了,有興趣的稍等下哈。前面在個群里看到個朋友在個串口接收中斷里打印遇到了問
    發(fā)表于 12-04 12:21 ?0次下載
    <b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>中斷為什么不能調(diào)printf?

    雕銑、雕刻和加工中心之間的區(qū)別

    中心、雕銑、雕刻,之間有什么區(qū)別?相信這句話很多剛剛加入這個圈的朋友都會問,然后在買機械設備的時候不太懂,不知道怎么區(qū)分,到底應該買什么樣的設備,才能達到自己的需求,今天小編就為大家
    的頭像 發(fā)表于 01-15 09:48 ?1075次閱讀

    折疊屏手機背后的“黑科技”

    折疊屏手機似乎正成為各大品牌下步推新的產(chǎn)品,那么今天,就讓我們這里面到底有什么“黑科技”。
    的頭像 發(fā)表于 02-26 10:34 ?2013次閱讀
    <b class='flag-5'>扒</b><b class='flag-5'>一</b><b class='flag-5'>扒</b>折疊屏手機背后的“黑科技”