개요: 이 애플리케이션 노트에서는 MAX6954 및 MAX6955 LED 디스플레이 드라이버의 키스캔 능력을 32키에서 최대 80키까지 확장하는 방법을 자세히 설명한다.
MAX6954/MAX6955는 최대 7개 세그먼트, 14 세그먼트 및 16 세그먼트 LED 디지트 또는 16x8 LED 어레이를 제어하는 4선식 및 2선식 직렬 인터페이스 LED 드라이버이다. 또한 이 드라이버는 5개의 I/O 익스팬더 (GPIO) 포트와 이러한 포트의 일부 또는 전부를 사용하여 최대 32개의 키 스위치를 자동으로 스캔 및 디바운스하기 위한 로직이다. 여기에 설명하는 것은 여분의 다이오드를 가지고 MAX6954/MAX6955의 능력을 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은 MAX6859에 대한 표준 키 스위치 연결을 나타낸 것이다. 키 스위치 회로는 4 x 8 행렬 (4개 열, 8개 행)로 조직된 32개 키를 읽는다. 8개의 키 행렬 행은 8개의 LED 음극 구동 출력(LED 출력 O0에서 LED 출력 O7까지)에 의해 구동된다. 이러한 LED 음극 구동 출력은 320µs (일반) 동안 교대로 로우로 되고 다중 LED 드라이브의 일부로서 해당 LED를 순차적으로 구동한다. 이 구동 출력은 또한 2개 키 스위치의 한쪽 끝을 로우로 연결하기 위해 사용된다. 키의 다른 쪽 끝은 MAX6954/MAX6955 내부에서 최대 V+까지 내부적으로 풀되는 4개의 입력 핀(P0-P3)에 연결된다. 스위치가 눌려지면, P0, P1, P2 또는 P3은 해당 LED 출력 Ox 출력에 의해 로우로 연결되고, MAX6954/MAX6955는 키 누름을 탐지하고 디바운스한다.
스위치와 직렬로 연결된 다이오드는 다수의 키가 동시에 눌려졌을 때 2개 이상의 LED 음극 구동 출력이 함께 단락되지 않도록 해준다. 예를 들어, SW A1과 SW A2를 함께 누를 경우, 키와 직렬로 연결된 다이오드는 LED 출력 O0이 LED 출력 O1로 단락되지 않도록 해준다. 이것은 항상 최소한 하나의 다이오드가 역 바이어스되기 때문이다. 다이오드는 일반적으로 SOT23에 저가 공통 양극 BAW56으로 구현된다.
MAX6954/MAX6955는 언제든지 눌렸다가 떼어지는 32개의 가능한 키의 조합을 구분한다. 이 부품에는 이러한 32개 키의 상태를 제공하는 충분한 레지스터만이 있다. 이 스캐닝 토폴로지를 MAX6954/MAX6955가 설계되어 있는 32개 키를 초과하여 확장할 방법은 없는 것이 분명하다. 따라서 또 다른 더 창의적인 접근방식이 필요하다.
더 구체적으로 말하자면, 중복되는 상황을 찾아 이용하는 것이다. 많은 경우, 애플리케이션은 여러 개의 키 중 하나가 눌러져 있는지 여부만 알면 된다. 일반적으로 장비에서 2개의 키를 누르면 잘못 누른 입력이거나 공장 진단 모드로 진입하기 위한 속임수 수단이다. 따라서 중복 조건은 2개의 키를 누르는 것을 말한다. 여기에서 제안된 창의적인 방식이란 일정 키 쌍이 동시에 눌려지고 있는 것처럼 여러 개의 추가 키들이 나타나도록 하는 것이다. 표 2와 그림 2의 예는 P0과 P1 그리고 P2와 P3을 결합하여 16개의 키를 더 추가한다. 예를 들어, SW AB1이 눌려지면, MAX6954/MAX6955에게는 이것이 SW A1과 SW B1이 동시에 눌려지는 것처럼 보여야 한다. 이 확장 구조는 잘못해서 함께 우연히 함께 눌려지지 않도록 하기 위해 각각의 원래 키 쌍 (예를 들어, SW A1과 SW B1)이 서로 물리적으로 바로 옆에 위치하지 않는 한 올바로 작동한다. 정확히 하나의 키스캔 패스로부터 결과가 분석되도록 하기 위해 소프트웨어는 MAX6954/MAX6955 디바운스 사이클 시간 이내에 키 IRQ 출력에 응답하도록 작성되어야 한다. 소프트웨어 active-low IRQ 응답이 느리면, 동시 이중 키 누름(여분의 키 식별)과 동일한 2개의 키의 순차적 키 누름을 구분할 수 없게 된다. 어느 경우이든 키 디바운스 레지스터 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
각각의 추가 키는 스위치가 눌러졌을 때 P0과 P1을 모두 풀 다운하거나 P2와 P3를 풀 다운하는 이중 다이오드(SOT-23에서 저가 공통 음극 BAV70과 같은)를 필요로 한다.
그림 2. MAX6954/MAX6955에 대한 확장 48키 연결
그림 2와 표 2 회로도는 P0과 P1, P2와 P3을 조합하여 16개 키를 더 추가한다. 실제로 P0-P3 키 스캔 입력을 위한 4개의 더 많은 가능한 2키 조합이 있다. 모든 6개 2키 조합이 사용될 경우, 표 3과 같이 키 갯수는 80개 스위치로 확장될 수 있다. 그림 3은 6개의 추가 키가 LED 출력 O0 행에 대해 와이어링되는 방식을 나타낸 것이다. 다시 말하지만, 각각의 추가 키 스위치는 이중 다이오드를 사용한다.
표 3. MAX6954/MAX6955에 대한 확장 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에 대한 확장 80키 연결
그러나 추가 키를 식별하기 위해 이중 키 누름으로 제한되어야 하는가? 이중 키 누름 대신 또는 이중 키 누름에 추가하여 3중 및 4중 키 조합이 사용될 수 있다. 표 4는 이러한 추가 구성을 나타낸 것이다. 4개의 3중 조합은 3중 다이오드가 필요하며, 4중 조합은 4중 다이오드가 필요하다.
표 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
트리플 및 쿼드 키 조합을 폐기해야 하는 합당한 이유가 있다. 즉 이러한 조합은 더 많은 다이오드를 필요로 한다. 그러나 애플리케이션이 32키 제한을 초과하는 약간의 추가 키만을 필요로 할 경우, 이러한 5개를 먼저 고려하는 것이 좋다. 사용자가 우연히 2개가 아닌 3개 또는 4개의 키를 더듬거리며 만질 가능성은 더 적기 때문이다.
참고: 위에서 설명한 각각의 확장 키는 동일한 LED 음극 구동 출력(LED 출력 O0 ~ LED 출력 O7)에 있는 키에 대해 다중 키 누름을 시뮬레이트하기 위해 연결되어 있다. 이 연결이 이루어지면, 다중 키 누름 조합과 관련된 키가 동시에 스캔되고 디바운스되므로 결과가 동시에 나타난다. 서로 다른 LED 음극 구동 출력에 의해 스캔된 키들의 다중 키 누름을 시뮬레이트하는 추가 키들은 동시에 디바운스되지 않게 되므로 신뢰할 수 없게 된다.