chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

時鐘失效后STM32還能運(yùn)行是什么情況

GReq_mcu168 ? 來源:STM32單片機(jī) ? 作者:stmcu ? 2021-10-29 17:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

調(diào)研:

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

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

從 STM32F103VD 的數(shù)據(jù)手冊中查找 PLL 相關(guān)的參數(shù)如表(一):

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

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

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

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

結(jié)論:

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

處理:

對軟件做如下修改:

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

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

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

建議:

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

責(zé)任編輯:haq

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

    關(guān)注

    2293

    文章

    11031

    瀏覽量

    364431
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1896

    瀏覽量

    133162

原文標(biāo)題:時鐘失效之后,STM32還能運(yùn)行?

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    連接器會失效情況分析?

    連接器失效可能由電氣、機(jī)械、環(huán)境、材料、設(shè)計、使用不當(dāng)或壽命到期等多種原因引起。通過電氣、機(jī)械、外觀和功能測試,可以判斷連接器是否失效。如遇到失效情況需要及時更新,保證工序的正常進(jìn)行
    的頭像 發(fā)表于 06-27 17:00 ?112次閱讀

    訓(xùn)練完模型后用cls_video.py在canmvIDE上運(yùn)行,按著步驟操作但是攝像頭沒有識別到是什么情況?

    訓(xùn)練完模型后用cls_video.py在canmvIDE上運(yùn)行,按著步驟操作但是攝像頭沒有識別到是什么情況啊,沒有框出現(xiàn)
    發(fā)表于 06-10 06:57

    軸承損壞導(dǎo)軌還能用嗎?

    軸承損壞導(dǎo)軌還能用嗎?
    的頭像 發(fā)表于 04-03 17:52 ?317次閱讀
    軸承損壞<b class='flag-5'>后</b>導(dǎo)軌<b class='flag-5'>還能</b>用嗎?

    STM32H750更改時鐘,程序無法運(yùn)行怎么解決?

    各位大佬,我想請教一個問題: 為了驗證H750主時鐘頻率和功耗的關(guān)系: 用STM32CUBEMX配置STM32H750VBT6的主時鐘為:100MHz,程序可以正常
    發(fā)表于 03-12 06:38

    stm32h750vbt6設(shè)置了LSE,裝載RESET失效了怎么解決?

    stm32h750vbt6設(shè)置了LSE,裝載RESET失效
    發(fā)表于 03-07 15:16

    stm32f105rct6把usb插在電腦上,然后再上電,模擬u盤內(nèi)的文件就會缺失,這個是什么情況呢?

    請問一下各位大佬,我使用stm32f105rct6,用USB文件系統(tǒng),先上電,再插上USB,模擬U盤內(nèi)的.csv文件數(shù)量是正確的。但是,我先把usb插在電腦上,然后再上電,模擬u盤內(nèi)的文件就會缺失,請問一下這個是什么情況
    發(fā)表于 03-07 07:57

    ADS5474模數(shù)轉(zhuǎn)換器的VCM和VREF引腳在什么情況下使用?

    是什么?在什么情況下使用?文檔上有張圖表明兩個時鐘引腳在內(nèi)部通過兩個1000歐電阻接到2.4V電壓,這個2.4V是不是就是VREF? 此外,信號輸入規(guī)定是2.2VPP,共模電壓設(shè)置為3.1V或是0V是不是都行?
    發(fā)表于 01-13 08:04

    ADS1278數(shù)據(jù)輸出引腳Dout1有脈沖輸出是什么情況?

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

    ADS1271使用不當(dāng)會不會出現(xiàn)采樣率的主時鐘不是這個對應(yīng)關(guān)系的情況?

    ADS1271在MODE浮空的情況下采樣率Wie主時鐘的512分之一,即fs=fclk/512,如果使用不當(dāng),會不會出現(xiàn)采樣率的主時鐘不是這個對應(yīng)關(guān)系的情況,例如當(dāng)fclk=1024
    發(fā)表于 12-20 08:24

    ADS7254什么情況下SDO_A會始終呈高電平呢?

    當(dāng)我向ADS7254發(fā)送寫CFR寄存器命令(0X824),再發(fā)送讀CFR寄存器命令(0X300),SDO_A始終返回高電平,而SDO_B任然進(jìn)行正常采樣的數(shù)據(jù)返回(0X409)。請問為什么或者什么情況下SDO_A會始終呈高電平呢?
    發(fā)表于 11-18 07:55

    OPA1612諧波失真高達(dá)3.8%是什么情況?

    官網(wǎng)下載OPA1612的參考設(shè)計,是個反向放大器,在修改輸入電壓為2v,默認(rèn)1Khz,修改負(fù)載電容2p,增加負(fù)載電阻,其他什么都沒改,諧波失真竟然高達(dá)3.8%??? 改為正向放大,失真看起來就正常了,這是個什么情況??是模型有問題還是我哪里沒做對??如果我需要反向放大器怎么辦??
    發(fā)表于 10-15 07:29

    電源的等效變換法分別適用于什么情況

    電源的等效變換法是電路分析中常用的方法,它指的是將一個電源等效為另一個形式上不同的電源,但對外電路特性保持不變的方法。以下介紹電源的等效變換法分別適用于什么情況: 一、化簡電路 當(dāng)電路中存在多個電源
    的頭像 發(fā)表于 09-30 09:43 ?3899次閱讀

    MSP430F249TPMR出現(xiàn)高溫存儲失效了的情況,怎么解決?

    去年買了樣品MSP430F249TPMR,在客戶端出現(xiàn)高溫存儲失效了 客戶存儲環(huán)境如下: 1. 先是-20度存儲12小時,回常溫測試合格 2. 再做65度存儲12小時,回常溫
    發(fā)表于 09-27 08:03

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

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

    wifi_station_disconnect()在什么情況下會返回false?

    正常休眠,如果是在Station模式下,則調(diào)用無法返回而且整個程序運(yùn)行異常(但不會自動復(fù)位),無法正常休眠! 這個是SDK異常還是我使用方法或者代碼有問題? 另:wifi_station_disconnect()在什么情況下會返回false? SDK使用RTOS1.
    發(fā)表于 07-19 10:17