LED顯示驅(qū)動(dòng)器的鍵盤掃描擴(kuò)展方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
本應(yīng)用筆記介紹了一種擴(kuò)展掃描的方法,可以擴(kuò)展MAX6954和MAX6955 LED顯示驅(qū)動(dòng)器的鍵盤掃描范圍,從32鍵擴(kuò)展到80鍵。
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檢測按鍵,并為按鍵提供去抖。
多個(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ù)姆治鎏幚怼H绻浖?duì)/IRQ響應(yīng)較慢,將無法區(qū)分同時(shí)按下兩個(gè)按鍵的情況(鑒別增添的按鍵狀態(tài))和順序按下相同的兩個(gè)按鍵的情況。無論是哪種情況,按鍵去抖寄存器0x08-0x0B將簡單地顯示每個(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í)拉低。
圖2. MAX6954/MAX6955擴(kuò)展后的48鍵連接 [!--empirenews.page--]
圖2和表2通過組合P0、P1、P2和P3擴(kuò)充了16個(gè)按鍵。實(shí)際上,對(duì)于P0-P3鍵掃描輸入還存在另外四種可能的兩鍵組合方式。如果使用了6種兩鍵組合方式,按鍵數(shù)量將增加到80個(gè),如表3所示。圖3給出了6個(gè)附加按鍵在LED輸出O0行的連接方式。每個(gè)附加按鍵需要一個(gè)雙二極管。
表3. MAX6954/MAX6955擴(kuò)展后的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擴(kuò)展后的80鍵連接
為什么僅將“同時(shí)按下雙鍵”作為判斷附加按鍵的途徑呢?3鍵和4鍵組合可用來替代雙鍵按下的情況,表4給出了這種附加配置。需要注意的是,4-3組合鍵每組需要三個(gè)二極管,四組鍵需要4倍數(shù)量的二極管。
表4. 3鍵和4鍵連接
P0 & P1 & P3
P0 & P1 & P4
P0 & P2 & P3
P1 & P2 & P4
P0 & P1 & P2 &P3
LED Output O0
SW ABC1
SW ABD1
SW ACD1
SW BCD1
SW ABCD1
LED Output O1
SW ABC2
SW ABD2
SW ACD2
SW BCD2
SW ABCD2
LED Output O2
SW ABC3
SW ABD3
SW ACD3
SW BCD3
SW ABCD3
LED Output O3
SW ABC4
SW ABD4
SW ACD4
SW BCD4
SW ABCD4
LED Output O4
SW ABC5
SW ABD5
SW ACD5
SW BCD5
SW ABCD5
LED Output O5
SW ABC6
SW ABD6
SW ACD6
SW BCD6
SW ABCD6
LED Output O6
SW ABC7
SW ABD7
SW ACD7
SW BCD7
SW ABCD7
LED Output O7
SW ABC8
SW ABD8
SW ACD8
SW BCD8
SW ABCD8
排除3鍵和4鍵連接的一個(gè)最好理由是它們需要更多的二極管。如果應(yīng)用中所需按鍵只是略高于32鍵的限制,則可首先選擇本文推薦的方案。只是因?yàn)槟承┡既灰蛩兀層脩粽覍?鍵和4鍵的方案也是不可取的。
值得注意的是:每個(gè)擴(kuò)充按鍵的連接方式模擬的是多個(gè)按鍵同時(shí)按下的情況,這些按鍵連接在同一LED陰極驅(qū)動(dòng)器輸出端(LED輸出O0至LED輸出O7)。采用這種連接方式,相關(guān)組合的按鍵總是在同一時(shí)間掃描或去抖。如果新增按鍵所模擬的同時(shí)按下的按鍵由不同的LED陰極驅(qū)動(dòng)輸出掃描,這種工作方式將是不可靠的。