開關(guān)去抖電路設(shè)計(jì)
引言: 由于開關(guān)極其微小的觸點(diǎn)面積、機(jī)械式設(shè)計(jì)、產(chǎn)品老化等原因,使開關(guān)在實(shí)際應(yīng)用中不可能象數(shù)字系統(tǒng)所期望的那樣產(chǎn)生干凈的數(shù)字信號(hào)輸出,而是在開關(guān)閉合或斷開的過程中出現(xiàn)許多毫秒級(jí)的狀態(tài)變化,這種現(xiàn)象通常稱之為開關(guān)的“抖動(dòng)(bounce)”,它是系統(tǒng)設(shè)計(jì)中客觀存在不可回避的問題。如果將一個(gè)標(biāo)準(zhǔn)的開關(guān)接入到數(shù)字計(jì)數(shù)器中,開關(guān)的一次閉合或斷開的操作將會(huì)產(chǎn)生多個(gè)計(jì)數(shù)值,而錯(cuò)誤的計(jì)數(shù)將會(huì)導(dǎo)致系統(tǒng)的錯(cuò)誤控制。圖一為用示波器跟蹤不同類型的開關(guān)所得到的波形,可以幫助我們對(duì)抖動(dòng)現(xiàn)象有一個(gè)直觀的了解。 開關(guān)的抖動(dòng)現(xiàn)象并無(wú)規(guī)律, 既使是同一開關(guān)在使用過程中其抖動(dòng)輸出也是不同的,測(cè)試過程中偶爾也會(huì)發(fā)現(xiàn)某些開關(guān)不發(fā)生抖動(dòng)。比如所測(cè)試的某些薄膜開關(guān)就沒有抖動(dòng)現(xiàn)象,但這并不說明其它的這種開關(guān)也不會(huì)出現(xiàn)抖動(dòng)現(xiàn)象,或者說當(dāng)這些開關(guān)機(jī)械疲勞時(shí)依然不會(huì)發(fā)生抖動(dòng)。 除了抖動(dòng)之外,開關(guān)和數(shù)字系統(tǒng)還存在其它一些有待解決的問題,當(dāng)用電纜連接一個(gè)運(yùn)行在充滿噪聲的工業(yè)環(huán)境中的開關(guān)時(shí),根據(jù)定義一個(gè)斷開的開關(guān)將處于高阻態(tài),干擾信號(hào)很容易被加載。任何脈沖噪聲通過容性或感性方式耦合到連接線上,都可能導(dǎo)致開關(guān)閉合。例如:用一個(gè)可編程邏輯控制器(PLC) 通過一個(gè)大繼電器控制電機(jī),靠近電機(jī)安裝一個(gè)限制開關(guān),并與PLC 的數(shù)字輸入端連接,為PLC 提供位置反饋。當(dāng)PLC 控制電機(jī)啟動(dòng)時(shí),一個(gè)浪涌電流流出繼電器和電機(jī)。這個(gè)電流可能引起地線抖動(dòng)或通過電容耦合到數(shù)字輸入端產(chǎn)生一個(gè)尖峰脈沖,如果PLC 設(shè)計(jì)不恰當(dāng),會(huì)把這個(gè)尖峰當(dāng)作是開關(guān)的閉合信號(hào)導(dǎo)致關(guān)閉操作。當(dāng)PLC 關(guān)斷負(fù)載時(shí),由于繼電器、電機(jī)以及連線電感/電容的感應(yīng)同樣會(huì)導(dǎo)致類似情況發(fā)生,造成PLC 在數(shù)字輸入端的錯(cuò)誤讀取。另外,在工業(yè)、辦公和家庭環(huán)境中,數(shù)字式開關(guān)輸入還常常遇到過壓、電壓瞬變和ESD 沖擊,同樣有可能引起錯(cuò)誤的操作,譬如CPU 復(fù)位,看門開關(guān)去抖電路2/4狗溢出等。 針對(duì)以上問題,系統(tǒng)設(shè)計(jì)者們提出了各種防御措施。MAXIM最近推出的MAX6816系列產(chǎn)品能夠?yàn)樯鲜鼋涌趩栴}提供無(wú)差錯(cuò)、無(wú)需軟件參與的去抖動(dòng)及ESD 和過壓保護(hù)功能。 傳統(tǒng)的開關(guān)去抖方案 1、開關(guān)抖動(dòng) 消除開關(guān)抖動(dòng)的傳統(tǒng)方法是采用軟件,但這種方案具有較大的時(shí)間延遲,耗費(fèi)CPU 的工作時(shí)間,特別是在多路開關(guān)的應(yīng)用中,將占有較大的RAM 空間、而且需要很長(zhǎng)的代碼去實(shí)現(xiàn)。 另外用電阻和電容來(lái)解決開關(guān)去抖也是可能的,然而為了有效地解決這個(gè)問題,電路中將需要多個(gè)元器件,將它用于多路輸入的場(chǎng)合顯然是不明智的。 2、瞬變和ESD 抑制 標(biāo)準(zhǔn)的解決方案是在每個(gè)外部輸入端安裝瞬態(tài)抑制器或者M(jìn)OV 器件,這種做法在工業(yè)和汽車系統(tǒng)中是非常普遍的,易于實(shí)現(xiàn)而且成本相對(duì)較低,但是在多路輸入的情況下,即使選用每封裝4/8 個(gè)器件也會(huì)顯得零散,并占有較大的PCB 板尺寸。在CMOS 輸入端口安置串聯(lián)電阻可以抵御EMI 輻射,但對(duì)ESD 沒有效果,因?yàn)?5kV的尖峰能夠產(chǎn)生可觀的電流。 3、過壓保護(hù) 過壓保護(hù)是指抵御超過電源電壓的連續(xù)瞬態(tài)輸入的能力。串聯(lián)電阻、連接到電源電壓的保護(hù)二極管都是有效的方法。當(dāng)輸入端口的IC 沒有接電源VCC,而外部輸入信號(hào)幅度為24V,這樣的外部信號(hào)源常常會(huì)反向驅(qū)動(dòng)保護(hù)網(wǎng)絡(luò),迫使電壓進(jìn)入系統(tǒng)內(nèi)部電源,對(duì)于這種惡劣的應(yīng)用,可以考慮在輸入端口器件的VCC前連接一個(gè)穩(wěn)壓二極管,計(jì)算這個(gè)穩(wěn)壓二極管消耗的功率時(shí)應(yīng)確保在最糟糕的情況下,保護(hù)電路不會(huì)失效 |