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

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

3天内不再提示

中8位MCU EEPROM使用注意事项

jf_pJlTbmA9 来源:中颖电子(作者:丁晓明 作者:中颖电子(作者: 2023-09-27 15:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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区域或信息存储区。

wKgaomUDzpaAVoYDAABuGG3HP_0312.png

wKgZomUDzpiASIhAAAB72BROvAM438.png

3、操作EEPROM前,清WDT

在对EEPROM的操作前,清WDT,保证操作期间不溢出

4、抗干扰

同时,为了抗干扰,防止误操作,EEPROM编程可以参考如下例程:

ucharssp_flag;
voidEEPromSectorErase(UCHARnAddrH)//扇区擦除
{
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); //恢复总中断

来源:中颖电子(作者:丁晓明)

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

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

    关注

    147

    文章

    19107

    浏览量

    403210
  • EEPROM
    +关注

    关注

    9

    文章

    1146

    浏览量

    86322
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析Renesas E1/E20模拟器:功能、使用与注意事项

    模拟器,深入了解其功能、使用方法以及使用过程注意事项。 文件下载: R5F2138CSNFP#30.pdf 1. 模拟器概述 Renesas E1/E20模拟器主要用于R8C系列MCU
    的头像 发表于 04-13 15:30 139次阅读

    请问CW32F030的硬件注意事项有哪些?

    CW32F030的硬件注意事项有哪些
    发表于 12-25 08:20

    请问IAP功能升级流程中有哪些注意事项

    IAP 功能升级流程中有哪些注意事项
    发表于 12-23 07:55

    BNC转接头接线注意事项

    本文从工程角度总结BNC转接头接线过程的关键注意事项,涵盖阻抗匹配、接线规范、工艺选择及检测要点,帮助用户避免常见接线问题。
    的头像 发表于 12-19 14:04 564次阅读
    BNC转接头接线<b class='flag-5'>注意事项</b>

    CW32时钟运行失效检测的流程是什么?CW32时钟运行失效检测注意事项有哪些呢?

    CW32时钟运行失效检测的流程是什么?CW32时钟运行失效检测注意事项有哪些?
    发表于 12-10 07:22

    驱动板PCB布线的注意事项

    PCB Layout 注意事项 1)布局注意事项: ●● 整体布局遵循功率回路与小信号控制回路分开布局原则,功率部分和控制部分的 GND 分开回流到输入 GND。 ●● 芯片的放置方向优先考虑驱动
    发表于 12-02 07:40

    芯源的MCU使用电池过程中有哪些注意事项

    目前大多数MCU都是用电池进行供电,芯源的MCU使用电池过程中有哪些注意事项?应该如何设计电池供电呢?
    发表于 11-20 07:24

    CW32R031射频板LAYOUT注意事项有哪些?

    CW32R031射频板LAYOUT注意事项有哪些?目前433MHz发射时单片机偶尔死机,天线距离MCU只有2cm,需要做特别隔离吗?
    发表于 11-19 08:09

    CW32F030在使用注意事项有哪些?

    CW32F030在使用注意事项有哪些?
    发表于 11-18 06:20

    极海APM32E030 MCU中高速时钟的配置和相关注意事项

    每一家MCU厂家的SDK写法和寄存器功能都有所不同,如果不熟悉的话就会配置错误,导致MCU运行不稳定。接下来就以APM32E030的手册和SDK,解读下高速时钟的配置和相关注意事项
    的头像 发表于 11-04 09:19 4846次阅读
    极海APM32E030 <b class='flag-5'>MCU</b>中高速时钟的配置和相关<b class='flag-5'>注意事项</b>

    emWin AppWizard 开发注意事项有哪些?

    emWin AppWizard 开发注意事项
    发表于 09-04 06:18

    别让这些细节毁了PCBA!焊接注意事项清单

    一站式PCBA加工厂家今天为大家讲讲PCBA加工电子元器件焊接注意事项有哪些?PCBA加工电子元器件焊接注意事项。 电子元器件焊接关键注意事项
    的头像 发表于 07-23 09:26 1456次阅读

    智多晶PLL使用注意事项

    在FPGA设计,PLL(锁相环)模块作为核心时钟管理单元,通过灵活的倍频、分频和相位调整功能,为系统提供多路高精度时钟信号。它不仅解决了时序同步问题,还能有效消除时钟偏移,提升系统稳定性。本文将深入探讨智多晶PLL在实际应用的关键
    的头像 发表于 06-13 16:37 1747次阅读
    智多晶PLL使用<b class='flag-5'>注意事项</b>

    美国Odyssey奥德赛电池充电注意事项全解析

    Odyssey奥德赛电池充电注意事项全解析 奥德赛电池作为高性能的深循环铅酸电池,广泛应用于汽车启动、摩托车、船舶以及备用电源系统。正确的充电方法不仅能够延长电池寿命,还能保障其性能稳定发挥
    的头像 发表于 05-19 16:31 1263次阅读
    美国Odyssey奥德赛电池充电<b class='flag-5'>注意事项</b>全解析

    IGBT器件的防静电注意事项

    IGBT作为功率半导体器件,对静电极为敏感。我将从其静电敏感性原理入手,详细阐述使用过程防静电的具体注意事项与防护措施,确保其安全稳定运行。
    的头像 发表于 05-15 14:55 2128次阅读