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

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

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

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

應(yīng)用筆記 | 看似無法喚醒的一種異常現(xiàn)象分析

STM32單片機 ? 來源:未知 ? 2023-07-24 18:45 ? 次閱讀

關(guān)鍵字:MPU, SubRegion

目錄預(yù)覽

1 引言2 問題描述3 問題重現(xiàn)4 小結(jié)

1. 引言

STM32 G0 系列產(chǎn)品具有豐富的外設(shè)和強大的處理性能以及良好的低功耗特性,被廣泛用于各類工業(yè)產(chǎn)品中,包括一些需要低功耗需求的應(yīng)用。

2.問題描述

用戶使用STM32G0B1 作為汽車多媒體音響控制器控制芯片,用來作為收音機頻道存貯和各種檢測控制。在實驗室條件下模擬汽車頻繁打火的情形進行測試,連續(xù)工作72 小時實驗中,進入STOP 模式后,會出現(xiàn)無法再繼續(xù)運行的情況(屏幕沒有顯示輸出,外部中斷無反應(yīng))。

3. 問題重現(xiàn)

通常調(diào)查問題時采取調(diào)試監(jiān)控的方式。但是用戶產(chǎn)品是在檢測外部掉電時,測外部電壓(汽ACC 電源,轎車12V)下降后,立刻進入低功耗模式,然后通過RTC 和外部中斷(PC13 下降沿觸發(fā)即汽車打火上電)喚醒MCU 繼續(xù)工作。

那么既然是已經(jīng)進入低功耗模式,并且在幾十個小時內(nèi)才會出現(xiàn)故障,通常的用ST-LINK 在線調(diào)試方式顯然很困難重現(xiàn)問題,即使幸運的遇到了故障,也很容易錯過引起故障的代碼部分,看到了現(xiàn)象卻無法定位。

在此種情況下,正面分析出問題的可能性極小,況且用戶代碼量超過200k。這時候采用排除法不失為一種可行的辦法。通過增加測試樣本數(shù)量,進行并行測試提高定位效率。

圖1 是為了方便說明問題,模擬用戶關(guān)鍵程序。主要是進入STOP 前后外設(shè)的處理,來復(fù)現(xiàn)故障現(xiàn)象。

15e90e7e-2a0f-11ee-a368-dac502259ad0.png

圖1 模擬ACC掉電喚醒程序

在經(jīng)過一段時間的實驗,并從增加和減少該段代碼的排除中,最后驗證并定位到下面的代碼引起故障發(fā)生。

1601bdd4-2a0f-11ee-a368-dac502259ad0.png

圖2 定位到引起的故障代碼

反復(fù)分析我們可以看到,在進入STOP前,用戶需要停止ADCDMA。但是在停止DMA時,用戶程序直接停掉DMA的時鐘。從函數(shù)名稱上看,是從其他軟件直接搬過來,并且誤以為是DMA的默認(rèn)初始化動作。

16112274-2a0f-11ee-a368-dac502259ad0.png

圖3 DMA正確的停止方式

查詢參考手冊,停止循環(huán)模式的DMA應(yīng)該從外設(shè)停止開始,而不是簡單粗暴的停止DMA時鐘。而且,在程序順序上客戶是先停止了DMA的時鐘然后才去停止ADC的DMA請求。顯然,當(dāng)DMA開始工作時,突然停止時鐘會使DMA和總線處于一個不確定階段狀態(tài),因此才有極低概率發(fā)生喚醒故障。

到此已經(jīng)找到了發(fā)生的原因,按說應(yīng)該找到了前因后果。但奇怪的是無意中發(fā)現(xiàn)振蕩器的波形比較奇怪,并不符合低功耗模式。

166c9672-2a0f-11ee-a368-dac502259ad0.png

圖 4 外部振蕩器HSE 波形

在發(fā)生故障狀態(tài)時發(fā)現(xiàn)外部震蕩器還在持續(xù)震蕩,因此判定此時并非進入低功耗模式。利用IAR編譯器以HOT PLUG的方式連接調(diào)試與觀測。

通過調(diào)試界面可以看到,代碼會不停的進入DMA中斷。

16dcfe76-2a0f-11ee-a368-dac502259ad0.png

圖5 故障模式下的調(diào)試

172f9474-2a0f-11ee-a368-dac502259ad0.png

圖6 代碼進入循環(huán)過程

奇怪的是每次并沒有看到DMA的寄存器內(nèi)容,原因是已經(jīng)關(guān)閉了DMA外設(shè)的時鐘。所以無法看到任何狀態(tài)標(biāo)志。退出中斷時在C語言下就無法單步調(diào)試了。切換到匯編界面下,可以看到代碼可以繼續(xù)運行到系統(tǒng)時鐘配置函數(shù),但是在配置函數(shù)中的除法部分進入了循環(huán),然后又發(fā)生了DMA中斷,并且循環(huán)沒有出來。

顯然,正常的調(diào)試手段已顯示出邏輯的不正常。

4.小結(jié)

至此,情況已經(jīng)明了。由于軟件在進入低功耗前試圖關(guān)閉ADC加DMA工作,沒有按照手冊的規(guī)范,通過外設(shè)停止的方式關(guān)閉,而是簡單粗暴的關(guān)閉DMA時鐘,導(dǎo)致總線和運行邏輯出錯,無法繼續(xù)執(zhí)行。

外部看起來像是進入低功耗模式后,外部中斷觸發(fā)沒有執(zhí)行,芯片沒有喚醒,實際上是DMA進入了不正常的循環(huán)中斷方式導(dǎo)致了系統(tǒng)卡在循環(huán)代碼下。

芯片的外設(shè)功能強大,每種外設(shè)運行的方式也不相同,因此停止外設(shè)時需根據(jù)外設(shè)特點以及參考手冊的建議來實施,切不可按自己想象的方式執(zhí)行,這樣引起隱蔽的偶發(fā)故障就很難去定位解決了。

此外ST已經(jīng)建立好完整強大的生態(tài)系統(tǒng),按照cube 軟件庫的規(guī)范編寫調(diào)用驅(qū)動函數(shù)可以避免少走類似的彎路。

完整內(nèi)容請點擊“閱讀原文”下載原文檔。

175cb7b0-2a0f-11ee-a368-dac502259ad0.png

長按掃碼關(guān)注公眾號

更多資訊,盡在STM32

點擊“閱讀原文”,可下載原文檔


原文標(biāo)題:應(yīng)用筆記 | 看似無法喚醒的一種異常現(xiàn)象分析

文章出處:【微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    6061

    文章

    44875

    瀏覽量

    646161
  • STM32
    +關(guān)注

    關(guān)注

    2288

    文章

    10999

    瀏覽量

    362008

原文標(biāo)題:應(yīng)用筆記 | 看似無法喚醒的一種異常現(xiàn)象分析

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    555定時器設(shè)計異常現(xiàn)象

    課程需要搭建個555定時器電路,使用的eda工具是Cadence Spectre ic618,其中比較器和RS鎖存器以及其他邏輯電路均為cmos電路,而放電管為bjt,現(xiàn)在進行直流仿真后發(fā)現(xiàn)vdd
    發(fā)表于 04-12 00:25

    DLP9500顯示的圖像拉伸,并且有部分圖像無法顯示,是什么原因?qū)е逻@種異常現(xiàn)象呢?

    使用ILA抓取的數(shù)據(jù)是正確的。DMD顯示的圖像拉伸,并且有部分圖像無法顯示。是什么原因?qū)е逻@種異常現(xiàn)象呢?這是因為DLP9500的管腳設(shè)置錯誤還是軟排線呢?
    發(fā)表于 02-26 06:43

    電路異常現(xiàn)象及解決

    1 電路異常現(xiàn)象 這是面包板論壇看到的則帖子,帖主的問題主要是使用個網(wǎng)上借鑒的光耦串口隔離電路,結(jié)果實際調(diào)試發(fā)現(xiàn)根本通訊不上: ? 您是否已經(jīng)看到這個問題發(fā)生的原因了? ? 2 問題原因
    的頭像 發(fā)表于 02-07 10:10 ?397次閱讀
    電路<b class='flag-5'>異常現(xiàn)象</b>及解決

    CDK應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《CDK應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 16:17 ?0次下載
    CDK應(yīng)<b class='flag-5'>用筆記</b>

    ES32VF2264應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《ES32VF2264應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 16:14 ?0次下載
    ES32VF2264應(yīng)<b class='flag-5'>用筆記</b>

    ES7P0213應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《ES7P0213應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-16 15:26 ?0次下載
    ES7P0213應(yīng)<b class='flag-5'>用筆記</b>

    AT32F423 PWC應(yīng)用筆記

    電子發(fā)燒友網(wǎng)站提供《AT32F423 PWC應(yīng)用筆記.pdf》資料免費下載
    發(fā)表于 01-15 15:30 ?0次下載
    AT32F423 PWC應(yīng)<b class='flag-5'>用筆記</b>

    ADS7953做數(shù)據(jù)采集,系統(tǒng)在測試過程中發(fā)現(xiàn)偶爾會出現(xiàn)ADS7953沒有輸出的異常現(xiàn)象,為什么?

    我這邊使用了ADS7953做數(shù)據(jù)采集,般情況下工作是正常的,但是系統(tǒng)在測試過程中發(fā)現(xiàn)偶爾會出現(xiàn)ADS7953沒有輸出的異常現(xiàn)象,也就是該芯片的SDO輸出腳的輸出信號電平直是低,在出現(xiàn)該現(xiàn)
    發(fā)表于 12-31 07:48

    S32K3xxICU應(yīng)用筆記

    S32K3xxICU應(yīng)用筆記
    發(fā)表于 12-30 15:38 ?2次下載

    adc12d1800兩個通道采樣,Q路正常,I路異常,為什么?

    的,使用段時間后出現(xiàn)這個現(xiàn)象。 圖1是正常現(xiàn)象: 圖2是異常現(xiàn)象(紅色-DQ和DQD;藍(lán)色-DI;綠色-DID): 這是什么原因造成的?謝謝您的幫助!
    發(fā)表于 12-26 06:01

    使用DAC38RF84過程中出現(xiàn)復(fù)位腳異常現(xiàn)象,怎么解決?

    在使用DAC38RF84過程中出現(xiàn)復(fù)位腳異常現(xiàn)象。該復(fù)位腳外接1只阻值為1K的上拉電阻,上拉電阻另端與1.8V電壓相接。具體異常現(xiàn)象為:在DA芯片上電后用萬用表測量復(fù)位腳電壓,電壓值為0.3V
    發(fā)表于 12-16 08:41

    使用FPGA對ads6442進行控制采樣遇到的異常現(xiàn)象求解答

    個50KHZ,幅度為2V的正玄波進行采樣,但是采樣出現(xiàn)了異常現(xiàn)象,采集回來的波形如下圖,請問這個問題是什么導(dǎo)致的?是采樣模式設(shè)置問題,還是硬件電路問題? 期待您的解答。
    發(fā)表于 12-06 08:00

    ADS7853通道B讀到的電壓值偏大,確認(rèn)到通道B的參考電壓VREF異常了,為什么?

    ADS7853: 通道B內(nèi)部參考電壓異常,通道A正常,請幫忙分析 Part Number: ADS7853 異常現(xiàn)象 1.1、通道B讀到的電壓值偏大,確認(rèn)到通道B的參考電壓VRE
    發(fā)表于 09-26 07:42

    使用THS4531驅(qū)動ADC時,THS4531電路無法對信號進行放大的原因?

    和實際工作都能正常,但有時該THS4531 電路無法對信號進行放大,多次上電重啟都無法恢復(fù)。使用烙鐵對C4和C5加熱后,或者說用烙鐵焊下周圍的電路,信號就好了,但可以肯定的是外圍電路不存在虛焊等問題,該
    發(fā)表于 09-05 06:07

    SD NAND異常問題案例——文件系統(tǒng)篇

    近期,有用戶在使用SD NAND中出現(xiàn)芯片出現(xiàn)讀寫異常現(xiàn)象,我們工程師對出現(xiàn)異常的3片芯片進行分析,發(fā)現(xiàn)3片均能正常讀卡,里面的文件大多數(shù)可以正常讀取,個別顯示文件損壞,無法正常讀取,
    的頭像 發(fā)表于 06-14 09:48 ?813次閱讀
    SD NAND<b class='flag-5'>異常</b>問題案例——文件系統(tǒng)篇
    主站蜘蛛池模板: 欧美性色xo影院在线观看 | 欧洲不卡一卡2卡三卡4卡网站 | 狠狠色丁香婷婷综合 | 色视频在线 | 草草影院www色极品欧美 | 爱婷婷网站在线观看 | 91大神网址| 日日夜夜天天人人 | 狠狠操操| 亚洲国产精品久久久久婷婷软件 | 亚洲不卡视频在线 | 日韩一级片免费 | 一区二区三区四区无限乱码在线观看 | 久久精品国产99国产精品澳门 | 精品午夜视频 | 在线亚洲精品中文字幕美乳 | 天天摸天天躁天天添天天爽 | 久久免费精品高清麻豆 | 一级一黄在线观看视频免费 | 亚洲精品在线视频 | 手机福利视频 | 在线观看亚洲专3333 | 性国产精品 | 香港午夜理理伦_级毛片 | 狠狠五月深爱婷婷网免费 | 午夜影院h| 日本一视频一区视频二区 | 国产成人精品一区二区仙踪林 | 日韩电影天堂网 | ts国产 | tube69日本| 欧美一级做一a做片性视频 欧美一级做一级做片性十三 | 二级黄绝大片中国免费视频0 | 天堂资源中文官网 | 狼色在线视频 | 亚洲区 欧美区 | 国产精品免费观看网站 | 黄色福利小视频 | 一色屋免费视频 | 性 色 黄 一级 | 开心丁香婷婷深爱五月 |