我想在掉电时保存数据(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。

参考电路如下:

在图中,外部 9V 电源通过 7805 稳压到 5V,作为系统电源使用。而 AVR 的工作电源则是单独提供的,由 5v 系统电源通过低压差肖特基二极管 1N5817 后得到。IN5817 的正向压降为 0.3v,因此,AVR 的工作电压为 4.7v。电源监控芯片 IMP809-L 的监控电压为 4.63V,当系统电源的电压低于 4.63V 时,在 R 脚上产生由高电平到低电平的变化,使 AVR 进入 INT0 中断。

该电路的工作原理为:首先通过配置 AVR 的熔丝位,设置 BOD 掉电检测电压门限为 2.7V,并允许 BOD 检测。因此,当 AVR 的 Vcc 电压掉到 2.7v 以下时,AVR 就停止工作(掉电检测功能是 AVR 片内的功能之一,见第二章的 2.6.2 AVR 的复位源和复位方式)。电源监控芯片 IMP809-L 检测电压门限为 4.63v,用于检测系统电源的电压。当系统电源大于 4.63v 时,IMP809-L 的 R 端输出高电平,整个系统正常工作。当系统电源的电压跌到 4.63v 以下时,IMP809-L 的 R 脚输出低电平,作为 AVR 外部中断 INT0 的申请。INT0 设计为掉电处理中断,其主要任务是备份系统运行的重要数据到 EEPROM 中。

在提供 AVR 工作的电源系统中,大容量的电解电容C4 作为储能电容,一旦系统电源电压下降,二极管 1N5817 截止,此时 AVR 可以靠 C4 提供的电储可以继续工作一段时间。C4 容量应足够大,在系统电源掉电过程中,IMP809-L 的 R 端输出低电平(下降到 4.63v)时,要能够保证维持 AVR 的工作电压 Vcc 从 4.7v 降到 2.7V 的时间超过 300ms,使 AVR 有时间做紧急处理和备份数据。AVR 写 EEPROM 大约需要 50-100mA 的电流,所以电容 C4 的值应该在 1000u~4700u,需要保存的数据越多,C4 的容量应该越大。

C4 的大小取决于 CPU 的型号即 Icc 的大小,由 D1,C4 单独为 CPU 供电是关键 .

quartus管脚分配后需要保存吗_掉电保存数据到EEPROM相关推荐

  1. quartus管脚分配后需要保存吗_Quartus II中FPGA的管脚分配保存方法

    一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择"Assignments ->Pin&quo ...

  2. quartus管脚分配后需要保存吗_电脑磁盘显示未分配怎么办?磁盘数据如何恢复?...

    磁盘未分配的这部分磁盘空间上没有任何分区,也就是说这部分空间无法用来保存数据.那么,什么原因会导致磁盘变成未分配呢? 1.删除分区:在平时使用电脑的时候会有意或无意的将分区删除掉.磁盘上的分区被删除之 ...

  3. quartus管脚分配后需要保存吗_嵌入式必须会的一些硬件面试题,要试一试吗?你过来呀!...

    1.下面是一些基本的数字电路知识问题,请简要回答之.(1) 什么是 Setup和 Hold 时间?答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求.建立时间 (Set ...

  4. 新手必看!单片机掉电检测与数据掉电保存方案

    单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据.在某些应用场合如测量.控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据. 因此, ...

  5. STM32----FLASH掉电保存动态平衡方案

    stm32是支持对自身Flash(code区)进行读写的.所以,在某些需要掉电保存的场合,我们可以利用这一特性节省一个外部的Flash或者EEPROM,对数据进行保存. 但是,如果需要经常性的保存数据 ...

  6. 【干货】STM32通过ADC模拟看门狗实现掉电保存

    1.前言 很多时候我们需要将程序中的一些参数.数据等存储在EEPROM或者Flash中,达到掉电保存的目的.但有些情况下,程序需要频繁的修改这些参数,如果每次修改参数都进行一次保存,那将大大降低存储器 ...

  7. 技能梳理7@stm32+OLED+flash掉电保存+按键

    学校违纪分数记录,按键,1.3寸OLED显示,数据掉电保存 1.项目简介 2.实现逻辑 #如上图为显示屏显示内容 #三个物理按键,一个是选择对哪一项进行控制,两个是加减对应项的分数 #控制范围±10, ...

  8. 大彩串口屏如何实现掉电保存功能

    一.概述 本文主要阐述的是如何在串口屏中实现掉电保存的功能,即用户在对文本输入之后,设置了保存的操作之后,能够实现屏幕在掉电重新上电的情况下实现数据保存的功能,即重新上电还是显示上次输入的文本内容.本 ...

  9. stm32之PVD可编程电压监测器(掉电保存数据)

    前言:stm32系列提供了可编程电压检测器PVD,它是实时检测VDD的电压,当检测到电压低于或者高于PVD设置的阈值时,会想内核产生一个PVD中断(EXTI线中断)以使内核在复位前进行紧急处理.该电压 ...

最新文章

  1. volatile和内存屏障(dmb)
  2. Java 安装后的检测是否安装成功
  3. 从平台到中台:Elaticsearch 在蚂蚁金服的实践经验
  4. ●BZOJ 4556 [Tjoi2016Heoi2016]字符串
  5. URI概念的简单介绍
  6. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
  7. SQL(五) - 表的创建以及操作
  8. BZOJ 4557 JLOI2016 侦查守卫 树形dp
  9. 百度地图api vue集成模板收录
  10. CentOS/RHEL Linux安装EPEL第三方软件源
  11. 缓存与缓冲的区别 cache与buffer的区别
  12. matlab报错随笔
  13. visa虚拟卡生成器_英国虚拟卡 获取多张VISA和Mastercard
  14. 软件测试答疑:抽奖按钮怎么测试?
  15. 华为快应用 阻止事件冒泡
  16. 百度网盘目录搜索引擎
  17. 梦幻手游网页版校验服务器失败,梦幻神域手游服务器验证失败进不去解决办法...
  18. pico-ctf-2013 overflow-2
  19. 记录锁、间隙锁和临键锁
  20. oracle 审计设置,oracle数据库审计设置

热门文章

  1. php 登陆 sql语句,PHP 连接MySQL数据库的SQL语句的简单示例
  2. mysql+control+user_mysql的基本使用
  3. java calendar字符串显示_java关于字符串和日期的代码展示
  4. 高并发图片实时渲染技术在阿里妈妈的大规模应用
  5. android客户端注入及清除cookie,Android客户端注入及清除Cookie
  6. mysql数据库导入导出
  7. 深度学习(3)手写数字识别问题
  8. idle运行python_如何从IDLE交互式shell运行python脚本?
  9. 数据库入门开发案例,真的是入门级别的!!看了不后悔。
  10. windows系统修改cmd窗口编码格式