掉电保存数据到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。
参考电路如下:
在图中,外部 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 供电是关键 .
K2P玩机之:刷机教程与固件备份
致歉:
我来晚了,一直在整理刷机资料,让各位久等了!
昨天写了一篇关于斐讯K2P无线路由器刷机后的使用体验证,应大家要求,今天出一个刷机教程,其实网上也有许多教程,我只是把我的过程记录下来给大家分享一下。下面开始介绍。
提示:刷机有风险,操作需谨慎!需要有一定操作能力,刷前一定要多看教程,网上其它地方也有不少教程。
-------------------------------------------------------------------
需准备:
网线一根,K2P官改固件,breed-mt7621-phicomm-k2p.bin(可选),
K2P_3.4.3.9-099_20170726-2038padavan.trx(现在固件已有更新)
-----------------------------------------------------------------
刷入官改固件 :K2P新固件22.5.13.27及其以后版本由于更改了固件加密方法,无法直接从web页面刷入目前的官改,请从官方BootLoader刷入:
1、计算机设置为固定IP:192.168.2.2,计算机网线连接K2P的任一LAN口
2、K2P断电,按住K2P复位键,K2P开电,按住40秒后放开
3、访问http://192.168.2.1,刷入K2P官改固件。
4、重新启动后K2P恢复出厂;计算机恢复为自动获取IP。
刷入官改固件后记得备份固件,以备不时之需。
-------------------------------------------------------------------------------------------------------
【备份固件方法】
一、编程器固件备份(所有分区)
计算机telnet连接K2P后,按如下操作输入命令
1、将固件保存到内存
dd if=/dev/mtd0 of=/tmp/all.bin
复制代码
2、将内存固件映射到http目录
cd /www
touch all.bin
mount --bind /tmp/all.bin /www/all.bin
3、下载备份固件到计算机
计算机访问
http://192.168.2.1/all.bin
即可下载固件
192.168.2.1为K2P地址,如你已修改,则更改此地址
备份的固件大小为16M,为整个FLASH的备份(含boot、eeprom、固件及你的配置),这个就是所谓的编程器固件,适用于编程器刷入或用命令恢复整个FLASH
二、纯固件备份(firmware分区)
如果要备份纯固件,则将mtd0改成mtd5,只备份纯固件(firmware)部分:
dd if=/dev/mtd5 of=/tmp/fs.bin
cd /www
touch fs.bin
mount --bind /tmp/fs.bin /www/fs.bin
复制代码
计算机访问
http://192.168.2.1/fs.bin
即可下载fs固件
三、EEPROM备份(出厂分区Factory)
其实所谓的“EEPROM”就是FLASH中的Factory分区,标识为mtd3,包含了你K2P的一些关键参数信息,如MAC、无线出厂参数,此分区在编程器固件中已经包含
备份方法:
dd if=/dev/mtd3 of=/tmp/eeprom.bin
cd /www
touch eeprom.bin
mount --bind /tmp/eeprom.bin /www/eeprom.bin
复制代码
计算机访问
http://192.168.2.1/eeprom.bin
即可下载eeprom固件
注:升级官方固件或官方定制固件不会更改eeprom
固件备份后建议重启一下路由器或"rm -f /tmp/*.bin"删除备份固件,否则会占用内存
重启后可以用“rm -f /www/*.bin”删除多余文件
----------------------------------------------------------------------------------------------------
刷入官改后自带K2P OpBoot (简单理解为路由器引导启动),先按复位键后通电5-7秒灯闪结束,电脑设置固定ip192.168.1.2,浏览器输入192.168.1.1即可进入,选高级直接升级breed--->《breed-mt7621-phicomm-k2p.bin》 (个人比较习惯在breed中刷入第三方系统)
进入breed方法同样为先按复位键后通电5-7秒灯闪结束,电脑设置固定ip192.168.1.2,浏览器输入192.168.1.1即可进入breed。(另一个引导启动程序)
在breed中刷入padavan固件。
固件更新->固件->选择文件K2P_3.4.3.9-099_20170726-2038padavan固件。更新!(刷机过程千万不能断电)
刷入成功后如下图。
总结:之所以刷机,是因为刷之后会多出一些特色功能,比如广告过滤、VPN等。后续继续介绍如何远程访问家中内网资料,敬请期待,谢谢!
相关问答
怎么编程器 备份eeprom ?用WinHex等软件打开编程器文件,转到偏移量1F0000,把1F0000-1FFFFF提取保存为eeprom就行了。按你的备份提取好的eeprom。用WinHex等软件打开编程器文件,转到偏...
sky3DS烧录卡里的存档肿么 备份 ?-ZOL问答3条回答:【推荐答案】1切换到下个游戏:按下红色/蓝色按钮,sky会将eeprom内存档写入tf卡,并切换至下个游戏,同时会从tf卡中读出该游戏存档至eeprom,然后你可以开...
求助施耐德TWIDOPLC程序解密?TWIDOPLC的编程软件没有UPLOAD命令,也没有密码比较的环节,解密是很难的。可以试验一下的是:用编程软件的Backup命令先把PLC程序由RAM备份到内部EEPROM,再把P...
求帮助!OKUMA电机维修处理方法有哪些?[回答]OKUMA电机维修EPROM芯片一般不宜损坏.因这种芯片需要紫外光,才能擦除掉程序,故在测试中不会损坏程序.因制作芯片的材料所致,随着时间的推移,即便不...
施耐德plc程序密码容易解吗?施耐德plc程序密码容易解。TWIDOPLC的编程软件没有UPLOAD命令,也没有密码比较的环节,解密是很难的。可以试验一下的是:用编程软件的Backup命令先把PLC程序由...
下面单词的英文全称及中文是什么?1CUP2BIOS3CD-ROM_作业帮[回答]1.中央处理器是英语“CentralProcessingUnit”的缩写,即CPU,CPU一般由逻辑运算单元、控制单元和存储单元组成.在逻辑运算和控制单元中包括一些寄...
楼主请问:OKUMA数控配件技巧有哪些?感谢回答[回答]OKUMA数控配件大隈电路板损坏通常是某一个元件损坏,可能是某一个芯片,某一个电容,甚至一个小小的电阻,维修的过程就是找出损坏的元件加以更换。这看...
斐讯K2路由器肿么刷华硕固件?-ZOL问答3、进入:高级设置->系统设置->备份恢复->浏览->选择下载的tianbaoha_breed_ssh.dat->点击恢复备份等待进度条完成(大约需要2分钟)。4、等路...
K518能做MQB钥匙吗?可以,按照以下方法即可。一、备份EEPROM:备份原车EEPROM数据,钥匙匹配前请先备份EEPROM,出现意外可还原;二、还原EEPROM:还原原车EEPROM数据,出现意外可...
大隈维修的优势是如何实现的?教期待大神解答[回答]大隈维修通过这次对伺服驱动系统典型故障的处理,给了维护数控设备工作方面一个启示:对故障的处理重点在于诊断。以理论指导实践,根据不同的故障原因...