DM642和CPLD外部中斷的寄存器式鍵盤設(shè)計(jì)
摘要:介紹了一種采用DM642和CPLD相配合的擴(kuò)展鍵盤方法。CPLD管理鍵盤電路中的芯片邏輯,DM642的外部中斷監(jiān)控按鍵的狀態(tài)。簡單闡述了鍵盤的分類,給出系統(tǒng)的硬件電路原理圖,在CCS軟件中調(diào)試程序方法。仿真結(jié)果表明,設(shè)計(jì)可行,達(dá)到了預(yù)期效果。
關(guān)鍵詞:鍵盤;DM642;CPLD;人機(jī)交互
引言
鍵盤是人機(jī)交互模塊中必備的輸入部分,在目前的嵌入式系統(tǒng)人機(jī)接口中通常采用專用的鍵盤處理芯片ZLG7290設(shè)計(jì)鍵盤。由于ZLG7290是一種64位LED顯示和64個(gè)按鍵的鍵盤管理器件,會(huì)造成部分LED顯示和按鍵空閑浪費(fèi)并占用硬件資源比較多,使成本增加。隨著DM642性價(jià)比的提高,它在圖像處理系統(tǒng)和數(shù)字媒體系統(tǒng)中的應(yīng)用越來越廣泛,而作為人機(jī)交互重要手段的鍵盤在上述系統(tǒng)中是必不可少的輸入設(shè)備。通常以DM642為核心的電路系統(tǒng)中主要采用獨(dú)立式鍵盤和行列掃描式鍵盤。本文在DM642電路系統(tǒng)中使用CPLD提供多路輸入/輸出引腳的方法擴(kuò)展鍵盤。DM642的外部中斷監(jiān)控按鍵的狀態(tài),CPLD管理鍵盤電路中的芯片邏輯。此外,CPLD(EPM7128AET芯片)共有100個(gè)輸入/輸出引腳,可根據(jù)實(shí)際需要自由擴(kuò)展引腳,實(shí)現(xiàn)靈活,應(yīng)用前景廣闊。
1 獨(dú)立式鍵盤和行列掃描式鍵盤
1.1 獨(dú)立式鍵盤
獨(dú)立式鍵盤是指將每個(gè)按鍵按一對一的方式直接連接到I/O輸入線上所構(gòu)成的鍵盤。獨(dú)立式鍵盤可以工作在多種方式下:中斷方式、程序查詢方式、定時(shí)查詢發(fā)送和中斷查詢方式。獨(dú)立式鍵盤的缺點(diǎn)是需要占用較多的I/O線。當(dāng)應(yīng)用系統(tǒng)中需要的按鍵比較少或I/O線比較富余時(shí),可以把單個(gè)按鍵與DSP的輸入/輸出引腳直連,采用查詢或中斷方式檢測鍵值。電路如圖1所示,S1~Sn表示n個(gè)按鍵,按鍵的輸入端接地,輸出端與DSP的輸入/輸出引腳P1~Pn相連,并接上拉電阻。DSP可以采用查詢方式檢測鍵值,也可以采用中斷方式監(jiān)控按鍵的狀態(tài)。
1.2 行列掃描式鍵盤
行列掃描式鍵盤是行列式鍵盤中最主要的一種,是用n條I/O線作為行線,m條I/O線作為列線組成的鍵盤。在行線和列線的每一個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵。這樣,鍵盤中按鍵的個(gè)數(shù)是m×n個(gè)。它適合于構(gòu)成按鍵數(shù)目比較多的鍵盤。這種形式的鍵盤結(jié)構(gòu),能夠有效地提高系統(tǒng)中I/O口的利用率。行列掃描式是先使列(行)線全輸出低電平,然后判斷行(列)線狀態(tài),若行線全為高電平表示無鍵被按下,若行線不全為高電平表示有鍵被按下。然后依次使列線為低電平,再判斷行線狀態(tài),當(dāng)行線全為高電平時(shí)表示被按下的鍵不在本列,當(dāng)行線不全為高電平時(shí)表示被按下的鍵在本列,把此時(shí)的行線狀態(tài)與列線狀態(tài)和在一起即為被按下的鍵的位置。掃描法對鍵的識別采用逐行(列)掃描的方法獲得鍵的位置,當(dāng)被按下的鍵在最后一行時(shí)需要掃描N次(N為行數(shù)),當(dāng)N比較大時(shí)鍵盤工作速度較慢。如圖2所示,該鍵盤為16鍵行列掃描式鍵盤,具有4路輸入引腳Pn~Pi4和4路輸出引腳Po1~Po4配合使用。當(dāng)DSP工作于查詢方式時(shí),按鍵不需要加上拉或下拉電阻。
評論