LED顯示驅動(dòng)器的鍵盤(pán)掃描擴展方法介紹
本應用筆記介紹了一種擴展掃描的方法,可以擴展MAX6954和MAX6955 LED顯示驅動(dòng)器的鍵盤(pán)掃描范圍,從32鍵擴展到80鍵。 圖2. MAX6954/MAX6955擴展后的48鍵連接
MAX6954/MAX6955是4線(xiàn)或2線(xiàn)串行接口的LED驅動(dòng)器,可以控制7段、14段或16段LED或一個(gè)16x8的LED矩陣。驅動(dòng)器還包括5個(gè)I/O擴展(GPIO)端口,以及用這些端口自動(dòng)掃描32個(gè)按鍵、消除按鍵抖動(dòng)的所有邏輯控制。另外一個(gè)功能選項是通過(guò)一個(gè)中斷引腳通知系統處理器消除鍵抖。本文介紹的擴展按鍵掃描方案(從32鍵擴展到80或更多個(gè)按鍵)需要增添額外的二極管。
表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個(gè)按鍵的狀態(tài)。鍵盤(pán)陣列的8行由8個(gè)LED陰極驅動(dòng)器輸出(LED輸出O0至LED輸出O7)驅動(dòng)。作為多層LED驅動(dòng)的一部分,這些LED陰極驅動(dòng)輸出依次拉至低電平320µs (標稱(chēng)值)(順序驅動(dòng)LED)。這些驅動(dòng)器輸出分別用來(lái)拉低鍵開(kāi)關(guān)的一端,鍵的另一端連接在4個(gè)輸入引腳(P0至P3),這4個(gè)輸入引腳從內部拉至MAX6954/MAX6955的高電平V+。按下開(kāi)關(guān)時(shí),P0、P1、P2或P3將由相應的LED輸出Ox拉至低電平,MAX6954/MAX6955檢測按鍵,并為按鍵提供去抖。
多個(gè)按鍵被同時(shí)按下時(shí),與開(kāi)關(guān)串聯(lián)的二極管可以防止2個(gè)或多個(gè)LED陰極驅動(dòng)輸出短路。例如,同時(shí)按下SW A1和SW A2時(shí),與按鍵串聯(lián)的二極管可以避免LED輸出O0與LED輸出O1短路,因為在任何情況下至少有一個(gè)二極管為反向偏置。二極管采用的是低成本、共陽(yáng)極的BAW56,SOT23封裝。
MAX6954/MAX6955隨時(shí)判斷32個(gè)按鍵按下或釋放的動(dòng)作,器件內部?jì)H為指示這32個(gè)按鍵的狀態(tài)提供了寄存器。從這一點(diǎn)看,在MAX6954/MAX6955的設計中似乎沒(méi)有辦法擴展掃描電路,需要尋找一種全新的設計方案。
針對這種特殊情況,我們發(fā)掘了一種冗余情況。許多應用中只需要了解某一個(gè)按鍵是否被按下。通常,同時(shí)按下兩個(gè)按鍵的情況被認為是錯誤的鍵輸入,或者是進(jìn)入工廠(chǎng)診斷模式。這種兩個(gè)按鍵同時(shí)按下的情況是一種“冗余”情況,我們把新增按鍵連接成好像某一對兒鍵被同時(shí)按下的情況,表2和圖2所示電路通過(guò)組合P0、P1、P2和P3擴充了16個(gè)按鍵。例如,當SW AB1按下時(shí),對于MAX6954/MAX6955而言,所表現出來(lái)的狀態(tài)與SW A1和SW B1同時(shí)按下的情況相同。只要每對兒按鍵(如SW A1和SW B1)的物理位置不相鄰,這種擴展架構即可有效工作。軟件設計應保證在MAX6954/MAX6955的最小去抖周期內響應按鍵的/IRQ,保證每個(gè)對應于按鍵掃描的結果都經(jīng)過(guò)適當的分析處理。如果軟件對/IRQ響應較慢,將無(wú)法區分同時(shí)按下兩個(gè)按鍵的情況(鑒別增添的按鍵狀態(tài))和順序按下相同的兩個(gè)按鍵的情況。無(wú)論是哪種情況,按鍵去抖寄存器0x08-0x0B將簡(jiǎn)單地顯示每個(gè)鍵位置位。
表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
每個(gè)附加按鍵需要一個(gè)雙二極管(如低成本、共陰極的BAV70,SOT-23封裝), 按下開(kāi)關(guān)時(shí),P0和P1或P2和P3被同時(shí)拉低。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論