FPGA按鍵模式的研究與設(shè)計(jì)_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、fpga按鍵模式的研究與設(shè)計(jì)在系統(tǒng)設(shè)計(jì)中,按鍵是最頻繁的人機(jī)交互接口部件。在沒(méi)有微控制器參加的狀況下,fpga系統(tǒng)中按鍵的功能相對(duì)較弱,通常可以將按鍵顫動(dòng)和按鍵處理結(jié)合起來(lái)統(tǒng)一考慮。關(guān)于按鍵的機(jī)械顫動(dòng)問(wèn)題,在以文獻(xiàn)1和文獻(xiàn)2為代表的一類文章中均有研究;關(guān)于矩陣形式的鍵盤掃描問(wèn)題,在以文獻(xiàn)3和文獻(xiàn)4為代表的一類文章中有論述。值得關(guān)注的是,在文獻(xiàn)3中提到過(guò)對(duì)按鍵處理“能表示長(zhǎng)時(shí)光按鍵的操作”的要求;在文獻(xiàn)4中也涉及到“單擊和連擊”兩種擊鍵狀況。不論是文獻(xiàn)3的按鍵操作,還是文獻(xiàn)4的擊鍵操作,都可歸結(jié)為按鍵模式問(wèn)題。目前針對(duì)fpga按鍵模式研究的文章很少,因此本文特地探討fpga的按鍵模式。1 fpg

2、a按鍵模式的分類頻繁的按鍵模式分為單鍵模式和復(fù)鍵模式兩類。所謂單鍵類,就是一次按鍵最多只能輸出一個(gè)有效鍵;而復(fù)鍵類,則指一次按鍵可以輸出多個(gè)有效鍵,通常通過(guò)按鍵時(shí)光的長(zhǎng)短來(lái)區(qū)分多個(gè)有效鍵。單鍵類普通有三種按鍵模式:琴鍵模式、脈沖模式、乒乓模式。在琴鍵模式下,按下鍵時(shí)輸出有效電平,釋放鍵時(shí)輸出無(wú)效電平。在脈沖模式下,每按下一次鍵只輸出一個(gè)特定寬度的有效脈沖,其寬度常與時(shí)鐘寬度相同,可以挺直用做計(jì)數(shù)脈沖。在乒乓模式下,每按下一次鍵,鍵輸出電平翻轉(zhuǎn)一次。復(fù)鍵類按鍵普通有連發(fā)模式和長(zhǎng)鍵模式。復(fù)鍵類按鍵在按鍵持續(xù)時(shí)光未達(dá)到長(zhǎng)按閾值時(shí),輸出效果與單鍵類按鍵模式相同。與單鍵類按鍵模式的不同之處在于對(duì)持續(xù)按鍵

3、的不同處理方式。連發(fā)模式是指持續(xù)按鍵一定時(shí)光以上,以一定頻率重復(fù)輸出有效鍵值。長(zhǎng)鍵模式則是指持續(xù)按鍵達(dá)到一定時(shí)光以上,輸出另外一種不同的有效鍵值。為便利對(duì)照,將幾種按鍵模式的分類狀況列在表1中。2 單鍵類按鍵模式的設(shè)計(jì)2.1 琴鍵模式的設(shè)計(jì)琴鍵模式是全部按鍵模式中相對(duì)最容易的一種,只要考慮到按鍵的去抖問(wèn)題就可以了。機(jī)械按鍵的顫動(dòng)是因?yàn)橛|點(diǎn)的彈性作用在開關(guān)切換的眨眼浮現(xiàn)往返彈跳的不穩(wěn)定現(xiàn)象,通常顫動(dòng)的時(shí)光為10ms20ms。在fpga設(shè)計(jì)中,比較容易的去抖辦法就是用50hz的頻率采樣按鍵,將20ms以內(nèi)的按鍵顫動(dòng)濾掉。在這種消抖方式下,去抖十分容易,用d觸發(fā)器即可便利實(shí)現(xiàn)。其寄存器傳輸級(jí)(rtl

4、)原理圖1所示。不失普通性,假設(shè)按鍵輸出高電平有效(下同),經(jīng)7.2功能,得到其仿真波形2所示。從波形圖可以看出,當(dāng)鍵keyin按下時(shí),在時(shí)鐘信號(hào)clock_50hz的升高沿到達(dá)后,輸出信號(hào)keyout持續(xù)為高電平,直到釋鍵后輸出才變?yōu)榈碗娖?。keyin比較密集的脈沖代表按鍵或釋鍵的顫動(dòng),從輸出信號(hào)keyout的波形可以看出按鍵與釋鍵過(guò)程的顫動(dòng)均已去掉,處理后鍵值輸出的電平變幻均與時(shí)鐘信號(hào)的升高沿同步。2.2 脈沖模式的設(shè)計(jì)與琴鍵模式相比,脈沖模式的不同之處就是對(duì)其按鍵輸出有效電平限定了一個(gè)寬度,通常取時(shí)鐘寬度,即為一個(gè)時(shí)鐘寬度的脈沖。在琴鍵模式輸出的基礎(chǔ)上,再增強(qiáng)一個(gè)數(shù)字的微分環(huán)節(jié),就可以獲

5、得較窄寬度的脈沖。假設(shè)以正脈沖表示有效脈沖輸出(下同),其rtl原理圖3所示。圖3左邊的d觸發(fā)器keytemp起到延遲的作用,它與keyout0一并實(shí)現(xiàn)微分效果,檢測(cè)出上跳沿。圖3右邊的觸發(fā)器keyoutreg0則完成去抖功能。仿真后的輸出波形4所示。從脈沖模式的仿真波形圖中可以看出,完成一次按鍵動(dòng)作(包括按鍵和釋鍵),獲得一個(gè)時(shí)鐘寬度的正脈沖。為體現(xiàn)按鍵的敏捷性,正脈沖的輸出盡量逼近按鍵動(dòng)作,通常在檢測(cè)到跳沿時(shí)即輸出正脈沖,正4中keyout所示信號(hào)。2.3 乒乓模式的設(shè)計(jì)在單鍵類按鍵模式中,乒乓模式與其他兩種模式的區(qū)分在于它的輸出并非是一次特定的有效脈沖,而是帶有輸出電平記憶功能,結(jié)果與原

6、輸出電平相關(guān),將本來(lái)的電平翻轉(zhuǎn),即高電平變?yōu)榈碗娖?,或者低電平變?yōu)楦唠娖?,每次按鍵輸出電平翻轉(zhuǎn)一次。乒乓模式的電路只需在有效跳沿檢測(cè)的基礎(chǔ)上,再跟上一個(gè)t觸發(fā)器做一個(gè)電平翻轉(zhuǎn)即可,其rtl原理圖5所示。圖5右邊的d觸發(fā)器keyoutreg0構(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ā)模式的按鍵過(guò)程分為兩個(gè)階段。兩個(gè)階段的劃分以預(yù)先設(shè)定的按鍵時(shí)光tth為閾值,當(dāng)按鍵持續(xù)時(shí)光小于tth時(shí),輸出處于單鍵值階段,可以

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

8、要求設(shè)定的。閾值tth的大小表征人按鍵時(shí)光的長(zhǎng)短界限,通常選13s,比較符合人的按鍵習(xí)慣。為便利仿真,假設(shè)閾值tth=1s,1s內(nèi)輸出一個(gè)時(shí)鐘周期寬度的正脈沖,1s后以10hz的頻率輸出寬度為時(shí)鐘周期的正脈沖序列。根據(jù)有限狀態(tài)機(jī)采納硬件描述語(yǔ)言舉行設(shè)計(jì)(設(shè)計(jì)代碼略去),設(shè)計(jì)綜合后的仿真輸出波形8所示。圖8中的信號(hào)keyin模擬出兩次按鍵過(guò)程,前兩個(gè)“黑塊”分離代表一次按鍵及釋鍵過(guò)程,因?yàn)榘存I持續(xù)時(shí)光短,系統(tǒng)只輸出一個(gè)正脈沖信號(hào)。其次次按鍵動(dòng)作從第3個(gè)“黑塊”處開頭,并向來(lái)持續(xù)按下不放,可以從keyout信號(hào)波形上看出,先輸出一個(gè)正脈沖,等待1s后,開頭輸出頻率為10hz的脈沖序列。3.2 長(zhǎng)鍵模式的設(shè)計(jì)長(zhǎng)鍵模式的按鍵過(guò)程與連發(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è)按鍵處理問(wèn)題。在fpga系統(tǒng)的設(shè)計(jì)背景下,按鍵的兩個(gè)基本問(wèn)題常放在一起考慮,但是目前國(guó)內(nèi)的文獻(xiàn)資料

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論