專利名稱:基于可編程器件的矩陣鍵盤掃描裝置的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種矩陣鍵盤掃描設(shè)備,具體來(lái)說(shuō),涉及一種矩陣鍵盤掃描處理速度快、穩(wěn)定性高,同時(shí)提供總線型讀寫接口,方便對(duì)矩陣鍵盤數(shù)量進(jìn)行擴(kuò)展的基于可編程器件的矩陣鍵盤掃描裝置。
背景技術(shù):
操作界面是各種電子設(shè)備必不可少的一種用戶接口,而鍵盤是應(yīng)用最為廣泛的一種操作界面。隨著電子設(shè)備功能的不斷增多、操作界面也不斷變得復(fù)雜,采用普通的小規(guī)模鍵盤掃描電路已滿足不了應(yīng)用的需求。在一些小規(guī)模鍵盤應(yīng)用場(chǎng)合,很多都是采用單片機(jī)I/O 口實(shí)現(xiàn)鍵盤掃描,由于這種方案相對(duì)簡(jiǎn)單,所以應(yīng)用比較廣泛,但由于單片機(jī)資源的局限性,鍵盤的規(guī)模擴(kuò)展受到限制,只局限于小規(guī)模鍵盤的應(yīng)用場(chǎng)合,而且成本也相對(duì)較高。同時(shí)由于單片機(jī)是通過(guò)軟件實(shí)現(xiàn)鍵盤掃描,所以在速度、穩(wěn)定性方面存在不足。專用鍵盤芯片也是很多應(yīng)用場(chǎng)合采用的一種方案,這種芯片成本較低,支持的鍵盤規(guī)模也較大,但在應(yīng)用中存在功能較單一、缺少靈活性,不便于鍵盤的擴(kuò)展。目前在很多應(yīng)用領(lǐng)域,鍵盤的數(shù)量一般是幾十個(gè),基至幾百個(gè),而且隨著設(shè)備功能的復(fù)雜化呈現(xiàn)出鍵盤規(guī)模不斷擴(kuò)大的趨勢(shì),這就要求具備支持大規(guī)模鍵盤且便于擴(kuò)展的鍵盤芯片,以滿足應(yīng)用的需求。
實(shí)用新型內(nèi)容針對(duì)以上的不足,本實(shí)用新型提供了一種基于可編程器件的矩陣鍵盤掃描裝置, 它通過(guò)硬件電路實(shí)現(xiàn)按鍵去抖動(dòng)、鍵值存儲(chǔ)和鍵值清除等功能,矩陣鍵盤掃描處理速度快、 穩(wěn)定性高,同時(shí)提供總線型讀寫接口,方便對(duì)矩陣鍵盤數(shù)量進(jìn)行擴(kuò)展。本實(shí)用新型的基于可編程器件的矩陣鍵盤掃描裝置包括數(shù)個(gè)分別用于采樣鍵盤按鍵動(dòng)作的鍵盤操作檢測(cè)單元,以及分別對(duì)各個(gè)鍵盤進(jìn)行采樣得到的鍵盤掃描結(jié)果進(jìn)行編碼,然后以總線形式輸出的總線編譯碼單元。每一所述鍵盤操作檢測(cè)單元包括對(duì)外部矩陣鍵盤的每一行進(jìn)行掃描的行掃描單元,以及當(dāng)行掃描單元掃描到某一行時(shí),同時(shí)對(duì)該行的每一列進(jìn)行掃描的列掃描單元。所述行掃描單元從第一行至最后一行逐次對(duì)矩陣鍵盤進(jìn)行掃描,當(dāng)行掃描單元掃描到某一行時(shí),所述列掃描單元從第一列至最后一列逐次對(duì)矩陣鍵盤進(jìn)行掃描。所述行掃描單元包括用于產(chǎn)生矩陣鍵盤行掃描信號(hào)的行掃描發(fā)生器和存儲(chǔ)行掃描信號(hào)和行掃描結(jié)果的行掃描存儲(chǔ)單元,以及當(dāng)行掃描單元掃描至某一行時(shí),保持行掃描單元一直掃描該行,直至列掃描單元掃描完該行每一列的行掃描鎖存單元。所述行掃描單元還包括防止同一列中不同行的多個(gè)按鍵同時(shí)按下造成直接斷路的行掃描信號(hào)處理單元。所述列掃描單元包括用于檢測(cè)矩陣鍵盤的每一列是否有按鍵按下的列信號(hào)檢測(cè)單元,以及對(duì)列信號(hào)檢測(cè)單元檢測(cè)的列信號(hào)進(jìn)行存儲(chǔ)的列掃描存儲(chǔ)單元。所述列掃描單元還包括避開(kāi)按鍵操作所產(chǎn)生的抖動(dòng)脈沖的消抖釋放處理單元。本實(shí)用新型的有益效果本實(shí)用新型的基于可編程器件的矩陣鍵盤掃描裝置通過(guò)消抖釋放處理單元避開(kāi)了按鍵操作所產(chǎn)生的抖動(dòng)脈沖,使得穩(wěn)定性更高,掃描速度更快,另外,通過(guò)行掃描存儲(chǔ)單元和列掃描存儲(chǔ)單元實(shí)現(xiàn)鍵值存儲(chǔ)功能,不但避免漏鍵,還方便與各種高低速設(shè)備連接,再有,通過(guò)總線編譯碼單元總線形式連接多個(gè)鍵盤操作檢測(cè)單元,可以同時(shí)掃描多個(gè)矩陣鍵盤,規(guī)模大,擴(kuò)展靈活。
圖1為本實(shí)用新型的基于可編程器件的矩陣鍵盤掃描裝置的功能框架圖;圖2為本實(shí)用新型的行掃描發(fā)生器的電路原理圖;圖3為本實(shí)用新型的行掃描鎖存單元的電路原理圖;圖4為本實(shí)用新型的行掃描信號(hào)處理單元的電路原理圖;圖5為本實(shí)用新型的列信號(hào)檢測(cè)單元的電路原理圖;圖6為本實(shí)用新型的列掃描存儲(chǔ)單元的電路原理圖;圖7為本實(shí)用新型的CLK和CLR選通的電路原理圖;圖8為本實(shí)用新型的總線編譯碼單元的電路原理圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本實(shí)用新型進(jìn)行進(jìn)一步闡述。如圖1所示,本實(shí)用新型的基于可編程器件的矩陣鍵盤掃描裝置包括數(shù)個(gè)分別用于采樣鍵盤按鍵動(dòng)作的鍵盤操作檢測(cè)單元,以及分別對(duì)各個(gè)鍵盤進(jìn)行采樣得到的鍵盤掃描結(jié)果進(jìn)行編碼,然后以總線形式輸出的總線編譯碼單元。所述鍵盤操作檢測(cè)單元包括對(duì)外部矩陣鍵盤的每一行進(jìn)行掃描的行掃描單元,以及當(dāng)行掃描單元掃描到某一行時(shí),同時(shí)對(duì)該行的每一列進(jìn)行掃描的列掃描單元,本實(shí)用新型優(yōu)先考慮所述行掃描單元從第一行至最后一行逐次對(duì)矩陣鍵盤進(jìn)行掃描,當(dāng)行掃描單元掃描到某一行時(shí),所述列掃描單元從第一列至最后一列逐次對(duì)矩陣鍵盤進(jìn)行掃描。所述行掃描單元包括行掃描發(fā)生器、行掃描存儲(chǔ)單元、行掃描鎖存單元和行掃描信號(hào)處理單元,行掃描發(fā)生器用于產(chǎn)生矩陣鍵盤行掃描信號(hào),行掃描存儲(chǔ)單元用于存儲(chǔ)行掃描信號(hào)和行掃描結(jié)果,行掃描鎖存單元用于當(dāng)行掃描單元掃描至某一行時(shí),保持行掃描單元一直掃描該行,直至列掃描單元掃描完該行每一列,行掃描信號(hào)處理單元用于防止同一列中不同行的多個(gè)按鍵同時(shí)按下造成直接斷路;所述列掃描單元包括列信號(hào)檢測(cè)單元、消抖釋放處理單元和列掃描存儲(chǔ)單元,列信號(hào)檢測(cè)單元用于檢測(cè)矩陣鍵盤的每一列是否有按鍵按下,消抖釋放處理單元用于避開(kāi)按鍵操作所產(chǎn)生的抖動(dòng)脈沖,列掃描存儲(chǔ)單元用于對(duì)列信號(hào)檢測(cè)單元檢測(cè)的列信號(hào)進(jìn)行存儲(chǔ)。
以下結(jié)合附圖對(duì)每一個(gè)單元進(jìn)行具體說(shuō)明外部矩陣鍵盤是用戶根據(jù)應(yīng)用中的需求接入的鍵盤矩陣,鍵盤的規(guī)??梢愿鶕?jù)需要自定義,但不能超過(guò)芯片支持的最大數(shù)量(在此是以8*8矩陣鍵盤為例說(shuō)明)。如圖2所示,行掃描發(fā)生器用于產(chǎn)生矩陣鍵盤掃描的行掃描信號(hào),它由移位寄存器(inst47 inst50,以及inst54、inst56、inst57和inst58)在外部輸入時(shí)鐘的作用下產(chǎn)生,當(dāng)掃描矩陣鍵盤的某一行時(shí),該行輸出低電平,而其它輸出為高電平。在外部時(shí)鐘的作用下,每一行輪流輸出低電平,以實(shí)現(xiàn)輪流對(duì)每一行進(jìn)行掃描,達(dá)到判斷該行有無(wú)按鍵按下的目的,當(dāng)上電開(kāi)始工作時(shí),由CLR信號(hào)將8個(gè)寄存器的輸出初始化為二進(jìn)制11111110, 當(dāng)正常工作時(shí),由時(shí)鐘信號(hào)CLK對(duì)8個(gè)寄存器的輸出進(jìn)行循環(huán)移位,其中LOCK信號(hào)用于當(dāng)有按鍵按下時(shí)通過(guò)與門in計(jì)8鎖住CLK信號(hào)以停止掃描。八輸入與門instl通過(guò)對(duì)其中七個(gè)寄存器(inst47 inst50,以及instM、inst56和inst58)輸出的監(jiān)測(cè),可以實(shí)現(xiàn)任何時(shí)刻只有一個(gè)寄存器的輸出為0,當(dāng)由于某些意外導(dǎo)致有多個(gè)寄存器輸出為0時(shí)這部分電路經(jīng)過(guò)幾個(gè)時(shí)鐘周期后可以自動(dòng)恢復(fù)為正常的狀態(tài),使掃描信號(hào)的產(chǎn)生更加穩(wěn)定、準(zhǔn)確。在實(shí)際應(yīng)用中,當(dāng)某一行的某個(gè)按鍵被按下時(shí)需使行掃描信號(hào)一直掃描該行,以確保后面的鍵盤處理部分能正確判斷出所按下的按鍵,這部分功能由行掃描鎖存單元實(shí)現(xiàn),其產(chǎn)生的電路原理圖如圖3,它由一個(gè)八輸入的與門inst6實(shí)現(xiàn),當(dāng)有按鍵按下時(shí),列輸入信號(hào)C_IN(TC_IN7中將有某個(gè)被拉為低電平,此時(shí)輸出的LOCK信號(hào)為低電平有效,輸出的LOCK信號(hào)送往行掃描發(fā)生器,以鎖住時(shí)鐘信號(hào)實(shí)現(xiàn)停止掃描。行掃描信號(hào)處理單元對(duì)行掃描發(fā)生器產(chǎn)生的掃描信號(hào)進(jìn)行相應(yīng)的安全性輸出處理,電路原理圖如圖4,當(dāng)行掃描輸出為低電平時(shí),經(jīng)過(guò)非門inst69反相后控制三態(tài)門 inst62使能,行掃描信號(hào)輸出也相應(yīng)為低電平,而當(dāng)行掃描輸出為高電平時(shí),可控制三態(tài)門禁止,輸出為高阻態(tài),這樣可以防止當(dāng)同一列中不同行的多個(gè)按鍵同時(shí)按下時(shí)發(fā)生的高低電平直接短路,避免由此造成功耗增大基至損壞器件。列信號(hào)檢測(cè)單元用于檢測(cè)矩陣鍵盤當(dāng)前有無(wú)按鍵按下,在電路中列掃描信號(hào)輸入被內(nèi)部上拉為高電平,當(dāng)有按鍵被按下時(shí)且行掃描到該按鍵所在的行時(shí),對(duì)應(yīng)的列掃描輸入便被下拉為低電平,因此通過(guò)判斷列掃描輸入信號(hào)便可知道被觸發(fā)的按鍵所處在的列。 其電路原理圖如圖5,在時(shí)鐘信號(hào)CLK的上升緣通過(guò)寄存器inst21鎖存列輸入信號(hào),當(dāng)按鍵釋放時(shí),寄存器inst21便輸出一個(gè)上升緣觸發(fā)寄存器inst22使其輸出表示有按鍵操作的高電平,CLR信號(hào)用于清除按鍵的輸出。由于按鍵的一些物理缺陷,在按鍵按下的瞬間會(huì)產(chǎn)生抖動(dòng)脈沖,導(dǎo)致動(dòng)作的誤判, 所以消抖釋放處理單元是鍵盤掃描的一個(gè)不可缺少的部分,它提高了鍵盤掃描電路的穩(wěn)定性。在圖5中由寄存器inst21和時(shí)鐘信號(hào)CLK實(shí)現(xiàn)消抖功能,它是利用時(shí)鐘周期間隔避開(kāi)按鍵操作的高頻脈沖干擾。行掃描存儲(chǔ)元和列掃描存儲(chǔ)單元實(shí)現(xiàn)了對(duì)掃描信號(hào)的儲(chǔ)存,以適合與各種高低速設(shè)備一起使用,避免漏判,當(dāng)鍵值被讀取后由外部CLR信號(hào)清除。圖6為行掃描存儲(chǔ)單元的電路圖,當(dāng)有按鍵按下時(shí),來(lái)自圖5的列掃描信號(hào)C_0UT(TC_0UT7經(jīng)過(guò)八輸入與非門insU6 后輸出一個(gè)上升緣,觸發(fā)寄存器inst25鎖存行掃描信號(hào),以用于后面的鍵值編碼單元使用??偩€編譯碼單元的實(shí)現(xiàn)如圖7、圖8所示,它由總線地址譯碼器U2、鍵值編碼器U1、 信號(hào)選通輸出控制單元等組成。當(dāng)總線上出現(xiàn)的地址Α(ΓΑ7與本裝置設(shè)置的地址一置時(shí), 由譯碼器U2輸出選中信號(hào)SEL高電平有效,從而控制三態(tài)門inst63和inst64將總線上的 CLK_IN、CLR_IN輸入到內(nèi)部處理電路,由Ul組成的二進(jìn)制編碼器根據(jù)行、列掃描信號(hào)便可確定出被按下的按鍵所處的具體位置,并對(duì)其進(jìn)行編碼后在總線上選通輸出。以上所述僅為本實(shí)用新型的較佳實(shí)施方式,本實(shí)用新型并不局限于上述實(shí)施方式,在實(shí)施過(guò)程中可能存在局部微小的結(jié)構(gòu)改動(dòng),如果對(duì)本實(shí)用新型的各種改動(dòng)或變型不脫離本實(shí)用新型的精神和范圍,且屬于本實(shí)用新型的權(quán)利要求和等同技術(shù)范圍之內(nèi),則本實(shí)用新型也意圖包含這些改動(dòng)和變型。
權(quán)利要求1.一種基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,它包括數(shù)個(gè)分別用于采樣鍵盤按鍵動(dòng)作的鍵盤操作檢測(cè)單元,以及分別對(duì)各個(gè)鍵盤進(jìn)行采樣得到的掃描結(jié)果進(jìn)行編碼,然后以總線形式輸出的總線編譯碼單元。
2.根據(jù)權(quán)利要求1所述的基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,每一所述鍵盤操作檢測(cè)單元包括對(duì)外部矩陣鍵盤的每一行進(jìn)行掃描的行掃描單元,以及當(dāng)行掃描單元掃描到某一行時(shí),同時(shí)對(duì)該行的每一列進(jìn)行掃描的列掃描單元。
3.根據(jù)權(quán)利要求2所述的基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,所述行掃描單元從第一行至最后一行逐次對(duì)矩陣鍵盤進(jìn)行掃描,當(dāng)行掃描單元掃描到某一行時(shí), 所述列掃描單元從第一列至最后一列逐次對(duì)矩陣鍵盤進(jìn)行掃描。
4.根據(jù)權(quán)利要求2或3所述的基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,所述行掃描單元包括用于產(chǎn)生矩陣鍵盤行掃描信號(hào)的行掃描信號(hào)發(fā)生器和存儲(chǔ)行掃描結(jié)果的行掃描存儲(chǔ)單元,以及當(dāng)行掃描單元掃描至某一行時(shí),保持行掃描單元一直掃描該行,直至列掃描單元掃描完該行每一列的行掃描鎖存單元。
5.根據(jù)權(quán)利要求4所述的基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,所述行掃描單元還包括防止同一列中不同行的多個(gè)按鍵同時(shí)按下造成直接斷路的行掃描信號(hào)處理單元。
6.根據(jù)權(quán)利要求2或3所述的基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,所述列掃描單元包括用于檢測(cè)矩陣鍵盤的每一列是否有按鍵按下的列信號(hào)檢測(cè)單元,以及對(duì)列信號(hào)檢測(cè)單元檢測(cè)的列信號(hào)進(jìn)行存儲(chǔ)的列掃描存儲(chǔ)單元。
7.根據(jù)權(quán)利要求6所述的基于可編程器件的矩陣鍵盤掃描裝置,其特征在于,所述列掃描單元還包括避開(kāi)按鍵操作所產(chǎn)生的抖動(dòng)脈沖的消抖釋放處理單元。
專利摘要本實(shí)用新型公開(kāi)了一種基于可編程器件的矩陣鍵盤掃描裝置,包括數(shù)個(gè)采樣鍵盤按鍵動(dòng)作的鍵盤操作檢測(cè)單元,以及對(duì)采樣得到的掃描結(jié)果進(jìn)行編碼,然后以總線形式輸出的總線編譯碼單元,鍵盤操作檢測(cè)單元包括行掃描單元和列掃描單元,行掃描單元包括產(chǎn)生行掃描信號(hào)的行掃描信號(hào)發(fā)生器、防止同一列中多個(gè)按鍵同時(shí)按下造成直接斷路的行掃描信號(hào)處理單元和存儲(chǔ)行掃描結(jié)果的行掃描存儲(chǔ)單元,以及當(dāng)行掃描單元掃描某一行時(shí),保持一直掃描該行,直至列掃描單元掃描完該行各列的行掃描鎖存單元;列掃描單元包括檢測(cè)矩陣鍵盤各列是否有按鍵按下的列信號(hào)檢測(cè)單元和避開(kāi)按鍵操作產(chǎn)生的抖動(dòng)脈沖的消抖釋放處理單元,以及對(duì)列掃描信號(hào)進(jìn)行存儲(chǔ)的列掃描存儲(chǔ)單元。
文檔編號(hào)H03M11/20GK202059394SQ201120143239
公開(kāi)日2011年11月30日 申請(qǐng)日期2011年5月9日 優(yōu)先權(quán)日2011年5月9日
發(fā)明者李志雄 申請(qǐng)人:廣州勵(lì)豐聲光科技有限公司