91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

STM32L4進入STOP2模式后的漏電問題的分析及解決

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

掃碼添加小助手

加入工程師交流群

前言

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

問題

某客戶在其產品的設計中,使用了STM32L476RGT6。客戶在開發過程中,發現當進入STOP2模式后,MCU電流保持在179.6uA,遠大于數據手冊中所描述的值:1.18uA (3V 工作電壓 & 室溫 & 無LCD& 無RTC)。

調研

1.了解問題

首先,我們先確認這個179.6uA 的電流真實存在,而且只是MCU上的電流,不是整機電流。客戶并沒有使用LCD,也沒有RTC,根據參考手冊,在3V 的供電電壓下,這個電流應該是1.18uA 左右,如下圖:

STM32L4進入STOP2模式后的漏電問題的分析及解決

目前所測的這個電流實在是太大了。

2.問題分析

根據代碼和現象確認MCU 已經進入了STOP2 模式。那么,這個電流是如何產生的呢?初步懷疑是有輸出口在對外輸出電流。

于是,找到電路圖,對電路圖進行了檢查,客戶的電路圖并不復雜,沒有很明顯可能會導致往外輸出電流的情況。結合電路圖,我們對I/O 口的狀態進行了檢測,最后發現MCU 的一個I2C接口上的兩根信號線電平為低!

鑒于此,我們還得分成兩種情況來看。一是如果這兩個I/O 口被配置為輸入口,那么它是沒問題的,不會產生電流;另一種情況是,它仍然為I2C功能的開漏輸出口,那么這種情況下將會產生漏電流。所以,需要對代碼進行檢查。

從電路圖上來看,MCU 的I2C 接口,SCL 和SDA 兩條線直接連接到外部器件,沒有上拉電阻。所以,先檢查I/O配置,這兩個口被配置為具有內部上拉的復用開漏功能模式使用了內部上拉電阻,這是正確的配置,沒問題。但是,我們發現客戶在進入STOP2模式之前并沒有對這兩個口的配置進行調整,也就是說,它們仍然帶著內部上拉電阻并保持I2C 功能的開漏輸出結構。

我們知道,如果I2C 是在空閑狀態下進入STOP2 模式,按道理,它們應該是保持在高電平。為什么兩個引腳都是低電平呢?再檢查用戶代碼,發現代碼中將數據寫入I2C 進行發送后,就直接進入STOP2 模式了。

問題來了,如果進入STOP2 模式的時間點上,數據還在發送過程中,此時,若SCL和SDA 都處于低電平的情況下,I2C 外設時鐘停止,SCL 和SDA 的狀態將被鎖定在輸出低電平狀態上。我們使用示波器對此情況進行測試,發現確實如此,在進入STOP2模式時,I2C 數據還在發送;處于STOP2 模式中,SCL 和SDA 保持為輸出低電平;從STOP2模式喚醒后,I2C 繼續把剩下的bits 發完。

來看一下此時SCL和SDA 的I/O 配置結構圖:

STM32L4進入STOP2模式后的漏電問題的分析及解決

到此,這個問題基本就理清楚了:當I2C 在工作時,并在SCL 線和SDA 線上發送低電平時,N-MOS 被打開,電流從VDDIOx 經過上拉電阻流入I/O 口內部,經過N-MOS 流入VSS。若此時進入STOP2 模式,由于Vcore 域的所有時鐘停止,導致I2C 外設時鐘停止,那么此I/O 狀態被保持,將導致在STOP 2 模式下電流持續產生。

STM32L476 的內部上拉電阻為25~55kΩ,標稱值為40 kΩ ,3V 的工作電壓,兩個I/O 的上的電流大約是3V/40 kΩ * 2=150uA
因為內部上拉電阻并非剛好40 kΩ,所以我們測得到179.6uA就是相當地正常了。

3.問題解決

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

STM32L4進入STOP2模式后的漏電問題的分析及解決

意思是說:所有在STOP2 模式下不能使用的外設,在進入STOP2模式之前,必須在其外設本身清除相應的使能位來進行禁用,或者通過設置相應的位將其恢復到復位狀態。

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

結論

由于在進入STOP2 模式之前沒有對I2C 進行復位及I/O 口處理,導致在STOP2 模式中產生了漏電流。

處理

在進入STOP2 模式下,請確保所有不相關的外設都已經被正確復位或禁用,并配置I/O口為相應的正確結構。此種情況還容易發生在使用操作系統的應用中,因為多個任務的調度很容易讓使用者在進入STOP2模式時忘記對所有的外設進行檢測。所以,在進入STOP2 模式前,請檢查一下其他任務的工作情況,是否還有外設在傳輸數據還沒傳輸完,是的話需要等待其結束,確保所有數據傳輸完成后,對外設進行復位或禁用,再進入STOP2模式。

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

    關注

    146

    文章

    17984

    瀏覽量

    366923
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4520

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

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

    STM32U5 IWDG的提前喚醒中斷無法在STOP模式下觸發怎么解決?

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運行模式下測試提前喚醒中斷正常觸發,但在進入STOP2模式
    發表于 04-27 08:05

    STM32U5 IWDG的提前喚醒中斷無法在STOP模式下觸發怎么解決?

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運行模式下測試提前喚醒中斷正常觸發,但在進入STOP2模式
    發表于 04-24 07:50

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

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

    STM32U5 IWDG的提前喚醒中斷無法在STOP模式下觸發怎么解決?

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運行模式下測試提前喚醒中斷正常觸發,但在進入STOP2模式
    發表于 04-22 08:14

    STM32F072無法清除EXTI4_15_IRQn pending標志,導致無法進入stop模式,怎么解決?

    開發環境:STM32F072RBT6+stm32cubemx+freertos 問題描述: 1。 開始發現進入STOP模式失敗,在調用HAL_PWR_EnterSTOPMode前通過發
    發表于 03-13 07:56

    STM32U5退出stop2模式進入HardFault_Handler如何解決?

    主循環每兩秒修改stopFlag為1,進入stop2模式,外部中斷(lis2ds12的6d檢測)喚醒并修改stopFlag為0; 不連接stlink時,退出
    發表于 03-13 06:12

    STM32L431進入STOP1模式ADC產生多余功耗怎么解決?

    我使用STM32L431進入STOP1模式,原始功耗為53uA。在進入停止模式之前,我調用HAL
    發表于 03-12 06:47

    請問stm32u073如何進入STOP2模式

    (PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); 我測量發現有100uA左右的電流。這個應該是在STOP1模式。但是我查了庫文件定義。沒有找到關于STOP1和
    發表于 03-12 06:38

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

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

    APM32F10xx進入低功耗模式的問題分析

    調用PMU_EnterSTOPMode庫函數,用WFE內核指令進入STOP模式是存在問題的,經查驗解決了問題,于是在此進行了內容記錄。
    的頭像 發表于 10-18 16:13 ?840次閱讀
    APM32F10xx<b class='flag-5'>進入</b>低功耗<b class='flag-5'>模式</b>的問題<b class='flag-5'>分析</b>

    STM32U575為什么無法通過LPTIM3將MCU從STOP2模式喚醒?

    客戶在 STM32U575 的研發過程中發現了一個奇怪的問題,無法通過 LPTIM3 將MCU 從 STOP2 模式喚醒。
    發表于 09-27 07:22

    STM32U5退出stop2模式進入HardFault_Hand的原因?

    主循環每兩秒修改stopFlag為1,進入stop2模式,外部中斷(lis2ds12的6d檢測)喚醒并修改stopFlag為0; 不連接stlink時,退出
    發表于 07-24 06:25

    STOP2模式下對數據的采集和LPDMA搬運,為什么無法實現LPDMA搬運半滿和全滿中斷退出?

    現在實現了在STOP2 模式下對數據的采集和LPDMA搬運,但是無法實現LPDMA搬運半滿和全滿中斷退出,整個LPBAM 用的LPDMA1 的通道1,ADC用的是 通道0,均開啟DMA中斷但是通道0 沒有觸發中斷,通道1 有半/全傳輸中斷。
    發表于 07-24 06:14
    主站蜘蛛池模板: 色婷五月综激情亚洲综合 | 国模龙园园私拍337p | 精品亚洲午夜久久久久 | 婷婷网五月天天综合天天爱 | 丁香六月婷婷精品免费观看 | 最新仑乱免费视频 | 天天做天天爱天天操 | 精品午夜久久福利大片免费 | 日韩在线视频免费观看 | 日本68xxxxxxxxx59| 日本黄色大片在线观看 | 污色网站| 久久精品成人免费网站 | 夜夜操天天操 | 成人久久久精品乱码一区二区三区 | 国产精品色婷婷在线观看 | 色91视频 | 日本人爽p大片免费看 | www.欧美.com | 天天天天天天操 | 国产一级毛片午夜福 | 4480yy私人午夜a级国产 | 欧美色婷婷天堂网站 | 国产黄色三级网站 | 日本成人小视频 | 日韩一级片在线 | 国产精品国产三级国产普通话对白 | 综合伊人久久 | 西西人体大胆高清啪啪欧洲 | 国产精品国产三级国快看 | 国内精品免费视频自在线 | 手机在线完整视频免费观看 | 亚洲一区二区三区电影 | 亚洲韩国在线一卡二卡 | 91免费视频网 | 国产成人永久免费视频 | 五月天男人的天堂 | 激情综合五月亚洲婷婷 | 六月综合网| 美女自熨出白浆视频在线播放 | 在线观看视频高清视频 |