EEPROM(Electrically Erasable Programmable readonly memory)是指帶電可編程只讀存儲器。是一種掉電后數據不丟失的存儲芯片。
中穎Flash型MCU都集成有EEPROM,EEPROM用來存放用戶數據。EEROM大小可以通過option(代碼選項)選擇0~4K不等。EEPROM按照扇區進行劃分,每個扇區的大小512字節(較早的產品,每個扇區大小256字節),最多支持8個扇區。
中穎的EEPROM編程/擦除次數:至少100000次
中穎的EEPROM數據保存年限:至少10年
中穎EEPROM的操作原則:
1 必須關閉所有中斷
如果在操作EEPROM期間,不關閉中斷,可能會導致程序跑飛或者其它異常情況;中穎MCU要求對于EEPROM的擦除和編程,需要按照規定關閉所有中斷(EA=0),等到編程完成后再打開中斷。
2 如何訪問EEPROM
中穎芯片對于EEPROM的讀、擦和寫都是通過寄存器FLASHCON的FAC位置1來操作。當FAC=0時,MOVC指令或者SSP功能訪問Main Block區域;當FAC=1時,MOVC指令或者SSP功能訪問類EEPROM區域或信息存儲區。
A7H,Bank0 |
第7位 |
第6位 |
第5位 |
第4位 |
第3位 |
第2位 |
第1位 |
第0位 |
FLASHCON |
- |
- |
- |
- |
- |
- |
FAC |
|
讀/寫 |
- |
- |
- |
- |
- |
- |
讀/寫 |
讀/寫 |
復位值 (POR/WDT/LVR/PIN) |
- |
- |
- |
- |
- |
- |
0 |
0 |
位編號 |
位符號 |
說明 |
7-1 |
- |
保留位 |
0 |
FAC |
訪問控制 0:MOVC指令或者SSP功能訪問Main Block區域 1:MOVC指令或者SSP功能訪問類EEPROM區域或信息存儲區 |
3 操作EEPROM前,清WDT
在對EEPROM的操作前,清WDT,保證操作期間不溢出
4 抗干擾
同時,為了抗干擾,防止誤操作,EEPROM編程可以參考如下例程:
uchar ssp_flag;
voidEEPromSectorErase(UCHAR nAddrH)// 扇區擦除
{
ssp_flag= 0xA5;
_push_(IEN0);//中斷控制壓棧
IEN0&=0x7F;//關總中斷
FLASHCON = 0x01; //訪問EEPROM區
RSTSTAT = 0; //清WDT
XPAGE= nAddrH<<1 ;???????????????????????? ?????????????????????????
IB_CON1 = 0xE6;
IB_CON2 = 0x05;
IB_CON3 = 0x0A;
IB_CON4 = 0x09;
if(ssp_flag!=0xA5)//增加flag判斷,增強抗干擾
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區
_pop_(IEN0);//恢復總中斷
}
voidEEPromByteProgram(UCHAR nAddrH,UCHAR nAddrL, UCHAR nData) // 扇區編程
{
ssp_flag= 0x5A;
_push_(IEN0); //中斷控制壓棧
IEN0&=0x7F;//關總中斷
FLASHCON= 0x01; //訪問EEPROM區
RSTSTAT = 0; //清WDT
XPAGE= nAddrH;
IB_OFFSET= nAddrL;
IB_DATA= nData; // 燒寫內容
IB_CON1 = 0x6E;
IB_CON2 = 0x05;
IB_CON3 = 0x0A;
IB_CON4 = 0x09;
if(ssp_flag!=0x5A) //增加flag判斷,增強抗干擾
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區
_pop_(IEN0); //恢復總中斷
原文標題:中穎8位MCU EEPROM使用注意事項
文章出處:【微信公眾號:中穎電子】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17123瀏覽量
350991 -
編程
+關注
關注
88文章
3614瀏覽量
93686 -
EEPROM
+關注
關注
9文章
1019瀏覽量
81560 -
中穎電子
+關注
關注
4文章
174瀏覽量
7434
原文標題:中穎8位MCU EEPROM使用注意事項
文章出處:【微信號:SINO_25181447,微信公眾號:中穎電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論