如何提高單片機系統(tǒng)的抗干擾性能
下面討論一下如何讓你的設(shè)計避免走彎路:
抗干擾體現(xiàn)在2個方面,一是硬件設(shè)計上,二是軟件編寫上。
這里重點提醒:在MCU設(shè)計中主要抗干擾設(shè)計是在硬件上,軟件為輔。因為MCU的計算能力有限,所以要在硬件上花大工夫。
看看干擾的途徑:
1:干擾信號干擾MCU的主要路徑是通過I/O口,一是影響了MCU的數(shù)據(jù)采集,二是影響內(nèi)部其它寄存器。
解決方法:后面討論。
2:電源干擾:MCU雖然適應(yīng)電壓較寬(3-5。5V),但對于電源的波動卻很敏感,比如說MCU可以在3V電壓下穩(wěn)定工作,但卻不能在電壓在3V-5。5V波動的情況下穩(wěn)定工作。
解決方法:用電源穩(wěn)壓塊,做好電源的濾波等工作,提示:一定要在電源旁路并上0。1UF的瓷片電容來濾除高頻干擾,因為電解電容對超過幾十KHZ的高頻干擾不起作用。
3:上下電干擾:但每個MCU系統(tǒng)在上電時候都要經(jīng)過這樣一個過程,所以要尤其注意。
MCU雖然可以在3V電壓下穩(wěn)定工作,但并不是說它不能在3V以下的電壓下工作,當然在如此低的電壓下MCU是超不穩(wěn)定狀態(tài)的。在系統(tǒng)加電時候,系統(tǒng)電源電壓是從0V上升到額定電壓的,比如當電壓到2V時候,MCU開始工作了,但這時是超不穩(wěn)定的工作,極容易跑飛。
解決方法:1讓MCU在電源穩(wěn)定后才開始工作。PIC在片內(nèi)集成了POR(內(nèi)部上電延時復位),這功能一定要在配置位中打開。
外部上電延時復位電路。有多種形式,低成本的就是在復位腳接個阻容電路。高成本的是用專用芯片。這方面的資料特多,到處都可以查找。
最難排除的就是上面第一種干擾,并且干擾信號隨時可以發(fā)生,干擾信號的強度也不盡相同。
但它們也有相同點:干擾信號也遵循歐姆定律,干擾信號偶合路徑無非是電磁干擾,一是電火花,二是磁場。
其中干擾最厲害的是電火花干擾,其次是磁場干擾。電火花干擾表現(xiàn)場合主要是附近有大功率開關(guān)、繼電器、接觸器、有刷電機等。磁場干擾表現(xiàn)場合主要是附近有大功率的交流電機、變壓器等。
解決方法:第一點:也是最經(jīng)典的,就是在PCB步線和元件位置安排上下工夫,這中間學問很多,說幾天都說不完^^。
二:綜合考慮各I/O口的輸入阻抗,采集速率等因素設(shè)計I/O口的外圍電路。
一般決定一個I/O口的輸入阻抗有3種情況:
A:I/O口有上拉電阻,上拉電阻值就是I/O口的輸入阻抗。
一般大家都用4K-20K電阻做上拉,(PIC的B口內(nèi)部上拉電阻約20K)。
由于干擾信號也遵循歐姆定律,所以在越存在干擾的場合,選擇上拉電阻就要越小,因為干擾信號在電阻上產(chǎn)生的電壓就越小。
由于上拉電阻越小就越耗電,所以在家用設(shè)計上,上拉電阻一般都是10-20K,而在強干擾場合上拉電阻甚至可以低到1K。
(如果在強干擾場合要拋棄B口上拉功能,一定要用外部上拉。)
B:I/O口與其它數(shù)字電路輸出腳相連,此時I/O口輸入阻抗就是數(shù)字電路輸出口的阻抗,一般是幾十到幾百歐。
可以看出用數(shù)字電路做中介可以把阻抗減低到最理想,在許多工業(yè)控制板上可以看見大量的數(shù)字電路就是為了保證性能和保護MCU的。
C:I/O口并聯(lián)了小電容。
由于電容是通交流阻直流的,并且干擾信號是瞬間產(chǎn)生,瞬間熄滅的,所以電容可以把干擾信號濾除。但不好的是造成I/O口收集信號的速率下降,比如在串口上并電容是絕不可取的,因為電容會把數(shù)字信號當干擾信號濾掉。
對于一些檢測開關(guān)、干簧管、霍爾元件之類的是可以并電容的,因為這些開關(guān)量的變化是不可能有很高的速率的,并一個小電容對信號的采集是沒任何影響的
評論