【经验分享】KE02掉电存整个EEPROM问题讲解
一,问题描述最近有客户遇到EEPOM掉电存储的问题,描述如下:
芯片:MKE02Z64VQH2,
供电:5V供电,并在电源端加470uF的电解电容,延长掉电时间
目标功能:为节约EEPROM寿命,避免程序正常运行时保存所需数据,在掉电中断中保存KE02整个256字节的EEPROM数据。
所遇问题:发现每次断电,再上电读取EEPROM的数据,只能保存二十几个数据。
0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,
0xa,0xb,0xc,0xd,0xe,0xf,0x10,0x11,0x12,0x13,
0x14,0x15,0x16,0x17,0x18,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,
PMC的配置情况如下:
void PMC_Configure(void)
{
PMC_SPMSC1 |= PMC_SPMSC1_LVWACK_MASK; //Clear LVWIE before enable LVWIE
PMC_SPMSC1 &= ~PMC_SPMSC1_LVDRE_MASK;//LVD events do not generate hardware resets
PMC_SPMSC2 |= (PMC_SPMSC2_LVDV_MASK); //high trip point is selected VLVD=VLVDH
PMC_SPMSC1 |= (PMC_SPMSC1_LVWIE_MASK); // ENABLE LVW interrupt
PMC_SPMSC1 |= (PMC_SPMSC1_LVDE_MASK); // LVD logic is enabled
enable_irq(6); // enable PMC interrupt, for eeprom data saving
}
按照这样的配置,4.4V开始通知MCU掉电保存EEPROM,为何不能准确保存呢?是否掉电时间太短?还是EERPOM存储执行代码时间太长超出掉电保存时间,还是配置有问题?
具体检查EEPOM执行代码时间,掉电时间情况,以及最后发现根本问题并修改成功的详细情况请查看附件文档。
详情文档:
不足之处,欢迎指正。
同时也欢迎大家分享自己的经验! 感谢分享,这个方案很好 感谢分享 调试方法值得学习 很好的经验分享,背后的艰辛看不到但知道 好资料,谢谢版主共享!收藏了 很好的经验分享 原来配置PMC的问题,
谢谢
象类似这样的好经验, 最好搞个汇总 mcucow 发表于 2015-2-15 11:21
原来配置PMC的问题,
谢谢
有汇总贴的,我们写的经验分享都归类在置顶帖:
飞思卡尔Kinetis资料大本营
下面的:
飞思卡尔论坛支持小组【经验分享】帖汇总
下次可以直接到置顶帖中找。 谢谢分享 感谢分享~ 学习了,谢谢
如果存储时间大于掉电时间,是否应该增大电容容量?新手在此学到宝贵的经验 二十几个字节应该够用了。不知道加大电容能不能存储更多,法拉电容是不是更好? 谢谢 好的经验 分享{:sad:}{:sad:}{:sad:} 额,刚进来没看懂,下了pdf才发现是调试经验啊 不错的经验、值得学习 谢谢分享。 谢谢分享~~~ 不错的经验、值得学习 学习{:handshake:} 谢谢分享,学习了。
不错的经验、值得学习 看看,谢谢楼主分享
页:
[1]