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

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

参考电路如下:

30b518695fba5369d818d60506d09066.png

在图中,外部 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 供电是关键 .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 最小二乘法拟合_计量与论文串讲:最小二乘法

点为什么要用R计量经济学作为经济大类下一门非常实用的学科有很强的实践意义。尽管内容庞杂但基本的指导思想却很简单,因此通过一门统计编程语言学习、掌握计量经济学有很大的益处。目前,市面上已经有多款统计编程语言和统计软件,实证分析领域…

ZoomBlur 聚焦模糊效果Shader(URP)

修改自这篇文章【Unity】UniversalRPでカスタムポストプロセスを作る【ZoomBlur】 - Qiita 1. VolumeEditor,用于在UnityVolume中控制自己写的后处理效果 using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal;[System.Seriali…

魅蓝s6启动android密码_魅蓝s6怎么恢复出厂设置?忘记密码怎么办

魅蓝s6怎么恢复出厂设置?忘记密码怎么办?手机是现代生活必不可少的工具之一,在使用时我们常常会忘记手机密码。本次就给大家介绍手机密码忘了怎么恢复出厂设置,快来看看吧。我们知道手机恢复出厂设置的注意事项最重要的就是做好手…

漫游飞行_魔兽世界:德拉诺时光周 冲声望解锁德拉诺飞行好时机

虽然德拉诺飞行开放已经是6.22版本的事情了,但是目前还是有些玩家还没有解锁。但是本周德拉诺时光周的开放,获取德拉诺飞行声望将会更加简单。德拉诺飞行声望德拉诺飞行解锁需要先知之手(部落是沃金之锋)、觉醒教派和刃牙追猎者三个声望达到崇敬。而在本…

python怎么解释语言_python是解释型语言吗

Python 是解释型的语言吗?它会被编译吗? 这个问题没有想象中那么好回答。和很多人认识世界一样,习惯以一个简单的模型去评判一些事物。而事实上,里面包含了很多很多的细节。通常的说法,编译代表着将一个高级语言转化为…

第一次失效_神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气...

神兵小将:净化之力失效地魔兵兽,全靠特殊办法,铁心方式真霸气。在经典动漫神兵小将中,魔兵兽在漫迷眼中属于比较特殊的存在,很多人气指数超高的神兵兽被魔化后却成为阻碍问天前进的高山。因此魔兵兽在很大意义上讲也是…

Python 每日定时查询数据库生成Excel报表,并群发邮件

最近在做游戏打点数据的一些统计处理,写了个Python脚本完成每日定时自动查询生成Excel报表并群发邮件的小功能。 拆解几个需求点: 一.连接数据库并查询 以下是一个查询总注册人数的示例代码,host port db user password等填入自己数据库的…

com口驱动_Ubuntu 安装Nvidia显卡驱动指南

该文档适用于: Ubuntu 14/16/18 三个版本。Nvidia显卡驱动适用于:RTX2080TI/RTX2080/RTX2070/GTX1080TI/GTX1080/GTX1070以及更低级别显卡。本文档旨在帮助大家解决安装Nvidia显卡遇到的常见问题。Nvidia驱动下载地址:https://www.geforce.co…

Unity URP中根据深度重建世界坐标

通过深度值重建世界坐标,可以做出很多有意思的后处理效果,先实现下度值重建世界坐标这个功能。 一.验证重建效果 首先,得先找到一种证明反推回世界空间位置正确的方法。在相机前摆放几个物体,尽量使之在世界坐标下的位置小于1&a…

dubbo yml配置_Spring boot 的profile功能如何实现多环境配置自动切换

通常服务端应用开发需要经过以下几个流程:开发 -> 测试 -> RC验证 -> 上线这就涉及到四个不同的环境,开发环境、测试环境、RC环境以及生产环境,为了避免不同环境之间相互干扰,通常需要独立部署数据库、缓存服务器等&…

Unity中的SystemInfo.deviceUniqueIdentifier 唯一ID

做游戏时可能经常使用SystemInfo.deviceUniqueIdentifier作为用户的唯一ID进行注册登录, 但是你会发现从谷歌商店上下载的自己游戏,和自己从Unity工程中直接打包出来的游戏账号竟然是不一致的! 这个坑还是很坑爹的,纠其原因是Sy…

sketchup生成面域插件_独家教程 | 快速抓取“高精准”场地信息,康石石教你生成不同“体量”地形...

无论建筑设计还是景观设计,同学们的设计项目都必须依托于场地来进行,通过分析场地的区位范围、地形地势,结合场地的局限性与可能性,才能进一步展开项目设计。可以说,获取场地信息是同学们在作品集创作中最重要的环节之…

Unity URP高度雾效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现(LinearDepth,Reverse Z,世界坐标重建,软粒子,高度雾,运动模糊,扫描线效果)_puppet_master的专栏-CSDN博客_shader深度…

无限重启_三星蓝光播放器出现无限自动重启BUG,涉及不少用户及不同型号

三星的蓝光播放器似乎遇到了一个挺严重的BUG,使得不少用户都开机后播放器会自动不停重启。从reddit、ZDNet以及三星技术支持论坛上面的情况来看,这次的问题波及不同型号的播放器,大部分用户遇到的问题都是不停重启。其中一位用户表示:“开机之…

python getattr_Python 内置方法和属性应用:反射和单例

1. 前言python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict、list、set、min、max、range、sorted等。笔者最近在做项目框架时涉及到一些不是很常用的方法和属性,在本文中和大家做下分享。2. 内置…

Unity URP世界空间后处理扫描圈效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现(LinearDepth,Reverse Z,世界坐标重建,软粒子,高度雾,运动模糊,扫描线效果)_puppet_master的专栏-CSDN博客_shader深度…

前端 重构时需要注意的事项_前端数据层落地实践

源宝导读:天际移动平台经过重构改版,近期正式发布了1.0版本,我们在低代码开发方面做了进一步增强。本文主要围绕前端Model、前端业务逻辑(领域模型)、数据层与视图层解耦(包装器模式)3个方面,给大家分享一下统一数据层方案的设计思…

postconstruct_@PostConstruct注解,你该好好看看

在最近的工作中,get到一个很实用的注解,分享给诸位。痛点做过微信或支付宝支付的童鞋,可能遇到过这种问题,就是填写支付结果回调,就是在支付成功之后,支付宝要根据我们给的地址给我们进行通知,通…

Unity URP运动模糊效果Shader

实现原理 见这篇文章Unity Shader-深度相关知识总结与效果实现(LinearDepth,Reverse Z,世界坐标重建,软粒子,高度雾,运动模糊,扫描线效果)_puppet_master的专栏-CSDN博客_shader深度…

线性系统的频率响应分析实验报告_动态系统的建模与分析

参考:DR_CAN1.介绍解决一个控制系统的问题:对研究对象进行分析控制器设计测试分析被控对象的物理特性及动态表现,在这个基础上建立数学模型,数学模型可以是动力学模型、热力学模型、流体力学模型和经济学模型等,然后在…