那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)低功耗設(shè)計(jì)案例分析

GReq_mcu168 ? 來(lái)源:芯片之家 ? 作者:芯片之家 ? 2022-02-10 11:31 ? 次閱讀

經(jīng)過(guò)了多年的低功耗硬件設(shè)計(jì)(公司硬件設(shè)計(jì)和軟件設(shè)計(jì)是分開的,我一直是做硬件,在面對(duì)低功耗生產(chǎn)事故中做硬件的往往很苦逼),其中容易出的一個(gè)問(wèn)題是單片機(jī)進(jìn)睡眠模式前IO沒配好,產(chǎn)品上主要出的問(wèn)題是這些出問(wèn)題的IO比較隱蔽,當(dāng)時(shí)經(jīng)過(guò)多次測(cè)試也沒測(cè)試出來(lái),后來(lái)在生產(chǎn)或現(xiàn)場(chǎng)才發(fā)現(xiàn)的概率性功耗偏大的問(wèn)題。

站在硬件的角度,最近才意識(shí)到原來(lái)軟件上一直容易犯的一個(gè)毛病是進(jìn)睡眠前沒有把所有IO重新配置一遍,這樣容易導(dǎo)致IO低功耗的BUG出現(xiàn)。

這個(gè)心得總結(jié)起來(lái)是:要求在進(jìn)睡眠模式前把所用的單片機(jī)的所有的IO從代碼上1個(gè)IO接1個(gè)IO的配置一遍。不要偷懶,不要多個(gè)IO一起配置。

分析:

外設(shè)時(shí)鐘

外設(shè)的時(shí)鐘沒關(guān),單片機(jī)內(nèi)部模塊沒關(guān)等,部分單片機(jī)進(jìn)睡眠后自動(dòng)會(huì)關(guān)閉,部分不會(huì)自動(dòng)關(guān)閉的,沒關(guān)的話當(dāng)場(chǎng)測(cè)試功耗就偏高,會(huì)馬上發(fā)現(xiàn)的。所以這些在實(shí)際生產(chǎn)中都沒出過(guò)問(wèn)題。

IO配置

1個(gè)IO接1個(gè)IO配置,不要多個(gè)IO用類似BIT1|BIT2……,|=0xxx這類一起配置。因?yàn)榇a上越是直觀,出現(xiàn)筆誤的概率越低。而且我們核對(duì)IO的時(shí)候都是一個(gè)IO一個(gè)IO的去核對(duì)配置對(duì)不對(duì)。所以代碼上依次寫一下其實(shí)花了不了多少時(shí)間和代碼空間的?;▊€(gè)5到30分鐘撐死,但是后續(xù)節(jié)省的時(shí)間和金錢就不好說(shuō)了。人的總是有惰性的,我自己寫代碼的時(shí)候之前進(jìn)低功耗前也只是配置了一部分,現(xiàn)在慢慢開始習(xí)慣全部配置,很多配置可以復(fù)制之前的IO初始化(這個(gè)已經(jīng)養(yǎng)成了1個(gè)IO,1個(gè)IO的配置,改起來(lái)其實(shí)很舒服的)。

案例分析

實(shí)際出現(xiàn)的最麻煩,最隱蔽的情況往往跟IO的配置有關(guān),越簡(jiǎn)單的往往越容易出問(wèn)題。

1、比如大多數(shù)情況下程序從A子程序進(jìn)入睡眠后IO配置沒問(wèn)題,經(jīng)過(guò)大量測(cè)試也沒發(fā)現(xiàn)問(wèn)題。但是當(dāng)某次執(zhí)行了B后再進(jìn)睡眠,B中對(duì)IO進(jìn)行了操作,再進(jìn)睡眠沒有把IO改回來(lái),這時(shí)問(wèn)題就可能出現(xiàn)了。而要是執(zhí)行C,D……等程序再睡眠都不會(huì)出IO的隱患。

案例:產(chǎn)品在客戶那里發(fā)現(xiàn)有50%左右放了一段時(shí)間后電池耗光。研發(fā)百思不得其姐,多次查看代碼沒發(fā)現(xiàn)問(wèn)題,之前也沒出現(xiàn)死機(jī)的問(wèn)題(死機(jī)后會(huì)導(dǎo)致不能進(jìn)低功耗,功耗超高)。派人去現(xiàn)場(chǎng)測(cè)試,進(jìn)過(guò)大量測(cè)試后發(fā)現(xiàn)一個(gè)IO部分產(chǎn)品輸出高。導(dǎo)致電流多了1mA左右。原因是客戶上電做了秒脈沖輸出,下電后產(chǎn)品就用電池供電了??蛻粝码娗皼]有配置關(guān)閉秒脈沖輸出,程序下電后也沒有把IO配置回來(lái),導(dǎo)致有50%的概率IO輸出高電平。

2、一個(gè)產(chǎn)品已經(jīng)生產(chǎn)了幾萬(wàn)臺(tái),一直沒發(fā)現(xiàn)問(wèn)題。后來(lái)?yè)Q了一家PCB廠家后,生產(chǎn)發(fā)現(xiàn)功耗個(gè)別產(chǎn)品偏高個(gè)10uA左右,研發(fā)拿回來(lái)分析,發(fā)現(xiàn)換了芯片就好了。但是生產(chǎn)出現(xiàn)百分之幾的功耗不好的情況,芯片不可能出現(xiàn)這么大概率的損壞。430芯片,走正規(guī)供應(yīng)商的。再一個(gè)IO一個(gè)IO的查找,通過(guò)手摸IO最終發(fā)現(xiàn)一個(gè)連光耦輸入端的IO配置的是輸入模式。換了芯片好了是因?yàn)楹附舆^(guò),板子變臟,電阻變小,IO有一個(gè)比較固定的偏向與GND的電壓,因而沒問(wèn)題。之前沒問(wèn)題可能是板子的阻值比現(xiàn)在的這家小了點(diǎn),或當(dāng)時(shí)生產(chǎn)的時(shí)候濕度大點(diǎn),或光耦的反向漏電流大些,也是各種可能了。軟件發(fā)現(xiàn)這個(gè)IO本來(lái)是配置沒問(wèn)題的,中間不知道哪里配置過(guò)或配置別的IO時(shí)不小心連這個(gè)IO也配置了??傊?dāng)時(shí)沒搜到這個(gè)IO的配置哪里改動(dòng)了,只是在進(jìn)低功耗前重新配置了下這個(gè)IO。

3、產(chǎn)品上使用的一個(gè)外購(gòu)低功耗RF模塊的IO問(wèn)題。使用CC1101和430F2132。都算低功耗的芯片吧。前后找了2家開發(fā)模塊,第一家2132一個(gè)IO沒配置好,生產(chǎn)階段發(fā)現(xiàn)部分產(chǎn)品功耗偏高。后來(lái)是因?yàn)轭I(lǐng)導(dǎo)的原因換了家做無(wú)線的廠家來(lái)做這個(gè),還是CC1101+2132方案。照理來(lái)說(shuō)之前犯過(guò)錯(cuò)誤應(yīng)該吸取經(jīng)驗(yàn)教訓(xùn)了吧。并且軟件人員也是老手了。結(jié)果生產(chǎn)是沒問(wèn)題,發(fā)貨到客戶那里還是發(fā)現(xiàn)了個(gè)別產(chǎn)品出問(wèn)題,最后還是發(fā)現(xiàn)一個(gè)IO沒配置好狀態(tài)。

4、以上心得很簡(jiǎn)單,但是是付出多次時(shí)間+金錢得出的慘痛心得。而且這些都是軟件的問(wèn)題,但是功耗問(wèn)題往往第一個(gè)找個(gè)是硬件:你設(shè)計(jì)的產(chǎn)品功耗偏高,電池沒電,你查查看,哪里出問(wèn)題了。做硬件的又開不到代碼,軟件人員往往開始還不承認(rèn)IO配置上有問(wèn)題,尤其是之前找外面廠家開發(fā)的模塊,他們的意思是,我做軟件xx年了。開發(fā)了這么多產(chǎn)品,這么簡(jiǎn)單的一個(gè)產(chǎn)品怎么會(huì)出問(wèn)題,是你們自己的產(chǎn)品沒做好才出的問(wèn)題??啾频挠布?a target="_blank">工程師沒辦法,只能自己想各種辦法找到出問(wèn)題的那個(gè)IO。軟件人員經(jīng)過(guò)改代碼對(duì)比測(cè)試才完成,但是軟件最后還是不會(huì)說(shuō)自己的代碼有問(wèn)題。

5、關(guān)于IO的問(wèn)題。430單片機(jī)IO設(shè)置是最弱的,大部分沒有上下拉電阻,默認(rèn)是輸入狀態(tài),沒配置IO就容易出功耗問(wèn)題,ST的相對(duì)好的多,51的IO默認(rèn)的51狀態(tài)有上拉電阻,沒用到的腳不去配置也不會(huì)出問(wèn)題。空的IO我之前喜歡配置成輸出0狀態(tài),最近在用STM8S看了下代碼發(fā)現(xiàn)喜歡配置成上拉輸入狀態(tài),STM8S沒下拉電阻,STM32有,配置成下拉輸入狀態(tài)更好些,不小心碰到不會(huì)對(duì)外輸出電流。

題外話:關(guān)于單片機(jī)的低功耗模式之前沒深入了解STM32,最近才發(fā)現(xiàn)進(jìn)最低功耗的STANDBAY模式RAM中數(shù)據(jù)對(duì)丟失,這點(diǎn)不如8位機(jī),之前用STC的51和STM8系列從不擔(dān)心ram數(shù)據(jù)丟失的問(wèn)題??碨TM32L系列進(jìn)最低功耗也有這個(gè)問(wèn)題,只是可以掉電保的RAM區(qū)域分的更多,更大。

原文標(biāo)題:十年硬件老司機(jī),結(jié)合實(shí)際案例,帶你探索單片機(jī)低功耗設(shè)計(jì)!

文章出處:【微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6043

    文章

    44621

    瀏覽量

    638624
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2418

    瀏覽量

    103897
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4828

    瀏覽量

    69063

原文標(biāo)題:十年硬件老司機(jī),結(jié)合實(shí)際案例,帶你探索單片機(jī)低功耗設(shè)計(jì)!

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何優(yōu)化單片機(jī)項(xiàng)目的功耗

    在現(xiàn)代電子設(shè)計(jì)中,功耗優(yōu)化已成為一個(gè)不可忽視的重要議題。對(duì)于單片機(jī)(MCU)項(xiàng)目而言,功耗不僅關(guān)系到產(chǎn)品的能效比,還直接影響到電池壽命和熱管理。 硬件層面的功耗優(yōu)化 1. 選擇合適的
    的頭像 發(fā)表于 11-01 14:16 ?511次閱讀

    單片機(jī)系統(tǒng)設(shè)計(jì)流程及注意事項(xiàng)

    單片機(jī)系統(tǒng)設(shè)計(jì)是一個(gè)涉及硬件和軟件的綜合過(guò)程,它要求設(shè)計(jì)者不僅要有扎實(shí)的電子技術(shù)基礎(chǔ),還要具備一定的編程能力和系統(tǒng)分析能力。 單片機(jī)系統(tǒng)設(shè)計(jì)流程 1. 需求分析 明確功能 :確定
    的頭像 發(fā)表于 11-01 14:12 ?775次閱讀

    單片機(jī)異常復(fù)位的原因

    單片機(jī)異常復(fù)位是指單片機(jī)在正常工作過(guò)程中,非預(yù)期地返回到初始狀態(tài)或重啟。這種異常復(fù)位現(xiàn)象可能由多種因素引起,以下是對(duì)單片機(jī)異常復(fù)位原因的詳細(xì)分析
    的頭像 發(fā)表于 10-17 17:56 ?1379次閱讀

    引領(lǐng)智能未來(lái):英銳恩科技的國(guó)產(chǎn)低功耗單片機(jī)ENMCU

    在科技飛速發(fā)展的今天,低功耗單片機(jī)的應(yīng)用越來(lái)越廣泛,尤其是在安防監(jiān)控、智能家居和微波雷達(dá)照明等領(lǐng)域。作為國(guó)內(nèi)專精特新國(guó)家高新技術(shù)半導(dǎo)體企業(yè),英銳恩科技致力于為客戶提供高性能、低功耗單片機(jī)
    發(fā)表于 09-26 17:16

    低功耗8位單片機(jī):技術(shù)特性與應(yīng)用前景!

    在電子設(shè)備領(lǐng)域,低功耗設(shè)計(jì)成為提升設(shè)備續(xù)航能力、減少能耗的重要手段。低功耗8位單片機(jī)以其低功耗、低成本、易于開發(fā)等優(yōu)勢(shì),在智能家居、安防監(jiān)控、可穿戴設(shè)備等多個(gè)領(lǐng)域得到了廣泛應(yīng)用。英銳恩
    發(fā)表于 09-26 14:09

    8位單片機(jī)為何不會(huì)被高端單片機(jī)取代?

    )應(yīng)用:8位單片機(jī)應(yīng)用廣泛,包括汽車電子、家用電器、醫(yī)療設(shè)備、工業(yè)自動(dòng)化和消費(fèi)電子產(chǎn)品。它們通常是低成本、低功耗和實(shí)時(shí)控制應(yīng)用的首選。 8位單片機(jī)為何不會(huì)被高端單片機(jī)取代? 8位
    發(fā)表于 09-24 16:51

    利用超低功耗單片機(jī) MSP430 作為系統(tǒng)伴隨芯片應(yīng)用報(bào)告

    電子發(fā)燒友網(wǎng)站提供《利用超低功耗單片機(jī) MSP430 作為系統(tǒng)伴隨芯片應(yīng)用報(bào)告.pdf》資料免費(fèi)下載
    發(fā)表于 09-10 10:52 ?0次下載
    利用超<b class='flag-5'>低功耗</b><b class='flag-5'>單片機(jī)</b> MSP430 作為系統(tǒng)伴隨芯片應(yīng)用報(bào)告

    stm32單片機(jī)用什么軟件編程

    STM32單片機(jī)是一種廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域的微控制器,具有高性能、低功耗、豐富的外設(shè)接口等特點(diǎn)。要對(duì)STM32單片機(jī)進(jìn)行編程,需要選擇合適的軟件工具。 概述 STM32單片機(jī)
    的頭像 發(fā)表于 09-02 10:16 ?1948次閱讀

    PY32L020單片機(jī),專為低功耗嵌入式系統(tǒng)設(shè)計(jì),TSSOP20,QFN20封裝

    PY32L020單片機(jī)是一顆超低功耗的32位單片機(jī),采用32 位 ARM? Cortex? - M0+ 內(nèi)核,最高 48 MHz 工作頻率。芯片提供sleep/stop/Deep Stop 三種
    的頭像 發(fā)表于 08-01 17:20 ?479次閱讀
    PY32L020<b class='flag-5'>單片機(jī)</b>,專為<b class='flag-5'>低功耗</b>嵌入式系統(tǒng)設(shè)計(jì),TSSOP20,QFN20封裝

    ADS7870基于單片機(jī)的完整低功耗數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《ADS7870基于單片機(jī)的完整低功耗數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-26 10:05 ?0次下載
    ADS7870基于<b class='flag-5'>單片機(jī)</b>的完整<b class='flag-5'>低功耗</b>數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)表

    現(xiàn)代(ABOV)低功耗單片機(jī)在現(xiàn)代電子產(chǎn)品中的重要性

    運(yùn)行時(shí)的熱量產(chǎn)生,提高設(shè)備的穩(wěn)定性和可靠性。特別是在家電領(lǐng)域,低功耗設(shè)計(jì)可以顯著降低家庭能源開支,符合全球節(jié)能減排的趨勢(shì)。單片機(jī)作為電子設(shè)備的大腦,其功耗直接影響
    的頭像 發(fā)表于 06-28 11:32 ?542次閱讀
    現(xiàn)代(ABOV)<b class='flag-5'>低功耗</b><b class='flag-5'>單片機(jī)</b>在現(xiàn)代電子產(chǎn)品中的重要性

    STM8L單片機(jī)低功耗問(wèn)題在軟件中如何設(shè)計(jì)?

    大家來(lái)討論一下STM8L單片機(jī)低功耗問(wèn)題在軟件中如何設(shè)計(jì)?
    發(fā)表于 05-14 07:34

    STM32L151RCT6單片機(jī)下載完程序不斷電重啟進(jìn)不了低功耗怎么解決?

    最近遇到一個(gè)很奇怪的問(wèn)題,使用的是stm32L151RCT6單片機(jī),固件庫(kù)用的是STM32Cube_FW_L1_V1.8.1,程序中有低功耗的部分,當(dāng)我下載完程序然后將設(shè)備徹底斷電重啟后,設(shè)備能正常
    發(fā)表于 04-12 07:07

    低功耗的32位單片機(jī)PY32L020,Deep Stop模式電流低至0.7uA

    PY32L020是一顆主打超低功耗的國(guó)產(chǎn)32位單片機(jī),有三種低功耗模式,分別是Sleep/Stop/Deep Stop模式,Deep Stop 模式電流低至0.7uA,
    的頭像 發(fā)表于 04-10 10:02 ?941次閱讀
    超<b class='flag-5'>低功耗</b>的32位<b class='flag-5'>單片機(jī)</b>PY32L020,Deep Stop模式電流低至0.7uA

    STM32L431低功耗進(jìn)入異常的原因?

    各位大佬好,小弟在使用STM32L431單片機(jī)的時(shí)候遇到一個(gè)奇怪的問(wèn)題,我用的是HAL庫(kù),當(dāng)我下載完程序后如果不完全斷電,單片機(jī)進(jìn)不了低功耗,即使通過(guò)硬件復(fù)位現(xiàn)象也是一樣,但是只要我斷開電源重新上電
    發(fā)表于 04-09 07:03
    赌博百家乐作弊法| 不夜城百家乐的玩法技巧和规则| 马关县| 百家乐网上技巧| 皇冠网现金网| 澳门百家乐娱乐开户| 鄂伦春自治旗| 百家乐扑克牌耙| 利澳娱乐城注册| 百家乐客户端软件| 百家乐官网桌14人| 大发888娱乐场168| 百家乐靠什么赢| 真人百家乐官网作假视频| 大发888游戏平台 官方| 杨筠松 24山 土| 百家乐官网怎样算大小| 大发888捕鱼游戏| 百家乐单注技巧| 克拉克百家乐官网试玩| 大发888 casino下载| 百家乐官网真人游戏| 百家乐官网博彩博彩网| 百家乐有公式| 百家乐官网娱乐求解答| 广饶县| 全讯网最方便的新全讯网| 做生意什么花招财| 百家乐官网投注方法多不多| 德州扑克俱乐部| 百家乐五湖四海娱乐平台| 三星百家乐官网的玩法技巧和规则 | 大发888怎么找不到了| 太阳城百家乐娱乐官方网| 百家乐官网破解赌戏玩| 百家乐官网2号干扰| 老虎机派通娱乐| 百家乐群html| 庞博百家乐官网的玩法技巧和规则| 百家乐官网注码技巧| 棋牌新闻|