當(dāng)軟件去抖動(dòng)不合適時(shí),如何實(shí)現(xiàn)開關(guān)和繼電器硬件去抖動(dòng)?
發(fā)布時(shí)間:2021-03-04 來源:Clive "Max" Maxfield 責(zé)任編輯:lina
【導(dǎo)讀】在電氣和電子工程中,開關(guān)是一種能夠“接合”或“斷開”電路的組件,從而中斷電流或?qū)㈦娏鲝囊粋€(gè)導(dǎo)體轉(zhuǎn)到另一個(gè)導(dǎo)體。正如工程師們所知,開關(guān)有許多不同的類型,包括撥動(dòng)開關(guān)、搖臂開關(guān)、按鈕開關(guān)、微動(dòng)開關(guān)和限位開關(guān)、磁性開關(guān)和磁簧開關(guān)以及繼電器等。所有開關(guān)都有一個(gè)共同點(diǎn):就是有抖動(dòng)。這就是它們的工作方式。
在電氣和電子工程中,開關(guān)是一種能夠“接合”或“斷開”電路的組件,從而中斷電流或?qū)㈦娏鲝囊粋€(gè)導(dǎo)體轉(zhuǎn)到另一個(gè)導(dǎo)體。正如工程師們所知,開關(guān)有許多不同的類型,包括撥動(dòng)開關(guān)、搖臂開關(guān)、按鈕開關(guān)、微動(dòng)開關(guān)和限位開關(guān)、磁性開關(guān)和磁簧開關(guān)以及繼電器等。所有開關(guān)都有一個(gè)共同點(diǎn):就是有抖動(dòng)。這就是它們的工作方式。
通常情況下,這種抖動(dòng)對電路幾乎沒有影響,但如果是數(shù)字電路,只要速度足夠快,就能檢測到多次抖動(dòng)并對之作出響應(yīng),并因此造成嚴(yán)重后果。工程師的任務(wù)就是要避免或減輕這種抖動(dòng)的影響,或者給開關(guān)“去抖動(dòng)”。雖然業(yè)界長期以來一直都在采取硬件去抖動(dòng),但直到最近才轉(zhuǎn)向基于軟件的去抖動(dòng)方式。然而,在某些情況下,硬件去抖動(dòng)是更好的選擇。
本文解釋了什么是抖動(dòng),并討論了去抖動(dòng)的軟件和硬件方法。然后用實(shí)例證明硬件去抖動(dòng)是更好的選擇,并闡述如何實(shí)現(xiàn)該方法。最后以來自 NKK Switches、ON Semiconductor、Texas Instruments、Maxim Integrated 和 LogiSwitch 等公司的產(chǎn)品為例,展示了幾個(gè)具體的開關(guān)器件和硬件去抖動(dòng)組件。
什么是開關(guān)抖動(dòng)?
當(dāng)開關(guān)或繼電器翻轉(zhuǎn)或撥動(dòng),或者每次設(shè)備改變狀態(tài)時(shí),人們通常視之為瞬間單一反應(yīng),但實(shí)際上可能涉及 100 個(gè)以上的接合或斷開動(dòng)作,這些動(dòng)作持續(xù)幾千分之一秒,最后接觸才會(huì)穩(wěn)定下來。
例如像 NKK 的 M2011SS1W01 這樣的單刀單擲 (SPST) 常開 (NO) 面板安裝撥動(dòng)開關(guān)。假設(shè)該開關(guān)的一側(cè)(可視為輸入端)連接到地(0 伏),而另一側(cè)(在本例中為輸出端)通過上拉電阻 (R1) 連接到 5 伏電源(顯示為 +ve)(圖 1)。
觀察到開關(guān)抖動(dòng)在開關(guān)啟動(dòng)(閉合)和停用(打開)時(shí)都可能發(fā)生。有時(shí)抖動(dòng)可能會(huì)全程跨越兩個(gè)電源軌,即不是邏輯 0 就是邏輯 1 狀態(tài)。在這種情況下,這些都是“干凈”的抖動(dòng)。相比之下,如果信號(hào)只達(dá)到一個(gè)中間電壓,這些被稱為“臟”抖動(dòng)。
對于像 NKK 的 M2012SS1W01-BC 這樣的單刀雙擲 (SPDT) 面板安裝撥動(dòng)開關(guān),在常開 (NO) 和常閉 (NC) 端子上都可能發(fā)生抖動(dòng)(圖 2)。在這種情況下,為了簡單起見,只顯示了“干凈”的抖動(dòng)。
在許多情況下,這種信號(hào)抖動(dòng)持續(xù)是沒有影響的。當(dāng)一個(gè)開關(guān)連接到一個(gè)電子設(shè)備上時(shí),如果這個(gè)設(shè)備的速度足夠快,可以檢測到多次抖動(dòng)并做出響應(yīng),那么就會(huì)引起問題。需要做的是,在電子設(shè)備對開關(guān)發(fā)出的信號(hào)進(jìn)行響應(yīng)前就對其進(jìn)行去抖動(dòng)。
軟件與硬件去抖動(dòng)比較
在 20 世紀(jì) 60 年代和 70 年代,開關(guān)去抖動(dòng)采用了各種硬件技術(shù),從與 SPST 開關(guān)一起使用的簡單電阻電容 (RC) 延遲電路到更復(fù)雜的置位/復(fù)位 (SR) 鎖存器功能。
最近,由于許多系統(tǒng)都采用了微處理器單元 (MPU) 或微控制器單元 (MCU),因此使用軟件技術(shù)來消除來自任何開關(guān)的信號(hào)已經(jīng)變得很普遍。然而,軟件去抖動(dòng)并不總是最好的方法。有一些采用小型、低性能、存儲(chǔ)空間有限的處理器的應(yīng)用,其代碼空間和/或時(shí)鐘周期有限,就無法實(shí)現(xiàn)去抖動(dòng)例程。在這些情況下,硬件實(shí)現(xiàn)可能是一個(gè)更好的解決方案。
另外,很多軟件開發(fā)人員對開關(guān)的物理特性并不熟悉,比如開關(guān)的去抖動(dòng)特性除了在不同的激活方式下會(huì)有不同的變化外,還可能受到溫度、濕度等環(huán)境條件的影響。
軟件開發(fā)人員缺乏開關(guān)專業(yè)技術(shù),加上現(xiàn)有關(guān)于開關(guān)抖動(dòng)的文獻(xiàn)往往是混亂和矛盾的,進(jìn)一步加劇了這一問題的嚴(yán)重性。例如,我們通常讀到開關(guān)在激活或停用后 1 毫秒 (ms) 就會(huì)停止抖動(dòng)。然而,知名嵌入式系統(tǒng)專家 Jack Ganssle 對各種類型的開關(guān)進(jìn)行了實(shí)證測試,將每個(gè)開關(guān)激活 300 次,并記錄下了觸點(diǎn)打開和關(guān)閉的最小和最大抖動(dòng)量。據(jù)其報(bào)告記錄,平均抖動(dòng)持續(xù)時(shí)間為 1.6 ms,最大抖動(dòng)持續(xù)時(shí)間為 6.2 ms。一些工業(yè)和軍事“最佳實(shí)踐”建議在初始激活后等待 20 ms,然后再假設(shè)開關(guān)已經(jīng)停止抖動(dòng);另一些人則主張?jiān)谧罱K檢測到抖動(dòng)后等待 20 毫秒再觸發(fā)任何動(dòng)作。
此外,還有很多簡單的無處理器的系統(tǒng)也需要消除開關(guān)抖動(dòng)。舉幾個(gè)這類系統(tǒng)的例子:驅(qū)動(dòng)七段式顯示器對來自繼電器的脈沖進(jìn)行計(jì)數(shù)的二進(jìn)制計(jì)數(shù)器;用作門或閘電機(jī)控制裝置的555 單次定時(shí)器的觸發(fā)輸入;以及采用鍵控輸入的基于寄存器的有限狀態(tài)機(jī) (FSM)。還有電子微調(diào)電位器 (Pot),其值是用開關(guān)輸入(加、減,有時(shí)是存儲(chǔ))修改的,這時(shí)開關(guān)抖動(dòng)就會(huì)有問題。
所有這些例子都清楚地表明,掌握一些如何進(jìn)行硬件去抖動(dòng)的知識(shí)對任何設(shè)計(jì)人員或開發(fā)人員都是有用的。
用 RC 網(wǎng)絡(luò)對 SPST 開關(guān)進(jìn)行硬件去抖動(dòng)
一個(gè)最簡單的基于硬件的開關(guān)去抖動(dòng)方案就是將電阻電容 (RC) 網(wǎng)絡(luò)與 SPST 開關(guān)結(jié)合起來使用。這種電路有很多變型。其中一個(gè)較通用的實(shí)現(xiàn)方案是采用兩個(gè)電阻和一個(gè)二極管(圖 3)。
當(dāng)開關(guān)啟動(dòng)(閉合)時(shí),電容 C1 通過電阻 R2 放電。如果這個(gè)電路中省略了二極管 D1,那么當(dāng)開關(guān)停用(打開)時(shí),C1 將通過電阻 (R1 + R2) 充電。但是,D1 的存在意味著 C1 只能通過 R1 充電。
在某些情況下,人們只關(guān)注開關(guān)的激活(即觸發(fā)動(dòng)作發(fā)生),在這種情況下,D1 可以省略。但是,如果要在開關(guān)被激活和停用時(shí)觸發(fā)動(dòng)作,并且要考慮將延遲降到最低,建議增加 D1。
觀察電容器電壓 VC 所表現(xiàn)出的指數(shù)充放電曲線。將此信號(hào)直接送入下游數(shù)字邏輯功能的輸入端并不是一個(gè)好主意,因?yàn)橄掠螖?shù)字邏輯功能不會(huì)喜歡看到一個(gè)在“好”的邏輯 0 和邏輯 1 值之間的未定義區(qū)域徘徊的信號(hào)。相反,該信號(hào)應(yīng)被送入帶有施密特觸發(fā)器輸入的緩沖器的輸入端。此外,通常要使用反相緩沖器,如 Texas Instruments 的 CD74HC14M96 的一個(gè)通道,因?yàn)榉聪喙δ艿那袚Q速度比非反相功能快。
用 SR 鎖存器對 SPDT 開關(guān)進(jìn)行去抖動(dòng)
在 SPDT 開關(guān)情況下,常見的硬件去抖動(dòng)方案是采用 SR 鎖存器。自從 20 世紀(jì) 60 年代 IBM 等公司將這種技術(shù)應(yīng)用于大型計(jì)算機(jī)的開關(guān)面板后,這種方法就被認(rèn)為是簡單硬件去抖動(dòng)解決方案中的精華。這種鎖存器可以使用兩個(gè)背對背的雙輸入 NAND 門形成;例如,采用 Texas Instruments 的 SN74HC00DR 四路雙輸入 NAND IC 的兩個(gè)通道(圖 4)。
當(dāng)開關(guān)的 NC 端子接地時(shí),如圖 4 上半部分所示,這將迫使門 g2 的輸出變?yōu)檫壿?1。反過來,門 g1 輸入端的兩個(gè)邏輯 1 又迫使其輸出端變?yōu)檫壿?0。相比之下,當(dāng)開關(guān)的 NO 端子接地時(shí),如圖 4 下半部分所示,這就迫使門 g1 的輸出變?yōu)檫壿?1。反過來,門 g2 輸入端的兩個(gè)邏輯 1 又迫使其輸出端變?yōu)檫壿?0。
這個(gè)電路之所以工作得這么好,是因?yàn)楫?dāng)它的兩個(gè)輸入都處于不活動(dòng)的邏輯 1 狀態(tài)時(shí),SR 鎖存器會(huì)記住它以前的值。請記住,如圖 2 所示,當(dāng)一個(gè) SPDT 開關(guān)被撥動(dòng)時(shí),在該時(shí)刻,無論其哪一個(gè)端子接地,都會(huì)發(fā)生抖動(dòng)。由于這些抖動(dòng)信號(hào)在其原值(邏輯 0)和新值(邏輯 1)之間,所以對 SR 鎖存器的當(dāng)前狀態(tài)沒有影響。只有在這個(gè)端子停止抖動(dòng)后,其相對的端子才開始抖動(dòng),此時(shí) SR 鎖存器才會(huì)改變其狀態(tài)。
用專用設(shè)備對 SPST 開關(guān)進(jìn)行去抖動(dòng)
前面的解決方案有一個(gè)問題,就是很多設(shè)計(jì)者喜歡使用 SPST 開關(guān),因?yàn)樗鼈兊某杀酒毡榈陀?SPDT。市場上有很多有名的專用 SPST 去抖動(dòng)器件,如 ON Semiconductor 的 MC14490DWG 和 Maxim Integrated 的 MAX6818EAP+T。
另一家制造商 LogiSwitch 也提供了一套三通道、六通道和九通道的去抖動(dòng)解決方案,同時(shí)采用通孔和表面貼裝 (SMD) 封裝。例如,考慮使用 LogiSwitch LS18-S 器件的電路(圖 5)。
與 LogiSwitch 產(chǎn)品家族所有成員一樣,LS18-S 支持 2.5 至 5.5 伏的工作電壓范圍(供電電壓值不影響器件的響應(yīng)時(shí)間)。此外,與其他一些專用 IC 解決方案不同,LogiSwitch 去抖動(dòng)器件不需要任何額外的元件,如外部時(shí)鐘、RC 時(shí)序網(wǎng)絡(luò)或輸入或輸出上的上拉電阻。
LS18-S 采用 LogiSwitch 專有的自適應(yīng) NoBounce(無抖動(dòng))技術(shù),實(shí)現(xiàn)了高水平抗噪能力。在啟動(dòng)或終止一個(gè)周期時(shí)禁止小于 20 ms 持續(xù)時(shí)間的噪聲尖峰,然后在開關(guān)激活和釋放的最后一次抖動(dòng)后,無論抖動(dòng)持續(xù)時(shí)間長短,輸出都會(huì)延遲 20 毫秒。
結(jié)語
開關(guān)有很多不同的類型,包括撥動(dòng)開關(guān)、搖臂開關(guān)和按鈕開關(guān),這些開關(guān)都可能會(huì)抖動(dòng)。如果開關(guān)抖動(dòng)不得到緩解,就會(huì)導(dǎo)致微處理器和其他電子電路將一次開關(guān)激活視為多個(gè)事件。
人們常常利用微控制器中運(yùn)行的軟件對開關(guān)發(fā)出的抖動(dòng)信號(hào)進(jìn)行消抖。如上所述,雖然這是一種低成本的解決方案,但它可能并不是所有情況下的最佳選擇。這些情況包括:系統(tǒng)基于性能和存儲(chǔ)空間有限的微控制器,軟件開發(fā)人員缺乏開關(guān)相關(guān)問題專業(yè)知識(shí),或者系統(tǒng)實(shí)現(xiàn)沒有微控制器。
作為替代選擇,我們可以使用各種方法在硬件中進(jìn)行去抖動(dòng),具體方法包括電阻電容網(wǎng)絡(luò)、SR 鎖存器以及專用集成電路。
(來源:Digi-Key,作者:Clive "Max" Maxfield)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 精準(zhǔn)監(jiān)測電離分?jǐn)?shù)與沉積通量,助力PVD/IPVD工藝與涂層質(zhì)量雙重提升
- ADC 總諧波失真
- 貿(mào)澤電子持續(xù)擴(kuò)充工業(yè)自動(dòng)化產(chǎn)品陣容
- 更高精度、更低噪音 GMCC美芝電子膨脹閥以創(chuàng)新?lián)屨夹袠I(yè)“制高點(diǎn)”
- 本立租完成近億元估值Pre-A輪融資,打造AI賦能的租賃服務(wù)平臺(tái)
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
電路圖符號(hào)
電路圖知識(shí)
電腦OA
電腦電源
電腦自動(dòng)斷電
電能表接線
電容觸控屏
電容器
電容器單位
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器