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

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

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

單片機(jī)死機(jī)了該怎么辦?

GReq_mcu168 ? 來源:玩轉(zhuǎn)單片機(jī) ? 2020-05-07 14:58 ? 次閱讀

一、振蕩器停止振蕩

又可以分為電源電壓不穩(wěn),或者強(qiáng)干擾引起的振蕩器停振。

二、PC指針跑飛

電源電壓不穩(wěn)或強(qiáng)干擾引起PC跑飛,如果看門狗不好,也會(huì)引起死機(jī)。

三、

設(shè)計(jì)上對(duì)長(zhǎng)引出線的IO沒有保護(hù),靜電打在IO口上引起單片機(jī)死鎖,破壞了硬件邏輯功能,導(dǎo)致死機(jī)。

四、

復(fù)位收到干擾,引起反復(fù)復(fù)位,在反復(fù)復(fù)位當(dāng)中有可能會(huì)導(dǎo)致死機(jī)。

綜上所述:

設(shè)計(jì)電路時(shí),應(yīng)該注意:

1.電源穩(wěn)定

2.IO保護(hù)

3.振蕩器PCB布線要注意

4.復(fù)位電路設(shè)計(jì)和PCB布線

5.電源,信號(hào)線干擾路徑的保護(hù),加濾波TVS

6.高速信號(hào)輸出遠(yuǎn)離信號(hào)輸入端,如SPI總線,I2C總線布線要遠(yuǎn)離ADC,復(fù)位,時(shí)鐘等布線處,以及其他模擬前端。

一家之言,歡迎糾正

電源電壓的地不穩(wěn)定造成電源電壓瞬間負(fù)電壓導(dǎo)致單片機(jī)故障程序不發(fā)運(yùn)行。

我的理解:

1、“跑飛”是因?yàn)槌绦螂[患或外部干擾引起的誤動(dòng)作,致使PC被寫入“出界”數(shù)據(jù),跑到了RAM區(qū),或者跑到了FLASH的空白區(qū)。如果PC指向了RAM區(qū),哪情況就不好說了!因?yàn)槌绦蜃g碼器可能得到任意譯碼結(jié)果。如果PC指向了FLASH空白區(qū),則可以事先將所有FLASH空白區(qū)填入某個(gè)你想要的數(shù)據(jù),迫使程序譯碼器在這里翻譯出你想要的指令,從而進(jìn)行相應(yīng)的處理。在IAR Workbench中好象有在空白區(qū)填充數(shù)據(jù)的設(shè)置。

2、“死機(jī)”是指PC進(jìn)入了“死循環(huán)”,或者是MCLK等于近似為零的值。此時(shí),要想救活MCU,非外狗不可。

*程序運(yùn)行過程中,如果MCU電源出現(xiàn)問題(電源供電問題,或其它外部電路引起的電源擾動(dòng)),比較容易出現(xiàn)“跑飛”現(xiàn)象。程序跑飛應(yīng)該是PC出錯(cuò);軟件和硬件都可能出這樣的問題。

死機(jī)應(yīng)該是CPU根本沒有運(yùn)行,多是硬件方面的問題造成的,比如POR復(fù)位不成功,430比較容易出現(xiàn)掉電不完全后重新上電。有了看門狗就不會(huì)死機(jī)?

死機(jī)是指CPU的程序指針進(jìn)入一個(gè)死循環(huán),無法執(zhí)行正常的程序流程。其外在表現(xiàn)常常是:正常功能喪失,按鍵無響應(yīng),顯示凝固。單片機(jī)死機(jī)后,只有復(fù)全才能走出死循環(huán),執(zhí)行正常的程序流程。眾所屬知,克服死機(jī)的最有效手段是加看門狗(WatchDog)。

目前用得最廣泛的看門狗實(shí)際上是一個(gè)特殊的定時(shí)器DogTimer。DogTimer按固定速率計(jì)時(shí),計(jì)滿預(yù)定時(shí)間就發(fā)出溢出脈沖使單片機(jī)復(fù)位。如果每次在DogTimer溢出前強(qiáng)行讓DogTimer清零,就不會(huì)發(fā)出溢出脈沖。清零脈沖由CPU發(fā)出,在單片機(jī)程序中每隔一段語句放一個(gè)清DogTimer的語句--FeedDog語句,以保證程序正常運(yùn)行時(shí)DogTimer不會(huì)溢出。一旦程序進(jìn)入一個(gè)不含F(xiàn)eedDog語句的死循環(huán),DogTimer將溢出,導(dǎo)致單片機(jī)復(fù)位,跳出這個(gè)死循環(huán)。本文稱這種看門狗為典型看門狗,典型看門狗已被集成比,如MAX706、MAX791等[1];還有許多單片機(jī)本身集成了這種看門狗,如PIC16C57、MC68HC705等,

有一個(gè)錯(cuò)誤觀點(diǎn):加了看門狗,單片機(jī)就不會(huì)死機(jī)。實(shí)際上,看門狗有時(shí)間會(huì)完全失效。當(dāng)程序進(jìn)入某個(gè)死循環(huán),而這個(gè)死循環(huán)中又包含F(xiàn)eedDog語句,這時(shí)DogTimer始終不會(huì)溢出,單片機(jī)始終得不到復(fù)位信號(hào),程序也就始終跳不出這個(gè)死循環(huán)。針對(duì)這一弊端,筆者設(shè)計(jì)了雙對(duì)限看門狗和定時(shí)復(fù)位看門狗。

雙時(shí)限看門狗有兩個(gè)定時(shí)器;一個(gè)為短定時(shí)器,一個(gè)為長(zhǎng)定時(shí)器。短定時(shí)器定時(shí)為T1,長(zhǎng)定時(shí)器定時(shí)為T2,0

這樣,當(dāng)程序進(jìn)入某個(gè)死循環(huán),如果這個(gè)死循環(huán)包含短定時(shí)器FeedDog語句而不包含長(zhǎng)定時(shí)器FeedDog語句,那么長(zhǎng)定時(shí)順終將溢出,使單片機(jī)復(fù)位。巧妙安排長(zhǎng)定時(shí)器FeedDog語句的位置,可保證出現(xiàn)死機(jī)的概率根低。在水輪發(fā)電機(jī)組微機(jī)控制裝置中的對(duì)比應(yīng)用證明了這一點(diǎn)。

目前幾乎所有的看門狗都是依賴于CPU(依賴于CPU FeedDog)。這可以比作:一個(gè)保險(xiǎn)設(shè)備能否起到保險(xiǎn)作用還依賴于被它保護(hù)的對(duì)象的行為。顯然,依賴于CPU的看門狗是不能保證單片機(jī)在分之百不死機(jī)的。

在絕對(duì)不允許死機(jī)的裝置中,筆者設(shè)計(jì)了一種完全不依賴于CPU的看門狗--定時(shí)復(fù)位看門狗。定時(shí)復(fù)位看門狗的主體也是一個(gè)定時(shí)器,到預(yù)定時(shí)間就發(fā)出溢出脈沖,此溢出脈沖使單片機(jī)強(qiáng)行復(fù)位。定時(shí)復(fù)位看門狗不需要CPU FeedDog。

簡(jiǎn)言之,定時(shí)復(fù)位看門狗就是定時(shí)地讓單片機(jī)強(qiáng)行復(fù)位。這樣,即使裝置死機(jī),其最大死機(jī)時(shí)間也不會(huì)大于定時(shí)器定時(shí)時(shí)間。顯然,只要硬件完好,這種看門狗百分之百地保證了單片機(jī)不會(huì)長(zhǎng)時(shí)間死機(jī)。在智能電表(包括IC卡電能表、復(fù)費(fèi)率電能表、多功能電能表)中采用了定時(shí)復(fù)位看門狗,每1秒讓CPU強(qiáng)行復(fù)位,迄今數(shù)十萬電表運(yùn)行了近五年,無一例死機(jī)報(bào)告。

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

    關(guān)注

    6039

    文章

    44573

    瀏覽量

    636296
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17173

    瀏覽量

    351624
  • 振蕩器
    +關(guān)注

    關(guān)注

    28

    文章

    3837

    瀏覽量

    139157

原文標(biāo)題:?jiǎn)纹瑱C(jī)死機(jī)了,該怎么辦?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么原因會(huì)導(dǎo)致單片機(jī)系統(tǒng)死機(jī)

    ______________________________________ 什么原因會(huì)導(dǎo)致單片機(jī)系統(tǒng)死機(jī)
    發(fā)表于 10-16 22:32

    盛顯科技:投影融合處理器出現(xiàn)顏色失真或偏色,怎么辦?

    我們?cè)谑褂猛队叭诤咸幚砥鞯倪^程中,因種種原因,有時(shí)候會(huì)遇到出現(xiàn)顏色失真或偏色的情況。此種情況的出現(xiàn),會(huì)對(duì)視覺效果、信息傳遞和設(shè)備性能產(chǎn)生負(fù)面影響。因此,需要我們及時(shí)采取措施解決問題,以確保投影設(shè)備的正常運(yùn)行和良好的展示效果表現(xiàn)。那么您知道投影融合處理器出現(xiàn)顏色失真或偏色,怎么辦
    的頭像 發(fā)表于 07-31 17:09 ?287次閱讀
    盛顯科技:投影融合處理器出現(xiàn)顏色失真或偏色,<b class='flag-5'>該</b><b class='flag-5'>怎么辦</b>?

    大電流一體成型電感有噪音怎么辦

    電子發(fā)燒友網(wǎng)站提供《大電流一體成型電感有噪音怎么辦.docx》資料免費(fèi)下載
    發(fā)表于 07-30 12:30 ?0次下載

    普冉單片機(jī)PY32F003x6 的奇怪現(xiàn)象,請(qǐng)教大家。

    。經(jīng)檢查,發(fā)現(xiàn)時(shí)鐘芯片的中斷信號(hào)拉低了單片機(jī)的中斷腳不能喚醒單片機(jī),于是人為地產(chǎn)生拉低單片機(jī)的中斷腳也不能喚醒。我懷疑單片機(jī)死機(jī)
    發(fā)表于 06-26 10:56

    STM8單片機(jī)手一摸單片機(jī)死機(jī)是怎么回事?

    如題,STM8單片機(jī) 用手指一摸單片機(jī)死機(jī),有時(shí)還沒接觸到就死機(jī),關(guān)鍵我用的都是汽車級(jí)的S
    發(fā)表于 05-07 06:38

    stm8系列單片機(jī)在IAR環(huán)境下怎樣配置G口?

    stm8系列單片機(jī),在IAR環(huán)境下,怎樣配置G口? 例如:不小心把外斷的紅外接收或按鍵的引腳接到G口,比如STM8S105或207(48腳封裝的),P35、P36腳(PG0、PG1),但I(xiàn)AR的環(huán)境里沒有G口的設(shè)置,怎么辦?
    發(fā)表于 04-23 07:02

    stm8s003使用HAlt進(jìn)入了停止模式,單片機(jī)死機(jī)的原因?

    各位大俠! stm8s003,我使用HAlt進(jìn)入了停止模式,電流變小 之后I2C也能夠被觸發(fā)(電流變大),這些看似正常,但是單片機(jī)就是死機(jī)。 我需要注意哪些地方呢? 謝謝大俠們!!!
    發(fā)表于 04-17 06:55

    工控主板發(fā)生故障怎么辦?

    工控主板發(fā)生故障怎么辦?前幾天有個(gè)客戶問了我這個(gè)問題,大部分情況下出現(xiàn)的故障并不可怕,主要是用戶粗心大意造成的。那今天小編就來講解一下工控主板一般會(huì)出現(xiàn)故障的主要原因及判斷方法:
    的頭像 發(fā)表于 04-11 18:19 ?897次閱讀

    電容負(fù)極熔斷怎么辦

    在現(xiàn)代科技發(fā)展的時(shí)代,電容器在各個(gè)領(lǐng)域都扮演著重要的角色。然而,由于各種原因,電容器的負(fù)極可能會(huì)發(fā)生熔斷的情況。那么,當(dāng)電容器的負(fù)極熔斷時(shí),我們應(yīng)該怎么辦呢?
    的頭像 發(fā)表于 04-10 14:15 ?539次閱讀
    電容負(fù)極熔斷<b class='flag-5'>怎么辦</b>

    如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)?

    很多初學(xué)者都會(huì)面臨這個(gè)問題,我想學(xué)習(xí)單片機(jī)、我也想學(xué)好單片機(jī)、我也想系統(tǒng)地學(xué)習(xí)單片機(jī),但是單片機(jī)涉及到的學(xué)科多且雜根本不是三天兩天就能學(xué)完的,很多人都逃脫不了從入門到放棄的怪圈?那么我
    的頭像 發(fā)表于 03-28 08:03 ?1112次閱讀
    如何系統(tǒng)、科學(xué)地自學(xué)<b class='flag-5'>單片機(jī)</b>?

    單片機(jī)的最小系統(tǒng)由什么組成 單片機(jī)的最小系統(tǒng)包括哪些

    Unit,CPU)、存儲(chǔ)器、輸入輸出接口電路等核心功能,常見的單片機(jī)有以8051為代表的8位單片機(jī)、PIC系列單片機(jī)和AVR系列單片機(jī)等。 晶振和穩(wěn)壓電路:晶振是
    的頭像 發(fā)表于 02-02 11:27 ?1.1w次閱讀

    單片機(jī)RAM不夠用怎么解決?

    來自一位用戶的咨詢,麻煩幫忙解答。越詳細(xì)越好,有圖有真相。如有相關(guān)的視頻、文檔也可以輔助說明,謝謝。 單片機(jī)RAM不夠用怎么辦? 單片機(jī)都有RAM,如果我們一下子定義一大堆的變量,使
    發(fā)表于 02-02 07:35

    修復(fù)輥壓機(jī)軸承位磨損怎么辦

    電子發(fā)燒友網(wǎng)站提供《修復(fù)輥壓機(jī)軸承位磨損怎么辦.docx》資料免費(fèi)下載
    發(fā)表于 01-23 09:52 ?0次下載

    ADuC824正弦波轉(zhuǎn)方波時(shí)頻帶要比較寬時(shí)怎么辦

    正弦波轉(zhuǎn)方波時(shí)頻帶要比較寬時(shí)怎么辦呢!我用lm393做了一個(gè)過零比較器給單片機(jī)(aduc824)識(shí)別(頻率計(jì))但是在低頻時(shí)監(jiān)測(cè)不到。在小于200hz的時(shí)候不可以,到300khz又不行了。不知道是在
    發(fā)表于 01-15 06:42

    筆記本搜索不到Wi-Fi 6信號(hào)怎么辦

    有用戶反饋,為什么家里手機(jī)可以搜索到Wi-Fi 6信號(hào),但筆記本卻搜不到此信號(hào),怎么辦呢?小編給您支招!
    的頭像 發(fā)表于 01-09 18:19 ?1.9w次閱讀
    筆記本搜索不到Wi-Fi 6信號(hào)<b class='flag-5'>怎么辦</b>?