將MAX6954和MAX6955的鍵盤掃描擴展至32鍵以上
MAX6954/MAX6955是4線或2線串行接口的LED驅(qū)動器,可以控制7段、14段或16段LED或一個16x8的LED矩陣。驅(qū)動器還包括5個I/O擴展(GPIO)端口,以及用這些端口自動掃描32個按鍵、消除按鍵抖動的所有邏輯控制。另外一個功能選項是通過一個中斷引腳通知系統(tǒng)處理器消除鍵抖。本文介紹的擴展按鍵掃描方案(從32鍵擴展到80或更多個按鍵)需要增添額外的二極管。
表1. MAX6954/MAX6955的標準32鍵連接
P0 | P1 | P2 | P3 | |
LED Output O0 | SW A1 | SW B1 | SW C1 | SW D1 |
LED Output O1 | SW A2 | SW B2 | SW C2 | SW D2 |
LED Output O2 | SW A3 | SW B3 | SW C3 | SW D3 |
LED Output O3 | SW A4 | SW B4 | SW C4 | SW D4 |
LED Output O4 | SW A5 | SW B5 | SW C5 | SW D5 |
LED Output O5 | SW A6 | SW B6 | SW C6 | SW D6 |
LED Output O6 | SW A7 | SW B7 | SW C7 | SW D7 |
LED Output O7 | SW A8 | SW B8 | SW C8 | SW D8 |
圖1. MAX6954/MAX6955的標準32鍵連接
表1和圖1給出了MAX6954/MAX6955的標準8鍵連接。鍵切換電路按照4 x 8矩陣(4列、8行)讀取32個按鍵的狀態(tài)。鍵盤陣列的8行由8個LED陰極驅(qū)動器輸出(LED輸出O0至LED輸出O7)驅(qū)動。作為多層LED驅(qū)動的一部分,這些LED陰極驅(qū)動輸出依次拉至低電平320μs (標稱值)(順序驅(qū)動LED)。這些驅(qū)動器輸出分別用來拉低鍵開關(guān)的一端,鍵的另一端連接在4個輸入引腳(P0至P3),這4個輸入引腳從內(nèi)部拉至MAX6954/MAX6955的高電平V+。按下開關(guān)時,P0、P1、P2或P3將由相應(yīng)的LED輸出Ox拉至低電平,MAX6954/MAX6955檢測按鍵,并為按鍵提供去抖。
多個按鍵被同時按下時,與開關(guān)串聯(lián)的二極管可以防止2個或多個LED陰極驅(qū)動輸出短路。例如,同時按下SW A1和SW A2時,與按鍵串聯(lián)的二極管可以避免LED輸出O0與LED輸出O1短路,因為在任何情況下至少有一個二極管為反向偏置。二極管采用的是低成本、共陽極的BAW56,SOT23封裝。
MAX6954/MAX6955隨時判斷32個按鍵按下或釋放的動作,器件內(nèi)部僅為指示這32個按鍵的狀態(tài)提供了寄存器。從這一點看,在MAX6954/MAX6955的設(shè)計中似乎沒有辦法擴展掃描電路,需要尋找一種全新的設(shè)計方案。
針對這種特殊情況,我們發(fā)掘了一種冗余情況。許多應(yīng)用中只需要了解某一個按鍵是否被按下。通常,同時按下兩個按鍵的情況被認為是錯誤的鍵輸入,或者是進入工廠診斷模式。這種兩個按鍵同時按下的情況是一種“冗余”情況,我們把新增按鍵連接成好像某一對兒鍵被同時按下的情況,表2和圖2所示電路通過組合P0、P1、P2和P3擴充了16個按鍵。例如,當SW AB1按下時,對于MAX6954/MAX6955而言,所表現(xiàn)出來的狀態(tài)與SW A1和SW B1同時按下的情況相同。只要每對兒按鍵(如SW A1和SW B1)的物理位置不相鄰,這種擴展架構(gòu)即可有效工作。軟件設(shè)計應(yīng)保證在MAX6954/MAX6955的最小去抖周期內(nèi)響應(yīng)按鍵的/IRQ,保證每個對應(yīng)于按鍵掃描的結(jié)果都經(jīng)過適當?shù)姆治鎏幚怼H绻浖?IRQ響應(yīng)較慢,將無法區(qū)分同時按下兩個按鍵的情況(鑒別增添的按鍵狀態(tài))和順序按下相同的兩個按鍵的情況。無論是哪種情況,按鍵去抖寄存器0x08-0x0B將簡單地顯示每個鍵位置位。
表2. MAX6954/MAX6955擴展后的48鍵連接
P0 | P1 | P2 | P3 | P0 P1 | P2 P3 | |
LED Output O0 | SW A1 | SW B1 | SW C1 | SW D1 | SW AB1 | SW CD1 |
LED Output O1 | SW A2 | SW B2 | SW C2 | SW D2 | SW AB2 | SW CD2 |
LED Output O2 | SW A3 | SW B3 | SW C3 | SW D3 | SW AB3 | SW CD3 |
LED Output O3 | SW A4 | SW B4 | SW C4 | SW D4 | SW AB4 | SW CD4 |
LED Output O4 | SW A5 | SW B5 | SW C5 | SW D5 | SW AB5 | SW CD5 |
LED Output O5 | SW A6 | SW B6 | SW C6 | SW D6 | SW AB6 | SW CD6 |
LED Output O6 | SW A7 | SW B7 | SW C7 | SW D7 | SW AB7 | SW CD7 |
LED Output O7 | SW A8 | SW B8 | SW C8 | SW D8 | SW AB8 | SW CD8 |
每個附加按鍵需要一個雙二極管(如低成本、共陰極的BAV70,SOT-23封裝), 按下開關(guān)時,P0和P1或P2和P3被同時拉低。
圖2. MAX6954/MAX6955擴展后的48鍵連接
圖2和表2通過組合P0、P1、P2和P3擴充了16個按鍵。實際上,對于P0-P3鍵掃描輸入還存在另外四種可能的兩鍵組合方式。如果使用了6種兩鍵組合方式,按鍵數(shù)量將增加到80個,如表3所示。圖3給出了6個附加按鍵在LED輸出O0行的連接方式。每個附加按鍵需要一個雙二極管。
表3. MAX6954/MAX6955擴展后的80鍵連接
P0 | P1 | P2 | P3 | P0 P1 | P0 P2 | P0 P3 | P1 P2 | P1 P3 | P2 P3 | |
LED Output O0 | SW A1 | SW B1 | SW C1 | SW D1 | SW AB1 | SW AC1 | SW AD1 | SW BC1 | SW BD1 | SW CD1 |
LED Output O1 | SW A2 | SW B2 | SW C2 | SW D2 | SW AB2 | SW AC2 | SW AD2 | SW BC2 | SW BD2 | SW CD2 |
LED Output O2 | SW A3 | SW B3 | SW C3 | SW D3 | SW AB3 | SW AC3 | SW AD3 | SW BC3 | SW BD3 | SW CD3 |
LED Output O3 | SW A4 | SW B4 | SW C4 | SW D4 | SW AB4 | SW AC4 | SW AD4 | SW BC4 | SW BD4 | SW CD4 |
LED Output O4 | SW A5 | SW B5 | SW C5 | SW D5 | SW AB5 | SW AC5 | SW AD5 | SW BC5 | SW BD5 | SW CD5 |
LED Output O5 | SW A6 | SW B6 | SW C6 | SW D6 | SW AB6 | SW AC6 | SW AD6 | SW BC6 | SW BD6 | SW CD6 |
LED Output O6 | SW A7 | SW B7 | SW C7 | SW D7 | SW AB7 | SW AC7 | SW AD7 | SW BC7 | SW BD7 | SW CD7 |
LED Output O7 | SW A8 | SW B8 | SW C8 | SW D8 | SW AB8 | SW AC8 | SW AD8 | SW BC8 | SW BD8 | SW CD8 |
圖3. MAX6954/MAX6955擴展后的80鍵連接
為什么僅將“同時按下雙鍵”作為判斷附加按鍵的途徑呢?3鍵和4鍵組合可用來替代雙鍵按下的情況,表4給出了這種附加配置。需要注意的是,4-3組合鍵每組需要三個二極管,四組鍵需要4倍數(shù)量的二極管。
表4. 3鍵和4鍵連接
P0 P1 P3 | P0 P1 P4 | P0 P2 P3 | P1 P2 P4 | P0 P1 P2 P3 | |
LED Output O0 |
相關(guān)推薦
焦點更多>>推薦視頻更多>>技術(shù)專區(qū) |
評論