在了解原始碼之前,先來探討一下記憶體EEPROM。
EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀記憶體)是一種具有非揮發性特性的記憶體,即使斷電後數據仍能保留。其核心工作原理基於浮閘電晶體結構,通過電信號實現數據的擦除與重寫,並支持位元組級操作,廣泛應用於嵌入式系統、汽車電子和消費電子等領域。



技術特點
非揮發性:斷電後資料不會遺失,適合存儲關鍵的設定資訊。
電擦寫能力:無需紫外線照射,可直接透過電壓進行擦除和編程。
靈活性:支援單字節修改,優於傳統EPROM的區塊擦除模式。
耐久性:典型的擦寫次數為10萬至100萬次,受限於氧化層的壽命。
應用場景
汽車電子:存儲ECU控制算法和感測器校準數據,例如聚辰股份的車規級EEPROM已用於核心部件。
消費電子:華為智慧型手機的EEPROM產品應用於Mate、P系列等機型。
工業控制:PLC和智慧卡中存儲配置參數及安全數據。
發展歷程
1978年Intel首次推出16kbit EEPROM,1980年代實現商業化,後續技術迭代催生了閃存(Flash Memory)。2025年意法半導體推出的串口EEPROM晶片支援128位唯一ID碼,適用於設備身份認證。

術語規範
根據《計算機科學技術名詞》,標準表述為「電擦除可編程只讀記憶體」,需避免「電可擦除」等非規範形式。
EEPROM與Flash Memory的核心差異


擦寫方式
EEPROM:支援字節級擦寫,可直接覆蓋單個字節資料,無需預先擦除操作。
Flash:需要以區塊或扇區的方式進行擦除(例如4KB至256KB),在寫入新資料之前,必須先整體擦除目標區塊,然後再寫入新資料。
物理結構與容量
EEPROM:採用雙晶體管結構,存儲單元獨立,容量較小(KB~MB級),成本較高。
Flash:基於單晶體管浮閘技術,儲存密度高,容量可達GB~TB級,成本更低。
性能比較
擦寫速度:EEPROM單字節操作較慢(約3-10毫秒),Flash區塊操作更快(如10MB/s以上)。
擦寫壽命:EEPROM通常支援100萬次,Flash為1萬至10萬次(NAND更低)。
功耗:EEPROM在寫入時功耗較高,而Flash整體上更省電。
應用場景
EEPROM:適合頻繁修改的小型資料(例如系統配置、感測器校準)。
Flash:用於大容量儲存(例如程式碼、音訊檔案、視訊檔案)。
技術細節補充
介面協議:EEPROM多採用I²C/SPI介面,Flash常見並行或串行介面。
資料保護:部分Flash支援硬體加密,EEPROM通常僅有軟體保護。


總結
EEPROM以精細化管理見長,適合高頻率、小數據更新;Flash則以大容量、低成本優勢主導存儲密集型場景。選擇時需權衡擦寫需求、壽命及成本。
說完了記憶體,再聊聊MCU:
STM32F407 是意法半導體推出的一款 32 位高性能 ARM Cortex-M4 微控制器,廣泛應用於工業控制、醫療設備等領域。



以下是其詳細介紹:
核心性能
處理器核心採用 ARM Cortex-M4 核心,主頻可達 168MHz,具備單周期乘法和硬體除法指令,支援浮點運算單元(FPU)和 DSP 指令,能高效處理複雜任務。在 168MHz 主頻下,從 Flash 記憶體執行時,可提供 210DMIPS/566CoreMark 的性能。
記憶體一般具有 512KB 到 1MB 的 Flash 快閃記憶體,用於儲存程式碼和常數資料,支援線上編程(ISP)和應用內編程(IAP);擁有 192KB 的靜態隨機存取記憶體(SRAM),用於存放程式運行時的變數、堆疊等資料。
豐富的外接設備
通信介面多達 15 個通訊介面,包括 6 個 USART、3 個 SPI、3 個 I²C、2 個 CAN 和 1 個 SDIO,還整合了兩個 USB 介面,其中一個為 USB OTG FS(全速)介面,另一個為 USB OTG HS(高速)介面,內建乙太網媒體存取控制器(MAC),支援 10/100Mbps 乙太網通訊。
模擬周邊設備具有 3 個 12 位元的模數轉換器(ADC),可同時進行多通道類比信號採集,轉換速度高達 2.4Msps;有 2 個 12 位元的數位類比轉換器(DAC),可將數位信號轉換為類比信號輸出。
計時器擁有 17 個定時器,包括 10 個通用定時器、2 個基本定時器、2 個高級定時器、1 個系統定時器和 2 個看門狗定時器,可用於定時中斷、PWM 輸出、測量時間間隔等任務。
其他特點
總線架構主系統由 32 位多層 AHB 匯流排矩陣構成,用於主控匯流排之間的訪問仲裁管理,可實現八條主控匯流排和七條被控匯流排之間的互聯。
封裝形式採用尺寸小至 10x10mm 的 100~176 引腳封裝,滿足不同應用場景對封裝尺寸的需求。
本實驗基於以下Demo板測試,原理圖請參考附件:

連接原理圖:

MCU端是PB8,PB9
詳細的程式碼與工程請參考附件:


測試效果:

評論