stm32低功耗设计.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32低功耗设计

stm32 低功耗设计 最近使用STM32进行了一个低功耗应用设计,做一个小总结: 1、SLEEP 模式:很容易实现,可以由中断唤醒,但省电较少。这时候要配合时钟的关闭来节电:不需要用到的外设关闭时钟,要用到时才打开。例如USART:要发送数据前,把USART的时钟使能,数据包发送完成后,立即关闭时钟。 2、STOP 模式:需要外部中断唤醒。RTC报警唤醒给该模式带来了更加灵活的应用。但应用中有一个问题需要注意:在ADC数据采样的应用场合。如果使用STOP模式,假设采样率为200HZ,5毫秒唤醒一次启动ADC 采样,通过测试STOP唤醒的周期并不是很固定(可能是唤醒后需要恢复时钟设置,唤醒后自动使用内部的HSI时钟做为系统时钟),造成采样周期不是很固定,对滤波不利,例如工频陷波。 以上一点总结,希望对大家有用。 低功耗设计参考在ST官方提供的AN2821 Clock/calendar functionality features应用笔记中关于控制器从Stop mode和Standby mode唤醒后的状态记录。官方原文: Stop mode: After the microcontroller has exited the Stop mode, the basic reset and clock control circuitry (RCC)has to be reconfigured and access to the backup domain has to be re-enabled. Standby mode: The Standby mode is the lowest power consumption mode. After the microcontroller wakes up from the Standby mode, program execution restarts in the same way as after a system/power reset. 译文: Stop mode:当控制器从Stop mode中唤醒后,RCC必须重新配置并且需要再次使能对备份区的访问。 Standby mode:当控制器从Standby mode中唤醒后,控制器将被复位,程序也将从复位后的地址开始执行。大家好:最近在做STM32的低功耗处理,在使用HSI 8M时钟正常RUN时测试电流做到5-6MA,现在想通过使用睡眠或掉电再或待机模式来进一步降低功耗。 我现在整个系统要求使用电池供电,想通过定时睡眠定时唤醒来做低功耗处理,请大家给点建议。 我在使用待机模式时,唤醒后STM复位了,官方SHEETDATA上讲的也不是很多,请问这三种低功耗模式是不是唤醒后都要复位???使用WFI指令,把你要处理的东西全放到中断里处理 关闭不需要的外设时钟STM32低功耗实验总结 1、 首先回答一个问题,STM32能不能做低功耗? 回答是肯定的,这个是有数据支持的,我测试的STM32101CB,FLASH:128K,RAM:16K并且RTC工作的情况下,测试到的功耗为16uA应该说还是相当不错的。 2、 STM32低功耗有哪些需要注意的地方? 一开始我测试到STM32为16uA的时候,还是非常高兴的,以为真的可以做为我的应用,我的应用是让MCU定时醒来干活,干一会就睡觉,可能干活的时间就几十个毫秒。可是后来发现有些问题(工作在STOP模式): 1) 时钟问题:STM32被唤醒以后的时钟自动切换到内部HIS?RC振荡器,大家都是知道的,RC振荡器的精度是不高的。而且,睡觉前对于时钟的设置都是恢复到复位状态,只是时钟这个地方复位,其他的没有。这也会带来一个问题,可能你睡觉前使用的是内部时钟,可是睡觉后,时钟却变了,带来的问题就是UART和定时器。或许你想不使用PLL,就是8M,这样醒来后的时钟HIS也是8M,这样虽然在时钟上没有差别了,但是时钟却不稳定了。UART波特率肯定不能太高,否则通信会有问题。 2) 醒来时间:这个问题也是个非常大的问题,datasheet上给出的醒来时间是7us,这个可能真的不假,但是醒来,不能马上干_你的活,为什么。初始化IO,你可能问,我不初始化不行吗,回答应该是否定的。因为,如果你想使用低功耗的话,睡觉前IO口都应该设置为模拟输入,这样才能达到datasheet上的14uA,但是这样也带来一个问题,那就是初始化IO,醒来必须要初始化IO。如果你还想把时钟切换到外部时钟,耗时会更加长,接近200ms,因为STM32会等待外部时钟稳定后才能工作,然后还要在重新初始化所有IO,这个非常的耗时。可能我只需要醒来10ms,但是这些活干完就需要100ms。 3) RTC唤醒:RTC这个也是个问题,为

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档