|
作者 | strongerHuang
微信公眾號 | 嵌入式專欄
不知道大家有沒有做過低功耗產(chǎn)品?
低功耗產(chǎn)品看似很簡單,其實,要做好一款低功耗產(chǎn)品,特別是做到超低功耗,難度相對更高,軟件和硬件需要“高度配合”才能達到理想的低功耗。
今天就來講講在RTOS環(huán)境下低功耗設計的思路。
寫在前面:編程思維
嵌入式產(chǎn)品的設計具有多樣性、定制性,很多時候都要結(jié)合需求來實現(xiàn)軟硬件設計。
可能你寫的一套軟件架構(gòu),在“近似”的產(chǎn)品中軟件架構(gòu)、代碼模塊能復用,但如果跨度較大,你的軟件架構(gòu)就不一定適用了。
但是,嵌入式軟件設計有很多地方都是相通的,也許軟件架構(gòu)雖不能用了,但設計思路同樣適用。
xsls5blxrsu64017962810.png (80.01 KB, 下載次數(shù): 10)
下載附件
保存到相冊
xsls5blxrsu64017962810.png
2024-9-18 19:07 上傳
就好比:你學會了某項技能,這家公司不要你了,領一家公司也會要你,而兩家公司的設計的產(chǎn)品不相同。
所以說,有一個良好的編程思維很重要,包括軟件架構(gòu)、編程模塊、低耦合高內(nèi)聚等。
說回來RTOS低功耗設計思路,常見的有:
普通低功耗:運行Idle任務時,進入低功耗模式。超低功耗:在空閑狀態(tài)進入低功耗,通過中斷或者外部事件喚醒。
普通低功耗
普通低功耗,指處理器間歇性進入低功耗狀態(tài),但會定期喚醒,這種功耗就做不到很低。
在RTOS中,實現(xiàn)這種普通低功耗,通常是在任務處于Idle(空閑任務)中實現(xiàn)其低功耗功能。
大概示意圖:
t0n0am4jlzs64017962910.png (67.92 KB, 下載次數(shù): 7)
下載附件
保存到相冊
t0n0am4jlzs64017962910.png
2024-9-18 19:07 上傳
大概意思:Idle空閑任務定期進入低功耗,但會定期喚醒,檢測是否有更高優(yōu)先級任務響應。在處于低功耗狀態(tài)下,也可以通過外部事件或中斷歡迎處理器。
提示:
有些RTOS可以通過“HOOK鉤子函數(shù)”進行低功耗操作。同時,有些RTOS的空閑任務可能需要進行一些配置。
超低功耗
上面那種通過定期喚醒CPU的方式,即使沒有其他事做,CPU也要醒來“看一眼”,肯定做不到超低功耗。
要想做到超低功耗,沒事時別來打擾CPU,有才把它叫醒。
大概示意圖:
q4nu5yvc4fq64017963010.png (65.03 KB, 下載次數(shù): 10)
下載附件
保存到相冊
q4nu5yvc4fq64017963010.png
2024-9-18 19:07 上傳
這種CPU進入“深入低功耗”的方式,和上面不一樣,這與CPU的低功耗模式有關。
比如:睡眠、停機、待機等。不同的處理器各種低功耗模式可能有差異,具體如何實現(xiàn),如何喚醒,要結(jié)合具體CPU實現(xiàn)方法完成。
uipb4tfslye64017963110.png (162.34 KB, 下載次數(shù): 8)
下載附件
保存到相冊
uipb4tfslye64017963110.png
2024-9-18 19:07 上傳
最后
低功耗產(chǎn)品的設計相對更難,需要結(jié)合軟硬件解決各種“功耗異!钡膯栴},但整體的應用相對不復雜。
當然,還有更多實現(xiàn)低功耗的方法:比如降頻、0功耗待機等。歡迎大家留言說出你產(chǎn)品低功耗是如何實現(xiàn)的。
------------ END ------------
e2nqqypp0hm64017963210.gif (71.87 KB, 下載次數(shù): 13)
下載附件
保存到相冊
e2nqqypp0hm64017963210.gif
2024-9-18 19:07 上傳
●專欄《嵌入式工具》●專欄《嵌入式開發(fā)》●專欄《Keil教程》●嵌入式專欄精選教程
關注公眾號回復“加群”按規(guī)則加入技術交流群,回復“1024”查看更多內(nèi)容。點擊“閱讀原文”查看更多分享。 |
|