"); //-->
以下文章来源于strongerHuang ,作者strongerHuang
不知道大家有没有做过低功耗产品?
低功耗产品看似很简单,其实,要做好一款低功耗产品,特别是做到超低功耗,难度相对更高。
今天就来讲讲在RTOS环境下低功耗设计的思路。
写在前面:编程思维
嵌入式产品的设计具有多样性、定制性,很多时候都要结合需求来实现软硬件设计。
可能你写的一套软件架构,在“近似”的产品中软件架构、代码模块能复用,但如果跨度较大,你的软件架构就不一定适用了。
但是,嵌入式软件设计有很多地方都是相通的,也许软件架构虽不能用了,但设计思路同样适用。

就好比:你学会了某项技能,这家公司不要你了,领一家公司也会要你,而两家公司的设计的产品不相同。
所以说,有一个良好的编程思维很重要,包括软件架构、编程模块、低耦合高内聚等。
说回来RTOS低功耗设计思路,常见的有:
普通低功耗:运行Idle任务时,进入低功耗模式。
超低功耗:在空闲状态进入低功耗,通过中断或者外部事件唤醒。
普通低功耗
普通低功耗,指处理器间歇性进入低功耗状态,但会定期唤醒,这种功耗就做不到很低。
在RTOS中,实现这种普通低功耗,通常是在任务处于Idle(空闲任务)中实现其低功耗功能。
大概示意图:

大概意思:Idle空闲任务定期进入低功耗,但会定期唤醒,检测是否有更高优先级任务响应。在处于低功耗状态下,也可以通过外部事件或中断欢迎处理器。
提示:
有些RTOS可以通过“HOOK钩子函数”进行低功耗操作。同时,有些RTOS的空闲任务可能需要进行一些配置。
超低功耗
上面那种通过定期唤醒CPU的方式,即使没有其他事做,CPU也要醒来“看一眼”,肯定做不到超低功耗。
要想做到超低功耗,没事时别来打扰CPU,有才把它叫醒。
大概示意图:

这种CPU进入“深入低功耗”的方式,和上面不一样,这与CPU的低功耗模式有关。
比如:睡眠、停机、待机等。不同的处理器各种低功耗模式可能有差异,具体如何实现,如何唤醒,要结合具体CPU实现方法完成。

最后
低功耗产品的设计相对更难,需要结合软硬件解决各种“功耗异常”的问题,但整体的应用相对不复杂。
当然,还有更多实现低功耗的方法:比如降频、0功耗待机等。欢迎大家留言说出你产品低功耗是如何实现的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
MSP430x2xx4xx系列
《ATmega8原理及应用手册》
瑞萨单片机技术概述
新手必看的单片机知识
超低功率高性能新一代产品MSP430F5xx
介绍采用 nanoWatt XLP技术的超低功耗系列单片机
创维数码5000系列彩电开关电源(AN单片机)电路
MSP430单片机TIMER_A在产品设计中的应用
5V 单片机与5V 耐压单片机有何区别,为什么至关重要
功率监测与控制系统DIY——搭建环境,定时器翻转LED
瑞萨RA0单片机连载——PWM实现呼吸灯
单片机语言C51应用实战集锦
语音合成芯片T6668和单片机8031的接口电路图
MSP430 电表解决方案
倾情奉献:MSP430汇编指令集(中文),详解带实例!
长虹R2118A型彩电开关电源(LA单片机)电路
[转帖]从Cygnal C8051F看8位单片机发展之路
瑞萨RA0单片机连载——面向对象编程之SHT31温度计
AVR 单片机专栏,资料下载!
Microchip推出集成高性能模拟外设的32位PIC32A单片机
双芯智控革命:IGBT与单片机如何重塑智能微波炉
AVR 单片机专栏,资料下载!之二
Microchip发布PIC16F17576单片机(MCU)系列,简化模拟传感器设计
用单片机制作的纯正弦波逆变电源电路
车规级MCU介绍
利用PIC12C508单片机来实现加密狗技术[转帖]
用AT89C2051单片机实验合弦乐
16位语言函数工具库
《AVR单片机C语言库》
GD32E230F6V6实用指南:为下一个项目选择合适单片机