历史上的今天
返回首页

历史上的今天

今天是:2024年11月15日(星期五)

正在发生

2019年11月15日 | stm32 低功耗下使用看门狗(不喂狗)

2019-11-15 来源:eefocus

在项目中需要低功耗处理,而使用看门狗可以保证程序不会跑死。但使用看门狗有一个问题,打开看门狗以后关闭不了,必须一直喂狗进行操作,那有啥好的办法呢?狗是必须养的,养这条狗花费了我半天时间,在此记录。


我能想到的有两种方案:


一、 使用独立看门狗,在低功耗下唤醒进行喂狗操作后继续休眠。


该方法可以通过增大看门狗的时钟分频,最大256分频,即可达到最大限度的喂狗时间,如果按照40K的时钟来算,(1 / (40K / 256)) * 4096 = 26.2144S, 在二十多秒起来喂狗在功耗方面可以接受,这种方法比较简单,不过二十多秒需唤醒一次。


二、利用复位关闭看门狗,在低功耗下不进行喂狗操作


使用的前提是需要判断复位的状态或者将软件复位标志写入flash中。


将软件复位标志写入flash


参考链接:https://www.eeworld.com.cn/mcu/2019/ic-news041243839.html,很好的说明了整个流程。


重点记录使用复位状态关闭看门狗。在stm32中,使用RCC的CSR寄存器根据状态位可以判断出复位原因。我在项目中判断了三种状态:上电/掉电态,看门狗复位态,软件复位态。下图流程图可以看出软件每次重启都读取复位标志位,由于业务需求,需要在首次开机时写入一些参数,根据业务需求开关机判断可有可无。 看门狗复位态指没有正常喂狗引起的复位,而软件复位态是我们通过代码手动软件复位的,因此是看门狗复位还是软件复位就可以区分。区分出来后,我们需要做相应处理,如果是看门狗复位态,说明程序跑死了,该让他正常初始化的初始化,养狗的养狗,最重要的是在业务代码完成后进入低功耗前,我们需要进行一步手动复位操作,这个操作用来判断我们是否想进入低功耗,我在程序中的做法是:在进入低功耗前进行软件复位,复位后判别出是软件复位标志,直接goto到低功耗处理函数。在这个goto的过程中没有进行开启看门狗操作,系统复位过,狗就这样子被我们关闭了,成功进入低功耗。


低功耗唤醒时再次开启看门狗,进入低功耗前手动软件复位,手动复位标志位判断出来后不进行喂狗,直接跳到低功耗处理函数,就能一直跑着。


PS:语言组织能力不强,在此放置一张流程图供参考,以便翻阅。

推荐阅读

史海拾趣

Analog Power公司的发展小趣事

随着技术的不断进步,Analog Power公司始终保持着对技术创新的热情。他们不断研发新的电源管理技术和产品,推出了一系列具有高性能、高效率、低功耗特点的电源管理解决方案。这些创新产品不仅满足了客户的需求,也引领了市场的发展潮流,使得Analog Power在行业中逐渐崭露头角。

EnerSys公司的发展小趣事

进入21世纪后,EnerSys加快了其收购与整合的步伐。2000年底,EnerSys收购了Yuasa Corporation(Japan)在北美和南美的储能和动力电池业务。随后,公司又陆续收购了Energy Storage Group of Invensys plc.和FIAMM, S.p.A.的动力电池业务。这些收购不仅扩大了EnerSys的市场份额,还增强了其在专业镍基电池、锂电池、铅酸电池和工业电池领域的技术实力。

台湾町洋(dinkle)公司的发展小趣事

町洋注重企业文化建设,倡导以人为本的管理理念。公司为员工提供了良好的工作环境和福利待遇,并积极开展各种培训和学习活动,帮助员工提升自身素质和专业技能。这种关注员工成长和发展的企业文化使得町洋的凝聚力不断增强,为公司的持续发展提供了有力保障。

Cybernetic Micro Systems公司的发展小趣事

在竞争激烈的电子行业中,CMS始终保持着持续创新的态势。他们不断投入研发资源,推出了一系列具有创新性的产品。例如,他们开发了一款基于人工智能技术的智能家居控制系统,该系统能够通过语音控制实现家电设备的智能化管理。这一产品的推出进一步巩固了CMS在智能家居领域的领先地位。

Crystalfontz America Inc公司的发展小趣事

Crystalfontz America Inc公司自成立以来,一直致力于LCD、OLED等显示模块的研发和生产。在早期的发展阶段,公司面临着技术上的诸多挑战。然而,通过持续的技术投入和研发团队的不懈努力,公司成功突破了多项关键技术,推出了一系列具有竞争力的显示模块产品。这些产品在市场上获得了广泛认可,为公司的快速发展奠定了坚实基础。

Everspin Technologies公司的发展小趣事

在寻求更广泛的市场应用和技术合作方面,Everspin与Quicklogic Corporation签订了分包协议。根据协议,Quicklogic将其部分开发服务分包给Everspin,共同推进战略辐射加固现场可编程门阵列原型项目的开发。这一合作不仅展示了Everspin在电子行业中的技术实力和市场影响力,也为其未来的发展开辟了新的道路。

以上五个故事概述了Everspin Technologies公司在电子行业中发展起来的关键历程和成就。这些故事展示了Everspin在MRAM技术领域的领先地位、创新能力和市场应用方面的成功。

问答坊 | AI 解惑

自己觉得还比较可以的Modelsim教程

自己觉得还比较可以的Modelsim教程,中文版幻灯片。分享…

查看全部问答>

极品美女与LED

replyreload += \',\' + 381164;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

调试WINCE应用程序

  怎么调试WINCE5.0运用程序,我用VS2005开发的,具体需要哪些工具和一些配置?…

查看全部问答>

wince 2440 usb mass storage问题请教!

在wince下作mass storage功能,现在功能已经能够实现,sd卡在pc端能够出现一个硬盘。现在想研究下mdd的code,有个问题要请教: sd卡在wince系统下会出现一个硬盘,当连接上pc usb线的时候,进入mass storage模式,这个盘会消失, 这个动作是开始于 ...…

查看全部问答>

象6538这样的视频芯片有那些?

象6538这样的视频芯片有那些? …

查看全部问答>

USB一样的报告描述符怎么就不一样的结果呢?

整整2天了,问题依旧没解决,大侠、高手帮忙! 要使用自定义HID进行数据传输,从ST网站下载了最新的USB开发例程um0424(吃一堑长一智)。里面 有Custom_HID,拿来就用。我是在embest的开发板上进行的,使用RVMDK里的工程,用STM3210B-EVAL 选 ...…

查看全部问答>

C51串口通讯在LCD1602上显示

怎么将SBUF传给temp的数据转化一下在LCD1602上显示呢?都想了两天了,实在不知道怎么做,求大虾相助!我的lcd写字符串语句是LCD_write_string(x,y,string);…

查看全部问答>

谁了解Silicon Labs的单片机及其低功耗性能?

谁了解Silicon Labs的单片机及其低功耗性能? 经常看到Silicon Labs提及其单片机(包括ARM)的低功耗特性,谁了解的能不能大致说说Silicon Labs的单片机怎么样?其低功耗特性和MSP430比较都有些什么差别? [ 本帖最后由 wangfuchong 于 2012-10-30 ...…

查看全部问答>

求MSP430G2553关于12864的例程

论坛里有没有大神有12864关于G2553的示例程序啊!急,在线等!…

查看全部问答>

pcb

本帖最后由 13815346101 于 2015-10-8 11:55 编辑 刚画了个小板子,有一些地方不好,还请大家给意见。…

查看全部问答>