[求助] STM32的SRAM电压低于多少数据会清零

程序会不会   2018-5-2 13:58 楼主
用STM32F101RC的PVD(阀值2.9V)掉电检测功能来保存一些数据进24C16中!
现象是这样的:
当我不停的给电路上下电,大部分时间存入数据是没有问题的,但是偶尔会出现存入数据全为0的现象,一开始我分析是电源电压跌落太快,导致EEPROM擦写时间不够引起的错误,我用示波器观察电压跌落情况,发现电压从(2.9--2.0V)大概有25MS的时间,时间足够擦写EEPROM了!排除时间问题!然后自然而然就想到数据本身的问题,我又做了如下实验
本来我的数据都是变量形式的例如:
cunchu[0]=LeiJiZhongLiang[DangQianPeiFang];//àÛ¼ÆÖØá¿
Write_24c16(0xA4,0x0C,0,cunchu);
delay(10000);、//3MS

后来我改成定值方式存储:
cunchu[0]=0x01;//àÛ¼ÆÖØá¿
Write_24c16(0xA4,0x0C,0,cunchu);
delay(10000);//3ms

发现用定值存储数据不会发生错误!所以我怀疑是在进入PVD中断里面的时候,由于电压跌落导致SRAM中的数据都清成0,除了加大电容还有什么办法没?SRAM保持电压不能低于多少?

回复评论 (3)

补充一点:原因就是要存入变量都变为了0
点赞  2018-5-2 14:18
你这个最好是用备份寄存器,低压操作flash很不可靠,
备份寄存器就是专门干这个的.
点赞  2018-5-2 15:13
问题的关键不是SRAM,而是在于MCU中相关逻辑控制电路。随着供电电压的降低,在SRAM内容归零前就会出现数据的不可靠,所以需要其它电路的介入,其结果就是早在SRAM内容归零前,MCU就早已无法正常工作了,所以知道归零电压也无意义。一切以器件手册为准,手册所载额定工作电压的上下门限均决不可越过。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2018-5-3 11:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复