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

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

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

3天內不再提示

時鐘失效后STM32還能運行是什么情況

GReq_mcu168 ? 來源:STM32單片機 ? 作者:stmcu ? 2021-10-29 17:58 ? 次閱讀

該問題由某客戶提出,發生在 STM32F103VDT6 器件上。據其工程師講述:在其產品的設計中,STM32 的 HSE 外接 8MHz 的晶體產生振蕩,然后通過 STM32 內部的PLL 倍頻到 72MHz,作為 STM32 的系統時鐘驅動芯片工作。在 STM32 片外有專用的看門狗芯片,監控 STM32 的運行。STM32 內部的軟件會在 STM32 的某個管腳上產生脈沖來復位看門狗。一旦 STM32 沒有及時的產生脈沖來復位門狗,則看門狗會認為 STM32 運行不正常,從而復位 STM32。在對該產品做可靠性測試時,進行了對看門狗監控時鐘失效能力的測試。測試的方法是:將 HSE 外接的晶體的兩個端子接地,使其停止振蕩,從而驗證看門狗能否做出對 STM32 的做出復位動作。試驗結果表明,看門狗沒有產生復位動作。進一步測試發現,STM32 在失效情況下仍在向看門狗發送復位脈沖。詳解STM32時鐘的文章:詳解STM32的時鐘系統,收藏了。

調研:

重復測試,確認其所述現象屬實。檢查軟件代碼,確認其軟件沒有開啟 STM32 的 CSS功能。修改代碼,將 PLL 的二分頻從 STM32 的 MCO 管腳送出,以方便用示波器觀察。通過控制晶體的管腳是否接地來控制 HSE 是否振蕩。當 HSE 正常振蕩時,MCO 送出的信號頻率為 36MHz,當 HSE 停止振蕩時,MCO 送出的信號的頻率在 1.7MHz 附近,如圖(一)所示:

通過調試器觀察寄存器 RCC_CFGR 中的 SWS 控制控制位,其值為[10],說明此時的系統時鐘確實來自 PLL 的輸出。

從 STM32F103VD 的數據手冊中查找 PLL 相關的參數如表(一):

c8633fbe-389b-11ec-82a8-dac502259ad0.png

其中,PLL 的輸出頻率范圍是 16MHz – 72MHz。也就是說,PLL 在處于相位鎖定的狀態下,可以輸出 16MHz – 72MHz 的時鐘信號。而當輸入信號頻率過低而導致輸出信號頻率低于 16MHz 時,將可能處于失鎖的狀態。在這狀態下,它的輸出信號的頻率與輸入信號的頻率之間,不一定符合所設定的倍頻與分頻關系。更確切的說,不能通過公式:

c8d70d36-389b-11ec-82a8-dac502259ad0.png

得出“輸入信號頻率為零時,輸出信號頻率也為零”這樣的結論。這一點與實測的結果相吻合。

結論:

STM32 的 PLL 在沒有輸入信號的情況下,仍能維持在最低的頻點處振蕩,產生輸出。以至,CPU 及其它外設仍能在 PLL 送出的時鐘的驅動下運行。所以,通過判斷有無時鐘來驅動 CPU 執行指令的方式來判斷 HSE 是否失效是行不通的。

處理:

對軟件做如下修改:

1. 在軟件的初始化部分,開啟 STM32 的 CSS 功能;

2. 修改 NMI 中斷服務程序,加入 while(1) 陷阱語句;

開啟 CSS 功能后,當 HSE 失效時,STM32 會自動開啟 HSI,并將系統時鐘的來源切換到HSI 的輸出,同時產生 NMI 中斷。這樣,程序的流程將停留在 NMI 中而不能產生復位片外的看門狗的脈沖。當片外看門狗溢出后,就會復位 STM32,使其恢復到正常駐的狀。

建議:

STM32 中的 CSS 功能是專門為檢測和處理 HSE 失效而設計的。但該功能在 STM32 復位后是被禁止的,需要軟件對其使能才會發揮作用。當 CSS 單元檢測到 HSE 失效時,它會使能 HSI,并將系統時鐘切換到 HSI。同時,它會關閉 HSE,如果 PLL 的輸入信號來自 HSE的輸出,它也會關閉 PLL。CSS 單元在做時鐘調整的同時,也會產生一個 NMI 中斷請求,和一個送給高級定時器的剎車信號。NMI 中斷請求會產生一個 NMI 中斷,以便用戶程序可以在中斷服務程序中做緊急處理,而剎車信號則是使高級定時器進入剎車狀態,以防止由其控制的電機驅動橋臂由于失去控制而過流。用戶程序可以在 NMI 中斷服務程序中嘗試恢復 HSE 及 PLL 的功能,也可以使用陷阱讓程序的流程停留在服務程序中,從而等待看門狗復位整個系統。

責任編輯:haq

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

    關注

    2270

    文章

    10918

    瀏覽量

    356803
  • 時鐘
    +關注

    關注

    11

    文章

    1742

    瀏覽量

    131645

原文標題:時鐘失效之后,STM32還能運行?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ADS1278數據輸出引腳Dout1有脈沖輸出是什么情況

    ADS1278配置成SPI TDM模式,CLK時鐘24MHz,在SCLK沒給時鐘情況下,用示波器觀察Dout1管腳就不規則脈沖輸出,寬度大約6us,周期不定。另外DRDY有規律性脈沖輸出,寬度大約50ns,間隔60us,請問
    發表于 12-31 06:12

    STM32F030C8T6進入停止模式所有時鐘都停止了,為何SysTick還能工作?

    我在使用STM32F030C8T6,按照參考手冊的說法,在停止模式全部時鐘停止。沒有了時鐘,SysTick應該也不再工作,但實際上SysTick在停止模式還在工作。所以進入停止模式時要關閉
    發表于 07-23 06:52

    什么情況下wifi_set_opmode會失敗?

    我想知道在什么情況下wifi_set_opmode會失敗? 模塊運行一段時間,我從 STATION 模式切換到 STATION AP 時遇到問題,試圖調試原因。 為我打開模塊電源
    發表于 07-12 06:44

    AD7686有模擬電壓轉換結果為零是什么情況造成的?

    AD7686模擬電壓轉換結果不對,SCK有時鐘與SDO輸出,但SDO輸出的結果都是低電平 這是什么情況造成的?謝謝
    發表于 05-17 16:30

    stm8液晶顯示在斷電重啟消失是什么情況

    請問,stm8液晶顯示在斷電重啟消失,是什么情況
    發表于 05-13 08:07

    stm32f0待機模式用rtc鬧鐘喚醒,第二次喚醒沒辦法進入睡眠什么情況

    stm32f0待機模式用rtc鬧鐘喚醒問題,第一次正常,可以進入睡眠,第二次喚醒重啟執行 PWR_EnterSTANDBYMode();就直接重啟了,沒辦法進入睡眠什么情況
    發表于 04-28 07:12

    STM8L052芯片在停機halt模式下RTC還能夠正常運行嗎?

    問題:STM8L052芯片在停機halt模式下RTC還能夠正常運行嗎?現在的情況運行狀態RTC時鐘運行
    發表于 04-17 07:13

    STM32F030C8T6進入停止模式所有時鐘都停止了,為何SysTick還能工作?

    我在使用STM32F030C8T6,按照參考手冊的說法,在停止模式全部時鐘停止。沒有了時鐘,SysTick應該也不再工作,但實際上SysTick在停止模式還在工作。所以進入停止模式時要關閉
    發表于 04-16 07:22

    STM32F103RET6外部復位引腳,無法復位是什么情況

    STM32F103RET6 外部復位引腳,無法復位,是什么情況? P.S.復位電路沒有問題,可正常輸出復位信號
    發表于 03-28 09:13

    stm32f429自帶網口運行一段時間,出現DMA的ETH_IRQHandler接收中斷進不去的原因?

    stm32f429自帶網口運行一段時間,出現DMA的ETH_IRQHandler接收中斷進不去,但ethertnet_DMA的接收寄存器(DMACHRBAR)一直在增加,發送正常,這個可能是
    發表于 03-20 06:49

    stm32進入stop模式,為什么uart還能觸發中斷并喚醒stm32呢?

    我的理解是stm32進入stop模式,外設時鐘都停掉了,比如uart的時鐘,也就是說uart無法收數據了,為什么uart還能觸發中斷并喚醒
    發表于 03-15 08:16

    STM32F429ZGT6在調試中程序首先運行HAL_Init函數,單片機會自動復位,請問是什么情況

    STM32F429ZGT6在調試中程序首先運行HAL_Init函數,在這個函數里面對嘀嗒定時器進行初始化,在使能定時器的中斷時,單片機會自動復位,請問是什么情況
    發表于 03-12 08:24

    Stm32斷電無法正常運行的原因?怎么解決?

    自己設計的STM32板子剛開始可以燒錄代碼運行舵機,然后斷電再供電就沒反應了,再次燒錄也不行,但是燒錄LED燈的代碼,燈可以正常閃爍,請這種情況怎么辦?
    發表于 03-12 06:42

    ad5700輸出的Hart信號耦合到ad5421的Cin腳之后,輸出幅值降低是什么情況

    ad5700輸出的Hart信號耦合到ad5421的Cin腳之后,輸出幅值降低是什么情況
    發表于 03-04 08:25

    什么情況下電容器會被擊穿

    電容器是一種常見的電子元件,廣泛應用于各個領域。然而,在特定條件下,電容器可能會發生擊穿現象,導致其無法正常工作甚至損壞。那么,在什么情況下電容器會被擊穿呢?
    的頭像 發表于 02-19 14:11 ?2876次閱讀
    主站蜘蛛池模板: 丁香婷婷激情五月| 88xx成人永久免费观看| 午夜免费剧场| 国模小丫大尺度啪啪人体| 中文字幕一区二区三区精品| 好大好紧好爽好湿润视频| 在线观看视频一区二区三区| 国产黄mmd在线观看免费| 午夜短视频| 高清一级做a爱视频免费| 日韩精品一级a毛片| 欧洲成品大片在线播放| 香蕉视频在线观看黄| 性欧美在线| 日本xxxxx黄区免费看动漫| 亚洲v视频| 日本一区二区精品88| 色综合久久网| 月夜免费观看完整视频| 亚1州区2区3区4区产品乱码| 国产亚洲精品美女久久久| 天天干 夜夜操| 九色九色九色在线综合888| 午夜 dy888理论久久| 69老司机亚洲精品一区| 成人午夜大片免费7777| 久久精品国产精品亚洲婷婷| 午夜看片福利| 免费看你懂的| 一级片免费在线观看| 国产又大又黄又粗又爽| 亚洲一区二区三区免费观看| 亚洲欧美日韩色图| 亚洲欧美日韩在线精品2021| 色噜噜中文网| 日本一区二区三区四区不卡| 黄色美女网址| 丁香婷婷在线观看| 人人艹人人插| 一区二区视频网| 特级毛片aaaa免费观看|