개요: 여러 번의 키 누름을 매핑하면 MAX6959 LED 디스플레이 드라이버의 키스캔 능력이 8개 키에서 최대 12개 키로 확장된다. 이 애플리케이션 노트에서는 그러한 능력을 확장하는 방식에 대해 자세히 설명한다.
MAX6959는 최대 8개 키 스위치를 자동으로 스캔하고 디바운스하며, 옵션으로 시스템 프로세서에 인터럽트 출력 핀을 통해 디바운스된 키를 알려주는 4자릿수, 9세그먼트 LED 드라이버이다. (핀으로 호환되는 유사한 MAX6958은 동일한 수의 LED를 구동할 수 있지만 키스캔 능력은 없다.) 여기에 설명된 기술은 MAX6959의 능력을 8개 키에서 12개 키로 확장하며 추가 키 당 하나의 듀얼 다이오드가 추가된다.
표 1. MAX6959 LED 디스플레이 드라이버에 대한 표준 8키 연결
INPUT1
INPUT2
DIG0/SEG0
Key0
Key4
DIG1/SEG1
Key1
Key5
DIG2/SEG2
Key2
Key6
DIG3/SEG3
Key3
Key7
그림 1. MAX6959 LED 디스플레이 드라이버에 대한 표준 8키 연결
표 1과 그림 1은 MAX6959에 대한 표준 키 스위치 연결을 나타낸 것이다. 키 스위치 회로는 2 x 4 행렬(2개 열, 4개 행)로 조직된 8개 키를 읽는다. 4개의 키 행렬 행은 4개의 LED 음극 구동 출력인 DIG0/SEG0 ~ DIG3/SEG3에 의해 구동된다. 이러한 LED 음극 구동 출력은 교대로 다중 LED 드라이브의 일부로서 320µs (일반) (및 해당 LED를 순차적으로 구동) 구동한다. 이 구동 출력들은 또한 2개 키 스위치의 한쪽 끝을 각각 로우로 연결하기 위해 사용된다. 키의 다른쪽 끝은 MAX6959 내부에서 최대 V+까지 내부적으로 연결되는 2개의 입력 핀, INPUT1과 INPUT2에 연결된다. 스위치가 눌러지면, INPUT1 또는 INPUT2는 적합한 DIG_/SEG_ 출력에 의해 로우로 연결되고 MAX6959는 키 누름을 탐지하고 디바운스한다.
스위치와 직렬로 연결된 다이오드는 다수의 키가 동시에 눌려졌을 때 2개 이상의 LED 음극 구동 출력이 함께 단락되지 않도록 보장한다. 예를 들어, Key0과 Key1을 함께 누르면 항상 최소한 하나의 다이오드는 역 바이어스되기 때문에 이 키들과 직렬로 연결된 다이오드는 DIG0/SEG0이 DIG1/SEG1로 단락되는 것을 방지한다. 다이오드는 일반적으로 SOT-23에 저가 공통 양극(common-anode) BAW56으로 구현된다.
MAX6959는 언제든지 눌렸다가 떼어지는 8개의 가능한 키의 조합을 구분한다. 이 부품에는 이러한 8개 키의 상태를 제공하는 8비트 레지스터가 있다. MAX6959가 설계되어 있는 8개 키를 초과하여 이 스캐닝 토폴로지를 확장할 방법은 분명히 없다. 따라서 이 경우에는 모든 자존심 있는 엔지니어들이 말하는 대로 속임수를 써야 한다.
더 공평하게 말하자면, 중복되는 상황을 찾아 이용하는 것이다. 많은 경우에 애플리케이션은 여러 개의 키 중 하나가 눌러져 있는지 여부만 알면 된다. 일반적으로 장비에서 2개의 키를 누르면 잘못 누른 입력이거나 공장 진단 모드로 진입하기 위한 속임수 수단이다. 따라서 중복 조건은 2개의 키를 누르는 것을 말한다. 여기에서 제안된 속임수란 일정 키 쌍이 동시에 눌려지고 있는 것처럼 4개의 추가 키들이 나타나도록 하는 것이다. 이것은 표 2와 같다. 예를 들어, Key8이 눌려지면 MAX6959에게는 이것이 Key0과 Key4가 동시에 눌려져 있는 것처럼 보여야 한다. 이 확장 구조는 잘못해서 함께 우연히 함께 눌려지지 않도록 각각의 원래 키 쌍 (예를 들어, Key0과 Key4)이 서로 물리적으로 바로 옆에 위치하지 않는 한 올바로 작동한다. 정확히 하나의 키스캔 패스로부터 결과가 분석되도록 하기 위해 소프트웨어는 30.3ms 최소 디바운스 사이클 시간 이내에 키 IRQ에 응답하도록 작성되어야 한다. 소프트웨어 IRQ 응답이 느리면, 동시 이중 키 누름 (여분의 키 식별)과 동일한 2개의 키의 순차적 키 누름을 구분할 수 없게 된다. 어느 경우이든 키 디바운스 레지스터 0 x 08은 각 키에 대해 설정된 비트를 간단히 나타낸다.
표 2. MAX6959 LED 디스플레이 드라이버로 확장된 12키 연결
INPUT1
INPUT2
INPUT1 and INPUT2
DIG0/SEG0
Key0
Key4
Key8
DIG1/SEG1
Key1
Key5
Key9
DIG2/SEG2
Key2
Key6
Key10
DIG3/SEG3
Key3
Key7
Key11
회로는 그림 2와 같다. 각각의 키는 스위치가 눌려질 때 INPUT1과 INPUT2를 모두 로우로 풀하는 듀얼 다이오드(SOT-23 패키지의 저가 공통 음극 BAV70 같은)를 필요로 한다.
그림 2. MAX6959 LED 디스플레이 드라이버에 대한 확장 12키 연결
끝으로 한 가지 주의사항이 있다. 4개 확장 키는 각각 4개의 LED 음극 구동 출력인 DIG0/SEG0 - DIG3/SEG3 중 하나에 2개의 키에 대해 이중 키 누름을 시뮬레이트하도록 와이어링되어 있다. 이 연결에서는 각각의 키 쌍이 항상 동시에 스캔되고 디바운스된다. 서로 다른 LED 음극 구동 출력에 의해 스캔된 키들의 이중 키 누름을 시뮬레이트하는 추가 키는 신뢰성이 없다. 키스캔은 한 번에 2개 키가 눌려져 순차적으로 수행되기 때문에 추가 키는 하나의 LED 음극 구동을 위해 디바운스 사이클을 놓칠 수 있지만, 다른 LED 음극 구동에 의해 정확히 디바운스될 수 있다. 이 이중 키 누름은 한 번의 이중 키 누름이 아니라 2번의 순차적인 키 누름으로 나타나게 된다. 이것은 이중 키를 나타내는 각각의 키 쌍이 함께 디바운스되기 때문에 권장되는 연결 체계에서는 나타나지 않는다.