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

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

3天內不再提示

STM32入門學習筆記之EEPROM存儲實驗1

jf_78858299 ? 來源:滑小稽筆記 ? 作者:電子技術園地 ? 2023-02-16 14:22 ? 次閱讀

16.1 EEPROM概述

EEPROM(Electrically Erasable Programmable read only memory),稱為帶電可擦除可編程只讀存儲器,是一種可以斷電保存數(shù)據(jù)的存儲芯片,EEPROM可以在電腦上或專用設備上擦除已有信息,重新編程,一般用在即插即用設備中。

這種存儲芯片可以通過高于普通電壓的作用來擦除或重寫,EEPROM芯片一般用在需要頻繁存儲數(shù)據(jù),但是數(shù)據(jù)量不大的場合,本實驗以Atmel公司設計的AT24C02為例,來詳細描述EEPROM的基本操作。

AT24C02是一片存儲容量在2Kbit的的存儲芯片,即存儲容量512Byte,通過IIC總線協(xié)議進行數(shù)據(jù)通信,STM32F1內置的IIC模塊。

但是由于當時設計的時候為了規(guī)避飛利浦關于IIC通信協(xié)議的專利技術,將IIC設計的比較復雜,并且當操作不當?shù)臅r候容易鎖住總線,但是ST公司關于硬件IIC方面也提出了對應的軟件解決方案。

我們在這個存儲實驗中采用IO口模擬IIC協(xié)議與硬件IIC模塊兩種方式來實現(xiàn)EEPROM存儲。

IIC是一種只利用兩根線來進行數(shù)據(jù)交換的串行通信協(xié)議,IIC的電氣線路包括兩根線,即時鐘線SCL和數(shù)據(jù)線SDA,高速IIC總線一般可達400kbps以上。

在傳送過程中一共有三種類型的信號,分別是開始信號,結束信號和應答信號,我們在51單片機開發(fā)中曾將IIC協(xié)議通過端口模擬成功的控制了EEPROM的讀寫,現(xiàn)在只需要將之前的代碼移植過來修改一下底層寄存器即可使用。STM32F1系列的硬件IIC結構框圖如下圖所示。

圖片

從結構可以發(fā)現(xiàn),STM32的硬件IIC模塊我們只需要配置好寄存器,然后既可以不考慮具體的IIC協(xié)議,直接讀數(shù)據(jù)寄存器就可以獲取到總線上的數(shù)據(jù),這也是硬件IIC的優(yōu)勢所在。

16.2 AT24C02通信時序

16.2.1 寫時序

(1)寫1個字節(jié)

圖片

第1步:發(fā)送開始信號

第2步:發(fā)送器件7位地址+1位讀寫控制后等待芯片應答

第3步:發(fā)送寫入的地址后等待芯片應答

第4步:寫入需要存儲的數(shù)據(jù)后等待芯片應答

第5步:發(fā)送結束信號

第6步:等待20ms左右

(2)寫n個字節(jié)

圖片

寫n個字節(jié)適用于在連續(xù)的n個地址上寫入n個數(shù)據(jù),當需要寫入n個數(shù)據(jù)的時候,這種連續(xù)寫的方式比單個寫的速度有顯著性優(yōu)勢,具體步驟如下。

第1步:發(fā)送開始信號

第2步:發(fā)送器件7位地址+1位讀寫控制后等待芯片應答

第3步:發(fā)送寫入的地址后等待芯片應答

第4步:寫入需要存儲的數(shù)據(jù)1后等待芯片應答

……

第n+4步:寫入需要存儲的數(shù)據(jù)n后等待芯片應答

第n+5步:發(fā)送結束信號

第n+6步:等待20ms左右

注:AT24C系列芯片進行1次完整的寫時序,必須等待5ms以上,手冊給出的典型值是5ms,一般默認20ms。

16.2.2 讀時序

(1)讀1個字節(jié)

圖片

第1步:發(fā)送開始信號

第2步:發(fā)送器件7位地址+1位讀寫控制后等待芯片應答

第3步:發(fā)送寫入的地址后等待芯片應答

第4步:重新發(fā)送開始信號

第5步:發(fā)送器件7位地址+1位讀寫控制(讀)后等待芯片應答

第6步:開始接收返回的的數(shù)據(jù)

第7步:發(fā)送結束信號

(2)讀n個字節(jié)

圖片

寫n個字節(jié)適用于讀取存儲在連續(xù)的n個地址上寫入n個數(shù)據(jù),當需要寫入n個數(shù)據(jù)的時候,這種連續(xù)寫的方式比單個寫的速度有顯著性優(yōu)勢,具體步驟如下。

第1步:發(fā)送開始信號

第2步:發(fā)送器件7位地址+1位讀寫控制后等待芯片應答

第3步:發(fā)送寫入的地址后等待芯片應答

第4步:重新發(fā)送開始信號

第5步:發(fā)送器件7位地址+1位讀寫控制(讀)后等待芯片應答

第6步:接收返回的的數(shù)據(jù)1后發(fā)送應答信號

第7步:接收返回的的數(shù)據(jù)2后發(fā)送應答信號

……

第n+6步:接收返回的的數(shù)據(jù)n

第n+7步:發(fā)送結束信號

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

    關注

    38

    文章

    7365

    瀏覽量

    163085
  • EEPROM
    +關注

    關注

    9

    文章

    1002

    瀏覽量

    81054
  • 存儲芯片
    +關注

    關注

    11

    文章

    874

    瀏覽量

    42868
收藏 人收藏

    評論

    相關推薦

    STM32學習筆記(初學者快速入門)

    本帖最后由 eehome 于 2013-1-5 10:08 編輯 STM32學習筆記(初學者快速入門)
    發(fā)表于 08-18 21:35

    STM32入門學習筆記 精選資料分享

    STM32入門學習筆記本文為筆者入門學習過程的記錄,只是零散的記錄了一些個人不太懂得,覺得需要經(jīng)
    發(fā)表于 08-24 07:56

    EEPROM開機記憶存儲實驗

    EEPROM開機記憶存儲實驗
    發(fā)表于 07-13 18:10 ?25次下載

    STM32各模塊學習筆記

    STM32個模塊學習筆記 目錄 STM32筆記之一 中斷優(yōu)先級.......................................
    發(fā)表于 11-30 03:32 ?3083次閱讀

    單片機學習EEPROM-IIC實驗的資料合集免費下載

    本文檔的主要內容詳細介紹的是單片機學習EEPROM-IIC實驗的資料合集免費下載。
    發(fā)表于 07-21 08:00 ?1次下載
    單片機<b class='flag-5'>學習</b><b class='flag-5'>之</b><b class='flag-5'>EEPROM</b>-IIC<b class='flag-5'>實驗</b>的資料合集免費下載

    STM32學習筆記1——軟硬件基礎keil5編程與GPIO開發(fā)

    STM32學習筆記1——軟硬件基礎keil5編程與GPIO開發(fā)
    發(fā)表于 11-30 12:36 ?4次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>1</b>——軟硬件基礎<b class='flag-5'>之</b>keil5編程與GPIO開發(fā)

    STM32學習I2C協(xié)議(讀寫EEPROM

    關于STM32學習分享第七章 I2C協(xié)議(讀寫EEPROM)文章目錄關于STM32學習分享前言二、代碼1
    發(fā)表于 11-30 15:21 ?32次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>之</b>I2C協(xié)議(讀寫<b class='flag-5'>EEPROM</b>)

    STM32學習筆記--------day1

    STM32學習筆記--------day1
    發(fā)表于 12-05 20:36 ?8次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>--------day<b class='flag-5'>1</b>

    stm32學習筆記1

    此博客僅個人學習筆記,用以本人學習stm32的記錄、分析、總結。有所錯漏再所難免,有則改之無則加勉。這里就直接以通俗的語言來記錄了,大家見諒。學習
    發(fā)表于 01-18 08:37 ?59次下載
    <b class='flag-5'>stm32</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b><b class='flag-5'>1</b>

    UM1802_STM32CubeL1入門STM32L1系列

    UM1802_STM32CubeL1入門STM32L1系列
    發(fā)表于 11-22 08:22 ?1次下載
    UM1802_<b class='flag-5'>STM32CubeL1</b><b class='flag-5'>入門</b><b class='flag-5'>之</b><b class='flag-5'>STM32L1</b>系列

    STM32入門學習筆記EEPROM存儲實驗2

    EEPROM(Electrically Erasable Programmable read only memory),稱為帶電可擦除可編程只讀存儲器,是一種可以斷電保存數(shù)據(jù)的存儲芯片,EEP
    的頭像 發(fā)表于 02-16 14:22 ?856次閱讀

    STM32入門學習筆記EEPROM存儲實驗3

    EEPROM(Electrically Erasable Programmable read only memory),稱為帶電可擦除可編程只讀存儲器,是一種可以斷電保存數(shù)據(jù)的存儲芯片,EEP
    的頭像 發(fā)表于 02-16 14:22 ?1012次閱讀

    STM32入門學習筆記EEPROM存儲實驗4

    EEPROM(Electrically Erasable Programmable read only memory),稱為帶電可擦除可編程只讀存儲器,是一種可以斷電保存數(shù)據(jù)的存儲芯片,EEP
    的頭像 發(fā)表于 02-16 14:22 ?1435次閱讀

    STM32入門學習筆記EEPROM存儲實驗5

    EEPROM(Electrically Erasable Programmable read only memory),稱為帶電可擦除可編程只讀存儲器,是一種可以斷電保存數(shù)據(jù)的存儲芯片,EEP
    的頭像 發(fā)表于 02-16 14:23 ?531次閱讀

    EEPROM存儲實驗

    可以在電腦上或專用設備上擦除已有信息,重新編程,一般用在即插即用設備中,這種存儲芯片可以通過高于普通電壓的作用來擦除或重寫,EEPROM芯片一般用在需要頻繁存儲數(shù)據(jù),但是數(shù)據(jù)量不大的場合,本
    的頭像 發(fā)表于 03-01 14:54 ?9207次閱讀
    <b class='flag-5'>EEPROM</b><b class='flag-5'>存儲</b><b class='flag-5'>實驗</b>