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

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

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

中穎EEPROM存儲器的操作原則

中穎電子 ? 來源:中穎電子 ? 作者:中穎電子 ? 2022-03-20 14:37 ? 次閱讀

EEPROM(Electrically Erasable Programmable readonly memory)是指帶電可編程只讀存儲器。是一種掉電后數(shù)據(jù)不丟失的存儲芯片。

中穎Flash型MCU都集成有EEPROM,EEPROM用來存放用戶數(shù)據(jù)。EEROM大小可以通過option(代碼選項(xiàng))選擇0~4K不等。EEPROM按照扇區(qū)進(jìn)行劃分,每個扇區(qū)的大小512字節(jié)(較早的產(chǎn)品,每個扇區(qū)大小256字節(jié)),最多支持8個扇區(qū)。

中穎的EEPROM編程/擦除次數(shù):至少100000次

中穎的EEPROM數(shù)據(jù)保存年限:至少10年

中穎EEPROM的操作原則:

1 必須關(guān)閉所有中斷

如果在操作EEPROM期間,不關(guān)閉中斷,可能會導(dǎo)致程序跑飛或者其它異常情況;中穎MCU要求對于EEPROM的擦除和編程,需要按照規(guī)定關(guān)閉所有中斷(EA=0),等到編程完成后再打開中斷。

2 如何訪問EEPROM

中穎芯片對于EEPROM的讀、擦和寫都是通過寄存器FLASHCON的FAC位置1來操作。當(dāng)FAC=0時,MOVC指令或者SSP功能訪問Main Block區(qū)域;當(dāng)FAC=1時,MOVC指令或者SSP功能訪問類EEPROM區(qū)域或信息存儲區(qū)。

A7H,Bank0

7

6

5

4

3

2

1

0

FLASHCON

-

-

-

-

-

-

FAC

/

-

-

-

-

-

-

/

/

復(fù)位值

(POR/WDT/LVR/PIN)

-

-

-

-

-

-

0

0

位編號

位符號

說明

7-1

-

保留位

0

FAC

訪問控制

0MOVC指令或者SSP功能訪問Main Block區(qū)域

1MOVC指令或者SSP功能訪問類EEPROM區(qū)域或信息存儲區(qū)

3 操作EEPROM前,清WDT

在對EEPROM的操作前,清WDT,保證操作期間不溢出

4 抗干擾

同時,為了抗干擾,防止誤操作,EEPROM編程可以參考如下例程:

uchar ssp_flag

voidEEPromSectorErase(UCHAR nAddrH)// 扇區(qū)擦除

{

ssp_flag= 0xA5;

_push_(IEN0);//中斷控制壓棧

IEN0&=0x7F;//關(guān)總中斷

FLASHCON = 0x01; //訪問EEPROM區(qū)

RSTSTAT = 0; //WDT

XPAGE= nAddrH<<1 ;???????????????????????? ?????????????????????????

IB_CON1 = 0xE6;

IB_CON2 = 0x05;

IB_CON3 = 0x0A;

IB_CON4 = 0x09;

if(ssp_flag!=0xA5)//增加flag判斷,增強(qiáng)抗干擾

goto Error;

IB_CON5 = 0x06;

_nop_();

_nop_();

_nop_();

_nop_();

Error:

ssp_flag= 0;

IB_CON1= 0x00;

IB_CON2= 0x00;

IB_CON3= 0x00;

IB_CON4= 0x00;

IB_CON5= 0x00;

FLASHCON= 0x00;//切回FLASH區(qū)

_pop_(IEN0);//恢復(fù)總中斷

}

voidEEPromByteProgram(UCHAR nAddrH,UCHAR nAddrL, UCHAR nData) // 扇區(qū)編程

{

ssp_flag= 0x5A;

_push_(IEN0); //中斷控制壓棧

IEN0&=0x7F;//關(guān)總中斷

FLASHCON= 0x01; //訪問EEPROM區(qū)

RSTSTAT = 0; //WDT

XPAGE= nAddrH;

IB_OFFSET= nAddrL;

IB_DATA= nData; // 燒寫內(nèi)容

IB_CON1 = 0x6E;

IB_CON2 = 0x05;

IB_CON3 = 0x0A;

IB_CON4 = 0x09;

if(ssp_flag!=0x5A) //增加flag判斷,增強(qiáng)抗干擾

goto Error;

IB_CON5 = 0x06;

_nop_();

_nop_();

_nop_();

_nop_();

Error:

ssp_flag= 0;

IB_CON1= 0x00;

IB_CON2= 0x00;

IB_CON3= 0x00;

IB_CON4= 0x00;

IB_CON5= 0x00;

FLASHCON= 0x00; //切回FLASH區(qū)

_pop_(IEN0); //恢復(fù)總中斷

原文標(biāo)題:中穎8位MCU EEPROM使用注意事項(xiàng)

文章出處:【微信公眾號:中穎電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅


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

    關(guān)注

    146

    文章

    16664

    瀏覽量

    347726
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3520

    瀏覽量

    93262
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1002

    瀏覽量

    81053
  • 中穎電子
    +關(guān)注

    關(guān)注

    4

    文章

    171

    瀏覽量

    7372

原文標(biāo)題:中穎8位MCU EEPROM使用注意事項(xiàng)

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

收藏 人收藏

    評論

    相關(guān)推薦

    AT25XXX系列EEPROM存儲器的驅(qū)動設(shè)計(jì)、實(shí)現(xiàn)及使用

    我們在前面開發(fā)過AT24CXX系列EEPROM存儲器,它使用的是I2C接口。不過有時候我們也會使用SPI接口的EEPROM存儲器。在這一篇我們將來討論AT25XXX系列
    發(fā)表于 12-07 16:51 ?4042次閱讀
    AT25XXX系列<b class='flag-5'>EEPROM</b><b class='flag-5'>存儲器</b>的驅(qū)動設(shè)計(jì)、實(shí)現(xiàn)及使用

    串行EEPROM存儲器及應(yīng)用

    串行EEPROM存儲器及應(yīng)用
    發(fā)表于 02-05 13:47

    EEPROM數(shù)據(jù)存儲器操作方式有哪幾種?

    AVR系列單片機(jī)有哪幾種存儲器?AVR系列單片機(jī)在程序如何訪問FLASH程序存儲器?EEPROM數(shù)據(jù)存儲器
    發(fā)表于 09-23 08:13

    什么是EEPROM存儲器?

    什么是EEPROM存儲器
    發(fā)表于 11-01 07:24

    非易失性存儲器Flash和EEPROM之間的差異與優(yōu)缺點(diǎn)

    和用于讀取,寫入和擦除數(shù)據(jù)的操作略有不同。而EEPROM指的是電可擦可編程只讀存儲器是一種存儲器,可以在字節(jié)級別讀取,寫入和擦除數(shù)據(jù)。另一方面Flash是
    發(fā)表于 04-07 16:42

    串行EEPROM存儲器及應(yīng)用

    串行EEPROM存儲器及應(yīng)用
    發(fā)表于 12-11 23:41 ?0次下載

    AT25512存儲器EEPROM代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是AT25512存儲器EEPROM代碼免費(fèi)下載,基于SPI通信的EEPROM存儲器數(shù)據(jù)代碼。
    發(fā)表于 10-09 08:00 ?27次下載
    AT25512<b class='flag-5'>存儲器</b><b class='flag-5'>EEPROM</b>代碼免費(fèi)下載

    EEPROM與Flash存儲器的區(qū)別

    在電子技術(shù)和計(jì)算機(jī)系統(tǒng),存儲器是不可或缺的組成部分,其類型和功能繁多。EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦除
    的頭像 發(fā)表于 05-23 16:35 ?3569次閱讀

    EEPROM存儲器:實(shí)現(xiàn)數(shù)據(jù)持久化存儲的關(guān)鍵組件

    在計(jì)算機(jī)系統(tǒng)存儲器是用于存儲數(shù)據(jù)和程序指令的關(guān)鍵部件。其中,EEPROM(電可擦除可編程只讀存儲器)作為一種非易失性
    的頭像 發(fā)表于 05-27 16:36 ?855次閱讀

    eeprom是指什么存儲器

    (Programmable Read-Only Memory,可編程只讀存儲器)相比,EEPROM的最大特點(diǎn)是可以通過電信號進(jìn)行擦寫操作,而不需要物理擦除。這使得EEPROM具有更高
    的頭像 發(fā)表于 08-05 16:53 ?777次閱讀

    eeprom存儲器為什么會重?zé)?/a>

    EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)是一種非易失性存儲器,可以在不移除芯片的情況下進(jìn)行
    的頭像 發(fā)表于 08-05 16:59 ?292次閱讀

    eeprom存儲原理、存儲結(jié)構(gòu)及讀寫操作

    EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)是一種非易失性存儲器,可以在不移除電源的情況下進(jìn)行讀寫
    的頭像 發(fā)表于 08-05 17:03 ?945次閱讀

    EEPROM存儲器可以擦除指定區(qū)域嗎?

    。與普通的ROM(Read-Only Memory,只讀存儲器)相比,EEPROM允許用戶在不移除芯片的情況下對存儲器進(jìn)行編程和擦除操作,因此具有很高的靈活性。
    的頭像 發(fā)表于 08-05 17:10 ?375次閱讀

    EEPROM存儲器每塊多少位?

    存儲器進(jìn)行擦除和編程。EEPROM具有數(shù)據(jù)保持時間長、讀寫速度快、可重復(fù)擦寫等優(yōu)點(diǎn),廣泛應(yīng)用于各種電子設(shè)備。 EEPROM存儲器每塊的位
    的頭像 發(fā)表于 08-05 17:14 ?362次閱讀

    EEPROM存儲器如何加密

    擦寫、可編程的特性,EEPROM在各種應(yīng)用場景得到了廣泛的應(yīng)用。然而,隨著技術(shù)的發(fā)展,數(shù)據(jù)安全問題日益突出,對EEPROM存儲器進(jìn)行加密的需求也越來越高。
    的頭像 發(fā)表于 08-05 18:05 ?867次閱讀