99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

STM32L4進(jìn)入STOP2模式后的漏電問(wèn)題的分析及解決

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-09-21 09:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

STM32L4 系列,目前是STM32超低功耗產(chǎn)品中最強(qiáng)大的一個(gè)系列。它為我們提供了豐富的低功耗模式,包括STOP2 模式、低至30nA 的Shutdown 模式。對(duì)于這些模式,我們需要進(jìn)行深入地了解,才能把它們用好。

問(wèn)題

某客戶在其產(chǎn)品的設(shè)計(jì)中,使用了STM32L476RGT6??蛻粼陂_(kāi)發(fā)過(guò)程中,發(fā)現(xiàn)當(dāng)進(jìn)入STOP2模式后,MCU電流保持在179.6uA,遠(yuǎn)大于數(shù)據(jù)手冊(cè)中所描述的值:1.18uA (3V 工作電壓 & 室溫 & 無(wú)LCD& 無(wú)RTC)。

調(diào)研

1.了解問(wèn)題

首先,我們先確認(rèn)這個(gè)179.6uA 的電流真實(shí)存在,而且只是MCU上的電流,不是整機(jī)電流。客戶并沒(méi)有使用LCD,也沒(méi)有RTC,根據(jù)參考手冊(cè),在3V 的供電電壓下,這個(gè)電流應(yīng)該是1.18uA 左右,如下圖:

STM32L4進(jìn)入STOP2模式后的漏電問(wèn)題的分析及解決

目前所測(cè)的這個(gè)電流實(shí)在是太大了。

2.問(wèn)題分析

根據(jù)代碼和現(xiàn)象確認(rèn)MCU 已經(jīng)進(jìn)入了STOP2 模式。那么,這個(gè)電流是如何產(chǎn)生的呢?初步懷疑是有輸出口在對(duì)外輸出電流。

于是,找到電路圖,對(duì)電路圖進(jìn)行了檢查,客戶的電路圖并不復(fù)雜,沒(méi)有很明顯可能會(huì)導(dǎo)致往外輸出電流的情況。結(jié)合電路圖,我們對(duì)I/O 口的狀態(tài)進(jìn)行了檢測(cè),最后發(fā)現(xiàn)MCU 的一個(gè)I2C接口上的兩根信號(hào)線電平為低!

鑒于此,我們還得分成兩種情況來(lái)看。一是如果這兩個(gè)I/O 口被配置為輸入口,那么它是沒(méi)問(wèn)題的,不會(huì)產(chǎn)生電流;另一種情況是,它仍然為I2C功能的開(kāi)漏輸出口,那么這種情況下將會(huì)產(chǎn)生漏電流。所以,需要對(duì)代碼進(jìn)行檢查。

從電路圖上來(lái)看,MCU 的I2C 接口,SCL 和SDA 兩條線直接連接到外部器件,沒(méi)有上拉電阻。所以,先檢查I/O配置,這兩個(gè)口被配置為具有內(nèi)部上拉的復(fù)用開(kāi)漏功能模式使用了內(nèi)部上拉電阻,這是正確的配置,沒(méi)問(wèn)題。但是,我們發(fā)現(xiàn)客戶在進(jìn)入STOP2模式之前并沒(méi)有對(duì)這兩個(gè)口的配置進(jìn)行調(diào)整,也就是說(shuō),它們?nèi)匀粠е鴥?nèi)部上拉電阻并保持I2C 功能的開(kāi)漏輸出結(jié)構(gòu)。

我們知道,如果I2C 是在空閑狀態(tài)下進(jìn)入STOP2 模式,按道理,它們應(yīng)該是保持在高電平。為什么兩個(gè)引腳都是低電平呢?再檢查用戶代碼,發(fā)現(xiàn)代碼中將數(shù)據(jù)寫(xiě)入I2C 進(jìn)行發(fā)送后,就直接進(jìn)入STOP2 模式了。

問(wèn)題來(lái)了,如果進(jìn)入STOP2 模式的時(shí)間點(diǎn)上,數(shù)據(jù)還在發(fā)送過(guò)程中,此時(shí),若SCL和SDA 都處于低電平的情況下,I2C 外設(shè)時(shí)鐘停止,SCL 和SDA 的狀態(tài)將被鎖定在輸出低電平狀態(tài)上。我們使用示波器對(duì)此情況進(jìn)行測(cè)試,發(fā)現(xiàn)確實(shí)如此,在進(jìn)入STOP2模式時(shí),I2C 數(shù)據(jù)還在發(fā)送;處于STOP2 模式中,SCL 和SDA 保持為輸出低電平;從STOP2模式喚醒后,I2C 繼續(xù)把剩下的bits 發(fā)完。

來(lái)看一下此時(shí)SCL和SDA 的I/O 配置結(jié)構(gòu)圖:

STM32L4進(jìn)入STOP2模式后的漏電問(wèn)題的分析及解決

到此,這個(gè)問(wèn)題基本就理清楚了:當(dāng)I2C 在工作時(shí),并在SCL 線和SDA 線上發(fā)送低電平時(shí),N-MOS 被打開(kāi),電流從VDDIOx 經(jīng)過(guò)上拉電阻流入I/O 口內(nèi)部,經(jīng)過(guò)N-MOS 流入VSS。若此時(shí)進(jìn)入STOP2 模式,由于Vcore 域的所有時(shí)鐘停止,導(dǎo)致I2C 外設(shè)時(shí)鐘停止,那么此I/O 狀態(tài)被保持,將導(dǎo)致在STOP 2 模式下電流持續(xù)產(chǎn)生。

STM32L476 的內(nèi)部上拉電阻為25~55kΩ,標(biāo)稱值為40 kΩ ,3V 的工作電壓,兩個(gè)I/O 的上的電流大約是3V/40 kΩ * 2=150uA
因?yàn)閮?nèi)部上拉電阻并非剛好40 kΩ,所以我們測(cè)得到179.6uA就是相當(dāng)?shù)卣A恕?/p>

3.問(wèn)題解決

檢查STM32L476的參考手冊(cè)RM0351,在STOP2 模式下的描述中,可以看到以下這一段話:

STM32L4進(jìn)入STOP2模式后的漏電問(wèn)題的分析及解決

意思是說(shuō):所有在STOP2 模式下不能使用的外設(shè),在進(jìn)入STOP2模式之前,必須在其外設(shè)本身清除相應(yīng)的使能位來(lái)進(jìn)行禁用,或者通過(guò)設(shè)置相應(yīng)的位將其恢復(fù)到復(fù)位狀態(tài)。

于是,需要對(duì)代碼進(jìn)行修改:在進(jìn)入STOP2 模式之前,將I2C 外設(shè)進(jìn)行復(fù)位,復(fù)位后將SCL和SDA 兩根線配置為輸入上拉狀態(tài)。為什么要配置為輸入上拉呢?因?yàn)榇薎2C 在外部上沒(méi)有上拉電阻連接,需要在STOP2模式下保持這兩個(gè)I/O 上有確定的電平,以避免其易受電磁干擾和額外的電流消耗。而這兩個(gè)口工作中又作為I2C接口,所以選擇上拉電阻而不是下拉電阻。修正后,再進(jìn)行測(cè)試,可測(cè)得在STOP2 模式下的電流為1.0uA,與數(shù)據(jù)手冊(cè)相符。

結(jié)論

由于在進(jìn)入STOP2 模式之前沒(méi)有對(duì)I2C 進(jìn)行復(fù)位及I/O 口處理,導(dǎo)致在STOP2 模式中產(chǎn)生了漏電流。

處理

在進(jìn)入STOP2 模式下,請(qǐng)確保所有不相關(guān)的外設(shè)都已經(jīng)被正確復(fù)位或禁用,并配置I/O口為相應(yīng)的正確結(jié)構(gòu)。此種情況還容易發(fā)生在使用操作系統(tǒng)的應(yīng)用中,因?yàn)槎鄠€(gè)任務(wù)的調(diào)度很容易讓使用者在進(jìn)入STOP2模式時(shí)忘記對(duì)所有的外設(shè)進(jìn)行檢測(cè)。所以,在進(jìn)入STOP2 模式前,請(qǐng)檢查一下其他任務(wù)的工作情況,是否還有外設(shè)在傳輸數(shù)據(jù)還沒(méi)傳輸完,是的話需要等待其結(jié)束,確保所有數(shù)據(jù)傳輸完成后,對(duì)外設(shè)進(jìn)行復(fù)位或禁用,再進(jìn)入STOP2模式。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17969

    瀏覽量

    366485
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4520

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    L433進(jìn)入stop2模式還有874uA的電流,有什么排查的辦法嗎?

    現(xiàn)象描述:將芯片所有引腳設(shè)置為無(wú)上拉的analoginput模式,進(jìn)入stop2模式之后,電流表顯示還有600uA的電流(拔掉仿真器之后),手冊(cè)顯示
    發(fā)表于 06-11 08:10

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè).pdf》資料
    發(fā)表于 06-06 17:06 ?5次下載

    STM32U5 IWDG的提前喚醒中斷無(wú)法在STOP模式下觸發(fā)怎么解決?

    我使用的是STM32U585系列芯片,開(kāi)啟了IWDG,并在運(yùn)行模式下測(cè)試提前喚醒中斷正常觸發(fā),但在進(jìn)入STOP2模式
    發(fā)表于 04-27 08:05

    STM32U5 IWDG的提前喚醒中斷無(wú)法在STOP模式下觸發(fā)怎么解決?

    我使用的是STM32U585系列芯片,開(kāi)啟了IWDG,并在運(yùn)行模式下測(cè)試提前喚醒中斷正常觸發(fā),但在進(jìn)入STOP2模式
    發(fā)表于 04-24 07:50

    STM32U031C8T6低功耗電流STOP2模式下電流240微安,怎么解決?

    ,使用LPTIM1輸出PWM,在在STOP2模式下,LED燈關(guān)閉情況下,電流測(cè)出來(lái)居然有240ua左右,這個(gè)什么情況,誰(shuí)有demo程序,讓測(cè)下電流到底有多少,是我程序有問(wèn)題還是片子有問(wèn)題,電流太大了。 程序也是
    發(fā)表于 04-23 06:11

    STM32U5 IWDG的提前喚醒中斷無(wú)法在STOP模式下觸發(fā)怎么解決?

    我使用的是STM32U585系列芯片,開(kāi)啟了IWDG,并在運(yùn)行模式下測(cè)試提前喚醒中斷正常觸發(fā),但在進(jìn)入STOP2模式
    發(fā)表于 04-22 08:14

    STM32F072無(wú)法清除EXTI4_15_IRQn pending標(biāo)志,導(dǎo)致無(wú)法進(jìn)入stop模式,怎么解決?

    開(kāi)發(fā)環(huán)境:STM32F072RBT6+stm32cubemx+freertos 問(wèn)題描述: 1。 開(kāi)始發(fā)現(xiàn)進(jìn)入STOP模式失敗,在調(diào)用HAL_PWR_EnterSTOPMode前通過(guò)發(fā)
    發(fā)表于 03-13 07:56

    STM32U5退出stop2模式進(jìn)入HardFault_Handler如何解決?

    主循環(huán)每?jī)擅胄薷膕topFlag為1,進(jìn)入stop2模式,外部中斷(lis2ds12的6d檢測(cè))喚醒并修改stopFlag為0; 不連接stlink時(shí),退出
    發(fā)表于 03-13 06:12

    STM32L431進(jìn)入STOP1模式ADC產(chǎn)生多余功耗怎么解決?

    我使用STM32L431進(jìn)入STOP1模式,原始功耗為53uA。在進(jìn)入停止模式之前,我調(diào)用HAL
    發(fā)表于 03-12 06:47

    請(qǐng)問(wèn)stm32u073如何進(jìn)入STOP2模式?

    (PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); 我測(cè)量發(fā)現(xiàn)有100uA左右的電流。這個(gè)應(yīng)該是在STOP1模式。但是我查了庫(kù)文件定義。沒(méi)有找到關(guān)于STOP1和
    發(fā)表于 03-12 06:38

    STM32L431在STOP2模式下能否將串口的RX配置成EXTI喚醒呢?

    STM32L431在STOP2模式下能否將串口的RX配置成EXTI喚醒呢?為什么我的喚醒不了呢?并且空閑中斷也不能用,手冊(cè)中說(shuō)在硬件上已經(jīng)將EXTI與RX引腳連到一塊了,但是呢STOP2
    發(fā)表于 03-12 06:03

    APM32F10xx進(jìn)入低功耗模式的問(wèn)題分析

    調(diào)用PMU_EnterSTOPMode庫(kù)函數(shù),用WFE內(nèi)核指令進(jìn)入STOP模式是存在問(wèn)題的,經(jīng)查驗(yàn)解決了問(wèn)題,于是在此進(jìn)行了內(nèi)容記錄。
    的頭像 發(fā)表于 10-18 16:13 ?817次閱讀
    APM32F10xx<b class='flag-5'>進(jìn)入</b>低功耗<b class='flag-5'>模式</b>的問(wèn)題<b class='flag-5'>分析</b>

    STM32U575為什么無(wú)法通過(guò)LPTIM3將MCU從STOP2模式喚醒?

    客戶在 STM32U575 的研發(fā)過(guò)程中發(fā)現(xiàn)了一個(gè)奇怪的問(wèn)題,無(wú)法通過(guò) LPTIM3 將MCU 從 STOP2 模式喚醒。
    發(fā)表于 09-27 07:22

    STM32U5退出stop2模式進(jìn)入HardFault_Hand的原因?

    主循環(huán)每?jī)擅胄薷膕topFlag為1,進(jìn)入stop2模式,外部中斷(lis2ds12的6d檢測(cè))喚醒并修改stopFlag為0; 不連接stlink時(shí),退出
    發(fā)表于 07-24 06:25

    STOP2模式下對(duì)數(shù)據(jù)的采集和LPDMA搬運(yùn),為什么無(wú)法實(shí)現(xiàn)LPDMA搬運(yùn)半滿和全滿中斷退出?

    現(xiàn)在實(shí)現(xiàn)了在STOP2 模式下對(duì)數(shù)據(jù)的采集和LPDMA搬運(yùn),但是無(wú)法實(shí)現(xiàn)LPDMA搬運(yùn)半滿和全滿中斷退出,整個(gè)LPBAM 用的LPDMA1 的通道1,ADC用的是 通道0,均開(kāi)啟DMA中斷但是通道0 沒(méi)有觸發(fā)中斷,通道1 有半/全傳輸中斷。
    發(fā)表于 07-24 06:14