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