[产品新知] EEPROM使用注意事项

[复制链接]
查看1773 | 回复25 | 2022-3-22 09:23:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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区域或信息存储区。
A7HBank0
7
6
5
4
3
2
1
0
FLASHCON
-
-
-
-
-
-
FAC
/
-
-
-
-
-
-
/
/
复位值
(POR/WDT/LVR/PIN)
-
-
-
-
-
-
0
0

位编号
位符号
说明
7-1
-

保留位
0
FAC

访问控制
0MOVC指令或者SSP功能访问Main Block区域
1MOVC指令或者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); //恢复总中断
回复

使用道具 举报

sth834596969 | 2022-3-22 09:52:16 | 显示全部楼层
回复

使用道具 举报

1280486281 | 2022-3-22 10:43:03 | 显示全部楼层
回复

使用道具 举报

lfc | 2022-3-22 11:05:41 | 显示全部楼层
回复

使用道具 举报

yuqi5200 | 2022-3-22 12:02:22 | 显示全部楼层
回复

使用道具 举报

leslie_aqiang | 2022-3-22 12:46:01 | 显示全部楼层
回复

使用道具 举报

shakencity | 2022-3-22 19:26:41 | 显示全部楼层
回复

使用道具 举报

shakencity | 2022-3-22 19:26:56 | 显示全部楼层
回复

使用道具 举报

shakencity | 2022-3-22 19:27:03 | 显示全部楼层
回复

使用道具 举报

| 2022-3-22 20:01:13 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1202

主题

247

回帖

2115

积分

二级逆天

积分
2115

终身成就奖特殊贡献奖