顏福才
摘 要: 分析了軟件消抖存在輸出信號下沖電平超出后續(xù)數(shù)字芯片輸入電平范圍容,易危害數(shù)字芯片,且按鍵閉合時信號下降速度過快易引起容性串擾等缺點。針對軟件消抖電路的不足,分析了硬件消抖電路,建立了數(shù)學模型,仿真并實測了按鍵消抖電路的時域響應。針對硬件消抖電路中僅使用濾波電容消除按鍵抖動的方法,通過仿真和實測闡述了該方法反而會導致下沖持續(xù)時間更長,對后續(xù)電路危害性大。分析計算了在按鍵導線中串接電阻以消除下沖,仿真并實測了整個硬件消抖電路的瞬時響應,實測了硬件消抖電路按鍵按下和釋放整個過程的時域波形,消除了按鍵抖動和下沖。
關鍵字: 按鍵消抖電路; 瞬態(tài)分析; 下沖電平; 數(shù)學模型
中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2014)06?0051?05
0 引 言
按鍵是儀器儀表中普遍采用的人機輸入接口電路。在按鍵電路中必須考慮對按鍵的抖動進行軟件消抖[1?5]和硬件消抖[6?10]。軟件消抖具有使用硬件數(shù)量少的優(yōu)點,但也具有以下兩個缺點:
(1) 在儀器鍵盤電路中,多個按鍵安裝在儀器面板上,鍵盤的輸出通過排線連接到主控板上,此時鍵盤導線寄生電感和寄生電容的存在,寄生電感寄生電容和排線電阻將組成二階振蕩系統(tǒng),二階振蕩將形成負電平脈沖,而負電平脈沖很容易超出數(shù)字芯片的輸入最大允許電平范圍,導致數(shù)字芯片容易損壞。
(2) 按鍵閉合和斷開時,電壓信號下降沿非常陡峭,劇烈變化的電壓信號將通過互容傳遞到相鄰導線上。
硬件消抖電路的設計主要是要考慮以下三個因素:
(1) 消除信號的抖動,確保按鍵電路輸出信號的平整;
(2) 消除信號的下沖,因為下沖電平超出了后續(xù)數(shù)字芯片的最大輸入電平范圍;
(3) 降低信號變化的速度,避免在鄰線上引起容性串擾;
(4) 不影響按鍵電路的正常功能。
常見的硬件消抖電路包括電容濾波消抖和觸發(fā)器消抖。電容濾波消抖采用電阻和電容組成低通濾波器,具有電路結構簡單可靠的優(yōu)點,因此本文將重點闡述該消抖電路。
1 按鍵消抖電路結構與電路模型
圖1為某儀器按鍵電路原理圖,按鍵安裝在儀器面板上,通過導線連接到主控板上,按鍵的一端接上拉電阻并連接后續(xù)電路,按鍵的另一端接地,當按鍵沒有按下時,按鍵輸出高電平,當按鍵按下時,按鍵輸出低電平。圖2為加上濾波電容后的按鍵電路。
圖3為按鍵消抖電路的電路模型。圖中R0為連接按鍵導線的電阻,L為導線電感,C0為導線對地電容,Cf為濾波電容,Cp為按鍵后續(xù)電路的輸入電容,Ri為按鍵后續(xù)電路的輸入阻抗,R為上拉電阻,VCC為電源電壓,U為按鍵消抖電路的輸出電壓。
當按鍵閉合時,其等效電路模型如圖4所示。當按鍵斷開時,其等效電路模型如圖5所示。
2 按鍵消抖電路數(shù)學模型
設某一時刻按鍵合上,在此之前按鍵斷開,整個電路處于穩(wěn)態(tài),即各個電容和電感上沒有電流流動。此時輸出電壓[U=u0=VCC×R(R+Ri)]。則根據(jù)圖4整個電路可列出以下微分方程:
設某一時刻按鍵斷開,在此之前按鍵閉合,整個電路處于穩(wěn)態(tài),即各個電容和電感上沒有電流流動。此時輸出電壓[U=u0=VCC×RiR0 (RRi+R0Ri+RR0)]。根據(jù)圖5可列出以下微分方程:
式中C為C0,Cf和Cp的等效電容,C為三者之和。對上式進行拉普拉斯變換可得到:
對上式整理后可得:
將上式運用留數(shù)定理分解可得:
3 按鍵電路瞬態(tài)分析
對式(5)進行拉普拉斯反變換便可得到按鍵斷開電路處于穩(wěn)態(tài)時按鍵閉合的輸出電壓u(t)的時域響應。
根據(jù)拉普拉斯變換的初值定理和終值定理,可得到:
式(5)的時域響應為典型的二階系統(tǒng)時域響應,當ξ小于1時,其時域響應為衰減振蕩,衰減因子為[e-ξωn],振蕩頻率為[ωn1-ξ2],振蕩就會產(chǎn)生下沖,一次下沖持續(xù)時間取決于振蕩頻率。當ξ大于1時,時域響應為單調衰減,整個過程沒有下沖。因此消抖電路設計的一個目的就是要使ξ大于1。
對式(6)進行拉普拉斯反變換便可得到按鍵閉合電路處于穩(wěn)態(tài)時按鍵斷開的輸出電壓u(t)的時域響應。
式(6)的時域響應為電容充電的時域響應,其響應過程為單調上升,其上升時間為2.2T,充電時間常數(shù)T等于ReC,Re為Ri和R的并聯(lián)。
T越大上升時間越大,上升時間過大將影響按鍵的正常使用。按鍵按下一次的持續(xù)時間約為0.01~0.1 s,因此消抖電路將上升時間調整到500 μs以內(nèi)比較適合。
現(xiàn)測得已連接到單片機輸入引腳的按鍵電路其導線電阻R0為1.6 Ω,導線電感L為25 nH,導線對地電容Ci+Cp為9.6 pF,在電路中使用的上拉電阻R為10 kΩ,單片機輸入引腳輸入阻抗Re為2 MΩ,使用電源電壓VCC為3.3 V,則不加濾波電容時,按鍵閉合和斷開的瞬態(tài)響應分別如圖6和圖7所示,由圖6可見下沖峰值接近2 V,而使用單片機引腳的最大輸入電壓范圍為-0.3 V~(VCC+0.3 V),該下沖電壓遠遠超出該電平范圍。
4 按鍵消抖電路設計
按鍵消抖電路的設計主要是利用電容的平滑功能,將毛刺平滑掉,濾波電容越大,信號越平滑。但是電容的增大會導致上升時間過大,電容太小則無法消除毛刺?,F(xiàn)針對一單片機按鍵電路為例進行闡述。圖8為該電路未進行硬件消抖時使用衰減探頭在示波器上觀察到的毛刺。
現(xiàn)測得該單片機按鍵電路寄生電感L為30 nH,寄生電容C0+Cp為35 pF,導線直流電阻R0為0.2 Ω。查閱單片機數(shù)據(jù)手冊,計算得到其輸入引腳輸入阻抗為2 MΩ,上拉電阻R為10 kΩ。根據(jù)式(6)和式(7)可計算出未加濾波電容的按鍵電路在按鍵閉合時其二階系統(tǒng)的ξ為0.004 887,振蕩頻率為155.319 MHz。圖6為在示波器上觀察到的按鍵閉合瞬間的時域響應。由圖可見最大的下沖幅度達到了-1.66 V,該電平遠超出單片機的電壓范圍。
根據(jù)式(9)可計算得到按鍵斷開時充電時間常數(shù)為348.258 7 ns,信號上升時間為766.17 ns。圖7為在示波器上觀察到的按鍵斷開瞬間時域響應。為消除按鍵抖動,濾波電容越大越好,但電容增大將增大信號的上升時間。為不影響按鍵電路的正常功能,需將上升時間控制。在0.5 ms以內(nèi)。為此可得到當上拉電阻為10 kΩ時濾波電容的最大值為22.85 nF,上拉電阻為1 kΩ時濾波電容的最大值為227.38 nF。
當濾波電容為227.38 nF時,ξ值為0.275 9,ξ值小于1,當按鍵閉合時依然會有衰減振蕩,此時的衰減振蕩頻率為1.849 8 MHz,下沖峰值約為-1.34 V,下沖持續(xù)時間約為271 ns,R=1 kΩ,Cf=227.38 nF。
由于下沖持續(xù)時間較長,危害性也將增大。圖9為R=1 kΩ,濾波電容為227.38 nF時的按鍵閉合瞬間時域響應波形。圖10為R=1 kΩ,濾波電容為220 nF時在示波器上觀察到的按鍵閉合瞬間時域響應波形。
因此,單靠增加電容來進行濾波的方法是行不通的,由式(7)可知,增大R0可以顯著增加ξ,為此可以在按鍵導線上串接電阻。在最終的按鍵消抖電路設計中,串接電阻選為100 Ω,濾波電容為8.2 nF。此時ξ為26.117 7,徹底消除了振蕩,此時的充電時間常數(shù)T為81.94 μs,上升時間為180.268 μs。圖11為整個按鍵消抖電路的按鍵閉合和按鍵斷開瞬間的時域響應波形仿真。圖12為整個按鍵消抖電路的按鍵閉合和按鍵斷開瞬間的實測時域響應波形。圖13為一次按鍵按下實測完整波形。圖14為最終的按鍵消抖電路。由圖12可見,按鍵閉合時沒有過沖,按鍵斷開時上升時間小于0.5 ms。由圖13可見,在按鍵按下和松開之間的過程中,抖動已被消除,而且完全不影響按鍵電路的正常功能。
5 結 語
本文分析了軟件消抖電路中存在的不足,指出了軟件消抖存在輸出信號下沖電平超出后續(xù)數(shù)字芯片輸入電平范圍容易危害數(shù)字芯片,提出了按鍵閉合時信號下降速度過快易引起容性串擾。針對軟件消抖電路的不足,本文分析了硬件消抖電路,建立了數(shù)學模型,仿真并實測了按鍵消抖電路的時域響應。針對硬件消抖電路中僅使用濾波電容消除按鍵抖動的方法,通過仿真和實測闡述了該方法反而會導致下沖持續(xù)時間更長,對后續(xù)電路危害性大。
針對該問題,本文分析計算了在按鍵導線中串接電阻以消除下沖,仿真并實測了整個硬件消抖電路的瞬時響應,實測了硬件消抖電路按鍵按下和釋放整個過程的時域波形,消除了按鍵抖動和下沖。
參考文獻
[1] 王效東.按鍵消抖的軟件處理新法[J].自動化與儀表,2000,15(2):68?69.
[2] 邢自茹,史明健.FPGA開發(fā)中按鍵消抖與單脈沖發(fā)生器電路[J].現(xiàn)代電子技術,2009,32(21):171?172.
[3] 谷長龍,李小英.基于 FPGA 器件的消除按鍵抖動方法研究[J].吉林化工學院學報,2006,23(3):53?55.
[4] 秦國棟.有限狀態(tài)機的嵌入式Linux按鍵驅動設計[J].單片機與嵌入式系統(tǒng)應用,2010(4):3?5.
[5] 徐彩霞.新型非編碼式鍵盤掃描方法研究[J].蘇州市職業(yè)大學學報,2010,21(001):26?28.
[6] 曉峰.一種新穎的鍵盤消抖電路[J].微型機與應用,1987(2): 13?15.
[7] 李運兵.微控制器中按鍵處理技巧及應用[J].計算機系統(tǒng)應用,2010,19(2):195?197.
[8] 湯曉君,劉君華,梁鴻生.MCS系列單片機P1口鍵盤顯示功能的實現(xiàn)[J].儀表技術與傳感器,2002(11):27?29.
[9] 姚有峰.單鍵編碼鎖[J].電子技術,1991(4):40?42.
[10] 高培先.一種獨立式鍵盤電路及其中斷程序設計[J].計算機測量與控制,2008,16(3):373?375.
根據(jù)式(9)可計算得到按鍵斷開時充電時間常數(shù)為348.258 7 ns,信號上升時間為766.17 ns。圖7為在示波器上觀察到的按鍵斷開瞬間時域響應。為消除按鍵抖動,濾波電容越大越好,但電容增大將增大信號的上升時間。為不影響按鍵電路的正常功能,需將上升時間控制。在0.5 ms以內(nèi)。為此可得到當上拉電阻為10 kΩ時濾波電容的最大值為22.85 nF,上拉電阻為1 kΩ時濾波電容的最大值為227.38 nF。
當濾波電容為227.38 nF時,ξ值為0.275 9,ξ值小于1,當按鍵閉合時依然會有衰減振蕩,此時的衰減振蕩頻率為1.849 8 MHz,下沖峰值約為-1.34 V,下沖持續(xù)時間約為271 ns,R=1 kΩ,Cf=227.38 nF。
由于下沖持續(xù)時間較長,危害性也將增大。圖9為R=1 kΩ,濾波電容為227.38 nF時的按鍵閉合瞬間時域響應波形。圖10為R=1 kΩ,濾波電容為220 nF時在示波器上觀察到的按鍵閉合瞬間時域響應波形。
因此,單靠增加電容來進行濾波的方法是行不通的,由式(7)可知,增大R0可以顯著增加ξ,為此可以在按鍵導線上串接電阻。在最終的按鍵消抖電路設計中,串接電阻選為100 Ω,濾波電容為8.2 nF。此時ξ為26.117 7,徹底消除了振蕩,此時的充電時間常數(shù)T為81.94 μs,上升時間為180.268 μs。圖11為整個按鍵消抖電路的按鍵閉合和按鍵斷開瞬間的時域響應波形仿真。圖12為整個按鍵消抖電路的按鍵閉合和按鍵斷開瞬間的實測時域響應波形。圖13為一次按鍵按下實測完整波形。圖14為最終的按鍵消抖電路。由圖12可見,按鍵閉合時沒有過沖,按鍵斷開時上升時間小于0.5 ms。由圖13可見,在按鍵按下和松開之間的過程中,抖動已被消除,而且完全不影響按鍵電路的正常功能。
5 結 語
本文分析了軟件消抖電路中存在的不足,指出了軟件消抖存在輸出信號下沖電平超出后續(xù)數(shù)字芯片輸入電平范圍容易危害數(shù)字芯片,提出了按鍵閉合時信號下降速度過快易引起容性串擾。針對軟件消抖電路的不足,本文分析了硬件消抖電路,建立了數(shù)學模型,仿真并實測了按鍵消抖電路的時域響應。針對硬件消抖電路中僅使用濾波電容消除按鍵抖動的方法,通過仿真和實測闡述了該方法反而會導致下沖持續(xù)時間更長,對后續(xù)電路危害性大。
針對該問題,本文分析計算了在按鍵導線中串接電阻以消除下沖,仿真并實測了整個硬件消抖電路的瞬時響應,實測了硬件消抖電路按鍵按下和釋放整個過程的時域波形,消除了按鍵抖動和下沖。
參考文獻
[1] 王效東.按鍵消抖的軟件處理新法[J].自動化與儀表,2000,15(2):68?69.
[2] 邢自茹,史明健.FPGA開發(fā)中按鍵消抖與單脈沖發(fā)生器電路[J].現(xiàn)代電子技術,2009,32(21):171?172.
[3] 谷長龍,李小英.基于 FPGA 器件的消除按鍵抖動方法研究[J].吉林化工學院學報,2006,23(3):53?55.
[4] 秦國棟.有限狀態(tài)機的嵌入式Linux按鍵驅動設計[J].單片機與嵌入式系統(tǒng)應用,2010(4):3?5.
[5] 徐彩霞.新型非編碼式鍵盤掃描方法研究[J].蘇州市職業(yè)大學學報,2010,21(001):26?28.
[6] 曉峰.一種新穎的鍵盤消抖電路[J].微型機與應用,1987(2): 13?15.
[7] 李運兵.微控制器中按鍵處理技巧及應用[J].計算機系統(tǒng)應用,2010,19(2):195?197.
[8] 湯曉君,劉君華,梁鴻生.MCS系列單片機P1口鍵盤顯示功能的實現(xiàn)[J].儀表技術與傳感器,2002(11):27?29.
[9] 姚有峰.單鍵編碼鎖[J].電子技術,1991(4):40?42.
[10] 高培先.一種獨立式鍵盤電路及其中斷程序設計[J].計算機測量與控制,2008,16(3):373?375.
根據(jù)式(9)可計算得到按鍵斷開時充電時間常數(shù)為348.258 7 ns,信號上升時間為766.17 ns。圖7為在示波器上觀察到的按鍵斷開瞬間時域響應。為消除按鍵抖動,濾波電容越大越好,但電容增大將增大信號的上升時間。為不影響按鍵電路的正常功能,需將上升時間控制。在0.5 ms以內(nèi)。為此可得到當上拉電阻為10 kΩ時濾波電容的最大值為22.85 nF,上拉電阻為1 kΩ時濾波電容的最大值為227.38 nF。
當濾波電容為227.38 nF時,ξ值為0.275 9,ξ值小于1,當按鍵閉合時依然會有衰減振蕩,此時的衰減振蕩頻率為1.849 8 MHz,下沖峰值約為-1.34 V,下沖持續(xù)時間約為271 ns,R=1 kΩ,Cf=227.38 nF。
由于下沖持續(xù)時間較長,危害性也將增大。圖9為R=1 kΩ,濾波電容為227.38 nF時的按鍵閉合瞬間時域響應波形。圖10為R=1 kΩ,濾波電容為220 nF時在示波器上觀察到的按鍵閉合瞬間時域響應波形。
因此,單靠增加電容來進行濾波的方法是行不通的,由式(7)可知,增大R0可以顯著增加ξ,為此可以在按鍵導線上串接電阻。在最終的按鍵消抖電路設計中,串接電阻選為100 Ω,濾波電容為8.2 nF。此時ξ為26.117 7,徹底消除了振蕩,此時的充電時間常數(shù)T為81.94 μs,上升時間為180.268 μs。圖11為整個按鍵消抖電路的按鍵閉合和按鍵斷開瞬間的時域響應波形仿真。圖12為整個按鍵消抖電路的按鍵閉合和按鍵斷開瞬間的實測時域響應波形。圖13為一次按鍵按下實測完整波形。圖14為最終的按鍵消抖電路。由圖12可見,按鍵閉合時沒有過沖,按鍵斷開時上升時間小于0.5 ms。由圖13可見,在按鍵按下和松開之間的過程中,抖動已被消除,而且完全不影響按鍵電路的正常功能。
5 結 語
本文分析了軟件消抖電路中存在的不足,指出了軟件消抖存在輸出信號下沖電平超出后續(xù)數(shù)字芯片輸入電平范圍容易危害數(shù)字芯片,提出了按鍵閉合時信號下降速度過快易引起容性串擾。針對軟件消抖電路的不足,本文分析了硬件消抖電路,建立了數(shù)學模型,仿真并實測了按鍵消抖電路的時域響應。針對硬件消抖電路中僅使用濾波電容消除按鍵抖動的方法,通過仿真和實測闡述了該方法反而會導致下沖持續(xù)時間更長,對后續(xù)電路危害性大。
針對該問題,本文分析計算了在按鍵導線中串接電阻以消除下沖,仿真并實測了整個硬件消抖電路的瞬時響應,實測了硬件消抖電路按鍵按下和釋放整個過程的時域波形,消除了按鍵抖動和下沖。
參考文獻
[1] 王效東.按鍵消抖的軟件處理新法[J].自動化與儀表,2000,15(2):68?69.
[2] 邢自茹,史明健.FPGA開發(fā)中按鍵消抖與單脈沖發(fā)生器電路[J].現(xiàn)代電子技術,2009,32(21):171?172.
[3] 谷長龍,李小英.基于 FPGA 器件的消除按鍵抖動方法研究[J].吉林化工學院學報,2006,23(3):53?55.
[4] 秦國棟.有限狀態(tài)機的嵌入式Linux按鍵驅動設計[J].單片機與嵌入式系統(tǒng)應用,2010(4):3?5.
[5] 徐彩霞.新型非編碼式鍵盤掃描方法研究[J].蘇州市職業(yè)大學學報,2010,21(001):26?28.
[6] 曉峰.一種新穎的鍵盤消抖電路[J].微型機與應用,1987(2): 13?15.
[7] 李運兵.微控制器中按鍵處理技巧及應用[J].計算機系統(tǒng)應用,2010,19(2):195?197.
[8] 湯曉君,劉君華,梁鴻生.MCS系列單片機P1口鍵盤顯示功能的實現(xiàn)[J].儀表技術與傳感器,2002(11):27?29.
[9] 姚有峰.單鍵編碼鎖[J].電子技術,1991(4):40?42.
[10] 高培先.一種獨立式鍵盤電路及其中斷程序設計[J].計算機測量與控制,2008,16(3):373?375.