《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 矩陣鍵盤驅動電路的高阻設計
矩陣鍵盤驅動電路的高阻設計
2017年微型機與應用第8期
郭京,沈華, 段小虎
中航工業西安航空計算技術研究所,陜西 西安 710068
摘要: 矩陣鍵盤是人機交互的重要設備。實際應用場景中,用戶通過鍵盤按鍵產生激勵信號,經過驅動電路送到掃描電路,最終傳給處理器電路,從而完成人機交互。在這個過程中,驅動電路負責傳遞信號,驅動電路的設計決定著整個系統能否正常工作。在驅動電路中引入高阻設計后,可以避免多個按鍵同時按下時矩陣鍵盤內部電路發生短路的情況,能讓整個驅動電路更加可靠。
Abstract:
Key words :

  郭京,沈華, 段小虎

  (中航工業西安航空計算技術研究所,陜西 西安 710068)

        摘要矩陣鍵盤是人機交互的重要設備。實際應用場景中,用戶通過鍵盤按鍵產生激勵信號,經過驅動電路送到掃描電路,最終傳給處理器電路,從而完成人機交互。在這個過程中,驅動電路負責傳遞信號,驅動電路的設計決定著整個系統能否正常工作。在驅動電路中引入高阻設計后,可以避免多個按鍵同時按下時矩陣鍵盤內部電路發生短路的情況,能讓整個驅動電路更加可靠。

  關鍵詞:矩陣鍵盤;驅動電路;高阻設計

  中圖分類號:TP391文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.009

  引用格式:郭京,沈華, 段小虎.矩陣鍵盤驅動電路的高阻設計[J].微型機與應用,2017,36(8):26-27,30.

0引言

  隨著電子信息技術的高速發展,越來越多的工業控制設備和移動終端設備得到廣泛的應用,這些設備通稱為嵌入式系統。IEEE( 國際電氣和電子工程師協會) 對嵌入式系統的定義為“用于控制、監視或者輔助操作機器和設備的裝置”。在這些嵌入式系統中,鍵盤作為人機交互的重要手段,是應用最為廣泛的輸入設備之一。當按鍵較少時,采用獨立式鍵盤,當按鍵較多時,采用矩陣式鍵盤,矩陣鍵盤是人機交互的重要設備[1]。實際應用場景中,用戶通過鍵盤按鍵產生激勵,經過驅動電路后送到掃描電路,最終傳給處理器電路,從而完成人機交互。驅動電路負責整個過程中的信號傳遞,驅動電路的設計決定著整個矩陣鍵盤能否正常工作。為了避免多個按鍵同時按下時矩陣鍵盤內部電路發生短路的情況,本文提出一種矩陣鍵盤驅動電路的高阻態設計方法。

1矩陣鍵盤的應用模式

  本設計中矩陣鍵盤的硬件架構如圖1所示。圖1中的矩陣鍵盤為6行4列,每行和每列在默認狀態下是不連接的,當某一個按鈕按下時,交叉處的行與列相連接。

  為了獲得按鍵的位置信息,通常的做法是模塊不停地在行信號上循環輸出掃描信息,并監控列信號的狀態,根據這兩者的組合來判斷是否有按鍵被按下以及被按下的按鍵的行列位置坐標。

2矩陣鍵盤的電路設計

  2.1硬件平臺的構架

001.jpg

  圖1矩陣鍵盤的硬件架構如圖1所示,模塊內通過FPGA內部的狀態機循環向矩陣鍵盤的行信號發出“011111”,“101111”,“110111”,“111011”,“111101”,“111110”的電平進行驅動,然后監控鍵盤列信號的狀態,當未發現按鍵按下時,不停地進行此循環,當發現按鍵按下時,則暫停循環,直到按鍵釋放后再繼續循環掃描[2]。

  若鍵盤沒有任何鍵被按下,則鍵盤的列信號為開路,但由于模塊內部對每個列信號進行了電阻上拉,因此鍵盤沒有任何按鍵按下時,列信號為全1。當鍵盤被按下某個鍵時,如圖1所示,按下了坐標為(行=3,列=2)的鍵,其對應的行、列信號在按鍵處被導通,則FPGA狀態機循環在進行到將行信號輸出為“111011”時,則采集到列信號的值為“1101”,不是全1,則表示此時有按鍵被按下,并且在此時根據行信號的輸出值和列信號的輸入值判斷出當前被按下的按鍵的位置。FPGA的狀態機在此時停止循環,并且將按鍵被按下的事件作為中斷通知處理器,并提供按鍵的坐標。然后待該按鍵被釋放后,則列信號重新變為全1,表示按鍵被釋放,然后FPGA的狀態機繼續進行循環。

  2.2驅動電路分析

  這樣的一種設計架構和應用方式對于僅有單獨按鍵被按下的情況是可以正常使用的,但是用戶在長按住某個按鍵時,同時按下另一個同列的按鍵,驅動電路會發生預期之外的現象。原因如圖2所示。

  

002.jpg

  當按下(行=3,列=2)的按鍵時,據前文所述,列信號應該為“1101”,若在長時間按下(行=3,列=2)的按鍵時,同時按下(行=5,列=2)的按鍵,則電路發生如圖2所示的變化,矩陣鍵盤的第3行、第5行、第2列的信號都連接了起來,由于此時行信號輸出為“111011”,所以發生了如圖中虛線箭頭方向的電流回路,行信號5的高電平輸出和行信號3的低電平輸出發生了短路,從而導致列信號2的電平由原來的0變為了VCC/2,驅動電路在采集到列信號2為VCC/2后,向FPGA驅動輸出高電平,所以FPGA端會采集到列信號變為全1。然后當(行=5,列=2)的按鍵被釋放后,電路恢復到僅有(行=3,列=2)的按鍵被按下的狀態,列信號重新變為“1101”。

  上述過程如表1所示,在長時間按住某個按鍵時,同時按下并釋放另一個同列的按鍵時,驅動電路傳出的信號會讓FPGA認為首先被按下的按鍵被按了兩次,從而導致與預期不符的混亂。并且如果同時按下同列的兩個按鍵,則會發生高電平輸出與低電平輸出短接的問題,對于驅動電路管腳也有所損害。

004.jpg

  2.3驅動電路的高阻態設計

  由于FPGA對于列信號的狀態采集無法將上述的例外情況與正常的按鍵釋放相區別,所以需要設計一種新的驅動電路來解決這個問題,一種改進方式如圖3所示,將行信號驅動循環由原有的“011111”,“101111”,“110111”,“111011”,“111101”,“111110”更改為“0ZZZZZ”,“Z0ZZZZ”,“ZZ0ZZZ”,“ZZZ0ZZ”,“ZZZZ0Z”,“ZZZZZ0”,Z表示高阻。由于列信號有電阻進行上拉,所以仍然可以與之前一樣正常工作。

  

003.jpg

  這樣更改后,當在一個按鍵按下后,再同時按下非本行內的其他鍵時,不會對電路造成任何影響,更不會產生矩陣鍵盤內部短路,即使按下本行的其他鍵,由于不會使得列信號變為全1,因此FPGA不會認為按鍵被釋放掉,不會產生新的事件,從而也不會造成影響。

  驅動電路使用的驅動器必須能夠輸出高阻態,應該使用open drain的驅動器來進行驅動,例如使用74HC05芯片。74HC05芯片的真值表如表2所示。

006.jpg

  2.4矩陣鍵盤電路的具體實現

  經以上分析,一個比較完備的矩陣鍵盤電路應如圖4所示。

  將驅動芯片后端加74HC05芯片可將高電平轉換成高阻態輸出,達到高阻態驅動電路設計要求。

 

005.jpg

3結論

  驅動電路中引入高阻設計可以避免多個按鍵同時按下時矩陣鍵盤內部電路發生短路的情況,使整個驅動電路更加可靠。

參考文獻

  [1] 怯肇乾.嵌入式人機界面中的鍵盤及其接口設計[J].單片機與嵌入式應用系統,2006,20(4): 24-27.

  [2] 張玲.基于FPGA 4*4 鍵盤掃描電路的設計[J].計算機光盤軟件與應用,2012(13):180-181.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美亚洲一区二区三区在线 | 亚洲一区二区免费 | 手机在线毛片 | 毛片毛片毛是个毛毛片 | 免费在线一区二区三区 | 国产欧美日韩另类 | 玖草在线资源 | 9999久久 | 欧美三级 欧美一级 | 欧美性精品hd在线观看 | 嫩草影院ncyy在线观看 | 99精品视频一区在线视频免费观看 | 久久一级黄色片 | 欧美日韩国产免费一区二区三区 | 欧美成人做爰网站 | 中文字幕一区二区三区有限公司 | 国产玖玖在线观看 | 91久久亚洲精品一区二区 | 日本一区二区三区在线 视频 | 亚洲精品国产经典一区二区 | 日韩精品一级毛片 | 国产成人综合精品一区 | 亚洲国产精品视频 | 亚洲午夜精品在线 | 久久久久久久久中文字幕 | 久久精品国产国产精品四凭 | 日韩 国产 欧美视频一区二区三区 | 欧美影院网站视频观看 | 亚洲高清在线观看看片 | 国产欧美一区二区精品性色 | 色久激情 | 在线精品一区二区三区 | 日本美女视频韩国视频网站免费 | 日韩国产精品99久久久久久 | 国产孕妇孕交大片孕 | 亚洲理论片在线中文字幕 | 性久久久久久久久 | 精品成人免费视频 | 中文字幕在线观看91 | 国产成人综合91香蕉 | 国产亚洲一区二区三区在线观看 |