微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 如果板子上挂了一块sd卡,系统如果掉电了,如何保证sd卡不损坏

如果板子上挂了一块sd卡,系统如果掉电了,如何保证sd卡不损坏

时间:12-12 整理:3721RD 点击:
mcu+tf卡+fat文件系统。
如果板子上面有sd 卡,系统如果掉电了,怎么保证sd卡不被损坏?
也就是保证想要写入sd卡的数据的正确性。

写入过程中断电?
把这一部分的供电分割出来,加大电容,再不行上超级电容,再不行上电池
然后MCU加上掉电检测,如果掉电,优先完成现有写入操作

SD卡自身的损坏,应该是电源部分设计不合理,或者静电保护不够。
这种情况应该很少的。
数据的损坏,按楼上说的加大电容然后 MCU加上掉电检测,在完全没电前
完成该完成的工作。

硬件不可能导致损坏,除非电路设计的特别的烂。
软件基本就是你说的这种了,另外如果不怕丢数据的话用EXT4然后开机fsck一下应该也
就够了,电容也用不到。

整个电路只有 “mcu” + “IIC接口加速度传感器” + ”spi flash” + “12-5V芯片” + “3个led灯”。
这样的电路怎么用大电容来保证掉电之后优先将数据写到spi flash中,用多大的电容?如何将mcu和flash从整个电路中分割出来?

系统输入为12V。
整个电路只有 “mcu” + “IIC接口加速度传感器” + ”spi flash” + “12-5V芯片” + “3个led灯”。
问题:
1:用多大的电容?
2:如何将mcu和flash从整个电路中分割出来?

串联一个低压差的肖特基二极管

算一下mcu+sd卡总共耗电多少
LED什么的可以除外
然后算一下掉电之后需要维持多久,mcu供电电压降到多少就停止工作,根据这个算电容的容量
够详细了么?

有一种金质电容,容量大,缓释

之前做过一个板子
arm7+sd卡+fat+128*64led
需要掉电瞬间保存数据
方法是,电源硬狗,电压低于某值中断
mcu收到中断,关led,保存数据退出。
用的法拉电容,效果不错。

是不是电源用错了,确定存储器是兼容5V?不应该坏掉啊
如果只是数据错误,在保存数据的结构上多花点功夫。
即使做了掉电检测也得验证数据正确性。

是保存什么数据呢?

本身在实时保存接收串行过来的数据
需要在掉电时将之前收到的数据保存
同时记录掉电时间

这东西做细真是考虑不少东西,如果正在保存数据来中断,还得加判断。
如果在中断中保存数据,再来掉电中断还得考虑优先级和目前写flash的状态
是不是有这些极端情况?我很少增加这些软件成本和测试bug成本
基本上就是判断保存的数据是否有效。懒啊

反正就是大概估一下最坏情况下总共需要多少毫秒的延迟供电时间,然后按这个数的八倍、十倍余量选个大电容,差不多了~

非常感谢提供思路!
你说的电源硬狗,是用什么芯片实现的?还是用自己搭的硬件电路?
如果是硬件电路的话,我的想法是用:比较器+电阻分压。
比较器端输入一端为法拉电容之前经过分压的电源输入电压,另一段为法拉电容之后经过电阻分压的电压。

大神,有何高见?

这个二极管的作用是?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top