日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

STM32單片機(jī) ? 來源:未知 ? 2023-07-24 18:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

目錄預(yù)覽

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

1. 引言

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

2.問題描述

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

3. 問題重現(xiàn)

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

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

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

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

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

圖1 模擬ACC掉電喚醒程序

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

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

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

反復(fù)分析我們可以看到,在進(jìn)入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ù)震蕩,因此判定此時并非進(jìn)入低功耗模式。利用IAR編譯器以HOT PLUG的方式連接調(diào)試與觀測。

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

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

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

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

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

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

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

4.小結(jié)

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

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

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

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

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

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

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

更多資訊,盡在STM32

點(diǎn)擊“閱讀原文”,可下載原文檔


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

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


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

    關(guān)注

    6078

    文章

    45599

    瀏覽量

    674167
  • STM32
    +關(guān)注

    關(guān)注

    2313

    文章

    11196

    瀏覽量

    374791

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    一種可跨不同領(lǐng)域的異常檢測通用模型UniOD介紹

    本研究提出了一種可跨不同領(lǐng)域、適用于特征維度各異且特征空間異構(gòu)的數(shù)據(jù)集的異常檢測通用模型。
    的頭像 發(fā)表于 03-18 09:09 ?586次閱讀
    <b class='flag-5'>一種</b>可跨不同領(lǐng)域的<b class='flag-5'>異常</b>檢測通用模型UniOD介紹

    LAT1185+個地址未對齊引起的 HardFault 異常應(yīng)用筆記

    客戶在使用 STM32G070 的時候,KEIL MDK 為編譯工具,當(dāng)編譯優(yōu)化選項(xiàng)設(shè)置為Level0 的時候,程序會出現(xiàn) Hard Fault 異常,而當(dāng)編譯優(yōu)化選項(xiàng)設(shè)置為 Level1 的時候
    發(fā)表于 01-11 17:28 ?0次下載

    信道活躍檢測(CAD)是一種無線喚醒技術(shù),這個功能般是定時檢測么?還是直檢測?

    信道活躍檢測(CAD)是一種無線喚醒技術(shù),這個功能般是定時檢測么?還是直檢測?
    發(fā)表于 12-10 06:53

    MCU典型的睡眠喚醒時間delay的概念

    CPU系統(tǒng)有兩典型的低功耗模式:一種是睡眠模式,另一種是空閑模式。它們都可以通過執(zhí)行相應(yīng)的指令而進(jìn)入。對于睡眠模式,般來說系統(tǒng)會停止系統(tǒng)時鐘的運(yùn)行及所有代碼指令的運(yùn)行,以及大多數(shù)外
    發(fā)表于 11-25 08:03

    AT32F系列 PWC待機(jī)喚醒喚醒Standby

    、WDT復(fù)位均能將Standby模式喚醒。 注:本應(yīng)用筆記對應(yīng)的代碼是基于雅特力提供的V2.x.x 板級支持包(BSP)而開發(fā),對于其他版本BSP,需要注意使用上的區(qū)別。 支持型號: AT32F
    發(fā)表于 11-05 14:08

    AT32F系列 PWC USART接收喚醒SLEEP

    SLEEP模式喚醒。 注:本應(yīng)用筆記對應(yīng)的代碼是基于雅特力提供的V2.x.x 板級支持包(BSP)而開發(fā),對于其他版本BSP,需要注意使用上的區(qū)別。 支持型號: AT32F 系列 主要使用外設(shè): PWC
    發(fā)表于 11-05 14:06

    UPS電源市電供電異常全解析:從現(xiàn)象到解決方案的實(shí)用指南

    在數(shù)字化時代,UPS(不間斷電源)已成為保障關(guān)鍵設(shè)備穩(wěn)定運(yùn)行的核心裝備。然而,當(dāng)市電供電出現(xiàn)異常時,UPS可能發(fā)出告警或無法正常工作,給用戶帶來困擾。本文將系統(tǒng)梳理UPS在市電供電時的常見異常現(xiàn)象
    的頭像 發(fā)表于 10-14 14:09 ?2044次閱讀
    UPS電源市電供電<b class='flag-5'>異常</b>全解析:從<b class='flag-5'>現(xiàn)象</b>到解決方案的實(shí)用指南

    設(shè)備運(yùn)行狀態(tài)出現(xiàn)異常,如何確定是電源紋波超標(biāo)導(dǎo)致的

    的關(guān)聯(lián)性→量化紋波影響 ” 的閉環(huán)邏輯,建立 “紋波變化” 與 “異?,F(xiàn)象” 的因果關(guān)系。以下是可落地的具體步驟,覆蓋無專業(yè)儀器的日常場景和需精準(zhǔn)驗(yàn)證的專業(yè)場景: 、第步:排除 “非紋波因素”,縮小懷疑范圍 電源紋波超標(biāo)的
    的頭像 發(fā)表于 09-23 11:09 ?939次閱讀
    設(shè)備運(yùn)行狀態(tài)出現(xiàn)<b class='flag-5'>異常</b>,如何確定是電源紋波超標(biāo)導(dǎo)致的

    光模塊安裝使用異常全解析:從現(xiàn)象到解決方案的完整指南

    光模塊作為光通信系統(tǒng)的核心組件,其安裝與使用的規(guī)范性直接影響網(wǎng)絡(luò)穩(wěn)定性。本文系統(tǒng)梳理了光模塊安裝過程中的常見異?,F(xiàn)象,結(jié)合硬件原理與實(shí)操經(jīng)驗(yàn),提供分步驟解決方案,并附 關(guān)鍵注意事項(xiàng),助力工程師高效排查故障。
    的頭像 發(fā)表于 08-28 15:39 ?1397次閱讀
    光模塊安裝使用<b class='flag-5'>異常</b>全解析:從<b class='flag-5'>現(xiàn)象</b>到解決方案的完整指南

    判斷伺服行星減速機(jī)出現(xiàn)噪音的異常

    伺服行星減速機(jī)出現(xiàn)噪音通常被視為一種異?,F(xiàn)象,這種噪音可能會影響設(shè)備的正常運(yùn)行,甚至對工作環(huán)境和操作人員的健康造成不良影響。以下是對伺服行星減速機(jī)出現(xiàn)噪音異常的判斷及可能原因的分析
    的頭像 發(fā)表于 07-31 18:16 ?1237次閱讀
    判斷伺服行星減速機(jī)出現(xiàn)噪音的<b class='flag-5'>異常</b>

    CAN總線傳播延遲過大導(dǎo)致通信異?,F(xiàn)象解析

    本文導(dǎo)讀在CAN總線系統(tǒng)中,傳播延遲過大是引發(fā)通信故障的關(guān)鍵誘因之,可能會導(dǎo)致仲裁異常,使優(yōu)先級高的信號無法正常優(yōu)先傳輸,破壞通信秩序;可能會造成應(yīng)答錯誤,使發(fā)送節(jié)點(diǎn)難以在應(yīng)答隙內(nèi)接收到有效
    的頭像 發(fā)表于 07-15 11:47 ?1207次閱讀
    CAN總線傳播延遲過大導(dǎo)致通信<b class='flag-5'>異?,F(xiàn)象</b>解析

    某車聯(lián)網(wǎng)終端有時無法短信喚醒的故障分析

    某車企反饋車載物聯(lián)網(wǎng)終端4G下有時無法接收短信,導(dǎo)致車輛無法喚醒。查詢短信中心記錄,下發(fā)失敗原因有時是“用戶不在服務(wù)區(qū)”,有時是“用戶關(guān)機(jī)”。實(shí)際終端直保持開機(jī)狀態(tài)。
    的頭像 發(fā)表于 07-14 10:39 ?925次閱讀
    某車聯(lián)網(wǎng)終端有時<b class='flag-5'>無法</b>短信<b class='flag-5'>喚醒</b>的故障<b class='flag-5'>分析</b>

    求助,關(guān)于TLE9893 從stop模式喚醒問題求解

    。 另一種是用MON1(5v/3.3v --> 0v)下降沿,能喚醒,但會復(fù)位,導(dǎo)致這期間外部發(fā)來的UART數(shù)據(jù)無法接收。通過查看寄存器 RESET_STS,發(fā)現(xiàn)退出STOP位置1
    發(fā)表于 07-14 07:39

    【案例3.9】電路板無法啟動的故障分析

    【案例3.9】電路板無法啟動的故障分析現(xiàn)象描述】某設(shè)計(jì),CPU以菊花鏈的方式接兩片F(xiàn)lash存儲器,CPU的引導(dǎo)程序存儲在Flash存儲器中,兩片F(xiàn)lash存儲器互為冗余備份。上電測試發(fā)現(xiàn),多塊
    的頭像 發(fā)表于 06-07 09:04 ?949次閱讀
    【案例3.9】電路板<b class='flag-5'>無法</b>啟動的故障<b class='flag-5'>分析</b>

    GPDV6624C應(yīng)用筆記1.0版

    電子發(fā)燒友網(wǎng)站提供《GPDV6624C應(yīng)用筆記1.0版.pdf》資料免費(fèi)下載
    發(fā)表于 06-06 17:20 ?0次下載
    凤城市| 三台县| 涪陵区| 电白县| 新闻| 三河市| 孝感市| 公安县| 屏南县| 崇阳县| 鹤庆县| 枣强县| 泰安市| 靖安县| 南靖县| 紫金县| 津市市| 左云县| 莎车县| 吉木萨尔县| 昭苏县| 荥经县| 望城县| 刚察县| 伊宁县| 闵行区| 义马市| 葫芦岛市| 潞西市| 太仆寺旗| 田东县| 东乌| 航空| 沈阳市| 故城县| 澎湖县| 宁乡县| 黔西| 金乡县| 东辽县| 新兴县|