硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3998|回复: 15
收起左侧

[有问必答] 求助大家STM32的掉电中断来用24C02保存数据时间来不及

[复制链接]

10

主题

39

回帖

69

积分

初级会员

积分
69
发表于 2018-12-23 21:58:03 | 显示全部楼层 |阅读模式
我使用STM32的掉电中断来用24C02保存数据,可是这个只能保存一个,时间太短了,按照论坛里地帖子在开发板的 GND 和 VCC 之间加了一个470UF的电容,加上后居然都进不了中断了,不知道是什么原因?有哪位朋友能看下嘛?万分感谢!
0001.jpg
002.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2018-12-24 01:37:49 | 显示全部楼层
保存到备份RAM里面靠谱。
回复

使用道具 举报

2

主题

70

回帖

76

积分

初级会员

积分
76
发表于 2018-12-24 10:04:58 | 显示全部楼层
eric2013 发表于 2018-12-24 01:37
保存到备份RAM里面靠谱。

看下说明,备份RAM需要电池,而且空间也小。如果数据多的话怎么处理比如1K这样子
回复

使用道具 举报

36

主题

2040

回帖

2148

积分

至尊会员

积分
2148
发表于 2018-12-24 10:46:08 | 显示全部楼层
sup999 发表于 2018-12-24 10:04
看下说明,备份RAM需要电池,而且空间也小。如果数据多的话怎么处理比如1K这样子

F1只有几个备份寄存器,而F4系列有4KB的备份RAM
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

10

主题

39

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2018-12-24 13:41:49 | 显示全部楼层
eric2013 发表于 2018-12-24 01:37
保存到备份RAM里面靠谱。

对啊,没有电池的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2018-12-24 15:16:39 | 显示全部楼层
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2018-12-25 10:17:33 | 显示全部楼层
如果不想大动原来的设计,可以用法拉电容,也就是超级电容。应该足够你写完
回复

使用道具 举报

10

主题

39

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2018-12-25 12:25:39 | 显示全部楼层
caicaptain2 发表于 2018-12-25 10:17
如果不想大动原来的设计,可以用法拉电容,也就是超级电容。应该足够你写完

我在板子的 VCC 和GND 之间 加了个470uf的电容,没有效果
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2018-12-25 14:04:56 | 显示全部楼层
1. EEPROM操作消耗的时间会比较多,如果对成本没要求,可以使用FRAM,如果成本有要求,就加大供电电容
2. 检查一下除了MCU和EEPROM,有没有电路其他部分在工作,导致电容的电量消耗过快
3. 掉电检测不一定非要用MCU内部的掉电检测,普通的外部中断或者AD检测都可以。给你提供一个方案如下:

新建 Microsoft Visio Drawing.png

掉电检测检测的是5V的电压,一般5V掉的比3.3V更快,这样当你的3.3V还是满的,MCU已经开始掉电保存了。另外一个更好的办法,就是检测你产品供电的掉电检测。比如供电是24V输入,那你检测24V掉电,比如掉电到16V时,MCU就可以开始工作了,这样能工作的时间更长,反应也更快。

回复

使用道具 举报

10

主题

39

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2018-12-25 16:42:52 | 显示全部楼层
ghslfgkkl88 发表于 2018-12-25 14:04
1. EEPROM操作消耗的时间会比较多,如果对成本没要求,可以使用FRAM,如果成本有要求,就加大供电电容
2.  ...

万分感谢!我还有两个问题想请教下
1、我在开发板上的vcc和gnd之间加了470uf的电容,但是并没有什么效果,时间并没有延长。我打算换成超级
   电容试试,但是不知道这样做超级电容会不会对开发板有危害?
2、你说的 检测产品的掉电检测,是采用ADC的吗?我试想能不能使用 在供电的电路上直接降压成3.3V,掉电后直接产生外部中断,在外部中断函数里执行储存函数;或者在供电的电路上使用光耦来产生外部中断,不知道这两个中断产生方式哪个更好一点?
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2018-12-25 19:59:32 | 显示全部楼层
wx_UcY3CH1i 发表于 2018-12-25 16:42
万分感谢!我还有两个问题想请教下
1、我在开发板上的vcc和gnd之间加了470uf的电容,但是并没 ...

1. 我看了一下STM32F103的手册,低于2V时MCU就不工作了,而可编程的掉电检测中断电压,在2.66V~2.9V,运气不好碰到低于2.66V才中断,就只有0.66V的容忍范围,也就是说,你需要在2.66V掉到2V这段时间内存储完。而且EEPROM真的很耗时间(几个ms级别),还耗电(mA级别)
2.超级电容对开发板应该是没什么危害的
3.如果你的供电是隔离的,那用光耦产生外部中断当然更好。至于采用ADC还是外部中断来做掉电检测,哪个方便用哪个。另外还需要注意,检测供电掉电检测,要防止电源浪涌带来的干扰。还在在供电的大容量滤波电容之前加个二极管,然后把掉电电路放大二极管之前,防止电源的大容易电容倒灌到掉电检测电路。
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2018-12-25 20:13:20 | 显示全部楼层
wx_UcY3CH1i 发表于 2018-12-25 16:42
万分感谢!我还有两个问题想请教下
1、我在开发板上的vcc和gnd之间加了470uf的电容,但是并没 ...

突然想起了一个事,大容量电容好像不能加到LDO之后,应该加到LDO之前。像下面这样:
2.png

有多级LDO的,大电容要放到第一级LDO。你测试一下这样的效果
回复

使用道具 举报

10

主题

39

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2018-12-26 13:37:00 | 显示全部楼层
ghslfgkkl88 发表于 2018-12-25 20:13
突然想起了一个事,大容量电容好像不能加到LDO之后,应该加到LDO之前。像下面这样:

好的,我试试
我在网上找到了一个使用超级电容给单片机掉电供电的例子,你看下http://www.elecfans.com/yuanqijian/dianrongqi/20171214603301.html
这个电路有什么问题没?
还有,供电是隔离的是什么意思?我是采用12V蓄电池分成两路,一路给降压给单片机,一路给设备。
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2018-12-26 19:12:13 | 显示全部楼层
wx_UcY3CH1i 发表于 2018-12-26 13:37
好的,我试试
我在网上找到了一个使用超级电容给单片机掉电供电的例子,你看下http://www.elecfans.com/ ...

就是用变压器隔离了的电源
回复

使用道具 举报

10

主题

39

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2018-12-26 19:43:32 | 显示全部楼层
ghslfgkkl88 发表于 2018-12-26 19:12
就是用变压器隔离了的电源

哦哦,那我这个应该是隔离了的
回复

使用道具 举报

10

主题

39

回帖

69

积分

初级会员

积分
69
 楼主| 发表于 2018-12-26 21:17:22 | 显示全部楼层
ghslfgkkl88 发表于 2018-12-26 19:12
就是用变压器隔离了的电源

我直接在 USB 输出5v的线上的正负极之间加了 470uf 的电解电容,依然没有效果
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 06:41 , Processed in 0.216837 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表