你是否曾经尝试过设计低功耗产品呢?
看起来设计低功耗产品很简单,但事实上,要设计一款超低功耗的产品难度还是比较大的。特别是在RTOS环境下,低功耗的设计思路也相对比较复杂。
今天我们来探讨一下在RTOS环境下设计低功耗产品的思路。
在嵌入式产品设计中,由于多样性和定制性的特点,很多时候需要结合实际需求来实现软硬件设计。即使你写的一套软件框架在“近似”产品中能够复用,但如果跨度较大,你的软件框架就不一定适用了。
然而,在嵌入式软件设计中有很多方面都是相通的,虽然软件框架不能完全复用,但是设计思路同样兼容。
因此,编程思维在嵌入式软件设计中至关重要,它能够帮助我们更好地理解不同模块之间的联系,找到低功耗产品设计的思路。
就好比:你学会了某项技能,这家公司不要你了,领一家公司也会要你,而两家公司的设计的产品不相同。
所以说,有一个良好的编程思维很重要,包括软件架构、编程模块、低耦合高内聚等。
说回来RTOS低功耗设计思路,常见的有:
-
普通低功耗:运行Idle任务时,进入低功耗模式。 -
超低功耗:在空闲状态进入低功耗,通过中断或者外部事件唤醒。
普通低功耗
普通低功耗,指处理器间歇性进入低功耗状态,但会定期唤醒,这种功耗就做不到很低。
在RTOS中,实现这种普通低功耗,通常是在任务处于Idle(空闲任务)中实现其低功耗功能。
大概示意图:
大概意思:Idle空闲任务定期进入低功耗,但会定期唤醒,检测是否有更高优先级任务响应。在处于低功耗状态下,也可以通过外部事件或中断欢迎处理器。
提示:
有些RTOS可以通过“HOOK钩子函数”进行低功耗操作。同时,有些RTOS的空闲任务可能需要进行一些配置。
超低功耗
上面那种通过定期唤醒CPU的方式,即使没有其他事做,CPU也要醒来“看一眼”,肯定做不到超低功耗。
要想做到超低功耗,没事时别来打扰CPU,有才把它叫醒。
大概示意图:
这种CPU进入“深入低功耗”的方式,和上面不一样,这与CPU的低功耗模式有关。
比如:睡眠、停机、待机等。不同的处理器各种低功耗模式可能有差异,具体如何实现,如何唤醒,要结合具体CPU实现方法完成。
最后
低功耗产品的设计相对更难,需要结合软硬件解决各种“功耗异常”的问题,但整体的应用相对不复杂。
当然,还有更多实现低功耗的方法:比如降频、0功耗待机等。欢迎大家留言说出你产品低功耗是如何实现的。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !