我想在掉电时保存数据(3 个字节)到 EEPROM 中,用 BOD 掉电检测,不知怎样使用。望高手指点: 1. 在 BOOT 区设置好 BODEN,BODLEVEL,后软件还要怎样设置? 2. 掉电中断是否是产生复位?我的写 EEPROM 程序应该放在什么地方?他和其他复位怎样区别? 3. 设置了 BOOT 区后,硬件上是否要加电源到一个管脚比较后才产生中断?掉电检测 BOD 的误解 AVR 自带的 BOD(Brown-out Detection)电路,作用是在电压过低(低于设定值)时产生复位信号,防止 CPU 意外动作 。 对 EEPROM 的保护作用是当电压过低时保持 RESET 信号为低,防止 CPU 意外动作,错误修改了 EEPROM 的内容而我们所理解的掉电检测功能是指 具有预测功能的可以进行软件处理的功能。例如,用户想在电源掉电时把 SRAM 数据转存到 EEPROM,可行的方法是外接一个在 4.5V 翻转的电压比较器 (VCC=5.0V,BOD=2.7V),输出接到外部中断引脚(或其他中断),一但电压低于 4.5V,马上触发中断,在中断服务程序中把数据写到 EEPROM 中保护起来。注意: 写一个字节的 EEPROM 时间长达 8mS,所以不能写入太多数据,电源滤波电容也要选大一些。将 AVR 的 BOD 设为 2.7V,从 4.5v 到 2.7 这段时间写 EEPROM。掉电检测使用 IMP809。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !