0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中颖EEPROM存储器的操作原则

中颖电子 来源:中颖电子 作者:中颖电子 2022-03-20 14:37 次阅读

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); //恢复总中断

原文标题:中颖8位MCU EEPROM使用注意事项

文章出处:【微信公众号:中颖电子】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16013

    浏览量

    343572
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92381
  • EEPROM
    +关注

    关注

    9

    文章

    926

    浏览量

    80308
  • 中颖电子
    +关注

    关注

    4

    文章

    169

    浏览量

    7220

原文标题:中颖8位MCU EEPROM使用注意事项

文章出处:【微信号:SINO_25181447,微信公众号:中颖电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AT25XXX系列EEPROM存储器的驱动设计、实现及使用

    我们在前面开发过AT24CXX系列EEPROM存储器,它使用的是I2C接口。不过有时候我们也会使用SPI接口的EEPROM存储器。在这一篇我们将来讨论AT25XXX系列
    发表于 12-07 16:51 3122次阅读
    AT25XXX系列<b class='flag-5'>EEPROM</b><b class='flag-5'>存储器</b>的驱动设计、实现及使用

    串行EEPROM存储器及应用

    串行EEPROM存储器及应用
    发表于 02-05 13:47

    SPI 总线对应的存储器操作

    有效、连续传送多字节的数据,可以一次最多进行 64 字节(1 页大小)的数据替换。状态寄存的读/写操作除了不必赋予地址外,其他与存储器的读/写操作相同。当状态寄存
    发表于 04-18 10:34

    单片机EEPROM的作用

    本上停产了。 在芯片的内电路,FLASH和EEPROM不仅电路不同,地址空间也不同,操作方法和指令自然也不同,不论冯诺伊曼结构还是哈佛结构都是这样。技术上,程序存储器和非易失数据
    发表于 11-28 10:25

    如何识别哪些地址用于我的EEPROM存储器

    IAM即将完成PSOC3(我的第一个主要项目)的创建者项目,并希望在发布之前使用一些闪存保护。在TRM或某个地方,闪存保护不能用于保存SPC数据(如EEPROM存储器)的字节。我的问题是:如何识别
    发表于 06-18 09:14

    RTOS的存储器选择

    当系统运行了一个嵌入式实时操作系统时(RTOS),操作系统通常都是使用非易失的存储器来运行软件以及采集数据。存储器的选择面很广阔,其中包括电池供电的SRAM(静态随机访问储存
    发表于 06-28 08:29

    可以使用M24SR EEPROM存储器存储通用数据和NFC数据

    我可以使用M24SR EEPROM存储器存储通用数据和NFC数据吗? EEPROM是否有用于存储
    发表于 07-30 14:25

    请问什么是ATtiny2313 EEPROM数据存储器

    ATtiny2313 EEPROM数据存储器是什么
    发表于 11-11 06:20

    EEPROM数据存储器操作方式有哪几种?

    AVR系列单片机有哪几种存储器?AVR系列单片机在程序如何访问FLASH程序存储器EEPROM数据存储器
    发表于 09-23 08:13

    什么是EEPROM存储器

    什么是EEPROM存储器
    发表于 11-01 07:24

    PIC的程序存储器EEPROM的区别在哪

    PIC的程序存储器是FLASH存储器,主要存储程序代码,掉电不丢失。数据存储器是SRAM,主要存储一些程序的变量,掉电丢失。
    发表于 11-24 08:12

    基于Arduino设计EEPROM外部存储器

    描述用 Arduino 设计我自己的 EEPROM 外部存储器 PROGRAMMER / RECORDER | 24LC256读/写
    发表于 07-26 06:59

    非易失性存储器Flash和EEPROM之间的差异与优缺点

    和用于读取,写入和擦除数据的操作略有不同。而EEPROM指的是电可擦可编程只读存储器是一种存储器,可以在字节级别读取,写入和擦除数据。另一方面Flash是
    发表于 04-07 16:42

    串行EEPROM存储器及应用

    串行EEPROM存储器及应用
    发表于 12-11 23:41 0次下载

    杰盛微 EEPROM存储器 数据手册

    EEPROM存储器SOP-82KB1MHz
    发表于 08-19 15:54 3次下载