本應(yīng)用筆記詳細(xì)介紹了如何將MAX6954和MAX6955 LED顯示驅(qū)動器的按鍵掃描功能從32個(gè)按鍵擴(kuò)展至多達(dá)80個(gè)按鍵。
MAX6954/MAX6955為4線和2線串行接口LED驅(qū)動器,可控制多達(dá)7段、14段和16段LED數(shù)字或16x8 LED陣列。該驅(qū)動程序還包括五個(gè) I/O 擴(kuò)展器 (GPIO) 端口,以及用于使用部分或全部這些端口自動掃描和去抖動多達(dá) 32 個(gè)按鍵開關(guān)的邏輯。此邏輯的一個(gè)可選功能是通過中斷輸出引腳提醒系統(tǒng)處理器密鑰去抖動。本文所述的技術(shù)通過增加二極管,將MAX6954/MAX6955的能力從32個(gè)增加到80個(gè)或更多鍵。
P0 |
P1 | P2 | P3 |
P0 |
LED Output O0 | SW A1 | SW B1 | SW C1 | LED Output O0 |
LED Output O1 | SW A2 | SW B2 | SW C2 | LED Output O1 |
LED Output O2 | SW A3 | SW B3 | SW C3 | LED Output O2 |
LED Output O3 | SW A4 | SW B4 | SW C4 | LED Output O3 |
LED Output O4 | SW A5 | SW B5 | SW C5 | LED Output O4 |
LED Output O5 | SW A6 | SW B6 | SW C6 | LED Output O5 |
LED Output O6 | SW A7 | SW B7 | SW C7 | LED Output O6 |
LED Output O7 | SW A8 | SW B8 | SW C8 | LED Output O7 |
圖1.MAX6954/MAX6955的標(biāo)準(zhǔn)32鍵連接。
表1和圖1所示為MAX6954/MAX6955的標(biāo)準(zhǔn)按鍵開關(guān)連接。按鍵開關(guān)電路讀取 32 個(gè)按鍵,這些按鍵以 4 x 8 矩陣(四列,八行)組織。八個(gè)按鍵矩陣行由八個(gè) LED 陰極驅(qū)動輸出(LED 輸出 O0 到 LED 輸出 O7)驅(qū)動。這些 LED 陰極驅(qū)動輸出交替變?yōu)榈碗娖?320μs (標(biāo)稱),并作為多路復(fù)用 LED 驅(qū)動器的一部分按順序驅(qū)動其 LED。這些驅(qū)動輸出還用于將兩個(gè)按鍵開關(guān)的一端拉低。按鍵的另一端連接四個(gè)輸入引腳(P0-P3),在MAX6954/MAX6955內(nèi)部上拉至V+。如果按下開關(guān),P0、P1、P2或P3被適當(dāng)?shù)腖ED輸出Ox輸出拉低,MAX6954/MAX6955檢測并去抖動按鍵。
與開關(guān)串聯(lián)的二極管可確保在同時(shí)按下多個(gè)鍵時(shí),兩個(gè)或多個(gè) LED 陰極驅(qū)動輸出不會短路在一起。例如,如果將 SW A1 和 SW A2 壓在一起,則與按鍵串聯(lián)的二極管可防止 LED 輸出 O0 短路至 LED 輸出 O1。這是因?yàn)?,在任何時(shí)候,至少有一個(gè)二極管會被反向偏置。通常采用的二極管是采用SOT23的低成本共陽極BAW56。
MAX6954/MAX6955可區(qū)分和區(qū)分32種可能的按鍵的任意組合。部件中只有足夠的寄存器來提供這 32 個(gè)密鑰的狀態(tài)。顯然,除了MAX6954/MAX6955設(shè)計(jì)的32個(gè)按鍵之外,沒有辦法擴(kuò)展這種掃描拓?fù)?。因此,有必要采取另一種更具創(chuàng)造性的方法。
具體來說,我們尋找一個(gè)多余的情況來利用。在許多情況下,應(yīng)用程序只需要檢測是否按下了多個(gè)鍵中的一個(gè)。通常,設(shè)備上的雙鍵按下要么是錯誤的輸入,要么是進(jìn)入出廠診斷模式的狡猾手段。因此,冗余情況是雙鍵按下。這里建議的創(chuàng)造性方法是使其他鍵看起來好像同時(shí)按下了某些鍵對。表 2 和圖 2 中的示例通過組合 P0 和 P1 以及 P2 和 P3 又增加了 16 個(gè)鍵。例如,當(dāng)按下SW AB1時(shí),MAX6954/MAX6955必須同時(shí)按下SW A1和SW B1。這種擴(kuò)展架構(gòu)運(yùn)行良好,只要每個(gè)原始鍵對(例如 SW A1 和 SW B1)沒有物理上彼此相鄰放置,以避免它們意外地壓在一起。軟件應(yīng)響應(yīng)MAX6954/MAX6955去抖周期內(nèi)的/IRQ鍵輸出,以確保只分析一次按鍵掃描的結(jié)果。如果軟件/IRQ響應(yīng)較慢,則無法區(qū)分同時(shí)雙擊(識別我們的額外鍵)和相同兩個(gè)鍵的順序按鍵。無論哪種情況,密鑰去抖寄存器0x08-0x0B只是顯示為每個(gè)密鑰設(shè)置的位。
P0 |
P1 | P2 | P3 | P0 & P1 | P2 & P3 |
P0 |
LED Output O0 | SW A1 | SW B1 | SW C1 | SW D1 | SW AB1 | LED Output O0 |
LED Output O1 | SW A2 | SW B2 | SW C2 | SW D2 | SW AB2 | LED Output O1 |
LED Output O2 | SW A3 | SW B3 | SW C3 | SW D3 | SW AB3 | LED Output O2 |
LED Output O3 | SW A4 | SW B4 | SW C4 | SW D4 | SW AB4 | LED Output O3 |
LED Output O4 | SW A5 | SW B5 | SW C5 | SW D5 | SW AB5 | LED Output O4 |
LED Output O5 | SW A6 | SW B6 | SW C6 | SW D6 | SW AB6 | LED Output O5 |
LED Output O6 | SW A7 | SW B7 | SW C7 | SW D7 | SW AB7 | LED Output O6 |
LED Output O7 | SW A8 | SW B8 | SW C8 | SW D8 | SW AB8 | LED Output O7 |
每個(gè)額外的鍵都需要一個(gè)雙二極管(例如SOT23中的低成本共陰極BAV70),當(dāng)按下開關(guān)時(shí),它將P0和P1拉低,或P2和P3拉低。
圖2.擴(kuò)展了與MAX6954/MAX6955的48鍵連接。
圖 2、表 2 方案通過組合 P0 和 P1 以及 P2 和 P3 增加了 16 個(gè)密鑰。實(shí)際上,P0-P3 按鍵掃描輸入還有四種可能的雙鍵組合。如果使用所有六個(gè)雙鍵組合,則密鑰計(jì)數(shù)可以擴(kuò)展到 80 個(gè)交換機(jī),如表 3 所示。圖 3 顯示了 LED 輸出 O0 行的六個(gè)額外鍵是如何接線的。同樣,每個(gè)額外的按鍵開關(guān)都使用一個(gè)雙二極管。
P0 |
P1 | P2 | P3 | P0 & P1 | P0 & P2 | P0 & P3 | P1 & P2 | P1 & P3 | P2 & P3 |
P0 |
LED Output O0 | SW A1 | SW B1 | SW C1 | SW D1 | SW AB1 | SW AC1 | SW AD1 | SW BC1 | SW BD1 | LED Output O0 |
LED Output O1 | SW A2 | SW B2 | SW C2 | SW D2 | SW AB2 | SW AC2 | SW AD2 | SW BC2 | SW BD2 | LED Output O1 |
LED Output O2 | SW A3 | SW B3 | SW C3 | SW D3 | SW AB3 | SW AC3 | SW AD3 | SW BC3 | SW BD3 | LED Output O2 |
LED Output O3 | SW A4 | SW B4 | SW C4 | SW D4 | SW AB4 | SW AC4 | SW AD4 | SW BC4 | SW BD4 | LED Output O3 |
LED Output O4 | SW A5 | SW B5 | SW C5 | SW D5 | SW AB5 | SW AC5 | SW AD5 | SW BC5 | SW BD5 | LED Output O4 |
LED Output O5 | SW A6 | SW B6 | SW C6 | SW D6 | SW AB6 | SW AC6 | SW AD6 | SW BC6 | SW BD6 | LED Output O5 |
LED Output O6 | SW A7 | SW B7 | SW C7 | SW D7 | SW AB7 | SW AC7 | SW AD7 | SW BC7 | SW BD7 | LED Output O6 |
LED Output O7 | SW A8 | SW B8 | SW C8 | SW D8 | SW AB8 | SW AC8 | SW AD8 | SW BC8 | SW BD8 | LED Output O7 |
圖3.擴(kuò)展了與MAX80/MAX6954的6955鍵連接。
但是,為什么要僅限于雙擊鍵來識別額外的鍵呢?可以使用三重和四重組合鍵代替或補(bǔ)充雙鍵按下。表 4 顯示了這些額外的配置。請注意,四個(gè)三重組合需要一個(gè)三重二極管,而四重組合需要一個(gè)四重二極管。
P0 & P1 & P3 |
P0 & P1 & P4 | P0 & P2 & P3 | P1 & P2 & P4 | P0 & P1 & P2 &P3 |
P0 & P1 & P3 |
LED Output O0 | SW ABC1 | SW ABD1 | SW ACD1 | SW BCD1 | LED Output O0 |
LED Output O1 | SW ABC2 | SW ABD2 | SW ACD2 | SW BCD2 | LED Output O1 |
LED Output O2 | SW ABC3 | SW ABD3 | SW ACD3 | SW BCD3 | LED Output O2 |
LED Output O3 | SW ABC4 | SW ABD4 | SW ACD4 | SW BCD4 | LED Output O3 |
LED Output O4 | SW ABC5 | SW ABD5 | SW ACD5 | SW BCD5 | LED Output O4 |
LED Output O5 | SW ABC6 | SW ABD6 | SW ACD6 | SW BCD6 | LED Output O5 |
LED Output O6 | SW ABC7 | SW ABD7 | SW ACD7 | SW BCD7 | LED Output O6 |
LED Output O7 | SW ABC8 | SW ABD8 | SW ACD8 | SW BCD8 | LED Output O7 |
放棄三鍵和四鍵組合是有充分理由的——它們需要更多的二極管。但是,如果應(yīng)用程序只需要幾個(gè)高于 32 鍵限制的額外鍵,則可能需要先考慮這五個(gè)鍵。這是因?yàn)橛脩粢馔饷魅膫€(gè)鍵的可能性比兩個(gè)鍵更不可能。
注意:討論的每個(gè)擴(kuò)展鍵都經(jīng)過接線,以模擬同一 LED 陰極驅(qū)動輸出(LED 輸出 O0 至 LED 輸出 O7)上的按鍵多次按鍵。通過這種連接,與任何多個(gè)按鍵組合關(guān)聯(lián)的按鍵將同時(shí)被掃描和去抖動,因此結(jié)果會同時(shí)顯示。模擬由不同LED陰極驅(qū)動輸出掃描的多次按鍵的額外按鍵將不可靠,因?yàn)榘存I不會同時(shí)去抖動。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228814 -
led
+關(guān)注
關(guān)注
240文章
23062瀏覽量
657053 -
驅(qū)動器
+關(guān)注
關(guān)注
52文章
8099瀏覽量
145816
發(fā)布評論請先 登錄
相關(guān)推薦
評論