機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
MCU需要改進(jìn)
MCU需要改進(jìn)
 更新時(shí)間:2008-8-19 11:27:13  點(diǎn)擊數(shù):50
【字體: 字體顏色
  摘要 通過(guò)一個(gè)儀器抗干擾處理的實(shí)踐,分析干擾形成錯(cuò)誤的機(jī)理。首先對(duì)干擾進(jìn)行描述,然后分析錯(cuò)誤形成的可能性以及目前解決干擾問(wèn)題的難點(diǎn),最后提出對(duì)MCU改進(jìn)的建議。
關(guān)鍵詞 抗干擾 容錯(cuò) Watchdog
  長(zhǎng)久以來(lái),計(jì)算機(jī)系統(tǒng)的抗干擾一直是人們關(guān)心的重要問(wèn)題,因?yàn)橛?jì)算機(jī)用得越來(lái)越廣,可靠性越來(lái)越重要,而抗干擾本身就是可靠性的重要組成部分。為了汽車、飛機(jī)、衛(wèi)星、反應(yīng)堆的安全,人們?cè)诳垢蓴_問(wèn)題上花費(fèi)了大量精力與金錢,盡管已經(jīng)取得了長(zhǎng)足的進(jìn)展,但在性價(jià)比上遠(yuǎn)不能滿足要求,以致高抗干擾的要求只是在高技術(shù)領(lǐng)域才加以考慮。本文討論了干擾對(duì)錯(cuò)誤的形成機(jī)制,提出了對(duì)MCU改進(jìn)的建議。這個(gè)建議如果實(shí)施,不僅有利于高技術(shù)領(lǐng)域的應(yīng)用,也會(huì)惠及一般的民用領(lǐng)域。
1 干擾源的討論
  很久以前,還在“8031+2764+14433”的年代,我們做了一批過(guò)程監(jiān)控儀表,用于滅菌過(guò)程F0的監(jiān)控,遇到了強(qiáng)烈的干擾問(wèn)題。滅菌過(guò)程約30 min,由電觸點(diǎn)壓力表控制進(jìn)氣電磁閥,間接控制溫度。F0是一個(gè)溫度函數(shù)的積分值,可以反映滅菌的效果,它綜合考慮了溫度波動(dòng)的影響。當(dāng)時(shí)采取了一些抗干擾措施,例如,硬件上對(duì)信號(hào)線屏蔽,信號(hào)濾波;軟件上的智能濾波,程序復(fù)執(zhí),程序分段保護(hù),數(shù)據(jù)后備,端口等重復(fù)初始化,ROM的定時(shí)校驗(yàn)和檢驗(yàn),多種出錯(cuò)報(bào)警,出錯(cuò)時(shí)重新熱啟動(dòng)(可使問(wèn)題有所緩和,但偶然會(huì)有判為ROM校驗(yàn)和錯(cuò)而停機(jī)的情況出現(xiàn))。由于當(dāng)時(shí)F0只是用作參考,問(wèn)題尚不嚴(yán)重,如要掩蓋,也可以用熱啟動(dòng)代替停機(jī);但很快F0要作為產(chǎn)品工藝參數(shù),用記錄紙備案,于是就重新設(shè)計(jì)了監(jiān)控儀。新的監(jiān)控儀用89C51+14433,再加上光耦和TI5617 D/A轉(zhuǎn)換器,將溫度和F0變?yōu)槟M量后送到雙筆記錄儀,實(shí)現(xiàn)產(chǎn)品工藝過(guò)程的記錄與存檔。硬件上,光耦隔離后部分是D/A和模擬電路,軟件在原有基礎(chǔ)上添加與TI5617有關(guān)的串行通信部分。TI5617的串行通信類似I2C,由CS、DIN和SCLK三條線構(gòu)成,SCLK數(shù)據(jù)位時(shí)鐘可達(dá)到25 ns,速度很高。用于計(jì)算的周期是6 s,儀表用定點(diǎn)算法配以查表,所以留出了充足的時(shí)間做許多抗干擾的工作。在D/A用的串行通信中甚至考慮了多次重復(fù)發(fā)送的子程序,希望減少通信錯(cuò)誤的影響;但結(jié)果卻很壞,記錄紙上是一片墨帶。由于不知道通信對(duì)錯(cuò),很可能最后一次傳送就是錯(cuò)的,于是不得不重新處理抗干擾問(wèn)題。
  經(jīng)查干擾主要發(fā)生在電磁閥動(dòng)作的時(shí)候,由于不可能在現(xiàn)場(chǎng)為每一個(gè)簡(jiǎn)單的小表制作一個(gè)良好的地線,一般的市售電源濾波器件根本不起作用,F(xiàn)場(chǎng)用的是220 V交流電磁閥,無(wú)法設(shè)計(jì)緩沖線路。分析認(rèn)為,電磁閥斷開(kāi)時(shí)會(huì)在電源上產(chǎn)生很大的反向電壓。交流電源的示波器受到干擾,在無(wú)法看清干擾的情況下,就用數(shù)字萬(wàn)用表觀察,可以觀察到1 300 V以上的讀數(shù)?紤]到數(shù)字萬(wàn)用表輸入的濾波效果,真正的峰值還要大,因此推想,高頻的干擾穿越了變壓器繞組間電容,造成變壓器次級(jí)交流電壓瞬間反向。盡管反向波幅的衰減很大,但因方向已改變,整流二極管來(lái)不及響應(yīng),已不供電,而濾波的電解電容器動(dòng)態(tài)上來(lái)不及反應(yīng),也不供電,造成穩(wěn)壓前直流電源瞬間下降。同時(shí)它通過(guò)整流二極管,78L15、78L05等低頻器件到達(dá)二組隔離的電源,造成直流電源跌落。循此思路,發(fā)現(xiàn)TI5617的SCLK可能出現(xiàn)不正確的時(shí)鐘信號(hào),造成數(shù)據(jù)傳送的錯(cuò)誤。TI5617的讀數(shù)發(fā)生在SCLK的下降沿,說(shuō)明書(shū)上強(qiáng)調(diào),在非傳送時(shí)減少饋通應(yīng)使SCLK=LOW,為節(jié)省電流消耗,SCLK是從光耦的基極輸出的。因此若光耦次級(jí)電源跌落,確實(shí)會(huì)造成SCLK下降而誤讀。然后我們?cè)诨鶚O電阻(20 kΩ)上并聯(lián)0.1 μF電容,在光耦次級(jí)電源上串接高頻二極管,以防0.1 μF電容器通過(guò)光耦反向放電。采取此措施后,記錄曲線不再有墨帶。對(duì)本應(yīng)用而言,干擾問(wèn)題初步解決,但仍不徹底。干擾得到解決本身證實(shí)了分析是正確的——來(lái)自電源的干擾有可能進(jìn)到直流電源部分。
  國(guó)際標(biāo)準(zhǔn)ISO 7637是針對(duì)汽車電子領(lǐng)域電源的傳導(dǎo)干擾問(wèn)題的。它規(guī)定有#1、#2a/b、#3a/b、#4、#5a/b等多種測(cè)試波形,反映實(shí)際應(yīng)用中會(huì)遇到的情形。其中,關(guān)斷感性負(fù)載(例如雨刮器的馬達(dá))引起的電壓升高,在12 V系統(tǒng)中可達(dá)50 V,雖有瞬間超過(guò)元器件耐壓而引起損傷的可能性,但不會(huì)直接引起誤動(dòng)作。而在波形#1中,關(guān)斷感性負(fù)載(例如電動(dòng)座椅的馬達(dá)和座椅的加熱系統(tǒng))產(chǎn)生的脈沖,在電源為12 V的系統(tǒng)中1 μs可達(dá)到-100 V,衰減到10%的時(shí)間為2 ms。在波形#3a中,電源為12 V的系統(tǒng)里5 ns可達(dá)到-138 V,回到0 V的時(shí)間大約為100 ns。這些是典型數(shù)據(jù),實(shí)際上電源線不是匹配的傳輸線,干擾波還要來(lái)回反射,情況更為復(fù)雜。在這些場(chǎng)合,也可能發(fā)生直流電源的跌落干擾。
  空間的幅射干擾也是經(jīng)常遇到的問(wèn)題,例如在太空或反應(yīng)堆附近,電子器件會(huì)受到重離子的轟擊而產(chǎn)生故障;又如在空港區(qū)或大電流、高電壓區(qū)域,電子器件也會(huì)受到強(qiáng)電磁輻射而發(fā)生故障。在這些場(chǎng)合,干擾也會(huì)引起MCU的基本門(mén)電路工作失誤。
2 Watchdog不能解決軟件可靠性問(wèn)題
  Vcc的跌落會(huì)引起MCU的誤動(dòng)作。MCU里每一個(gè)讀/寫(xiě)操作都是由門(mén)電路實(shí)現(xiàn)的,門(mén)的開(kāi)關(guān)依賴于門(mén)的閾值和信號(hào)的時(shí)序。電源跌落時(shí)閾值發(fā)生變化,振蕩器產(chǎn)生的信號(hào)時(shí)序也會(huì)變形。下面以8051單片機(jī)為例,考察如果干擾發(fā)生在執(zhí)行指令“MOV dir1, dir2”時(shí)會(huì)產(chǎn)生什么后果。假定錯(cuò)誤發(fā)生在指令的第1字節(jié),最壞的情形是每個(gè)bit都反轉(zhuǎn),而最大的概率是只有一個(gè)bit發(fā)生反轉(zhuǎn)。一個(gè)bit發(fā)生反轉(zhuǎn)的情況如表1所列。
                             表1
            
  從表1可見(jiàn),一個(gè)bit的變化完全改變了指令的意義,程序流或數(shù)據(jù)產(chǎn)生不可預(yù)測(cè)的變化。例如,表中的跳轉(zhuǎn)部分(bit 0, 2或5發(fā)生變化)可能不轉(zhuǎn)入死循環(huán),不引起Watchdog動(dòng)作,也有可能跳到非正常指令處,直至死循環(huán)。表中非跳轉(zhuǎn)指令則有可能改變累加器(bit 0, 1, 3, 4,6或7發(fā)生變化),數(shù)據(jù)RAM(bit 1,3, 6或7發(fā)生變化)或狀態(tài)寄存器(bit 0, 1, 3, 4,6或7發(fā)生變化)。如果錯(cuò)誤發(fā)生在指令的第2或第3字節(jié),數(shù)據(jù)的源或目的地址就錯(cuò)了。因此,即使Watchdog沒(méi)動(dòng)作,也不表示程序運(yùn)行正常。對(duì)8051其他指令作分析可得到類似的結(jié)果。由此可見(jiàn),Watchdog至多保證系統(tǒng)不死機(jī),卻有可能掩蓋了數(shù)據(jù)的錯(cuò)誤。
  F0設(shè)計(jì)中,在關(guān)鍵點(diǎn)大量采用了“MOV dir1,tmp”,“MOV tmp, dir2”的形式將數(shù)據(jù)從dir1送到dir2,而不采用“MOV A,@R1&rdquo
  • 上一篇: 在實(shí)時(shí)控制系統(tǒng)中通過(guò)FlexRay同步多種器件
  • 下一篇: 基于PIC單片機(jī)的RS-232轉(zhuǎn)CAN通信適配卡設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1