在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式軟件的低功耗驅動軟件設計

麥辣雞腿堡 ? 來源:嵌入式系統 ? 作者:嵌入式系統 ? 2023-12-07 15:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 低功耗的意義

電子產品尤其是電池供電的都要求低功耗,究竟怎樣才算低功耗?脫離應用場合的數值沒有意義,低功耗是一種看情況而定、只可意會的標準。

2 思路決定成敗

芯片數據手冊寫著低功耗,上面那些小的出奇的電流標準,只是用來擺設的一種無法工作的假死狀態,工作功耗才是實實在在的。有時為了體現低功耗,還要在應用中設計所謂的低功耗模式,當系統確認沒有任務時就休眠。于是乎,低功耗這種“既要馬兒跑,又要馬兒不吃草”的邏輯,就成為降低正常工作模式下系統功耗的常規選擇。

從硬件角度來說,找到所有可能消耗電流的回路,確定哪些是可以通過軟件控制的方式來優化,哪些是不可避免的,并給軟件開發人員提供所有IO口狀態對功耗影響的關系,用簡單的表格說明一下高電平或低電平會怎樣,懸浮會怎樣。前期配置驅動軟件,驗證工作時最小電流滿足標準,基本可確認硬件正常。剩下的就是軟件開發人員的發揮空間,而基于軟件的降功耗策略,正是本文所要討論的重點。

3 驅動軟件設計

3.1 端口配置

首先確認復位后引腳的默認狀態,該狀態下是否漏電,是否會開啟某些時鐘源,是否內部上拉或下拉,軟件再結合硬件或外圍做相應配置。例如AD通道禁止內部上拉,普通GPIO設為輸出低或者高避免漏電,懸空引腳避免中斷輸入模式。

固定連接控制的,可以推挽輸出控制外設,或者外部帶上拉時選開漏;特殊引腳如UART一般配置模式即可,硬件自動控制對應電平;間歇性工作如ADC,作為輸入轉換完成后,可以再設為輸出或關閉AD。

有些外設是可以插拔的,如UART正常空閑時收發都是高,如外設關機或者移除,仍保持高電平則存在漏電,這種情況下需將引腳設為輸出低。重點關注工作中一種狀態,工作結束或異常時要及時切換狀態,避免漏電或者電平不匹配。

如果外設支持中斷盡量配置開啟,而不是定時輪詢通信

3.2 電源管理

芯片內部往往劃分不同的電源域,硬件外設也分不同單元的供電,暫時不使用的部分,可以立刻關閉電源域、時鐘域。在硬件成本允許或者功耗要求嚴苛的情況下,外設盡量獨立供電,這樣在非使用狀態下軟件控制斷電。需要注意關閉電源域后,某些端口可能需要重新配置避免漏電,如上節所提到關閉外設的供電后,外設的UART端口變為低,主控的UART端口就不能繼續維持高電平了。

3.3 系統時鐘

在正常的工作模式下,頻率越高功耗越高,完成同樣工作的時間越短,也可更快進入休眠。如果單片機主要做控制,沒有復雜運算,降頻能實現需求就往更低的頻率切換。如果有大量數學計算,可以空間換時間,或者先高頻運行,盡快完成算法,運行結束后動態切換到低頻。

同等時鐘下,供電電壓低功耗也低;定時采樣、屏幕刷新也可在滿足需求的情況下盡量低頻處理。

3.4 待機底電流

查閱數據手冊或者SDK官方文檔,確定符合需求的、可被喚醒的最低功耗休眠模式,編寫一個測試用例,關閉所有可能耗電的外設,進入休眠的狀態,驗證極限情況下的功耗。

可能還需要硬件排除電路板上無法優化的固有功耗,比如電壓轉換等固定消耗電流的部分,單純看主芯片的工作電流,是否達到數據手冊上對應模式下的理論值。如果不滿足就需要繼續關閉一些復位后自動開啟的功能,比如時鐘使能等;或者硬件工程師配合拆除可疑器件加快排查。這第一步非常關鍵,直接決定后期整機功耗能達到的最佳效果,同時在配置過程中,非常細微的認識到哪些外設和配置影響功耗,如何影響,有多大的影響。

3.5 休眠與喚醒

休眠后有的是降頻工作,有的是假死(軟件未運行,內存可恢復;有的不能恢復,喚醒類似重啟效果),或者直接關機(RTC關機鬧鐘喚醒),不同的硬件方案和軟件需求,休眠模式的表現不同。單片機開發,確認其所有的休眠模式,以及對應休眠模式下哪些時鐘源工作或休眠,結合具體應用的需求,明確系統對喚醒源以及喚醒模式的需求,由此便確定了系統的基礎休眠模式。

注意有些芯片在休眠模式下僅少數端口維持喚醒的狀態,只有特殊引腳才能喚醒,這需要硬件設計前考慮。

3.6 功耗評估

降低功耗是軟件和硬件協同工作才能解決的問題。比如AD采樣時候的分壓電阻,如果直接接了地,那會一直消耗電流;增加分壓電阻足夠大,表面上靜態電流小,但因為AD內阻分流,最終結果就存在較大偏差。如果通過一個IO口來控制其接地的方式,只在需要采樣的時候接地,采樣完成后懸浮或者拉高,就可以將靜態損耗降到最低,雖然成本加了不少,但實實在在的省電了。具體是否采用,主要是看功耗的標準,如果略微可以接受持續的靜態損耗,就沒必要增加硬件成本。

系統實現最低功耗,有時需要在外設性能、硬件成本和功耗之間做妥協,CPU是否可以降頻,硬件外設是否支持中斷喚醒等,這些都會影響最終的待機功耗,降低功耗是硬件和軟件配合的結果,軟件配置驅動,硬件逐個確認電流是否在期望之內,這理論值定義就看原廠資料或者經驗了,以及與產品定義的待機時長妥協解決。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電源
    +關注

    關注

    185

    文章

    18329

    瀏覽量

    255658
  • 芯片
    +關注

    關注

    459

    文章

    52354

    瀏覽量

    438708
  • 驅動
    +關注

    關注

    12

    文章

    1912

    瀏覽量

    86709
  • 嵌入式軟件
    +關注

    關注

    4

    文章

    245

    瀏覽量

    27244
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式環境下軟件設計的特點是什么

    詳見微信公眾號,二進制人生。目錄:嵌入式環境下軟件設計的特點設計目標設計思路多進程解耦嵌入式環境下軟件設計的特點要談嵌入式
    發表于 11-09 06:31

    嵌入式軟件設計和單片機軟件設計的區別是什么?

    嵌入式軟件設計和單片機軟件設計目前的應用很多,這兩者有什么區別? 嵌入式主要說的什么?結構是啥!
    發表于 11-10 07:46

    基于ARM的嵌入式系統軟件設計

    嵌入式軟件的啟動代碼嵌入式軟件開發關鍵技術嵌入式實時操作系統程序的鏈接定位軟件調試技術http:
    發表于 03-25 15:03 ?203次下載
    基于ARM的<b class='flag-5'>嵌入式</b>系統<b class='flag-5'>軟件設計</b>

    ARM嵌入式系統開發-軟件設計與優化

    ARM嵌入式系統開發-軟件設計與優化
    發表于 02-11 09:57 ?94次下載
    ARM<b class='flag-5'>嵌入式</b>系統開發-<b class='flag-5'>軟件設計</b>與優化

    基于ARM的嵌入式軟件設計

    基于ARM的嵌入式軟件設計 駐留監控軟件Resident Monitors 是一段運行在目標板上的程序集成開發環境中的調試模塊通過以太網口并行端口或者串行端口等通訊端口與
    發表于 03-31 14:59 ?44次下載

    嵌入式USB主機設計(硬件設計和軟件設計)

    嵌入式USB主機設計(硬件設計和軟件設計) 嵌入式USB主機硬件設計選用廉價的51系列單片機(89C52)控制US
    發表于 11-26 13:58 ?1408次閱讀
    <b class='flag-5'>嵌入式</b>USB主機設計(硬件設計和<b class='flag-5'>軟件設計</b>)

    基于ARM的嵌入式系統軟件設計部分

    基于ARM的嵌入式系統軟件設計部分
    發表于 01-14 12:32 ?15次下載

    實例分析嵌入式系統的低功耗軟件設計方案

    最小。不管是操作系統、BIOS控制程序還是外設驅動程序,這些程序將決定了最終產品的功耗水平,因此在開發時必須加以考慮。本論文將以智能電話為例,介紹一種通過軟件低功耗的方法,可供
    發表于 10-25 17:18 ?1次下載
    實例分析<b class='flag-5'>嵌入式</b>系統的<b class='flag-5'>低功耗</b><b class='flag-5'>軟件設計</b>方案

    ARM的嵌入式系統軟件設計

    ARM的嵌入式系統軟件設計
    發表于 10-27 15:00 ?8次下載
    ARM的<b class='flag-5'>嵌入式</b>系統<b class='flag-5'>軟件設計</b>

    嵌入式軟件在計算機軟件設計中應用

    文章主要是在計算機軟件設計中應用嵌入式實時軟件,滿足人們對計算機高性能的需求,不僅僅分析了嵌入式軟件系統結構,同時也實現
    發表于 11-01 15:27 ?14次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>在計算機<b class='flag-5'>軟件設計</b>中應用

    嵌入式系統的組成及其低功耗的設計

    ,對嵌入式系統的低功耗問題進行了 分析,并對嵌入式系統的硬件設計以及軟件設計提出了一些切實有效的措施,有利于更好的解決嵌入式系統的
    發表于 12-06 14:09 ?9次下載

    基于RTOS的嵌入式系統軟件設計

    基于RTOS的嵌入式系統軟件設計說明。
    發表于 04-19 14:38 ?17次下載

    嵌入式系統軟件設計教材資料

    嵌入式系統軟件設計教材資料免費下載。
    發表于 04-12 14:44 ?5次下載

    嵌入式業務軟件設計介紹

    業務軟件設計 低功耗從硬件上能夠解決一部分,但單純依靠硬件肯定是不行的,需要軟件的密切配合,才能達到最好的效果。以上是從硬件驅動層面的,一般情況下都比較關注,但實際上
    的頭像 發表于 12-07 15:09 ?628次閱讀

    嵌入式軟件設計的原則分享

    嵌入式軟件開發如果具有更好的閱讀性、擴展性以及維護性,就需要考慮很多因素。今天給大家分享幾個嵌入式軟件設計的原則。
    發表于 02-25 10:54 ?1062次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件設計</b>的原則分享
    主站蜘蛛池模板: 国产美女久久 | 伊人网综合在线观看 | 欧美另类高清xxxxx | 久青草久青草高清在线播放 | 中文字幕天天躁夜夜狠狠综合 | 国产真实灌醉美女疯狂弄 | 亚洲一区二区在线 | 无遮挡很爽很污很黄很色的网站 | 亚洲综合色网 | 五月天精品在线 | 天天色综合三 | 55夜色66夜色国产精品站 | 欧日韩视频777888 | 欧美黄色片在线 | 亚洲黄色在线网站 | 久久极品| 黄色网网址 | 欧美日韩一区二区三区视频在线观看 | 男女啪视频大全1000 | 亚洲情a成黄在线观看 | 日日夜夜狠狠 | 在线色| yy6080理aa级伦大片一级 | 国产欧美在线一区二区三区 | 国产成人综合日韩精品婷婷九月 | 五月婷久久| 午夜影视网 | 噜噜噜噜噜久久久久久91 | 日本一线a视频免费观看 | 国产农村一一级特黄毛片 | 久久青草精品一区二区三区 | 黄视频网站免费看 | 国产黄网站在线观看 | 欧美激情亚洲色图 | 无毒在线 | 国产免费私拍一区二区三区 | 久久人精品 | 99久久香蕉国产综合影院 | 亚洲综合精品成人啪啪 | 精品国产中文一级毛片在线看 | 免费四虎永久在线精品 |