共2条
1/1 1 跳转至页
EPROM 请教大家一个有关EPROM的问题......
问
本人想用X25045进行掉电保护,想将掉电时单片机中的内容放入其EEPROM中,但不知是否要用到电源掉电检测电路?EEPROM中的内容在加电时可否进行实时更新,请高手指点迷津,谢了!
答 1:
当然要用到掉电检测了,不然怎么知道什么时候掉电了啊?
答 2:
RE:能不能实时的给EEPROM中指定地址单元中写数据,掉电时的数据就是最后一次所写的数据,这样就不会用掉电检测电路了,可否?
答 3:
能保证数据的完整性吗?还有EEPROM的寿命?
答 4:
RE:本人是使用X25045的新手,从其资料上看,掉电时,其产生一个复位信号,而这个复位信号是和单片机相接,单片机被复位,如何向X25045写入数据呢?请高手指教?
答 5:
如果你不怕EEPROM频繁写坏的话,那么做一个数据结构,前面是数据后面来一个校验。用两个区域轮流写,这样就可以保证至少有一个区域的数据还是正确的。
上电后进行数据校验,找到正确的数据。
不过既然这么麻烦,还不如做个掉电检测电路呢(如果是我的话)。 答 6: re:X25045掉电保护的方法,是当掉电时,发出一个中断信号,然后CPU把数据转入X25045中保存。看门狗CPU复位是把复位输出接至CPU的Reset端,才能复位。
问题是:X25045只有一个Reset复位端输出,把它接到CPU的Reset,那怎么实现掉电中要求的中断?把它接CPU中断,那它又怎么复位CPU?
答 7: 楼主理解有误 X25045的掉电检测复位电路是当检测到MCU的供电电压低到接近MCU可正常
工作的电压时,为了被免程序跑飞,强行输出复位信号使MCU复位,哪有时间去
处理数据的保护,楼主的意思是用此信号启动数据保护程序,但在MCU的电压降
低的过程中,谁能保证此时数据保护是否正确。
一般的掉电保护电路要加在为MCU供电的稳压电路之前,发现掉电时,立即
通知MCU保护数据,因电源电路有大的滤波电容,MCU的供电电压不会立即降低,
这样MCU有足够的时间在供电电压下降之前完成对数据的保护。
答 8: re:那么请问用什么信号来通知CPU保护数据呢?用检测电路吗?型号是什么?MAX961可以吗? 答 9: RE:使用X25045掉电时的复位信号的非可以进行中断保护吗?请高手指点迷津,谢了! 答 10: AWEY说的很好 一般的掉电保护电路要加在为MCU供电的稳压电路之前,发现掉电时,立即
通知MCU保护数据,因电源电路有大的滤波电容,MCU的供电电压不会立即降低,
这样MCU有足够的时间在供电电压下降之前完成对数据的保护 答 11: re:那么请问如何通知CPU中断保护呢,使用X25045掉电时的复位信号可以作为中断信号吗?请高手指点迷津,谢了! 答 12: 一个问题不用多次开帖,也不便于别人解答healthy6 发表于 2005-12-31 20:57 技术交流 ←返回版面
求教大家一个棘手的问题......
本人最近在做掉电保护的设计,用到X25045,其在低于4.5V时,输出一个复位信号,其工作电压为4.5v至5.5v,单片机使用的是AT89C52,不知道能否使用掉电时X25045输出的复位信号作为单片机中断保护的中断信号,掉电中断时,单片机能否向X25045的EEPROM中写入数据,不知哪位高手使用过,请指点迷津,在此谢了!本人实在是急呀!
答 13: 数据保护的前提就是“时间差”
从单片机复位和数据保护都是必须的,因为你不能确定当电源电压低于单片机要求的最低工作电压VMIN时,单片机会干些什么(除非你深入研究过所用单片机型号的内部原理)。但是数据备份必须在复位之前,所以复位电平VRST必须略低于数据备份提醒电平VLOW,也就是:VLOW > VRST > VMIN,VLOW = VRST+ε。这样看来,要做可靠的数据备份,必须有两个信号(提醒和复位),必须统一管理VLOW和VRST。
要实现VLOW > VRST > VMIN,一般有两种方法:一种是直接将单片机电源电压与VRST和VRST+ε做比较产生两个信号,某些专用的掉电保护监控芯片(如MAX793)就是这样的,一般ε大约是60mV;另一种是监控LDO的输入电压产生提前的提醒信号,这种方法提前量可能大得多,但是有时不太方便(取不到LDO输入电压)。
答 14: 哎,我发一个以前做过的一个电路上来给你参考一下吧
图中利用中断0来检测市电是否正常。注意程序上的一些注意,开机时要注意加一段时间的软件延迟,
然后才能开中断,否则可能因为掉电检测部分还未到达正常工作状态而导致误触发。另外进入掉电中断
处理完毕后,最好把单片机设置为掉电模式,防止单片机程序在低电压时跑飞。 答 15: 很简单的电路,不过C1极性反了,呵呵另外INT0对VCC也许该加个二极管
万一电源电压掉的比R15C1快(比如短路),能起到保护作用
或者干脆去掉D7,就用这个二极管代替,虽然INT0#电平比VCC高了大约0.7V,但串联R7(加大到1k)后肯定是安全的。稳压管离散性和漂移都太大 答 16: 呵呵,这个电路设计有蛮久了,连电容接反了都没看出来,我晕。当时设计就是想产生一个0-5V的电压。R7是随意加上去的,因为前面已经有1K电阻了,0.1uF的电容应该放电作用不大。 答 17: 那就把C4、R7都去掉得了:)另外R15*C1=10ms似乎也偏小,不要忘了电解电容误差是很大的,搞不好INT0#纹波还会很大
再把稳压管换成二极管,R15、R16就都可以加大,因为二极管漏电流比稳压管小得太多了,这样电解电容C1也可以换成独石,可靠性提高(前提是单片机上拉电流不要太大) 答 18: 恩,当时为了提高检测的灵敏度,所以就设得小了一点不过我用示波器观察过的,int0的波形还算比较平稳。电阻用那么小,就是为了内阻小一点,
这样后面的电路影响会小些。免得两头牵制,就麻烦了。
这个图仅供楼主参考,具体参数以及电路形式楼主可以根据需要改进:) 答 19: 还可以减化电路C7、C4、R7、R16不要,用一个二极管与INT相连。
如果Vcc的电流不大:
D2、D3也可以省一个,只用一个移到整流桥的+输出端。
低压检测电路接到整流桥的输出端
上电后进行数据校验,找到正确的数据。
不过既然这么麻烦,还不如做个掉电检测电路呢(如果是我的话)。 答 6: re:X25045掉电保护的方法,是当掉电时,发出一个中断信号,然后CPU把数据转入X25045中保存。看门狗CPU复位是把复位输出接至CPU的Reset端,才能复位。
问题是:X25045只有一个Reset复位端输出,把它接到CPU的Reset,那怎么实现掉电中要求的中断?把它接CPU中断,那它又怎么复位CPU?
答 7: 楼主理解有误 X25045的掉电检测复位电路是当检测到MCU的供电电压低到接近MCU可正常
工作的电压时,为了被免程序跑飞,强行输出复位信号使MCU复位,哪有时间去
处理数据的保护,楼主的意思是用此信号启动数据保护程序,但在MCU的电压降
低的过程中,谁能保证此时数据保护是否正确。
一般的掉电保护电路要加在为MCU供电的稳压电路之前,发现掉电时,立即
通知MCU保护数据,因电源电路有大的滤波电容,MCU的供电电压不会立即降低,
这样MCU有足够的时间在供电电压下降之前完成对数据的保护。
答 8: re:那么请问用什么信号来通知CPU保护数据呢?用检测电路吗?型号是什么?MAX961可以吗? 答 9: RE:使用X25045掉电时的复位信号的非可以进行中断保护吗?请高手指点迷津,谢了! 答 10: AWEY说的很好 一般的掉电保护电路要加在为MCU供电的稳压电路之前,发现掉电时,立即
通知MCU保护数据,因电源电路有大的滤波电容,MCU的供电电压不会立即降低,
这样MCU有足够的时间在供电电压下降之前完成对数据的保护 答 11: re:那么请问如何通知CPU中断保护呢,使用X25045掉电时的复位信号可以作为中断信号吗?请高手指点迷津,谢了! 答 12: 一个问题不用多次开帖,也不便于别人解答healthy6 发表于 2005-12-31 20:57 技术交流 ←返回版面
求教大家一个棘手的问题......
本人最近在做掉电保护的设计,用到X25045,其在低于4.5V时,输出一个复位信号,其工作电压为4.5v至5.5v,单片机使用的是AT89C52,不知道能否使用掉电时X25045输出的复位信号作为单片机中断保护的中断信号,掉电中断时,单片机能否向X25045的EEPROM中写入数据,不知哪位高手使用过,请指点迷津,在此谢了!本人实在是急呀!
答 13: 数据保护的前提就是“时间差”
从单片机复位和数据保护都是必须的,因为你不能确定当电源电压低于单片机要求的最低工作电压VMIN时,单片机会干些什么(除非你深入研究过所用单片机型号的内部原理)。但是数据备份必须在复位之前,所以复位电平VRST必须略低于数据备份提醒电平VLOW,也就是:VLOW > VRST > VMIN,VLOW = VRST+ε。这样看来,要做可靠的数据备份,必须有两个信号(提醒和复位),必须统一管理VLOW和VRST。
要实现VLOW > VRST > VMIN,一般有两种方法:一种是直接将单片机电源电压与VRST和VRST+ε做比较产生两个信号,某些专用的掉电保护监控芯片(如MAX793)就是这样的,一般ε大约是60mV;另一种是监控LDO的输入电压产生提前的提醒信号,这种方法提前量可能大得多,但是有时不太方便(取不到LDO输入电压)。
答 14: 哎,我发一个以前做过的一个电路上来给你参考一下吧
图中利用中断0来检测市电是否正常。注意程序上的一些注意,开机时要注意加一段时间的软件延迟,
然后才能开中断,否则可能因为掉电检测部分还未到达正常工作状态而导致误触发。另外进入掉电中断
处理完毕后,最好把单片机设置为掉电模式,防止单片机程序在低电压时跑飞。 答 15: 很简单的电路,不过C1极性反了,呵呵另外INT0对VCC也许该加个二极管
万一电源电压掉的比R15C1快(比如短路),能起到保护作用
或者干脆去掉D7,就用这个二极管代替,虽然INT0#电平比VCC高了大约0.7V,但串联R7(加大到1k)后肯定是安全的。稳压管离散性和漂移都太大 答 16: 呵呵,这个电路设计有蛮久了,连电容接反了都没看出来,我晕。当时设计就是想产生一个0-5V的电压。R7是随意加上去的,因为前面已经有1K电阻了,0.1uF的电容应该放电作用不大。 答 17: 那就把C4、R7都去掉得了:)另外R15*C1=10ms似乎也偏小,不要忘了电解电容误差是很大的,搞不好INT0#纹波还会很大
再把稳压管换成二极管,R15、R16就都可以加大,因为二极管漏电流比稳压管小得太多了,这样电解电容C1也可以换成独石,可靠性提高(前提是单片机上拉电流不要太大) 答 18: 恩,当时为了提高检测的灵敏度,所以就设得小了一点不过我用示波器观察过的,int0的波形还算比较平稳。电阻用那么小,就是为了内阻小一点,
这样后面的电路影响会小些。免得两头牵制,就麻烦了。
这个图仅供楼主参考,具体参数以及电路形式楼主可以根据需要改进:) 答 19: 还可以减化电路C7、C4、R7、R16不要,用一个二极管与INT相连。
如果Vcc的电流不大:
D2、D3也可以省一个,只用一个移到整流桥的+输出端。
低压检测电路接到整流桥的输出端
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |