999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA開發中按鍵消抖與單脈沖發生器電路

2010-01-20 01:44:00邢自茹史明健
現代電子技術 2009年21期

邢自茹 史明健

摘 要:在介紹FPGA開發中按鍵消抖電路和單脈沖發生器電路原理的基礎上,設計實現了鍵控單脈沖發生器,利用計數器解決了按鍵高頻消抖問題,并通過按鍵產生與時鐘脈沖完全相同的單脈沖。該單脈沖鍵控發生器可獨立應用于其他FPGA電路設計中。在Quartus環境下給出Verilog HDL語言的行為及描述,并進行仿真實驗,結果顯示該電路合理可行。

關鍵詞:單脈沖發生器;按鍵消抖;FPGA;Verilog HDL

中圖分類號:TN782 文獻標識碼:A

文章編號:1004-373X(2009)21-171-02

Elimination Buffeting of Keystroke and Single Pulse Generator

Circuit in FPGA Development Process

XING Ziru,SHI Mingjian

(Inner Mongolia University of Technology,Huhhot,010051,China)

Abstract:The circuit principle of elimination buffeting of keystroke and a single pulse generator in FPGA development are introduced,and keying single pulse generator is achieved.It solves eliminating high-frequency buffeting problem by a counter and produces the single pulse which has the same pulse width and same phase with clock cycle.Keying a single pulse generator can be applied to other independent FPGA design.The behavior and description based on Verilog HDL language are given and it is simulated in Quartus software,the method is proved logical and feasible as a result.

Keywords:single pulse generator;elimination buffeting of keystroke;FPGA;Verilog HDL

FPGA開發中常用到單脈沖發生器。一些文章介紹過產生單脈沖的電路,產生的單脈沖脈寬和相位都不能與時鐘同步,只能用在要求不嚴格的場合。筆者目前從事的課題中需要一個與時鐘周期等寬,相位與時鐘周期相同的鍵控單脈沖發生器。鍵控單脈沖發生器需要按鍵產生單脈沖,但大多數帶有FPGA芯片的開發板提供的是高頻時鐘脈沖,按鍵時會存在抖動問題。為此筆者專門設計了按鍵消抖電路消除抖動,為產生單脈沖提供穩定的按鍵信號。

1 按鍵消抖電路原理[1]

為了使按鍵消抖電路模塊簡潔,移植性好,在此用計數器的方式實現按鍵消抖的功能。

計數器模值n根據抖動信號的脈沖寬度和采樣脈沖信號CLK的周期大小決定。計數器模值n=延時/脈沖信號采樣周期。一般按鍵抖動時間為5~10 ms,甚至更長。筆者用的開發板提供的系統時鐘為24 MHz,按公式計算,當計數器模值取20位,計數到219即h8_0000時,大約延時22 ms。計數期間認為是按鍵的抖動信號,不做采樣;計數器停止計數,認為采樣信號為穩定按鍵信號。這樣就可以把按鍵時間小于22 ms的抖動信號濾掉。

引入一個采樣脈沖信號CLK,并輸入按鍵信號KEY。KEY輸入低電平,計數器開始做加法計數,當計數到h8_0000即計數器中最高位Q19為1,計數器停止計數,輸出Q19,作為按鍵的穩定輸出,計數期間Q19輸出為0;KEY輸入高電平,計數器清零,Q19輸出為0。所以該電路需按鍵22 ms才會得到有效信號。

2 鍵控單脈沖發生器電路原理[2,3]

鍵控單脈沖發生器 [4]利用上述電路解決按鍵消抖問題,得到穩定的信號。用兩個D觸發器[5]和一個與門產生單脈沖,如圖1所示。

圖1 鍵控單脈沖發生器電路圖

D觸發器U2A收到穩定信號D1=1后被觸發。觸發器U2A中的Q1端得到與CLK同步的正向脈沖。輸出Q1到D觸發器U3A,得到比Q1延遲一個時鐘周期的的正向脈沖,將Q2端輸出取反得到一個負向脈沖。Q1與Qn2的輸出作為一個與門的輸入,會輸出一個脈寬是原時鐘周期2倍的單脈沖。

為了使得出的單脈沖脈寬與時鐘周期相等,相位與時鐘周期相同,對圖1中電路設計做了改進,如圖2所示[6]。

圖2 相位調整后單脈沖發生器電路圖

圖2中時鐘送入D觸發器前加了非門,使Q1端產生與n_CLK(CLK的反向脈沖信號)同步的正向脈沖,與門輸出單脈沖與CLK差半個時鐘周期,作為D觸發器U4A的輸入D4,在CLK上升沿U4A被觸發,使單脈沖脈寬與時鐘周期相同,實現了等脈寬。并延遲了半個時鐘周期使輸出脈沖與時鐘周期對應,實現了相位調整。整個單脈沖發生器的時序圖如圖3所示(圖3中的t1,t2是任意鍵按下與鍵抬起時刻)。

圖3 單脈沖發生器時序圖

3 基于FPGA下的按鍵消抖計數器和單脈沖發生器的Verilog HDL語言描述[7,8]

圖1中的按鍵消抖計數器電路,其進行描述的Verilog HDL語言[9]代碼如下:

module kb_debounce(clk,n_rst,n_Kd,Krdy);

input clk,n_rst,n_Kd;

output Krdy;

reg[19:0] Q;

assign Krdy = Q[19];

always @ (posedge clk or negedge n_rst)

begin

if(!n_rst) Q <= 0;

else if(n_Kd == 1′b1)Q <= 0;

else if(Q<20′h8_0000) Q <= (Q+1)% 21′h10_0000;

end

endmodule

代碼中的復位n_rst和按鍵n_Kd都是低電平有效。鍵控單脈沖發生器的Verilog HDL語言代碼如下:

module kb_click(clk,n_rst,n_Kd,click);

input clk,n_rst,n_Kd;

output click;

wire click,U1,U2,U3,U4;

kb_debounce(.clk(clk),.n_rst(n_rst),.n_Kd(n_Kd),.Krdy(U1));

DFF (.clk(~clk),.n_rst(n_rst),.D(U1),.Q(U2));

DFF(.clk(~clk),.n_rst(n_rst),.D(U2),.Q(U3));

assign U4=(U2 &~U3);

DFF(.clk(clk),.n_rst(n_rst),.D(U4),.Q(click));

Endmodule

代碼中還用到了D觸發器DFF,實現這個模塊的代碼比較簡單,此處從略。

4 結 語

該文中的設計,實現了鍵控單脈沖發生器,產生脈寬等于時鐘脈沖,輸出脈沖與時鐘周期對應的單脈沖,并解決了按鍵消抖問題,可以應用到各種需要產生單脈沖的FPGA電路設計中。

按鍵消抖電路可獨立地應用于其他FPGA電路設計中。本文中設計的20 b計數器是根據筆者課題需要而定。其他設計中可以根據按鍵抖動時間可利用公式計算出計數器模值設計計數器。

參考文獻

[1]實用可控的按鍵抖動消除電路[EB/OL].http://www.ic37.com.

[2]余孟嘗.數字電子技術基礎[M].北京:高等教育出版社,1999.

[3]羅斯.數字系統設計與VHDL[M].金明錄,劉倩,譯.北京:電子工業出版社,2008.

[4]單脈沖發生器電路[EB/OL].http://www.dzcpkf.com.

[5]李亞伯.數字電路與系統 [M].北京:電子工業出版社,2001.

[6]王兢.數字電路與系統[M].北京:電子工業出版社,2007.

[7]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,1996.

[8]楊恒.FPGA/VHDL快速工程實踐入門與提高[M].北京:北京航空航天大學出版社,2003.

[9]常曉明,李媛媛.Verilog-HDL工程實踐入門[M].北京:北京航空航天大學出版社,2005.

[10]王誠,吳繼華.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2005.

作者簡介 邢自茹 女,1982年出生,在讀碩士研究生。主要研究方向為計算機應用技術網絡與通訊。

史明健 男,1980年出生,在讀碩士研究生。主要研究方向為計算機應用技術。

主站蜘蛛池模板: 欧美中文一区| 国产91丝袜在线播放动漫| 999国产精品永久免费视频精品久久| 国产无码在线调教| 久久不卡国产精品无码| 国产欧美在线| 久久久久亚洲AV成人网站软件| 欧美在线一级片| 国产网站在线看| 日韩毛片免费| 99国产在线视频| 日本欧美一二三区色视频| 亚洲AⅤ波多系列中文字幕 | 伊人久久青草青青综合| 99国产精品免费观看视频| 久青草国产高清在线视频| 亚洲第七页| 毛片久久网站小视频| 中文国产成人久久精品小说| 国产91无码福利在线| 女人爽到高潮免费视频大全| 夜夜操国产| 在线观看无码a∨| 国产精品久久久久久影院| 99热这里都是国产精品| 国产丝袜无码精品| A级毛片无码久久精品免费| 精品国产欧美精品v| 国产精品毛片一区| 亚洲天堂高清| 玖玖免费视频在线观看| 在线观看免费国产| 日本三级欧美三级| 日日噜噜夜夜狠狠视频| 久久综合伊人 六十路| 天天躁夜夜躁狠狠躁图片| 被公侵犯人妻少妇一区二区三区| 潮喷在线无码白浆| 久久无码av三级| 香蕉国产精品视频| 国产视频a| 欧美激情视频二区三区| 日韩123欧美字幕| www.精品国产| 国产成人精品视频一区视频二区| 亚洲一区第一页| aa级毛片毛片免费观看久| 91视频日本| 国产精品综合久久久 | 99精品久久精品| 国产喷水视频| 久久综合色天堂av| 亚洲欧美另类中文字幕| 日韩成人高清无码| 亚洲国产欧美自拍| 狠狠五月天中文字幕| 欧美日韩精品综合在线一区| 久久婷婷综合色一区二区| 国产91麻豆视频| 波多野结衣中文字幕一区二区| 欲色天天综合网| 日本免费a视频| 国产免费久久精品99re丫丫一| 色综合婷婷| 国产欧美日韩另类精彩视频| 亚洲天堂自拍| 老汉色老汉首页a亚洲| 亚洲国产精品无码久久一线| 亚欧美国产综合| 亚洲A∨无码精品午夜在线观看| 欧美不卡在线视频| 亚洲另类国产欧美一区二区| 日韩欧美国产中文| 91福利在线观看视频| 大香伊人久久| 国产精品露脸视频| 91福利一区二区三区| 精品无码日韩国产不卡av| 欧美精品另类| 国产精欧美一区二区三区| 国产精品微拍| 国产精品成人免费综合|