《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > FPGA按鍵模式的研究與設(shè)計(jì)

FPGA按鍵模式的研究與設(shè)計(jì)

2009-03-19
作者:肖 看,朱光喜,劉文予

  摘 要: 對(duì)FPGA設(shè)計(jì)中使用按鍵的常見方式進(jìn)行歸納概括,提出單鍵復(fù)鍵兩類共5種典型的按鍵模式:琴鍵、脈沖、乒乓、連發(fā)和長(zhǎng)鍵模式,并對(duì)每種按鍵模式進(jìn)行了分析與設(shè)計(jì),同時(shí)給出了設(shè)計(jì)綜合的仿真結(jié)果。
  關(guān)鍵詞: FPGA;按鍵模式;抖動(dòng);單鍵;復(fù)鍵

?

  在FPGA系統(tǒng)設(shè)計(jì)中,按鍵是最常見的人機(jī)交互接口部件。在沒有微控制器參與的情況下,F(xiàn)PGA系統(tǒng)中按鍵的功能相對(duì)較弱,通常可以將按鍵抖動(dòng)和按鍵處理結(jié)合起來統(tǒng)一考慮。關(guān)于按鍵的機(jī)械抖動(dòng)問題,在以文獻(xiàn)[1]和文獻(xiàn)[2]為代表的一類文章中均有討論;關(guān)于矩陣形式的鍵盤掃描問題,在以文獻(xiàn)[3]和文獻(xiàn)[4]為代表的一類文章中有論述。值得關(guān)注的是,在文獻(xiàn)[3]中提到過對(duì)按鍵處理“能表示長(zhǎng)時(shí)間按鍵的操作”的要求;在文獻(xiàn)[4]中也涉及到“單擊和連擊”兩種擊鍵情況。不論是文獻(xiàn)[3]的按鍵操作,還是文獻(xiàn)[4]的擊鍵操作,都可歸結(jié)為按鍵模式問題。目前針對(duì)FPGA按鍵模式討論的文章很少,因此本文專門探討FPGA的按鍵模式。
1 FPGA按鍵模式的分類
  常見的按鍵模式分為單鍵模式和復(fù)鍵模式兩類。所謂單鍵類,就是一次按鍵最多只能輸出一個(gè)有效鍵;而復(fù)鍵類,則指一次按鍵可以輸出多個(gè)有效鍵,通常通過按鍵時(shí)間的長(zhǎng)短來區(qū)別多個(gè)有效鍵。
  單鍵類一般有三種按鍵模式:琴鍵模式、脈沖模式、乒乓模式。在琴鍵模式下,按下鍵時(shí)輸出有效電平,釋放鍵時(shí)輸出無效電平。在脈沖模式下,每按下一次鍵只輸出一個(gè)特定寬度的有效脈沖,其寬度常與時(shí)鐘寬度相同,可以直接用做計(jì)數(shù)脈沖。在乒乓模式下,每按下一次鍵,鍵輸出電平翻轉(zhuǎn)一次。
  復(fù)鍵類按鍵一般有連發(fā)模式和長(zhǎng)鍵模式。復(fù)鍵類按鍵在按鍵持續(xù)時(shí)間未達(dá)到長(zhǎng)按閾值時(shí),輸出效果與單鍵類按鍵模式相同。與單鍵類按鍵模式的不同之處在于對(duì)持續(xù)按鍵的不同處理方式。連發(fā)模式是指持續(xù)按鍵一定時(shí)間以上,以一定頻率重復(fù)輸出有效鍵值。長(zhǎng)鍵模式則是指持續(xù)按鍵達(dá)到一定時(shí)間以上,輸出另外一種不同的有效鍵值。為方便對(duì)比,將幾種按鍵模式的分類情況列在表1中。

?


2 單鍵類按鍵模式的設(shè)計(jì)
2.1 琴鍵模式的設(shè)計(jì)
  琴鍵模式是所有按鍵模式中相對(duì)最簡(jiǎn)單的一種,只要考慮到按鍵的去抖問題就可以了。機(jī)械按鍵的抖動(dòng)是由于觸點(diǎn)的彈性作用在開關(guān)切換的瞬間出現(xiàn)來回彈跳的不穩(wěn)定現(xiàn)象,通常抖動(dòng)的時(shí)間為10ms~20ms。在FPGA設(shè)計(jì)中,比較簡(jiǎn)單的去抖方法就是用50Hz的頻率采樣按鍵,將20ms以內(nèi)的按鍵抖動(dòng)濾掉。在這種消抖方式下,去抖電路非常簡(jiǎn)單,用D觸發(fā)器即可方便實(shí)現(xiàn)。其寄存器傳輸級(jí)(RTL)原理圖如圖1所示。

?


  不失一般性,假設(shè)按鍵輸出高電平有效(下同),經(jīng)QuartusⅡ7.2功能仿真,得到其仿真波形如圖2所示。從波形圖可以看出,當(dāng)鍵KeyIn按下時(shí),在時(shí)鐘信號(hào)Clock_50Hz的上升沿到達(dá)后,輸出信號(hào)KeyOut持續(xù)為高電平,直到釋鍵后輸出才變?yōu)榈碗娖健eyIn比較密集的脈沖代表按鍵或釋鍵的抖動(dòng),從輸出信號(hào)KeyOut的波形可以看出按鍵與釋鍵過程的抖動(dòng)均已去掉,處理后鍵值輸出的電平變化均與時(shí)鐘信號(hào)的上升沿同步。

2.2 脈沖模式的設(shè)計(jì)
  與琴鍵模式相比,脈沖模式的不同之處就是對(duì)其按鍵輸出有效電平限定了一個(gè)寬度,通常取時(shí)鐘寬度,即為一個(gè)時(shí)鐘寬度的脈沖。在琴鍵模式輸出的基礎(chǔ)上,再增加一個(gè)數(shù)字的微分環(huán)節(jié),就可以獲得較窄寬度的脈沖。假設(shè)以正脈沖表示有效脈沖輸出(下同),其RTL原理圖如圖3所示。圖3左邊的D觸發(fā)器KeyTemp起到延遲的作用,它與KeyOut~0一并實(shí)現(xiàn)微分效果,檢測(cè)出上跳沿。圖3右邊的觸發(fā)器KeyOut~reg0則完成去抖功能。


  仿真后的輸出波形如圖4所示。從脈沖模式的仿真波形圖中可以看出,完成一次按鍵動(dòng)作(包括按鍵和釋鍵),獲得一個(gè)時(shí)鐘寬度的正脈沖。為體現(xiàn)按鍵的靈敏性,正脈沖的輸出盡量靠近按鍵動(dòng)作,通常在檢測(cè)到跳沿時(shí)即輸出正脈沖,正如圖4中KeyOut所示信號(hào)。


2.3 乒乓模式的設(shè)計(jì)
  在單鍵類按鍵模式中,乒乓模式與其他兩種模式的區(qū)別在于它的輸出并非是一次特定的有效脈沖,而是帶有輸出電平記憶功能,結(jié)果與原輸出電平相關(guān),將原來的電平翻轉(zhuǎn),即高電平變?yōu)榈碗娖剑蛘叩碗娖阶優(yōu)楦唠娖剑看伟存I輸出電平翻轉(zhuǎn)一次。乒乓模式的電路只需在有效跳沿檢測(cè)的基礎(chǔ)上,再跟上一個(gè)T’觸發(fā)器做一個(gè)電平翻轉(zhuǎn)即可,其RTL原理圖如圖5所示。圖5右邊的D觸發(fā)器KeyOut~reg0構(gòu)成T′觸發(fā)器的翻轉(zhuǎn)功能,同時(shí)兼去抖作用。

?


  乒乓模式電路仿真后的輸出波形如圖6所示。從乒乓模式的仿真波形圖中可以看出,完成一次按鍵動(dòng)作(包括按鍵和釋鍵),輸出信號(hào)KeyOut的電平翻轉(zhuǎn)一次。

3 復(fù)鍵類按鍵模式的設(shè)計(jì)
3.1 連發(fā)模式的設(shè)計(jì)

  連發(fā)模式的按鍵過程分為兩個(gè)階段。兩個(gè)階段的劃分以預(yù)先設(shè)定的按鍵時(shí)間tTH為閾值,當(dāng)按鍵持續(xù)時(shí)間小于tTH時(shí),輸出處于單鍵值階段,可以為琴鍵模式的有效電平,也可以為脈沖模式的有效脈沖。當(dāng)按鍵持續(xù)時(shí)間大于tTH時(shí),通常輸出一個(gè)一定頻率的脈沖序列,直到釋放按鍵為止。連發(fā)模式的設(shè)計(jì)較單鍵類模式復(fù)雜,通常用硬件描述語言完成。其設(shè)計(jì)的控制核心可以用一個(gè)有限狀態(tài)機(jī)(FSM)表述,如圖7所示。該FSM包括“空閑”、“單鍵”和“連發(fā)”三個(gè)狀態(tài)。空閑態(tài)是初始狀態(tài),沒有鍵按下時(shí)總是處于空閑態(tài)。單鍵態(tài)表示有鍵按下,但是按鍵持續(xù)時(shí)間不到tTH。當(dāng)鍵持續(xù)按下時(shí)間超過tTH時(shí),系統(tǒng)處于連發(fā)態(tài)。在空閑態(tài),系統(tǒng)輸出低電平;在單鍵態(tài),系統(tǒng)輸出一個(gè)正脈沖(也可以根據(jù)要求輸出有效電平);在連發(fā)態(tài),系統(tǒng)輸出一個(gè)特定頻率的脈沖序列。

?

  連發(fā)態(tài)下序列的輸出頻率是依據(jù)自己的應(yīng)用要求設(shè)定的。閾值tTH的大小表征人按鍵時(shí)間的長(zhǎng)短界限,通常選1~3s,比較符合人的按鍵習(xí)慣。為方便仿真,假設(shè)閾值tTH=1s,1s內(nèi)輸出一個(gè)時(shí)鐘周期寬度的正脈沖,1s后以10Hz的頻率輸出寬度為時(shí)鐘周期的正脈沖序列。按照有限狀態(tài)機(jī)采用Verilog硬件描述語言進(jìn)行設(shè)計(jì)(設(shè)計(jì)代碼略去),設(shè)計(jì)綜合后的仿真輸出波形如圖8所示。圖8中的信號(hào)KeyIn模擬出兩次按鍵過程,前兩個(gè)“黑塊”分別代表一次按鍵及釋鍵過程,由于按鍵持續(xù)時(shí)間短,系統(tǒng)只輸出一個(gè)正脈沖信號(hào)。第二次按鍵動(dòng)作從第3個(gè)“黑塊”處開始,并一直持續(xù)按下不放,可以從KeyOut信號(hào)波形上看出,先輸出一個(gè)正脈沖,等待1s后,開始輸出頻率為10Hz的脈沖序列。


3.2 長(zhǎng)鍵模式的設(shè)計(jì)
  長(zhǎng)鍵模式的按鍵過程與連發(fā)模式基本相同,其狀態(tài)轉(zhuǎn)換示意圖如圖9所示。比較圖9與圖7,差別僅在于圖7的連發(fā)態(tài)換成了圖9的長(zhǎng)鍵態(tài),用以區(qū)別兩者在此時(shí)不同的狀態(tài)輸出。


  長(zhǎng)鍵模式的仿真波形如圖10所示。為有效表示長(zhǎng)鍵模式在長(zhǎng)鍵態(tài)時(shí)的輸出,引入第二個(gè)輸出信號(hào)KeyOutL。當(dāng)按鍵處于單鍵態(tài)時(shí),KeyOut輸出為高電平(也可以是有效脈沖),否則為低電平。當(dāng)按鍵處于長(zhǎng)鍵態(tài)時(shí),KeyOutL輸出為高電平(也可以是有效脈沖),否則為低電平。

?


  按鍵是最不可缺少的人機(jī)交互設(shè)備之一。按鍵的去抖與模式處理是最基本的兩個(gè)按鍵處理問題。在FPGA系統(tǒng)的設(shè)計(jì)背景下,按鍵的兩個(gè)基本問題常放在一起考慮,但是目前國(guó)內(nèi)的文獻(xiàn)資料對(duì)這種情況的論述很少。
  本文針對(duì)FPGA設(shè)計(jì)中使用按鍵的常見方式進(jìn)行歸納概括,提出單鍵復(fù)鍵兩類共5種典型的按鍵模式,并對(duì)每種按鍵模式進(jìn)行了分析與設(shè)計(jì),同時(shí)給出了QuartusII7.2下的功能仿真結(jié)果。這幾種典型的按鍵模式在一般的嵌入式系統(tǒng)設(shè)計(jì)中也是值得借鑒與參考的。


參考文獻(xiàn)
[1] 谷長(zhǎng)龍,李小英.基于FPGA器件的消除按鍵抖動(dòng)方法研究[J].吉林化工學(xué)院學(xué)報(bào),2006,23(3):53-55.
[2] 方龍,肖獻(xiàn)保,李威.關(guān)于消除按鍵機(jī)械抖動(dòng)的研究[J].廣西輕工業(yè),2008(1):92,105.
[3] 王志輝,林水生.基于FPGA的鍵盤掃描模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].國(guó)外電子元器件,2006(5):67-69.
[4] 張志利,侯傳勛,蔡偉,等.全功能硬件掃描鍵盤控制器IP核的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2006,33(10).

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久久久久电影| 国产精品久久久久999| 亚洲亚洲精品三区日韩精品在线视频 | 久久久久久久999| 欧美一区二区精品| 香蕉成人伊视频在线观看| 亚洲女性喷水在线观看一区| 在线亚洲一区观看| 亚洲视频成人| 亚洲一区制服诱惑| 亚洲欧美另类国产| 欧美一区二区三区四区在线观看| 亚洲欧美怡红院| 午夜亚洲福利| 欧美在线视频日韩| 久久久综合香蕉尹人综合网| 久久婷婷丁香| 欧美成人精品在线视频| 欧美成人一品| 欧美激情亚洲激情| 欧美日韩亚洲一区在线观看| 欧美午夜无遮挡| 国产精品尤物| 狠狠色狠狠色综合日日小说| 伊人男人综合视频网| 亚洲国产日韩美| 日韩一区二区精品葵司在线| 亚洲网站在线看| 欧美一级久久久| 久久精品电影| 亚洲免费观看| 午夜精品福利在线观看| 欧美专区在线观看| 麻豆国产精品va在线观看不卡 | 国产精品社区| 国内精品**久久毛片app| 在线观看日韩欧美| 99riav1国产精品视频| 亚洲午夜视频在线| 久久精品国产91精品亚洲| 亚洲日本电影在线| 亚洲一区高清| 久久精品国产亚洲高清剧情介绍| 欧美不卡视频一区| 欧美新色视频| 国产综合久久| 亚洲精品1区| 亚洲综合欧美| 亚洲国产综合在线| 亚洲一区二区三区中文字幕| 久久九九国产精品| 欧美人在线观看| 国产欧美日韩亚洲| 亚洲国产婷婷综合在线精品| 亚洲调教视频在线观看| 久久精品理论片| 亚洲一线二线三线久久久| 久久天天躁狠狠躁夜夜爽蜜月 | 亚洲欧美日本国产有色| 亚洲三级性片| 先锋影音久久久| 欧美成人亚洲成人| 国产精品欧美一区二区三区奶水 | 亚洲欧美日韩国产另类专区| 最新成人在线| 欧美一区国产在线| 欧美日本簧片| 国外成人免费视频| 亚洲视频自拍偷拍| 亚洲人妖在线| 久久久久久高潮国产精品视| 欧美图区在线视频| 亚洲国产成人91精品| 性色av一区二区三区| 亚洲午夜电影网| 欧美大片91| 国产亚洲精品久| 国产精品99久久久久久久久| 亚洲人成网站在线观看播放| 欧美影院视频| 国产精品福利影院| 亚洲欧洲在线播放| 久久精品视频在线观看| 欧美一级视频免费在线观看| 欧美裸体一区二区三区| 一区二区在线看| 亚洲你懂的在线视频| 一区二区国产日产| 免费欧美电影| 黄色成人免费网站| 欧美一级视频免费在线观看| 亚洲一级一区| 欧美日韩免费观看一区二区三区| 在线观看三级视频欧美| 久久电影一区| 欧美在线观看一区二区| 国产精品老牛| 一区二区三区精品视频| 91久久国产精品91久久性色| 久久久中精品2020中文| 国产手机视频精品| 亚洲欧美日本日韩| 午夜精品视频一区| 国产精品国产三级国产aⅴ无密码| 亚洲精品视频一区二区三区| 亚洲精品国产欧美| 欧美成黄导航| 亚洲国产欧美日韩另类综合| 亚洲日本成人女熟在线观看| 蜜桃久久精品乱码一区二区| 红杏aⅴ成人免费视频| 亚洲电影av在线| 亚洲综合丁香| 国际精品欧美精品| 亚洲图片激情小说| 亚洲性夜色噜噜噜7777| 欧美日本免费| 亚洲精品专区| 一区二区三区 在线观看视| 欧美剧在线免费观看网站| 91久久精品国产91性色| 亚洲精选国产| 欧美精品电影| 亚洲精品在线免费观看视频| 99国产精品久久久久久久久久| 欧美大片免费久久精品三p | 久久精品日产第一区二区三区 | 久久精品国内一区二区三区| 久久亚洲欧美| 精品成人国产| 91久久国产综合久久91精品网站| 免费视频一区二区三区在线观看| 尤物yw午夜国产精品视频明星| 亚洲激情成人| 欧美电影在线免费观看网站| 亚洲日本成人在线观看| 宅男噜噜噜66一区二区66| 国产精品超碰97尤物18| 性xx色xx综合久久久xx| 免费观看一级特黄欧美大片| 亚洲精品1区| 亚洲欧美另类久久久精品2019| 国产欧美日韩91| 久久国产精品久久久| 欧美成人资源网| 日韩视频精品在线观看| 亚洲综合精品一区二区| 国产一区二区剧情av在线| 亚洲三级免费观看| 国产精品久久夜| 久久国产88| 欧美激情一区在线| 亚洲午夜久久久久久尤物| 久久久噜噜噜久噜久久| 91久久久久久久久| 亚洲欧美日韩精品一区二区 | 亚洲视频日本| 久久久久99| 亚洲精品免费一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲理伦在线| 欧美一区三区三区高中清蜜桃| 狠狠综合久久av一区二区小说| 99精品久久| 国产欧美日韩91| 日韩亚洲成人av在线| 国产精品入口麻豆原神| 亚洲黄网站在线观看| 国产精品久久久久久久午夜片| 久久激五月天综合精品| 欧美日韩一区二区三区在线| 欧美一区二区在线看| 欧美理论在线| 欧美在线亚洲综合一区| 欧美日韩国产精品自在自线| 午夜久久一区| 欧美日韩日韩| 亚洲国产第一页| 国产精品久99| 91久久精品国产91性色tv| 国产精品久久久久久亚洲调教| 久久精品成人一区二区三区| 欧美四级在线观看| 亚洲国产精品一区二区www| 国产精品―色哟哟| 99精品视频一区| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区久久网| 国产综合视频在线观看| 亚洲制服av| 亚洲国产成人精品久久| 欧美一区二区三区男人的天堂| 最新国产の精品合集bt伙计| 久久久久欧美精品| 亚洲一区二区三区四区视频| 欧美伦理91i| 91久久在线| 国产主播精品在线| 性18欧美另类| 99精品国产99久久久久久福利|