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