LED顯示驅(qū)動器的鍵盤掃描擴展方法介紹
本應用筆記介紹了一種擴展掃描的方法,可以擴展MAX6954和MAX6955 LED顯示驅(qū)動器的鍵盤掃描范圍,從32鍵擴展到80鍵。 圖2. MAX6954/MAX6955擴展后的48鍵連接
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ū)動器輸出分別用來拉低鍵開關的一端,鍵的另一端連接在4個輸入引腳(P0至P3),這4個輸入引腳從內(nèi)部拉至MAX6954/MAX6955的高電平V+。按下開關時,P0、P1、P2或P3將由相應的LED輸出Ox拉至低電平,MAX6954/MAX6955檢測按鍵,并為按鍵提供去抖。
多個按鍵被同時按下時,與開關串聯(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的設計中似乎沒有辦法擴展掃描電路,需要尋找一種全新的設計方案。
針對這種特殊情況,我們發(fā)掘了一種冗余情況。許多應用中只需要了解某一個按鍵是否被按下。通常,同時按下兩個按鍵的情況被認為是錯誤的鍵輸入,或者是進入工廠診斷模式。這種兩個按鍵同時按下的情況是一種“冗余”情況,我們把新增按鍵連接成好像某一對兒鍵被同時按下的情況,表2和圖2所示電路通過組合P0、P1、P2和P3擴充了16個按鍵。例如,當SW AB1按下時,對于MAX6954/MAX6955而言,所表現(xiàn)出來的狀態(tài)與SW A1和SW B1同時按下的情況相同。只要每對兒按鍵(如SW A1和SW B1)的物理位置不相鄰,這種擴展架構即可有效工作。軟件設計應保證在MAX6954/MAX6955的最小去抖周期內(nèi)響應按鍵的/IRQ,保證每個對應于按鍵掃描的結果都經(jīng)過適當?shù)姆治鎏幚?。如果軟件?IRQ響應較慢,將無法區(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封裝), 按下開關時,P0和P1或P2和P3被同時拉低。
DIY機械鍵盤相關社區(qū):機械鍵盤DIY
評論