KR20150104140A - 입력 장치의 활성 입력 요소를 결정하는 방법 및 입력 장치 - Google Patents

입력 장치의 활성 입력 요소를 결정하는 방법 및 입력 장치 Download PDF

Info

Publication number
KR20150104140A
KR20150104140A KR1020157020930A KR20157020930A KR20150104140A KR 20150104140 A KR20150104140 A KR 20150104140A KR 1020157020930 A KR1020157020930 A KR 1020157020930A KR 20157020930 A KR20157020930 A KR 20157020930A KR 20150104140 A KR20150104140 A KR 20150104140A
Authority
KR
South Korea
Prior art keywords
input
value
line
potential
current
Prior art date
Application number
KR1020157020930A
Other languages
English (en)
Other versions
KR101694087B1 (ko
Inventor
크리스토프 헬데이스
틸로 핵케
Original Assignee
크리스토프 헬데이스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 크리스토프 헬데이스 filed Critical 크리스토프 헬데이스
Publication of KR20150104140A publication Critical patent/KR20150104140A/ko
Application granted granted Critical
Publication of KR101694087B1 publication Critical patent/KR101694087B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/003Phantom keys detection and prevention
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Electronic Switches (AREA)
  • Position Input By Displaying (AREA)

Abstract

양상 A에서 발명은 입력 장치(10)의 활성 입력 요소(S1a, S2a)를 결정하는 방법에 관련되는데, 그 방법은 - 매트릭스 배열에 따라 연결된 입력 요소(S1a 내지 S2b)를 제공하는 단계, - 각각 각자의 구동 회로(2, 4)에 연결된 적어도 두 개의 구동 라인들(L1, L2)을 매트릭스 배열 내에 제공하는 단계, - 활성 입력 요소(S1a, S2a)를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인들(Ca, Cb)을 매트릭스 배열 내에 제공하는 단계, - 각각 위 입력 요소들 중 하나(S1a) 및 저항기(R1a)를 포함하는 직렬 연결들(SC1 내지 SC4)을 위 매트릭스 배열 내에 제공하는 단계(각각의 직렬 연결(SC1 내지 SC4)은 구동 라인들(L1, L2) 중 각자의 구동 라인에 연결되고 감지 라인들(Ca, Cb) 중 각자의 구동 라인에 연결됨), - 감지 라인들(Ca, Cb)을 제1 전위에 연결하는 풀 저항기들(Ra, Rb)을 제공하는 단계, 그리고 - 활성 구동 라인(L1)을 제1 전위와 상이한 제2 전위로 구동하고 비활성 구동 라인(L2) 또는 비활성 구동 라인들을 제1 전위로 또는 제1 전위와 제2 전위와의 차이의 절대값의 최대 50 퍼센트 또는 최대 10 퍼센트인 제1 전위로부터의 절대 오프셋 값을 갖는 전위로 구동하는, 구동 회로들을 위한 제어 디바이스를 사용하는 단계를 포함한다.

Description

입력 장치의 활성 입력 요소를 결정하는 방법 및 입력 장치{METHOD FOR DETERMINING ACTIVE INPUT ELEMENTS OF AN INPUT ARRANGEMENT AND INPUT ARRANGEMENT}
이 발명은 일반적으로 입력 장치에 관련되고 더욱 구체적으로는 동시에 눌린(pressed) 키 스위치들의 다중 키 검출(multiple key detection)을 가능하게 하는 그러한 입력 장치에 관한 것이다.
복수의 키보드 유형이 이미 있다. 그러나, 여전히 몇몇 문제가 있다. 단순하게 구성된 키보드는 다수의 키 스위치가 동시에 활성화되는(activated) 경우 흔히 검출에 문제가 있다. 이 문제는 예컨대 "고스트 키들"(ghost keys) 및 "마스크 키들"(mask keys)로 알려져 있다. 다른 한편으로는 키보드의 복잡도를 가능한 한 낮게 유지하는 것이 중요하다.
발명의 개요
발명은 입력 장치(input arrangement)의 활성 입력 요소를 결정하는 방법에 관련되는데, 그 방법은 매트릭스 배열(matrix arrangement)에 따라 연결된 입력 요소를 제공하는 단계와,
각각 각자의 구동 회로(driving circuit)에 연결된 적어도 두 개의 구동 라인(driving line)들을 매트릭스 배열 내에 제공하는 단계와,
활성 입력 요소를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인(sense line)들을 매트릭스 배열 내에 제공하는 단계와,
각각 입력 요소(input element) 및 저항기(resistor)를 포함하는 직렬 연결들을 매트릭스 배열 내에 제공하는 단계 - 각각의 직렬 연결은 구동 라인들 중 각자의 구동 라인에 연결되고 감지 라인들 중 각자의 감지 라인에 연결됨 - 와,
감지 라인들을 제1 전위(potential)에 연결하는 풀 저항기(pull resistor)들을 제공하는 단계와,
활성 구동 라인을 제1 전위와는 상이한 제2 전위로 구동할 수 있고, 비활성 구동 라인 또는 비활성 구동 라인들을 제1 전위로 또는 제1 전위와 제2 전위와의 차이의 절대값(absolute value)의 최대 50 퍼센트 또는 최대 10 퍼센트인 제1 전위로부터의 절대 오프셋 값(absolute offset value)을 갖는 전위로 구동할 수 있는, 구동 회로들을 위한 제어 디바이스(control device)를 사용하는 단계를 포함한다.
나아가, 발명은 입력 장치에 관련되는데, 그 입력 장치는:
복수의 입력 요소들을 포함하고,
입력 요소들은 매트릭스 배열에 따라 연결되며,
매트릭스 배열은 각각 각자의 구동 회로에 연결된 적어도 두 개의 구동 라인들을 포함하고,
매트릭스 배열은 활성 입력 요소를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인들을 포함하며,
매트릭스 배열에 따라 각각 입력 요소 및 저항기를 포함하는 직렬 연결들이 각각 구동 라인들 중 각자의 구동 라인에 연결되고 감지 라인들 중 각자의 감지 라인에 연결된다.
일반적인 실시예들의 설명 - 양상 A
단순한 방식으로 사용될 수 있고 바람직하게는 잘못된 키 스위치 검출 및/또는 동시에 눌린 키 스위치들의 다중 키 스위치 검출의 문제를 다루는 방법을 제공하는 것이 발명의 목적이다. 바람직하게는 어느 키 스위치가 눌렸는지 결정하는 것은 용이하고/하거나 신속할 것이다. 나아가, 대응하는 입력 장치가 제공될 것이다.
입력 장치의 활성 입력 요소를 결정하는 방법은:
- 매트릭스 배열에 따라 연결된 입력 요소를 제공하는 단계,
- 각각 각자의 구동 회로에 연결된 적어도 두 개의 구동 라인들을 매트릭스 배열 내에 제공하는 단계,
- 활성 입력 요소를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인들을 매트릭스 배열 내에 제공하는 단계,
- 각각 입력 요소 및 저항기를 포함하는 직렬 연결들을 매트릭스 배열 내에 제공하는 단계(각각의 직렬 연결은 구동 라인들 중 각자의 구동 라인에 연결되고 감지 라인들 중 각자의 감지 라인에 연결됨),
- 감지 라인들을 제1 전위에 연결하는 풀 저항기들을 제공하는 단계, 그리고
- 활성 구동 라인을 제1 전위와는 상이한 제2 전위로 구동할 수 있고, 비활성 구동 라인 또는 비활성 구동 라인들을 제1 전위로 또는 제1 전위와 제2 전위와의 차이의 절대값의 최대 50 퍼센트 또는 최대 10 퍼센트인 제1 전위로부터의 절대 오프셋 값을 갖는 전위로 구동할 수 있는, 구동 회로들의 구동을 위해 사용되는 제어 디바이스를 사용하는 단계
를 포함할 수 있다.
오프셋이 있는 경우, 그 비활성 전위는 제1 전위의 값과 제2 전위의 값 사이에 있는 값을 가질 수 있다.
절대값은 항상 양의 부호를 내놓는 것으로서 정의된다(즉, 4의 절대값은 4이고 -4의 절대값 역시 4이다).
저항기들은 예컨대 하나보다 많은 입력 요소가 매트릭스 배열의 하나의 열(column)에서 또는 동일한 감지 라인에서 눌렸거나 활성(active)인 경우에 동일한 감지 라인을 거치는 상이한 구동 라인들 간의 단락 회로를 방지한다.
이 전위들의 사용은 단순한 전압 분배기(voltage divider)를 초래한다. 이 전압 분배기의 탭(tap)은 감지 라인에서 감지될 수 있다. 하나의 열에서 더 많은 스위치들이 활성일수록 그 전압 분배기 탭의 전압은 제1 전위의 값에 따라 플러스(plus)로 또는 소스(source)/접지(ground) 전위로 더 많이 이동한다. 하나의 열에서 어떠한 스위치도 활성이 아닌 경우에만 예외가 존재한다. 제1 전위는 어떠한 스위치도 활성이 아닌 경우에 감지될 것이다.
입력 요소는 연결 방안(connection scheme)에 따라 연결된다. 입력 요소의 실제 배열 또는 위치는 연결 방안과 상이할 수 있다. 이는 입력 요소가 연결 방안에 따라 매트릭스 배열에 비해 자리를 바꿨을 수 있음을 의미한다. 자리가 바뀌었을 수 있으나 구동 라인들 및 감지 라인들로의 입력 요소의 연결은 동일하게 남아 있을 수 있다.
각각의 직렬 연결은 입력 요소 및 저항기를 포함할 수 있다. 각각의 직렬 연결은 스위치 또는 푸시 버튼(push button), 그리고 저항기로 구성될 수 있다. 저항기는 이 경우에 매트릭스 배열의 캐리어 기판(carrier substrate)에 대해 이동불가능(unmovable)할 수 있다.
대안적으로 각각의 직렬 연결은 제1 스위치 또는 제1 푸시 버튼, 그리고 저항기, 그리고 제2 스위치 또는 푸시 버튼으로 구성될 수 있는데, 특히 저항기가 구동 라인들 및/또는 감지 라인들에 대해 이동가능한(movable) 경우에 그러하다. 이 경우에 양 스위치 모두는 서로에게 커플링된다(coupled). 직렬 연결들 내의 다른 구성들도 가능하다.
제1 전위는 바람직하게는 양의 동작 전위(positive operation potential)일 수 있다. 이 경우, 제2 전위는 접지/소스 전위 또는 접지/소스 근처의 전위일 수 있다. 이 전위들의 사용은 대부분의 구동 회로를 위해 선호된다(아래에 주어진 더욱 상세한 설명을 보시오). 그러나, 제1 전위를 위해 다른 전위를 사용하는 것(예컨대 접지/소스 전위 또는 접지/소스 근처의 전위)과 제2 전위를 위해 다른 전위를 사용하는 것(예컨대 양의 동작 전위 또는 양의 동작 전위 근처의 전위)도 가능하다.
입력 장치는 예컨대:
- 키보드(keyboard), 특히 적어도 50개의 키 스위치, 대개 150개보다 많지 않은 키 스위치 또는 2000개보다 많지 않은 키 스위치를 갖는 문자숫자 키보드(alpha numeric keyboard)(키보드는 컴퓨터와 별개인 디바이스일 수 있거나 그것은 컴퓨터의 일체화된 부분(integral part)일 수 있음), 또는
- 10개 및 20개 사이의 키 스위치를 갖는 키패드(keypad), 특히 입력 제어(entrance control)를 위해 사용되는 키패드
일 수 있다.
예를 들어 키보드는:
- 글자 a, b, c 등의 입력을 위한 적어도 25개의 키,
- 숫자 0, 1, 2 등의 입력을 위한 적어도 10개의 키(바람직하게는 추가적인 입력 문자, 예컨대 "!", """, "§", "$" 등과 조합됨)
- 적어도 10개의 기능용 키, 즉 기능 F1, 기능 F2 등,
- 수들, 즉 숫자 0, 1, 2 등, 특히 이 수들의 추가적인 그룹을 입력하기 위한 키패드의 적어도 10개의 키, - 어떠한 추가적인 입력 문자도 추가적인 그룹의 키들을 위해 사용되지 않음,
- 예컨대 HID(Human Interface Device) 사양(specification) 내에 정의된 바와 같은 수정자(modifier) 키, 즉 좌측 CTRL, 좌측 SHIFT, 좌측 ALT, 좌측 GUI(Graphic User Interface)(즉 예컨대 마이크로소프트(Microsoft) 좌측 Win 키, 매킨토시(Macintosh) 좌측 Apple 키, 썬(Sun) 좌측 Meta 키 등), 우측 CTRL, 우측 SHIFT, 우측 ALT, 우측 GUI,
- 보조적(auxiliary) 키: 캡스 로크(Caps Lock), 탭(Tab), 스페이스바(Spacebar), 페이지 다운(Page Down), 페이지 업(Page Up), 우측 화살표(Right Arrow), 좌측 화살표(Left Arrow), 상향 화살표(Up Arrow), 하향 화살표(Down Arrow)
중 적어도 하나, 둘, 셋, 넷, 다섯 또는 전부를 포함할 수 있다.
이하에서 스위칭 요소 또는 입력 요소는 터치 스위치 또는 푸시 버튼일 수 있다. 스위칭 요소는 또한 키 또는 키 스위치로 명명될 수 있다.
방법은 그 매트릭스의 매우 신속한 스캐닝(scanning)을 가능하게 하는데, 특히 스캔된 입력 요소가 활성인지 아닌지를 결정하기 위해 오직 하나의 임계 값이 사용되는 경우에 그러하다. 이 임계 값은 매트릭스 배열의 하나의 열에서의, 즉 하나의 감지 라인 상에서의 눌린 키 또는 활성화된 입력 요소의 개수와 무관할 수 있다.
그러나, 활성 입력 요소의 검출은 한 개보다 많은 임계 값이 사용되는 경우에도 앞서 언급된 전압 분배기의 사용 때문에 매우 신속하게 될 수 있다.
두 경우 모두에서, 고스트 키잉(ghost keying)으로 인한 검출 결함은 없을 것이다.
방법은:
- 구동 라인들 중 제1 구동 라인을 활성화(바람직하게는 한 번에, 즉 동시에 구동 라인들(L1, L2) 중 오직 하나의 구동 라인(L1)이 활성임)하는 단계,
- 제1 구동 라인을 활성화하는 동안 감지 라인들 중 제1 감지 라인상의 전기 신호(electrical signal)의 제1 값, 바람직하게는 전위의 제1 값을 검출하는 단계, 그리고
- 제1 값만큼의 임계 값의 초과(exceeding) 또는 언더슛(undershoot)에 기인하여 제1 구동 라인 및 제1 감지 라인 간의 직렬 연결 내의 활성화된 입력 요소를 결정하는 단계를 포함할 수 있는데,
- 임계 값은 활성 입력 요소의 개수와 무관하거나 제1 감지 라인 상의 및/또는 감지 라인들 중 다른 감지 라인 상의 활성 입력 요소의 적어도 둘, 적어도 셋 또는 적어도 넷의 상이한 개수와 무관하다.
그러므로, 단지 제1 값이 임계 값 미만이거나 임계 값 초과인 사실에 기인하여 눌린 키를 검출하는 것이 가능하다. 고스트 키잉은 더 이상 문제가 아니다. 제1 값의 정확한 값은 매트릭스의 열 내의 눌린 키의 개수를 결정하기 위해 사용될 수 있다. 그리고 이 개수는 매트릭스의 스캐닝을 더욱 신속하게 하기 위해 사용될 수 있다. 이는 아래에서 더욱 상세히 설명될 것이다.
임계 값은 상이한 방식으로, 예를 들어:
- 경험적으로,
- 검출된 값들을 모니터링함으로써, 또는
- 아래에서 더욱 상세히 설명될 캘리브레이션 열(calibration column)을 사용함으로써,
결정될 수 있다.
방법은:
- 제1 구동 라인을 활성화하는 동안, 특히 제1 감지 라인에 대한 결정 후 감지 라인들 중 제2 감지 라인 상의 전기 신호의 제2 값, 바람직하게는 전위의 제2 값을 검출하는 단계,
- 제2 값만큼의 임계 값(SW)의 초과 또는 언더슛에 기인하여 제1 구동 라인 및 제2 감지 라인 간의 직렬 연결 내의 활성화된 입력 요소를 결정하는 단계
를 포함할 수 있다.
모든 감지 라인들은 바람직하게는 단 하나의 및/또는 동일한 임계 값을 사용하여 번갈아 감지될 수 있다. 대안적으로 한 개보다 많은 감지 라인을 동시에, 예컨대 한 개보다 많은 아날로그 디지털 변환기(Analog Digital Converter: ADC)를 사용하여 감지하는 것이 가능하다.
방법은:
- 제1 값 및 제2 값을 검출한 후 제1 구동 라인을 비활성화하는 단계(대응하는 고정된 전위로, 예컨대 제1 전위로 또는 제1 전위 근처의 전위로, 즉 높은 옴 상태(Ohmic state)가 아니게 구동하는 것),
- 구동 라인들 중 제2 구동 라인을 활성화하는 단계,
- 제1 값만큼의 임계 값의 초과 또는 언더슛에 기인하여 제2 구동 라인 및 제1 감지 라인 간의 직렬 연결 내의 활성화된 입력 요소를 결정하는 단계
를 포함할 수 있다.
이는 매트릭스 배열의 스캐닝이 한 행씩(row by row) 그리고 각 행에서 한 열씩(column by column) 행해질 수 있음을 의미한다. 이는 그 행들 상의 신호들의 안정 시간이 행마다(per low) 단 한 번 지켜져야(obeyed) 하기 때문에 신속한 스캐닝 방안이다.
매트릭스 배열은 캘리브레이션 라인(calibration line)을 포함할 수 있다. 기준 저항기(reference resistor)들이 캘리브레이션 라인에 또한 각 구동 라인에 각각 연결될 수 있다. 위 방법은:
- 캘리브레이션 라인을 사용하여 캘리브레이션 값(calibration value)을 검출하는 것,
- 임계 값을 결정하기 위해 캘리브레이션 값을 사용하는 것
을 포함할 수 있다.
캘리브레이션 라인은 바람직하게는 추가적인 풀 저항기에 의해 제1 전위에 연결될 수 있다.
모든 구동 라인들은 캘리브레이션 값이 검출되는 경우 활성화될 수 있다. 이는 한 열 내의 모든 키가 동시에 눌려 있는 경우, 즉 검출 장애 없는 검출에 대한 최악의 경우를 시뮬레이션한다(simulate).
캘리브레이션 값은 임계 값으로서 사용될 수 있다. 대안적으로 임계 값을 얻기 위해 오프셋(offset)이 캘리브레이션 값에 가산될 수 있다. 오프셋은 캘리브레이션 값 및 아날로그 디지털 변환기(Analog Digital Converter: ADC)의 최대 값 또는 이 최대 값에 대응하는 전위 간의 간격(interval)에 대해 계산될 수 있다. 오프셋은 이 간격의 10분의 1 또는 2분의 1의 범위 내에, 바람직하게는 이 간격의 4분의 1에 있을 수 있다. 대안적으로, 예컨대 제1 전위가 접지/소스 전위이고 활성 구동 라인들이 양의 동작 전위로 구동되는 경우 최소 값이 참조될 수 있다. 이 경우, 오프셋 또는 오프셋 값은 캘리브레이션 값으로부터 차감될 수 있다.
임계 값은 하나의 열 내에서 특정한 개수의 키가 눌린 경우(예컨대 하나의 키, 두 개의 키 등 또는 모든 키)에만 각각 유효한 추가적인 임계 값 또는 임계 범위를 결정하기 위해 사용될 수 있다. 추가적인 임계 값/범위는 예컨대 주어진 개수보다 많은 키가 활성인지 또는 주어진 개수보다 적은 키가 활성인지 결정하기 위해 사용될 수 있다.
캘리브레이션은 만약 그렇지 않으면 잘못된 검출 값으로 이어질 수 있을 온도 및/또는 전압의 드리프트(drift)를 고려하는 것을 가능하게 한다. ADC(아날로그 디지털 변환기)의 동작 전위는 전기적 필터 디바이스(electrical filter device), 예컨대 코일(들) 및 커패시터(들)을 포함하는 PI 필터에 의해 동작 전위보다 더 평활하게(smoother) 된 ADC의 기준 전위(reference potential)와는 상이할 수 있다. 그러므로 양 전위들 간의 차이가 생길 수 있다. 특히, ADC의 검출 범위의 종단에는 어떠한 캘리브레이션도 사용되지 않는 경우 잘못된 검출을 초래할 수 있는 비선형(nonlinear) 검출 영역이 있을 수 있다.
한 구동 라인의 활성화 후이되 감지 라인들 중 하나의 감지 전에, 바람직하게는 각 구동 라인에 대해, 캘리브레이션 라인이 감지될 수 있고 임계 값이 결정될 수 있다. 이는 라인 구동기 내부 저항, 온도의 단시간 변동, 감지 라인들의 감지에 영향을 미칠 수 있는 전압 또는 다른 조건 내에서의 차이에 유의하는 것을 가능하게 한다.
임계 값은 감지되는 감지 라인 상의 상이한 개수의 활성화된 입력 요소를 각각 나타내는 추가적인 임계 값 또는 임계 범위를 계산하기 위해 또는 결정하기 위해 사용되는 제1 임계 값일 수 있다. 입력 요소의 정확한 개수는 완전한 매트릭스 배열의 스캔 사이클(scan cycle)의 가속화(acceleration)을 위해 정해져 사용될 수 있다. 이는 아래에서 더욱 상세히 설명될 것이다.
저항기들은, 또는 저항기들과 풀 저항기들은, 특히 최대 저항 값에 대해 5 퍼센트보다 작거나 3 퍼센트보다 작거나 1 퍼센트보다 작은 공차(tolerance)의 범위 내에서, 동일한 저항 값을 가질 수 있다. 대안적으로, 풀 저항기들은 매트릭스 내의 저항기들과 상이한 저항 값을 가질 수 있다. 풀 저항기들은, 특히 선택적인 캘리브레이션 라인 상의 풀 저항기를 빼놓고, 매트릭스 저항기들의 저항 값보다 큰, 예컨대 매트릭스 저항기들의 저항 값보다 적어도 75 퍼센트 또는 적어도 100 퍼센트 큰 저항 값을 가질 수 있다.
만약 매트릭스 배열의 하나의 열 내의 눌린 키 스위치의 개수가 그 매트릭스의 스캐닝을 가속화하는 데에 사용되는 경우, 낮은 공차는 이 개수의 매우 정확한 결정을 가능하게 한다. 낮은 공차는 또한 명료한 캘리브레이션 값을 초래한다.
저항기들은 고정된 저항 값을 가질 수 있다(즉, 저항기들의 감압도(pressure sensitivity)는 전혀 없다). 감압적(pressure sensitive)이 아닌 저항기는 감압적인 저항기보다 싸다.
저항기들은, 또는 저항기들과 풀 업/다운 저항기들은 카본 프린팅(carbon printing)에 의해 생산될 수 있다. 카본 프린팅은 개별적인(discrete) 저항기 소자의 사용에 비해 저비용 제조 방법이다.
저항기들은 적어도 4.5 킬로 옴(kilo ohms)의 저항 값을 가질 수 있다. 그러므로, 키가 활성화되거나 내리눌린(pressed down) 경우 단지 작은 전류가 있을 것이다.
매트릭스 배열의 스캐닝은 다음 방책들 중 적어도 하나에 의해 가속화될(accelerated) 수 있다:
- a) 검출된 값에 기반하여 또한 활성 입력 요소의 개수를 나타내는 임계 값에 기반하여, 감지되는 감지 라인에서 제1 활성 입력 요소가 검출되면 곧 얼마나 많은 입력 요소가 이 감지 라인 상에서 눌리거나 활성화되어 있는지 결정되되,
활성 입력 요소의 결정된 개수와 동일한 수의 활성 입력 요소가 검출되면 곧 어떠한 추가적인 전기 신호도 검출되지 않음,
- b) 모든 구동 라인이 제2 전위로 구동되고 활성화된 입력 요소를 갖지 않는 감지 라인이 결정되되,
결정된 감지 라인은 현재 스캔 사이클 내에서 매트릭스 배열의 스캔 중에 더 이상 고려되지 않음,
- c) 구동 라인들을 구동하는 순서는 대응하는 구동 라인에 연결된 입력 요소를 활성화할 확률에 의존함,
- d) 구동 라인들을 구동하기 위해 이분법(bisection method)이 사용됨.
제1 전위는 양의 동작 전위일 수 있다. 제1 전위가 집적 회로(integrated circuit)의 또는 마이크로프로세서나 마이크로제어기의 양의 동작 전위인 경우, 제2 값은 접지/소스 전위일 수 있다. 이는 스캐닝이 접지/소스 전위로 행해짐을 의미한다. 양의 전위로의 "클린"(clean) 구동을 허용하기도 하는 구동기에 비해 접지/소스 전위로의 클린 구동을 허용하는 훨씬 더 많은 구동기가 있다. 예컨대 접지에 맞서 8 mA를 구동하는 것을 허용하는 많은 구동기가 있다. 그러나, 이 전류는 양의 전위에 맞서 항상 구동될 수는 없다. 이는 접지로의 양호한 구동이 눌린 키의 정밀한 검출을 위한 전제조건일 수 있음을 의미한다. 이는 감지 라인에서의 눌린 키의 개수와 무관한 임계 값이 사용되는 경우에 더더욱 타당하다.
제1 값이 접지/소스 전위인 경우, 제2 값은 집적 회로의 또는 마이크로프로세서나 마이크로제어기의 양의 동작 전위일 수 있다. 이 대안은 충분한 방식으로 양의 동작 전위로 끌리는(draw) 구동기들이 구동 라인에서 사용되는 경우 사용될 수 있다.
입력 장치는:
복수의 입력 요소들을 포함할 수 있는데,
입력 요소들은 매트릭스 배열에 따라 연결되며,
매트릭스 배열은 각각 각자의 구동 회로에 연결된 적어도 두 개의 구동 라인들을 포함하고,
매트릭스 배열은 활성 입력 요소를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인들을 포함하되,
매트릭스 배열에 따라 각각 입력 요소 및 저항기를 포함하는 직렬 연결들이 각각 구동 라인들 중 각자의 구동 라인에 연결되고 감지 라인들 중 각자의 감지 라인에 연결된다.
구동 라인들 중 각자의 구동 라인에 연결되고 감지 라인들 중 각자의 감지 라인에 연결됨은 그 연결이 매트릭스 내에 고유한 포지션(position)을 정의함을 의미한다.
이 입력 장치는 앞서 언급된 방법을 위해 사용될 수 있다. 따라서, 동일한 기술적 효과가 역시 유효하다.
감지 라인들은 풀 저항기들에 의해, 바람직하게는 풀 업 저항기들에 의해 제1 전위에 연결될 수 있다. 활성 구동 라인을 제1 전위와는 상이한 제2 전위로 구동하고 한 비활성 구동 라인 또는 비활성 구동 라인들을 제1 전위로 또는 제1 전위와 제2 전위와의 차이의 절대값의 최대 50 퍼센트 또는 최대 10 퍼센트인 제1 전위로부터의 절대 오프셋 값을 갖는 전위로 구동하는, 구동 회로들을 위한 제어 디바이스가 있을 수 있다.
이 입력 장치는 앞서 언급된 방법을 위해 사용될 수도 있다. 따라서, 동일한 기술적 효과가 역시 유효하다.
매트릭스 배열은 캘리브레이션 라인을 포함할 수 있다. 기준 저항기들이 캘리브레이션 라인(Ccc)에 연결되고 각 구동 라인에 각각 연결될 수 있다. 캘리브레이션 라인은 캘리브레이션 값을 검출하는 검출 유닛에 연결되거나 연결가능할 수 있다.
캘리브레이션 라인은 매트릭스의 한 열 내의, 즉 하나의 감지 라인 상의 모든 키 스위치 또는 입력 요소가 활성화된 경우를 시뮬레이션하기 위해 사용될 수 있다. 이 경우는 검출에 대한 최악의 경우일 수 있다. 따라서, 이 경우는 이후 활성 입력 요소의 검출을 위해 사용되는 임계 값을 결정하기 위해 사용될 수 있다.
활성화된 입력 요소의 개수와 무관하게 또는 동일한 감지 라인에 연결된 활성화된 입력 요소의 적어도 둘, 셋 또는 적어도 넷의 상이한 개수와 무관하게 입력 요소의 활성화를 나타내는 임계 값을 결정하고/하거나 동일한 감지 라인에 연결된 활성화된 입력 요소의 정확한 개수를 나타내는 적어도 하나의 임계 값을 결정하는 임계 결정 유닛(threshold determination unit)이 사용될 수 있다. 두 경우 모두 앞서 상세히 설명되었다.
검출 유닛(detection unit)(ADC)이 감지 라인(들) 상에서 및/또는 캘리브레이션 라인 상에서 사용될 수 있다. 검출 유닛은 동작 전위에 의해 동작될 수 있고 기준 전위를 사용할 수 있다. 기준 전위는 검출 유닛의 동작 전위에 비해 더 평활하게 필터링될 수 있다. 예컨대 양 전위 간의 0.1 볼트(volts)의 전위차(potential difference)가 있을 수 있다. 그러나, 캘리브레이션 라인의 사용은 입력 요소의 활성화의 검출이 이 전위차에 의해 영향을 받지 않도록 한다.
저항기들은, 또는 저항기들과 풀 저항기들은, 특히 최대 저항 값에 대해 5 퍼센트보다 작거나 3 퍼센트보다 작거나 1 퍼센트보다 작은 공차의 범위 내에서, 동일한 저항 값을 가질 수 있다. 저항기들은 고정된 저항 값을 가질 수 있다(즉, 저항기들의 감압도는 전혀 없다). 직렬 연결들의 저항기들은, 또는 이 저항기들과 풀 저항기들은 비용 효율적인 카본 프린팅에 의해 생산될 수 있다.
직렬 연결은 매트릭스 배열의 캐리어 기판에 대해 이동불가능한 저항기를 포함할 수 있다. 대안적으로, 직렬 연결은 매트릭스 배열의 캐리어 기판에 대해 이동가능한 저항기를 포함할 수 있다. 캐리어 기판 상에 가령 카본 프린팅에 의해 마운팅된(mounted) 저항기에 비해 이동가능한 입력 요소 내에 저항기를 구비하는 것이 훨씬 더 쌀 수 있다. 그러나, 이동가능한 입력 요소 내의 저항기는 카본 프린팅에 의해 만들어질 수도 있다.
입력 장치는 매트릭스 배열 내의 및/또는 매트릭스 배열에 연결된 디커플링(decoupling) 다이오드를 하나도 포함하지 않을 수 있다. 저항기와 비교되면 다이오드는 비교적 비싸다. 나아가, 고스트 키잉의 방지 및 디커플링은 방법을 위해 또한 입력 장치를 위해 앞서 설명된 바와 같은 디커플링 다이오드를 사용하지 않고도 도달될 수 있다.
구동 라인들을 구동하기 위한 구동 회로 또는 구동 회로들은 구동 라인들에 직접적으로 연결되거나, 200 옴보다 작거나 100 옴보다 작은 저항을 갖는 직렬 저항기(serial resistor)를 사용하여 연결될 수 있다. 직렬 저항은 매트릭스 배열의 캐리어 기판의 파동 저항(wave resistance)에 따라 맞춰질(tuned) 수 있다.
바람직하게는 구동 회로(들)의 출력에 연결된 어떠한 풀 업 또는 풀 다운 저항기(들)도, 특히 1 킬로 옴보다 큰 또는 4 킬로 옴보다 큰 저항 값을 갖는 어떠한 풀 저항기도 없다. 구동 회로(들)은 푸시 풀 구동기(push pull driver)에 의해 전형적으로 생성되는 대로 그것의 출력에서 하드(hard) 전위 레벨을 가질 수 있다. 이는 구동 회로의 출력 전위 또는 출력 전압이 매트릭스 배열의 하나의 열 내의 활성 입력 요소 또는 키의 개수와 무관하게 본질적으로 변하지 않은 채 있음을 의미한다. 특히, 접지/소스 전위에 대해서는 0.2 볼트(200 밀리 볼트)보다 작거나 심지어 0.1 볼트(100 밀리 볼트)보다 작은 변화를 갖는 것이 가능하다. 이는 눌린 키의 검출을 더욱 용이하게 하는데, 특히 매트릭스 배열의 하나의 열 내의 눌린 키의 개수에 의존하는 임계 값이 고려되어야 하는 경우에 그러하다. 하드 레벨을 사용하는 것과 반대되는 것이 "소프트 레벨"(soft level)의 사용이다. 소프트 레벨은 풀 업 또는 풀 다운 저항기를 사용하여 생성될 수 있다. 그러나, 소프트 레벨은 하드 레벨의 변화에 비해 훨씬 더 큰 범위 내에서 달라질 것이다.
구동 회로 또는 구동 회로들은 마이크로제어기 유닛의 출력 회로일 수 있다. 이 경우, 어떠한 별도의 컴포넌트도 구동기에 필요하지 않은데, 이는 매우 비용 효율적이다.
일반적인 실시예들의 설명 - 제1 양상
단순한 방식으로 생산될 수 있고 바람직하게는 잘못된 키 스위치 검출 및/또는 동시에 눌린 키 스위치들의 다중 키 스위치 검출의 문제를 다루는 입력 장치를 제공하는 것이 발명의 목적이다. 나아가, 대응하는 방법이 제공될 것이다.
이 문제는 청구항 21에 따른 장치에 의해 그리고 독립 방법 청구항에 따른 방법에 의해 해결된다. 실시예들이 부수청구항(subclaim)들에서 언급된다.
발명은 앞서 언급된 특징을 포함하는 입력 장치에 관련된다. 그 직렬 연결은 예컨대 내리누르기 움직임(press down movement)에 의해 사용자에 의해 활성화될 수 있는 스위칭 요소(switching element)를 포함한다. 스위칭 요소의 단자(terminal)들 간의 전자적 특성, 가령 저항은 스위칭 요소가 활성화되는 경우에 바뀐다. 직렬 연결은 적어도 하나의 전자 컴포넌트(electronic component)(소자 또는 디바이스), 예컨대 하나(1)의 저항기 또는 두 저항기를 또한 포함한다. 대개 직렬 연결 내에 스위칭 요소 외에 두 개 이하의 전자 컴포넌트가 있다.
제1 도전성 라인(conductive line) 및 제3 도전성 라인은 예컨대 매트릭스의 행들을 형성한다. 제2 도전성 라인 및 추가적인 도전성 라인은 예컨대 매트릭스의 열들을 형성한다. 그러나, 단 하나의 열이 있는, 즉 제2 도전성 라인만 또는 하나의 감지 라인만 있는 "매트릭스"를 사용하는 것이 또한 가능하다.
연결은 전기적 도전성 연결(electrical conductive connection)이고 예컨대 가요성(flexible) 또는 강성(rigid) 재질로 만들어진 인쇄 회로 보드(Printed Circuit Board: PCB) 상에 있다.
그 아날로그 디지털 변환기는 제2 도전성 라인에 직접적으로, 즉 추가적 전자 소자 없이 커플링될 수 있다. 대안적으로, 여러 도전성 라인을 각각 상이한 시간에 아날로그 디지털 변환기의 단 하나의 입력에 맵핑하기 위해 다중화기(multiplexer)가 사용될 수 있다. 제2 도전성 라인 상의 제1 아날로그 디지털 변환기를 사용하고 추가적인 도전성 라인 상의 제2 아날로그 디지털 변환기를 사용하는 것이 또한 가능하다.
그 입력 디바이스는 예컨대:
- 키보드, 특히 적어도 50개의 키 스위치, 대개 150개보다 많지 않은 키 스위치 또는 2000개보다 많지 않은 키 스위치를 갖는 문자숫자 키보드(키보드는 컴퓨터와 별개인 디바이스일 수 있거나 그것은 컴퓨터의 일체화된 부분일 수 있음), 또는
- 10개 및 20개 사이의 키 스위치를 갖는 키패드, 특히 입력 제어를 위해 사용되는 키패드
이다.
예를 들어 키보드는:
- 글자 a, b, c 등의 입력을 위한 적어도 25개의 키,
- 숫자 0, 1, 2 등의 입력을 위한 적어도 10개의 키(바람직하게는 추가적인 입력 문자, 예컨대 "!", """, "§", "$" 등과 조합됨)
- 적어도 10개의 기능용 키, 즉 기능 F1, 기능 F2 등,
- 수들, 즉 숫자 0, 1, 2 등, 특히 이 수들의 추가적인 그룹을 입력하기 위한 키패드의 적어도 10개의 키, - 어떠한 추가적인 입력 문자도 추가적인 그룹의 키들을 위해 사용되지 않음,
- 예컨대 HID(Human Interface Device) 사양 내에 정의된 바와 같은 수정자 키, 즉 좌측 CTRL, 좌측 SHIFT, 좌측 ALT, 좌측 GUI(Graphic User Interface)(즉 예컨대 마이크로소프트(Microsoft) 좌측 Win 키, 매킨토시(Macintosh) 좌측 Apple 키, 썬(Sun) 좌측 Meta 키 등), 우측 CTRL, 우측 SHIFT, 우측 ALT, 우측 GUI,
- 보조적 키: 캡스 로크, 탭, 스페이스바, 페이지 다운, 페이지 업, 우측 화살표, 좌측 화살표, 상향 화살표, 하향 화살표
중 적어도 하나, 둘, 셋, 넷, 다섯 또는 전부를 포함할 수 있다.
아날로그 디지털 변환기는 연속적 근사화(successive approximation)에 기반한 또는 병렬 인코딩(parallel encoding)에 기반한 변환기일 수 있다. 변환기를 실현하기 위해 적어도 두 개의 기준 값 및 제2 도전성 라인 상의 신호를 비교하거나 적어도 두 개의 기준 값 및 추가적인 도전성 라인 상의 신호를 비교하는 적어도 두 개의 비교기 디바이스를 사용하는 것이 또한 가능하다.
제1 도전성 라인 및 제3 도전성 라인은 구동 라인들로 명명될 수 있다. 제2 도전성 라인 및 추가적인 도전성 라인은 감지 라인들로 명명될 수 있다.
구동 라인들은 사전결정된 작업 방안에 따라 구동 라인들을 스트로브(strobe)하거나 스캔하는 구동기(driver)와 연결될 수 있다. 하나를 제외한 모든 구동 라인은 바람직하게는 제1 전위로 설정되고 나머지 구동 라인은 바람직하게는 제1 전위에 대해 상이한 제2 전위로 설정된다. 스트로빙(strobing) 또는 스캐닝은 모든 구동 라인에 대해 순차적으로 행해진다. 제1 전위는 바람직하게는 제2 전위보다 더 높다. 제2 전위는 바람직하게는 접지 전위이다.
감지 라인들은 아날로그 디지털 변환기에 직접적으로 연결될 수 있다. 대안적으로, 각각의 감지 라인 및 아날로그 디지털 변환기 입력 간에 다중화기가 커플링될 수 있다.
제2 입력 요소 및 제2 전자 컴포넌트의 제2 직렬 연결에 또는 활성인 경우 높은 옴 상태를 갖는 제2 입력 디바이스에 제3 도전성 라인이 연결될 수 있다. 바람직하게는, 적어도 여섯 개의 또는 적어도 여덟 개의 도전성 라인들(구동 라인들)이 있을 수 있다.
제1 도전성 라인은 추가적인 입력 요소 및 추가적인 전자 컴포넌트의 추가적인 직렬 연결에 또는 활성인 경우 높은 옴 상태를 갖는 추가적인 입력 디바이스에 연결될 수 있다.
추가적인 도전성 라인이 추가적인 직렬 연결에 또는 추가적인 입력 디바이스에 그리고 바람직하게는 다른 직렬 연결 또는 입력 디바이스에도 연결될 수 있다. 그러므로 다수의, 예컨대 적어도 6개 또는 적어도 8개의 열 라인 또는 감지 라인이 있을 수 있다.
아날로그 디지털 변환기는 선택적으로 제1 도전성 라인으로부터 또는 추가적인 도전성 라인으로부터 그것의 입력을 수신할 수 있다. 대안적으로, 제1 아날로그 디지털 변환기 대신 추가적인 도전성 라인에 제2 아날로그 디지털 변환기가 커플링된다.
입력 요소들은, 또는 입력 디바이스들은, 또는 입력 요소들이나 입력 디바이스들 모두는 오직 두 개의 단자를 포함할 수 있다. 단극단투형 스위치(single pole single throw switch)가 사용될 수 있는데, 특히 푸시버튼 스위치(pushbutton switch) 또는 대응하는 반도체 디바이스이다. 단극단투형 스위치는 단극쌍투형(single pole double throw) 스위치 또는 푸시 버튼에 비해 더 단순한 구조를 가진다. 입력 요소는 보통 개방(open)일 수 있다(즉 내리눌리거나 활성화되지 않은 경우).
아날로그 디지털 변환기는 적어도 2 비트의 또는 적어도 3 비트의 또는 적어도 4 비트의 또는 적어도 8 비트의 출력 워드 길이(output word length)의 변환기일 수 있다. 이는 변환기의 해상도(resolution)가 4 값, 8 값, 16 값 또는 256 값 또는 더 큼을 의미한다. 더 긴 워드 길이, 예컨대 12 비트 워드 길이(즉 4096 값의 해상도를 가짐)를 구비한 아날로그 디지털 변환기가 사용될 수도 있다. 대개 20 비트 워드 길이 미만이 사용된다.
제1 전자 컴포넌트 및 제2 전자 컴포넌트는 각각 적어도 하나의 저항기 또는 저항성 소자(resistive element)를 포함할 수 있다. 저항기 또는 저항성 소자는 4.5 킬로 옴 또는 5 킬로 옴보다 크거나 10 킬로 옴보다 큰 저항 값을 가질 수 있다. 저항기는 전형적으로 100 킬로 옴 미만인 값을 가질 수 있다. 저항성 소자는 터치 스크린(touch screen)에 일체적인(integral) 트랜지스터일 수 있다. 나아가, 어떠한 별도의 전자 컴포넌트도 사용되지 않는 경우(즉, 저항기 또는 저항성 소자가 입력 디바이스의, 예컨대 스위칭을 위해 사용되는 트랜지스터의 일부임)도 마찬가지다.
저항기 각각은 예컨대 저항기의 공칭 값(nominal value) 또는 산술 평균 값(arithmetic mean value)으로부터 플러스(plus) 5 퍼센트 또는 마이너스(minus) 5 퍼센트의 공차 내의 동일한 옴 값 또는 동일한 공칭 값을 가질 수 있다. 이는 키보드의 단순한 생산을 가능하게 한다.
대안적으로, 동일한 값이 직렬 연결 또는 입력 디바이스의 그룹 내에서 사용된다. 그러나, 매트릭스의 동일한 도전성 라인 상의, 예컨대 동일한 감지 라인 상의 상이한 그룹에서 상이한 값이 사용된다. 그 저항도(resistivity)의 양은 동일한 감지 라인 상의 다른 그룹에서의 값에 비해 하나의 그룹에서 적어도 50 퍼센트 더 크다.
각각의 입력 요소는 스위칭 요소를 포함할 수 있다. 스위칭 요소는 바람직하게는 기계적 스위치(스위치가 활성화되거나 내리눌린 경우 저절로 물리적 접촉(physical contact)을 이루는 접촉부를 가짐)를 포함할 수 있다. 대안적으로 터치 감지적 또는 감압적 디바이스가 기계적 부분의 어떠한 움직임도 수반하지 않고 사용될 수 있다. 예들은 터치 스크린 및 터치 감지적 트랜지스터이다.
대안적으로, 다른 유형의 스위치, 예컨대 기계적 부분의 움직임을 수반하지 않는 터치 감지적 스위치, 특히 조작하는 이(operator)나 사용자에 의해 활성화되는 경우 저항을 변화시키는 트랜지스터를 사용하는 것이 또한 가능하다.
나아가, 스위치들의 혼성체(hybrid)들이 사용될 수 있다. 예컨대 두 개의 서로 맞물린(interdigitated) 접촉부에 맞서 사용자의 손가락에 의해 눌리는 전기적 도전성 돔(electrical conductive dome)을 포함하는 돔 스위치를 사용하는 것이 가능하다.
입력 디바이스는 아날로그 디지털 변환기에 커플링되거나 이를 포함하는 프로세서, 특히 마이크로제어기를 포함할 수 있다. 마이크로제어기는 메모리 및 주변(peripheral) 디바이스를 또한 포함할 수 있다.
입력 디바이스는 입력 디바이스 및 컴퓨터 간의 데이터 송신을 위한 국제적인 표준, 예컨대 PS/2(Personal System 2)(즉 개폐 키 스위치 시그널링(make or break key switch signaling)을 가짐) 또는 USB(Universal Serial Bus)(즉 키 스위치가 활성화된 동안은 다수의 신호를 보냄)에 따라 기능하는 인터페이스 디바이스(interface device)를 포함할 수 있다.
입력 장치는 입력 요소 또는 입력 디바이스, 예컨대 스위치의 활성화를, 활성화의 시작에서의 신호 값과 스위치의 활성화의 종단에서의 신호 값의 신호 변화의 마지막 3분의 1 내에 있는 임계 전압에 따라 검출하는 제어 디바이스(control device)를 포함할 수 있다. 이는 하락하는 신호 레벨(falling signal level)에 대해 그 신호의 디바운싱(debouncing)이 이미 감소하였고 그 신호는 검출하기에 용이한 비교적 낮은 레벨을 가진다는 것을 의미한다.
대안적으로, 입력 장치는 입력 요소의 또는 입력 디바이스의, 예컨대 스위치의 활성화를, 활성화의 시작에서의 신호 값과 스위치의 활성화의 종단에서의 신호 값의 신호 변화의 전반기(the first half) 내에 또는 일사분기(the first quarter) 내에 있는 임계 전압에 따라 검출하는 제어 디바이스를 포함할 수 있다.
이는 그 신호의 디바운싱이 여전히 비교적 높음을 의미한다. 그러나, 아날로그 디지털 변환기의 사용은 여러 번 디바운싱하는 동안 그 신호를 샘플링하는 것이 가능하므로 정확한 검출을 가능하게 한다. 그 임계 값은, 예컨대 키보드의 스위치들의 민감도를 설정하기 위해, 입력 디바이스의 사용자에 의해 설정되거나 선택될 수 있다.
평활 커패시터(smoothing capacitor)를 예컨대 최적의 통계적 분석과 조합하여 사용함으로써 신속 변화 디바운싱 기능(fast changing debouncing function)과 대조적으로 평활한 값을 얻는 것이 가능하다. 대안적으로 키 스위치의 활성화의 시작에서 높은 전위보다 낮은 값들 또는 디바운싱 신호의 극소치들을 검출하는 것이 가능하다.
낮은 신호 값보다 더 높은 상당한 값들 또는 극대치들은 신호가 그 시작에서 낮은 경우에 검출될 수 있다.
제어 디바이스는 프로세서, 마이크로프로세서 또는 마이크로제어기 및 대응하는 프로그램에 의해 실현될 수 있다. 대안적으로 프로세서가 없는 전자 회로가 제어 디바이스를 위해 사용될 수 있다.
입력 장치는 적어도 두 개의 임계 값에 따라 활성화 동안 입력 요소 또는 입력 디바이스의 적어도 세 개의 상태 또는 적어도 네 개의 상태를 검출할 수 있다. 세 개의 상태의 한 예는 눌리지 않음(not pressed), 중간 눌림(half way pressed), 완전 눌림(fully pressed)이다. 새로운 애플리케이션들이 이 다중 상태 검출 메커니즘(multi state detection mechanism)에 기반할 수 있다. 예컨대, 한 기능이 활성화의 시작에서 준비되고 그 스위치가 완전히 눌린 경우에만 실행될 수 있다.
입력 디바이스는 제2 도전성 라인에 연결된 활성화된 입력 요소 또는 입력 디바이스의 개수 및/또는 추가적인 도전성 라인에 연결된 활성화된 입력 요소 또는 입력 디바이스의 개수를 검출하는 제2 제어 디바이스를 포함할 수 있다.
제2 제어 디바이스는 다른 프로그램을 사용하는 프로세서에 의해 실현될 수 있다. 대안적으로, 다른 하드웨어가 사용될 수 있다(즉 프로세서가 없는 회로).
제2 제어 디바이스는 아날로그 디지털 변환기의 출력 값의 적어도 두 개의 범위를 설정하는 임계 유닛(threshold unit)을 포함할 수 있다. 제2 제어 디바이스는 동시에 도전성 라인들 중 하나 상에서 활성화된 스위치의 개수를 결정하기 위해 아날로그 디지털 변환기의 출력을 범위들과 비교하는 비교 유닛(comparison unit)을 포함할 수 있다. 범위들은 각 범위에 대한 단 하나의 값 및 이 범위들의 길이에 대한 공통 값에 의해 또는 각 범위에 대한 두 개의 값, 즉 하부 경계 값(lower boundary value)과 상부 경계 값(higher boundary value)에 의해 사전결정될 수 있다. 검출 정확도는 이 사전결정된 범위들 간에 사용되지 않는 범위들이 있는 경우에 증가될 수 있다.
적어도 제1 전자 컴포넌트는 카본 저항기(carbon resistor)를 포함할 수 있거나 카본 저항기일 수 있거나 적어도 제1 입력 디바이스는 카본 저항기를 포함할 수 있다. 카본 저항기는 바람직하게는 카본 프린팅에 의해 제조된다. 카본 저항기 내에는 적어도 90 원자 퍼센트(atomic percent)의 카본이 있을 수 있다. 바람직하게는, 입력 장치의 모든 저항성 전자 컴포넌트, 특히 입력 매트릭스 내의 모든 저항성 전자 컴포넌트가 카본 저항기이다.
입력 장치는 20 센티미터(centimeters) 미만의 최장 연장(largest extend) 및/또는 500 그램(gram) 미만의 또는 250 그램 미만의 무게(weight)를 갖는 디바이스의 일부일 수 있다. 저항기 또는 저항성 소자는 적어도 20 킬로 옴 또는 적어도 30 킬로 옴의 저항도를 가질 수 있다.
무게는 완전한 무게(즉 그 디바이스 및 축전지(accumulator) 또는 배터리(battery)를 포함함)에 관련된다. 그러한 작은 디바이스들은 휴대가능할 수 있다(즉 모바일 사용됨). 그러한 디바이스들에서 적은 에너지 소모를 갖는 것이 중요하다. 이는 키보드 또는 키패드에 대해서도 그러하다.
주어진 저항도의 값은 눌린 키 각각에 대해 단지 약 0.15 밀리 암페어(mA)의 전류를 허용한다. 이 값은 예컨대 0.3 밀리 암페어의 값을 갖는 알려진 키보드 내의 전류보다 훨씬 더 낮다. 전류의 낮은 값은 높은 에너지 효율을 초래한다.
감지 라인들에서의 풀 업 저항기는 키보드 또는 키패드가 필요로 하는 전류에 영향을 끼치기도 한다.
대안적으로, 입력 장치는 적어도 20 센티미터의 최장 연장 및/또는 500 그램을 넘는 또는 1 킬로그램(kilo gram)을 넘는 무게를 갖는 디바이스의 일부일 수 있다. 저항기 또는 저항성 소자는 적어도 20 킬로 옴 또는 적어도 30 킬로 옴의 저항도를 가질 수 있다.
에너지 효율은 더 큰 디바이스에 대해서, 예컨대 개인용 컴퓨터, 서버 등에 대해서 문제이기도 하다. 이 디바이스들은 100 볼트 내지 300 볼트의 범위 내의 전압을 갖는 가속화된 현행 네트워크, 즉 공익사업체 시설(utility plant)에 의해 구동되는 네트워크에서 대개 동작된다.
입력 장치는 적어도 20 센티미터의 최장 연장 및/또는 500 그램을 넘는 또는 1 킬로그램을 넘는 무게를 갖는 디바이스의 일부일 수 있다. 저항기 또는 저항성 소자는 20 킬로 옴보다 낮은 또는 15 킬로 옴보다 낮은 또는 10 킬로 옴보다 낮은 저항도를 가질 수 있다.
저항도의 값을 줄이는 것의 효과는 검출이 더욱 신속하게 될 수 있다는 것이다. 이는 컴퓨터 게임을 하기 위해 사용되는 키보드에 있어서 중요할 수 있다. 10 킬로 옴의 저항도는 약 1 밀리초(milli second)인 검출 시간을 초래할 수 있다.
발명은 또한 앞서 언급된 특징을 포함하는 입력 방법에 관련된다. 그 방법은 키 코드를 그 디지털 값에 따라 생성하는 것을 더 포함할 수 있다.
전위의 검출은 검출이 더욱 용이하고 더욱 신뢰성이 있기 때문에 전류의 검출에 반해 선호될 수 있다.
방법은 스위치 또는 입력 디바이스 중 하나의 활성화의 중간 상태(intermediate state)를 결정하는 것을 포함할 수 있다.
평활 커패시터를 예컨대 통계적 분석과 조합하여 사용함으로써 신속 변화 디바운싱 기능과 대조적으로 평활한 값을 얻는 것이 가능하다. 대안적으로 키 스위치의 활성화의 시작에서 높은 전위보다 낮은 값들 또는 디바운싱 신호의 극소치들을 검출하는 것이 가능하다. 낮은 신호 값보다 더 높은 상당한 값들 또는 극대치들은 신호가 그 시작에서 낮은 경우에 검출될 수 있다.
임계 값은 키 스위치의 개방 상태(open state) 및 눌린 상태(pressed state) 간 신호 레벨 변화의 전반기 내에 있을 수 있다. 임계 값은, 예컨대 키보드의 스위치들의 민감도를 설정하기 위해, 입력 디바이스의 사용자에 의해 설정되거나 선택될 수 있다.
방법은 스위치 또는 입력 디바이스 중 하나의 활성화 동안 적어도 세 개의 상태 또는 적어도 네 개의 상태를 결정하는 것을 포함할 수 있다. 개방 상태 및 닫힌 상태(closed state) 간의 제3 상태를 검출하기 위해 적어도 두 개의 임계 값이 사용될 수 있다. 다른 실시예에서 세 개의 또는 세 개보다 많은 임계 값이 사용된다(예컨대 넷, 다섯, 여섯 또는 여섯보다 많음). 이 방법을 사용함으로써 새로운 애플리케이션이 가능하다(예컨대 활성화의 시작에서 한 기능의 실행을 준비하는 것 및 오직 그 스위치가 완전히 눌린 경우에 그 기능을 실행하는 것).
방법은 그 디지털 값에 따라 도전성 라인(감지 라인)에 연결된 활성화된 스위치 또는 입력 디바이스의 개수를 결정하는 것을 포함할 수 있는데, 그 개수는 바람직하게는 1보다 크다. 그러므로, 고스트 키잉을 막는 것뿐만 아니라 동시에 활성화된 다수의 키 스위치를 에러(error) 없이 검출하는 것도 가능하다.
제1 저항기 또는 제2 저항기는 카본 프린팅(즉 매우 효율적인 제조 프로세스)을 사용하여 만들어질 수 있다.
제1 저항기 또는 제1 입력 디바이스의 높은 옴 상태 및 제2 저항기 또는 제2 입력 디바이스의 높은 옴 상태는 적어도 20 킬로 옴 또는 적어도 30 킬로 옴의 저항도를 가질 수 있다.
에너지 효율은 휴대가능한 디바이스에 대해서 그리고 예컨대 개인용 컴퓨터와 같은 더 큰 디바이스에 대해서도 중요할 수 있다. 높은 저항도는 더 낮은 전류 소모를 초래하고 따라서 전체적인 에너지 소모를 낮춘다.
대안적으로, 제1 저항기 또는 제1 입력 디바이스의 높은 옴 상태 및 제2 저항기 또는 제2 입력 디바이스의 높은 옴 상태는 20 킬로 옴보다 낮은 또는 15킬로 옴보다 낮은 또는 10 킬로 옴보다 낮은 저항도를 가질 수 있다.
더 높은 검출 전류가 사용되는 경우 매우 높은 검출률을 얻는 것이 가능하다. 검출률은 시뮬레이션 프로그램에서 및 컴퓨터 게이밍(computer gaming)에서 사용되는 바와 같이 고속 애플리케이션(high speed application)에서 사용되는 키보드 및 키패드에 있어서 중요할 수 있다.
방법은 앞서 언급된 디바이스 중 하나를 사용하여 수행될 수 있다. 앞서 언급된 바와 동일한 기술적 효과는 대응하는 디바이스를 사용하는 방법에 대해서도 유효하다.
설명 - 제2 양상
회로 장치(circuit arrangement) 및 광학 소자(optical element)를 제어하는 방법
발명의 분야 제2 양상
이 발명은 일반적으로 제어 회로 및 적어도 하나의 광학 소자의 제어를 위한 또는 한 광학 소자 또는 광학 소자들을 위한 적어도 하나의 구동기를 위한 제어 방법에 관련된다. 더욱 구체적으로 발명은 높은 에너지 효율과 적은 에너지 소모를 갖고 동작될 수 있는 그러한 회로 장치에 관한 것이다.
발명의 배경 - 제2 양상
광학 소자를 통해, 특히 반도체 광학 소자, 가령 발광 다이오드(Light Emitting Diode: LED)를 통해 흐르는 전류를 제어하기 위한 많은 제어 원리가 알려져 있다:
- 전류 제한 저항기(current limiting resistor),
- 선형 구동기, 즉 전압 정류기
- 구동기의 출력 전압에 대한 두 개의 임계 전압에 따라 스위칭 트랜지스터(switching transistor)를 스위치 온 및 오프 하는 것(switching on and off)을 사용하는 진동(oscillating) 구동기.
발명의 개요 - 제2 양상
발명은 광학 소자를 제어하기 위한 회로 장치에 관련되는데, 그 회로 장치는:
- 펄스 폭 변조(pulse width modulation) 신호에 의해 제어되는 변환기,
- 적어도 하나의 광학 소자, 또는 변환기의 출력에 연결된 적어도 하나의 광학 소자를 위한 구동기 회로,
- 광학 소자 또는 구동기를 포함하는 제1 회로 분기(circuit branch)에 연결되거나 연결가능한 제1 검출 유닛, 그리고
- 제1 검출 유닛에 커플링되고 변환기의 제어 입력(controlling input)에 커플링되며, 변환기의 출력 전압을 제어함으로써 적어도 하나의 광학 소자를 통해 또는 구동기를 통해 흐르는 전류를 제어하는 디지털 제어 유닛(digital control unit)
을 포함한다.
나아가, 발명은 광학 소자를 제어하기 위한 방법에 관련되는데, 그 방법은:
- 펄스 폭 변조(Pulse Width Modulation: PWM)에 의해 제어(추가적으로 펄스 주파수 변조(Pulse Frequency Modulation: PFM)가 사용될 수 있음)되는 변환기의 출력 전압을 디지털로(digitally) 제어함으로써 적어도 하나의 광학 소자를 통해 또는 적어도 하나의 광학 소자를 위한 구동기 회로를 통해 흐르는 전류를 제어하는 단계
를 포함한다.
일반적인 실시예들의 설명 - 제2 양상
광학 소자를 특히 밝기(brightness)에 대해 제어하여, 특히 높은 효율, 낮은 에너지 소모로 동작하고/하거나 광학 소자의 밝기의 큰 값을 가능하게 하는 회로 장치를 제공하는 것이 발명의 목적이다. 나아가 대응하는 방법이 제공될 것이다.
이 문제는 청구항 43에 따른 디바이스에 의해 그리고 독립 방법 청구항에 따른 방법에 의해 해결된다. 실시예들이 부수청구항들에서 주어진다.
회로 장치는 앞서 언급된 특징을 포함할 수 있다. 이 회로 장치는 광학 소자의 또는 구동기의 전류를 제어하기 위해, 변환기(예컨대 전압 변환기)의 전압 제어를 사용할 수 있다. 이는 광학 디바이스의 또는 구동기의 심하게 비선형인 전압 전류 특성의 경우에 사용될 수 있는 전류 제어와 대조적이다. 그래도, 그 디지털 제어가 광학 소자 또는 구동기의 특성, 특히 전압 대 전류 특성 곡선 또는 전류 대 전압 특성 곡선의 개별 검출에 기반하기 때문에 회로 장치는 전압 제어를 사용할 수 있다. 대안적으로 또는 추가적으로, 다른 특성 곡선이 고려될 수 있다(예컨대 전압 변환기의 듀티 사이클(duty cycle) 대비 전압 특성 곡선).
나아가, 변환기의 비선형 특성 및 LED의 비선형 특성 양자 모두가 제어를 위해 고려될 수도 있기 때문에 그 회로는 전류 제어 대신 전압 제어를 사용하는 것이 가능하다.
검출 유닛은 아날로그 디지털 변환기(Analog Digital Converter: ADC)일 수 있다. ADC의 비트 길이(bit length)는 4 비트 내지 20 비트 이상의 범위 내에 있을 수 있다. 제1 회로 분기 및 검출 유닛 사이에 다중화기가 사용될 수 있다.
광학 소자는 반도체 소자, 예컨대 LED(Light Emitting Diode), 레이저 다이오드, IR 다이오드(적외선(Infra Red)) 또는 UV 다이오드(자외선(Ultra Violet))일 수 있거나 이를 포함할 수 있다.
광학 소자의 또는 광학 소자의 한 스트링(string)의 또는 광학 소자의 스트링의 번들(bundle)의 비선형 특성은 지수 함수(exponential function)일 수 있거나 지수 함수와 비슷할 수 있다. 이는, 전압에서의 작은 변화가 전류에서의 비교적 큰 변화를, 특히 범위의 끝에서 초래하기 때문에, 선형 특성을 가진 소자에 비해 또는 직접적인 전류 제어에 비해 동작점(point of operation)의 조절이 훨씬 더 어렵다는 것을 의미한다. 예컨대 완전한 개별적 특성을 샘플링하는 것에 의해, 알맞은 동작점을 찾기 위한 적절한 제어 전략을 사용하는 것이 가능하다. 광학 소자에 대한 구동기에 대해서도 마찬가지이다.
변환기는 전압 변환기, 예컨대 DC/DC 변환기(직류(Direct Current)/직류(Direct Current))일 수 있다. 변환기는 스텝다운 변환기(step-down converter)(벅 변환기(buck converter)), 인버터(inverter) 또는 스텝업 변환기(step-up converter)(부스트 컨버터(boost converter))일 수 있다. 이들 종류의 변환기는 하나의 유도성 소자(inductive element) 외에 하나의 스위치와 하나의 다이오드를 또는 대안적으로 유도성 소자 및 두 개의 스위치를 포함한다. 스위치는 바람직하게는 전자 스위치, 즉 트랜지스터, 예컨대 FET(전계 효과 트랜지스터(Field Effect Transistor)) 또는 MOSFET(금속 산화물 반도체 FET(Metal Oxide Semiconductor FET))이다. 다른 종류의 변환기가 사용될 수도 있다(예컨대 플라이백(fly back) 변환기).
전압 변환기의 비선형 특성 곡선이 있을 수도 있다. 변환기는 낮은 부하(load) 또는 낮은 출력 전력을 갖는 동작 모드에서 낮은 효율을 가질 수 있다(PWM 모드). 부하 또는 출력 전력이 훨씬 더 큰 경우 높은 효율이 있을 수 있다. 변환기는 대개 이 정규 모드(normal mode)를 위해 설계된다. 그러나, 변환기 및 광학 소자(들)/구동기(들)의 전체적인 특성이 적어도 한 번 검출되는 경우(예컨대 회로 장치의 생산의 말미에서, 매번 회로 장치가 스위치 온됨(switched on)) 또는 역시 검출될 수 있는 온도 변화가 있는 경우에, 또는 다른 전략에 따라, 전압 변환기의 및 광학 소자/구동기의 비선형 특성이 고려될 수 있다.
제1 검출 유닛, 예컨대 아날로그 디지털 변환기는 제1 회로 분기에 직접적으로 커플링될 수 있고 제1 회로 분기 및 제1 검출 유닛 또는 제1 아날로그 디지털 변환기 사이에 다중화기가 사용될 수 있다.
제어는 폐루프(closed loop)를 사용하여 행해질 수 있다. 대안적으로, 개루프(open loop) 제어가 사용될 수 있다.
제1 회로 분기는 변환기 외에 제1 회로 분기 내의 전류 정류(current regulation)를 위한 추가적인 전자 디바이스가 없을 수 있다. 특히, 제1 회로 분기는 전류 제어를 위한 트랜지스터를 포함하지 않는다. 이는 광학 소자 또는 광학 소자의 구동기를 자동적으로 제어하기 위해 오직 그 전압 제어가 사용됨을 의미한다. 제1 회로 분기 내에 저항기가 사용되는 경우에도, 저항도의 값은 전류 제한 저항기의 값보다 작을 수 있다.
제1 회로 분기는 저항성 소자 또는 저항기를 포함할 수 있고 제1 검출 유닛은 상기 적어도 하나의 광학 소자 또는 구동기 회로와 저항성 소자 또는 저항기 간의 연결에 연결되거나 연결가능할 수 있다. 저항기는 낮은 공차(예컨대 1 퍼센트 또는 1 퍼센트보다 작음)를 가질 수 있다. 저항기 또는 저항성 소자는 제1 검출 유닛을 사용함으로써 분기 내 전류의 검출을 가능하게 한다.
저항기의 값은 바람직하게는 광학 소자 또는 광학 소자들에 필요할 전류 제한 저항기(보호 저항기)의 값보다 더 작다. 저항기의 옴 값(Ohmic value)은 예컨대 1 옴 내지 50 옴의 범위 내에 있을 수 있다.
검출된 전류의 값은 광학 소자(들)의 현재 전력, 즉 목하 소모되는 전력을 계산하기 위해 사용될 수 있다.
제1 검출 유닛은 적어도 하나의 추가적인 광학 소자 또는 적어도 하나의 추가적인 광학 소자를 위한 추가적인 구동기를 포함하는 적어도 하나의 추가적인 회로 분기에 연결될 수 있거나 연결가능할 수 있다. 이는 전류의 합 또는 평균 값이 검출될 수 있음(특히 산술 평균 값)을 의미한다.
많은 애플리케이션이 오직 전류를 검출하는 것 및 전류를 설정하거나 전류를 변경하기 위해 변환기의 전압을 사용하는 것은 충분할 수 있다.
대안적으로 제1 검출 유닛은 전압 변환기의 출력 전압을 검출할 수 있다.
제2 검출 유닛이 제1 회로 분기에, 특히 변환기의 출력에 연결될 수 있거나 연결가능할 수 있다. 제2 검출 유닛은, 특히 제1 검출 유닛이 전류의 검출을 위해 사용되는 경우, 전압 변환기의 출력 전압을 검출하는 제2 아날로그 디지털 변환기일 수 있다. 제2 ADC의 비트 길이는 4 비트 내지 20 비트 이상의 범위 내에 있을 수 있다. 대안적으로, 제2 검출 유닛은 아날로그 디지털 변환기(예컨대, 제1 아날로그 디지털 변환기) 및 다중화기의 일부를 포함할 수 있다.
제2 검출 유닛은 직렬 연결 내에 연결된 두 개의 저항기의(즉 전압 분배기의) 탭에 연결될 수 있다. 이 직렬 연결은 회로 분기들에 및/또는 전압 변환기의 출력에 연결될 수 있다. 전압 분배기 및 제2 검출 유닛 사이에 단위 이득 증폭기(unity gain amplifier) 또는 전압 추종기(voltage follower)가 커플링될 수 있다.
제2 검출 유닛은 제1 검출 유닛과 함께 또는 제1 검출 유닛 없이 사용될 수 있다.
전압 변환기의 출력 전압의 및 회로 분기 내 전류의 검출은 하나의 회로 분기 내의 또는 단 하나의 광학 소자 또는 여러 광학 소자 또는 구동기를 포함하는 복수의 회로 분기 내의 전기적 출력 전력을 결정하는 것을 가능하게 한다. 출력 전압 및 전류는 광학 소자의 전압 대 전류 특성에 대한 쌍(pair)들을 얻기 위해 사용될 수 있다. 출력 전압 단독으로는 전압 변환기의 및 광학 소자(들)의 또는 광학 소자(들)의 구동기(들)의 전체적인 비선형 듀티 사이클 대 전압 특성을 검출하기 위해 사용될 수 있다.
제3 검출 유닛이 전압 변환기의 또는 회로 장치의 입력에 연결될 수 있거나 연결가능할 수 있다. 제3 검출 유닛은 제3 아날로그 디지털 변환기일 수 있다. 제3 ADC의 비트 길이는 4 비트 내지 20 비트 이상의 범위 내에 있을 수 있다. 대안적으로, 제3 검출 유닛은 다중화기 및 아날로그 디지털 변환기, 예컨대 제1 아날로그 디지털 변환기 또는 제2 아날로그 디지털 변환기를 포함할 수 있다. 제3 검출 유닛은 전압 변환기의 또는 회로 장치의 입력에서의 전압 또는 전류를 결정할 수 있다.
전압 검출의 경우 전압 분배기 및/또는 단위 이득 증폭기가 사용될 수 있다. 회로 장치의 입력 전압의 값은 그 전압의 항복(break down) 상황을 검출하고 이에 따라 작동하기 위해 사용될 수 있다. 이는 회로 장치가 USB(Universal Serial Bus) 인터페이스를 통해 동작되는 경우에 특히 중요하다.
제3 검출 유닛은 제1 검출 유닛과 함께 또는 제1 검출 유닛 없이 및/또는 제2 검출 유닛과 함께 또는 제2 검출 유닛 없이 사용될 수 있다.
제4 검출 유닛이 전압 변환기의 또는 회로 장치의 입력에 연결될 수 있거나 연결가능할 수 있다. 제4 검출 유닛은 아날로그 디지털 변환기일 수 있다. ADC의 비트 길이는 4 비트 내지 20 비트 이상의 범위 내에 있을 수 있다. 대안적으로, 제4 검출 유닛은 다중화기 및 아날로그 디지털 변환기, 예컨대 제1 아날로그 디지털 변환기 또는 제2 아날로그 디지털 변환기 또는 제3 아날로그 디지털 변화기를 포함할 수 있다.
제4 검출 유닛은 예컨대 회로 장치, 즉 전압 변화기 및 마이크로제어기의 입력 전류를 결정할 수 있다. 전압 정류기의 또는 회로 장치의 입력 라인 내의 저항기 또는 저항성 소자가 전류 검출을 위해 사용될 수 있다. 저항성 소자는 유도성 소자의, 예컨대 USB 표준을 준수하기 위해 사용되는 유도성 소자의 일부일 수 있다. 유도성 소자에서의 입력 전류를 검출하기 위해 저항성 용량성 네트워크가 사용될 수 있다. 이는 DCR 감지(직접 전류 저항(Direct Current Resistance))로 알려져 있다. 입력 전류를 감지하는 다른 방식도 사용될 수 있다.
전압 변환기의 입력 전압 및 입력 전류의 검출은 입력 전력을 결정하는 것을 가능하게 한다.
입력 전류의 값은 표준, 예컨대 국제적 표준, 특히 USB(Universal Serial Bus) 또는 PS2(Personal System 2)(이는 키보드를 컴퓨터에 연결시키는 데에 사용됨)의 최대 전류 값과 비교될 수 있다.
제4 검출 유닛은 제3 검출 유닛과 함께 또는 제3 검출 유닛 없이 및/또는 제1 검출 유닛과 함께 또는 제1 검출 유닛 없이 및/또는 제2 검출 유닛과 함께 또는 제2 검출 유닛 없이 사용될 수 있다.
그러므로 ADC에 연결된 어떠한 다중화기도 사용하지 않는 것이 가능하다. 오직 하나의 또는 두 개의 아날로그 디지털 변환기 및 다중화기 회로를 사용하는 것이 또한 가능하다. 오직 하나의 다중화기 또는 하나보다 많은 다중화기를 사용하는 것이 가능하다.
회로 장치는 프로세서를 포함할 수 있는데 프로세서는 제1 검출 유닛의 출력에 그리고 전압 변환기에, 특히 전압 변환기의 제어 단자(controlling terminal)에 커플링된다. 프로세서는 사용되는 다른 검출 유닛에 또한 커플링될 수 있다. 프로세서는 마이크로프로세서 또는 마이크로제어기일 수 있다. 마이크로제어기는 프로세서, 메모리 및 입력/출력 디바이스를 포함한다.
회로 장치는, 특히 USB(Universal Serial Bus) 표준들 중 하나, 즉 1.0, 2.0, 3.0 또는 더 상위의 것에 따라, 또는 PS2(Personal System 2) 표준에 따라, 컴퓨터와 키보드 또는 다른 주변 디바이스 간의 인터페이스를 형성하는 인터페이스 회로를 포함할 수 있다. 이 인터페이스들에 대해 특수한 문제가 있다:
- 인터페이스에서의 전압, 전력 및/또는 전류는 공칭 범위(nominal range) 내에 있어야, 특히 최대 전압 또는 최대 전류보다 낮아야 함, 그리고/또는
- 표준 내에 정의된 한도 외부에 있는 전류 상태 및/또는 전압 상태를 회피하는 것이 중요할 수 있음.
회로 장치는 적어도 하나의 광학 소자에 의해 조명되는(illuminated) 복수의 입력 요소를 포함할 수 있다. 유리로 또는 플라스틱으로 만들어진 도파관이 빛을 입력 요소로 전하는(conduct) 데에 사용될 수 있다. 입력 요소는 기계적 스위치, 이동가능한 스위치 또는 스위칭을 위한 터치 소자일 수 있다. 이들 종류의 조명을 위한 특수한 요건이 있는데, 예를 들어:
- 최대 밝기, 그리고/또는
- 인터페이스 표준에 의해 설정된 한도가 지켜져야 함, 그리고/또는
- 저전력 소모가 필수적임
이다.
이 요건들은 적어도 하나의 검출 유닛 또는 ADC(Analog Digital Converter)의, 두 개의 검출 유닛/ADC의, 세 개의 검출 유닛/ADC의 또는 네 개의 검출 유닛/ADC의 검출 값에 기반하는 제어 전략을 사용함으로써 충족될 수 있다. 대안적으로, 다중화기를 사용하는 것 및 다중화기에 의해 회로 장치의 상이한 검출 지점에 연결되거나 연결가능한 단 하나의 ADC를 사용하는 것이 가능하다. 전압 변환기의 그리고 광학 소자 또는 광학 소자를 위한 구동기의 비선형 특성이 제어 전략 내에 포함될 수 있다.
회로 장치는 회로 장치의 전체 작동 범위(working range)의 적어도 50 퍼센트 또는 적어도 75 퍼센트를 포함하는 범위 내에서 회로 장치의 적어도 하나의 특성 곡선을 결정하는 추가적인 제어 유닛을 포함할 수 있다. 범위는 3 디케이드(decades)를 넘는 디케이드를 포함할 수 있다(예컨대 수 마이크로 암페어의 전류와 몇 밀리 암페어의 전류). 이 범위 내에는 전압 변환기의 몇몇 동작 모드가 있을 수도 있다. 그러므로, 회로 장치의 전체적인 특성의 자동적인 결정이 있을 수 있다.
특성 곡선은 예를 들어:
- 회로 장치를 포함하는 전자 디바이스, 예컨대 키보드의 생산의 말미에 단 한 번,
- 회로 장치가 스위치 온 될 때마다,
- 회로 장치의 스위치 온 및 스위치 오프 사이에 여러 번,
- 특히 주기적으로, 예컨대 매 분마다 한 회, 10회 넘게, 100회 넘게 또는 1000회 넘게, 그러나 바람직하게는 매 분마다 10000회 미만으로,
- 온도 등의 변화에 따라,
결정될 수 있다.
값들의 쌍들은 메모리 내에 저장될 수 있다. 값들의 저장된 쌍들 사이의 값들을 얻기 위해 보간(interpolation) 방법이 사용될 수 있다. 예컨대, 스플라인(spline) 보간 및/또는 외삽(extrapolation)이 적절할 수 있다.
회로 장치는 전압 변환기의 출력에서의 부하에 따라 전압 변환기를 제어하기 위해 사용되는 펄스 폭 신호의 주파수를 변경하는 추가적인 제어 유닛을 포함할 수 있다. 광학 소자(들)을 통해 단지 수 마이크로 암페어가 흐르는 경우 제1 PWM 모드가 있을 수 있다. 제1 PWM 모드 내의 주파수는 변환기의 더 큰 부하 또는 출력 전력을 위한 주파수보다 더 높을 수 있다.
전압 변환기의 듀티 사이클 및 출력 전압 간 제1 관계가 있을 수 있다. 듀티 사이클의 증가와 함께 출력 전압의 어떠한 변화도 없는 정체기(plateau)가 뒤따를 수 있다. 동작의 정규 모드 또는 유도성 모드에서, 전압 변환기의 듀티 사이클 및 출력 전압 간 제3 관계가 있을 수 있다.
제1 PWM 모드 내의 더 높은 주파수는 정체기의 길이를 감소시킬 수 있다.
PWM 신호의 주파수는 제어를 더 용이하게 하기 위해, 범위의 종단에서, 즉 더 큰 부하에 대해, 감소될 수 있다. 주파수를 감소시키는 것은 더 정확한 제어를 가능하게 한다. 그 주파수는 25 퍼센트 내지 75 퍼센트의 범위 내에서, 바람직하게는 계단식(stepwise) 방식으로 감소될 수 있다.
제1 PWM 모드 내의 더 높은 주파수에 대해 대안적으로 변환기의 더 낮은 출력 전력을 위해 PFM(Pulse Frequency Modulation)이 사용될 수 있다. PFM은 덜 정확한 제어를 초래하는 더 낮은 주파수로 이어질 수 있다. 그러나, 이는 더 적은 전력으로 인한 단정된 상대적 변화(asserted relative change)에 의해 야기되는 절대적 변화(absolute change)가 그래도 더 작을 것이기에 더 낮은 전력의 범위 내에서 용인할 만하다(tolerable). 그러한 더 낮은 전력은 예컨대 500 밀리와트(Milliwatt) 미만 또는 100 밀리와트 미만이다.
검출 유닛들 중 적어도 하나 또는 검출 유닛들 모두는 아날로그 디지털 변환기를 포함하거나 아날로그 디지털 변환기로 구성될 수 있다. 아날로그 디지털 변환기는 4 비트 내지 20 비트 이상의 범위 내의 해상도를 가질 수 있다. 아날로그 디지털 변환기는 아날로그 데이터 처리(analog data processing)에 비해 더 유연한 디지털 데이터 처리(digital data processing)을 가능하게 한다.
제어 유닛은 바람직하게는 제1 검출 유닛에 커플링된 제1 서브 유닛(sub unit)을 포함할 수 있다. 제1 서브 유닛은 변환기의 제어 신호의 듀티 사이클의 값들의 그리고 적어도 하나의 광학 소자를 통해 흐르는 전류의 대응하는 전류 값들의 쌍들을 검출할 수 있다. 대안적으로, 변환기의 출력 전압의 값들의 그리고 적어도 하나의 광학 소자를 통해 흐르는 전류의 대응하는 전류 값들의 쌍들이 검출될 수 있다.
제1 서브 유닛은 최대 전력, 전류 또는 전압으로부터 충분히 먼 동작점에서의 밝기의 제어에 대해 책임이 있을 수 있다. 제2 서브 유닛은 최대 전력, 전류 또는 전압에 가깝거나 근접한 동작점에 가까운 지점에서의 제어에 대해 책임이 있을 수 있다. 제2 제어 유닛은 아래에서 더욱 상세히 기술될 것이다.
여기서, 도전과제는 주요 역할을 하는 관련된 지수 함수가 있지만 제어를 행하는 것이다. 지수 함수의 기울기는 x 값의 증가와 함께 더더욱 가파르게 된다. 나아가, 광학 소자 또는 소자들의 밝기는 전압 변환기의 출력 전압의 또는 듀티 사이클의 극소한 변화에 대해 매우 민감하다. 그 실시예는 상이한 제어 전략이 상이한 동작점을 위해 사용될 수 있다는 숙고에 기반한다.
제1 서브 유닛은 변환기의 출력 전압 또는 듀티 사이클을 전류의 값에 따라 계산하는 계산 유닛(calculation unit)을 포함할 수 있다. 이 계산 유닛은 전자 메모리 내에 저장된 명령어를 수행하는 마이크로제어기 또는 다른 프로세서를 포함할 수 있다.
제1 서브 유닛은 값들의 쌍들을 거쳐 가는 곡선을 찾는 보간 유닛을 포함할 수 있다. 예컨대 3차(cubic) 스플라인 또는 2차(quadratic) 스플라인을 사용하여, 스플라인 보간이 사용될 수 있다. 그러나, 다른 보간 방법이 사용될 수도 있다.
대안적으로 또는 추가적으로, 제1 서브 유닛은 전류의 주어진 값에 대해 또는 값에 대해 유효한 출력 전압 또는 듀티 사이클을 찾는 반복 유닛(iteration unit)을 포함할 수 있다. 뉴턴(Newton) 반복 또는 다른 반복이 사용될 수 있다. 반복은 각 단계에 의한 결과의 개선을 가능하게 한다. 적절한 시작 값을 찾기 위해 추가적인 제어 유닛이 사용될 수 있다.
제1 서브 유닛은 적어도 하나의 광학 소자를 통해 흐르는 전류 (I) 값의 그리고 기준 전류 또는 다른 기준 값의 편차(deviation)에 따라 변환기의 출력 전압 또는 듀티 사이클을 변경하는 변경 유닛(changing unit)을 포함할 수 있다. 이 디지털 폐루프 제어는 전류의 더 높은 값으로의 드리프트의 보상(compensation)과, 또한 전류의 더 낮은 값으로의 드리프트의 보상을 초래한다. 회로 장치의 온도가, 예컨대 오랜 동작으로 인해 오르는 경우 전류는 더 높은 값으로 드리프트할 것이다. 온도는 외부의 조건, 예컨대 열린 창문으로 인해 떨어질 수 있다.
제1 서브 유닛은 기준 전류를 넘는 전류에서의 곡선의 기울기를 계산하고 듀티 사이클의 또는 출력 전압의 새로운 값을 계산하기 위해 이 기울기를 사용하는 제1 기울기 계산 유닛을 포함할 수 있다. 대안적으로 또는 추가적으로, 제1 서브 유닛은 기준 전류에서의 곡선의 기울기를 계산하고 듀티 사이클의 또는 출력 전압의 새로운 값을 계산하기 위해 이 기울기를 사용하는 제2 기울기 계산 유닛을 포함할 수 있다. 양 실시예 모두 관련된 곡선의 더 큰 값에서 더 큰 기울기, 즉 지수 함수가 관련된 경우 더 가파른 기울기를 사용한다. 이는 매우 정확하고 신속한 계산을 가능하게 한다.
제2 기울기 계산 유닛은 제1 기울기 계산 유닛과 함께 또는 제1 기울기 계산 유닛 없이 사용될 수 있다.
제어 유닛은 제2 서브 유닛, 그리고 바람직하게는 최대 전력 또는 전압 또는 전류를 결정하는 유닛을 포함할 수 있다. 그러므로, 제2 서브 유닛은 그 최대치를 고려할 수 있다. 그 최대치 가까이에 준수되어야 하는 제약이 있다. 나아가, 그 최대치 가까이에서의 제어는 다른 동작점에서의 제어보다 더 복잡할 수 있다. 따라서, 특별한 제2 서브 유닛이 사용될 수 있다. 추가적인 액션 또는 대안적인 액션이 그 최대치 근처에서 취해질 수 있다(예컨대 변환기를 제어하는 PWM 신호의 주파수를 감소시키는 것).
제2 서브 유닛은 제1 서브 유닛과 함께 또는 제1 서브 유닛 없이 사용될 수 있다.
최대 전력 또는 전압 또는 전류는 관련된 곡선의 검출 중에 또는 그 관련된 곡선을 찾기 위한 토대인 값들의 쌍들의 검출 중에 고려될 수 있다. 나아가, 추가적인 디바이스가 동일한 전력 공급부(power supply)를 갖는 여러 인터페이스 중 하나의 주변 인터페이스 내에, 가령 USB 포트(port) 내에 플러그 접속된(plugged) 경우 최대치는 키보드의 동작 중에 낮춰져야 할 수 있다. 컴퓨터의 이 주변 인터페이스들로부터 디바이스를 제거하는 것은 최대치의 증가로 이어질 수 있다.
제2 서브 유닛은 바람직하게는 제1 검출 유닛에 커플링될 수 있고 제2 서브 유닛은 바람직하게는 변환기의 제어 신호의 듀티 사이클의 값들의 그리고 적어도 하나의 광학 소자를 통해 흐르는 전류의 대응하는 전류 값들의 쌍들을 검출할 수 있다. 대안적으로, 변환기의 출력 전압의 값들의 그리고 위(즉 상기) 적어도 하나의 광학 소자를 통해 흐르는 전류의 대응하는 전류 값들의 쌍들이 검출될 수 있다. 제1 검출 유닛은 광학 소자들의 스트링들을 거치는 전체적인 전류 또는 이 스트링들을 거치는 중간 전류(medium current)를 검출하는 아날로그 디지털 변환기일 수 있다. 전체적인 전류는 중간 전류에 k, 즉 광학 소자의 병렬인 스트링의 개수를 곱함으로써 추정될 수 있다. 대안적으로, 오직 하나의 광학 소자 또는 단일 광학 소자의 병렬 연결 또는 별도로 측정된 스트링 전류의 합산이 사용될 수 있다.
최대치는 값들의 쌍들의 검출 중에 고려될 수 있다. 그러므로, 최대치가 초과되지 않을 것을 요구하는 사양 내에 있는 동작 영역 또는 범위 내에 남아 있는 것이 가능하다.
제2 서브 유닛은 다음 유닛들 중 적어도 하나, 둘 또는 전부를 포함할 수 있다:
- 최대치로 연장되는 곡선을 계산하는 외삽 유닛, 및/또는
- 최대치에서의 곡선의 기울기를 계산하는 기울기 계산 유닛, 및/또는
- 기울기 계산 유닛에 커플링되고 값들의 다른 쌍들보다 최대치에 더 가까운 출력 전압 또는 듀티 사이클을 계산하는 계산 유닛.
스플라인은 양호한 외삽을 가능하게 하는 함수에 대해, 특히 외삽된 곡선의 지정된 점에서의 기울기를 얻기 위해 전체 도메인(domain) 또는 범위 상에서 적어도 한 번 연속적으로 미분될(differentiated) 수 있는 함수에 있어서, 역시 좋은 선택이다.
값들의 다른 쌍들은 이미 검출되었을 수 있다. 새 듀티 사이클 또는 새 출력 값은 전압 변환기를 제어하기 위해 사용될 수 있다. 그리고, 값들의 새로운 쌍이 검출될 수 있다. 그리고 값들의 새로운 쌍은 최대치에 더욱 가깝게 되는 데에 사용될 수 있다.
제2 서브 유닛은 제2 서브 유닛의 기울기 계산 유닛에 그리고 계산 유닛에 커플링된 반복 유닛을 포함할 수 있다. 반복은 최대치를 초과함 없이 관련된 곡선의 연이은 연장(successive extension)을 가능하게 한다.
반복 유닛은 외삽 유닛에 커플링될 수 있다. 외삽된 곡선은 반복 중에 여러 번 갱신될(updated) 수 있다. 이는 갱신된 외삽 곡선 없는 반복보다 최종적으로 더 빠른 매우 정확한 반복을 가능하게 한다. 단지 얼마 안 되는 반복 단계, 가령 10개보다 적거나 심지어 5개보다 적은 반복 단계가 있을 수 있다.
반복은 외삽된 곡선의 갱신 없이 수행될 수도 있다. 이는 몇몇 애플리케이션을 위해 충분할 수 있다.
제2 서브 유닛은 변환기의 출력 전압 또는 듀티 사이클을 적어도 하나의 광학 소자를 통해 흐르는 전류 값의 그리고 기준 전류의 편차에 따라 변경하는 변경 유닛을 포함할 수 있다. 그러므로 밝기의 디지털 제어는 전력, 전류 또는 전압의 최대치 근처에서도 가능하다.
제2 서브 유닛은 기준 전류를 넘는 전류에서의 곡선의 기울기를 계산하고 듀티 사이클의 또는 출력 전압의 새로운 값을 계산하기 위해 이 기울기를 이용하는 제1 기울기 계산 유닛을 포함할 수 있다.
대안적으로 또는 추가적으로, 제2 서브 유닛은 기준 전류에서의 곡선의 기울기를 계산하고 듀티 사이클의 또는 출력 전압의 새로운 값을 계산하기 위해 이 기울기를 사용하는 제2 기울기 계산 유닛을 포함할 수 있다. 두 경우 모두에서 계산된 기울기 값은 실제 값에 매우 가까울 것이다. 이는 매우 정확하고 신속한 계산을 가능하게 한다.
제2 기울기 계산 유닛은 제1 기울기 계산 유닛과 함께 또는 제1 기울기 계산 유닛 없이 사용될 수 있다.
회로 장치는 최대 전력 또는 전압 또는 전류를 결정하는 유닛을 포함할 수 있다. 최대치를 결정하는 유닛은 회로 장치의 및/또는 전압 변환기의 입력 전압을 결정하는 검출 유닛에 및/또는 회로 장치의 및/또는 전압 변환기의 입력 전류를 결정하는 검출 유닛에 커플링될 수 있다. 양 검출 유닛 모두 아날로그 디지털 변환기일 수 있다. 예컨대 최대 전력을 회로 장치의 입력 전압의 전압 강하(voltage drop)에 기반하여 추정하는 것이 가능하다. 대안적으로, 예컨대 전압 정류로 인한 회로 장치의 비교적 일정한 입력 전압에 대해, 입력 전류가 검출되고 전력을 계산하는 데에 사용될 수 있다.
발명은 또한 광학 소자를 제어하는 방법에 관련되는데, 그 방법은,
- 펄스 폭 변조(Pulse Width Modulation: PWM)에 의해 제어(추가적으로 펄스 주파수 변조(Pulse Frequency Modulation: PFM)이 사용될 수 있음)되는 전압 변환기의 출력 전압을 디지털로 제어함으로써 적어도 하나의 광학 소자를 통해 또는 적어도 하나의 광학 소자를 위한 구동기 회로를 통해 흐르는 전류를 제어하는 단계
를 포함한다.
방법에 있어서 회로 장치에 대해 앞서 언급된 동일한 기술적 효과가 역시 관련된다. 디지털로 제어하는 것은 여기서는, 예컨대 순수한 아날로그 회로와 대조되어, 적어도 하나의 아날로그 디지털 변환기 및/또는 프로세서가 사용됨을 의미한다.
회로 장치의 특성 곡선은 회로 장치의 전체 작동 범위의 적어도 50 퍼센트 또는 적어도 75 퍼센트를 포함하는 범위 내에서 결정될 수 있다. 기술적 효과는 앞서 언급되었다.
전압 변환기를 제어하기 위해 사용되는 펄스 폭 신호의 주파수는 변환기의 출력에서의 부하에 따라 변경될 수 있다. 더 높은 듀티 사이클을 위해 사용되는 주파수에 비해 더 높은 주파수가 더 낮은 듀티 사이클을 위해 사용될 수 있다. 더 낮은 주파수는 전압 변환기의 최대 출력 전력 근처에서 사용될 수 있다. 주파수는 25 퍼센트 내지 75 퍼센트의 범위 내에서, 바람직하게는 계단식 방식으로 감소될 수 있다.
제1 PWM 모드 내에서의 더 높은 주파수에 대해 대안적으로 변환기의 더 낮은 출력 전력을 위해 PFM(Pulse Frequency Modulation)이 사용될 수 있다. PFM은 덜 정확한 제어를 초래하는 더 낮은 주파수로 이어질 수 있다. 그러나, 이는 단정된 상대적 변화에 의해 야기되는 절대적 변화가 그래도 더 작을 것이기에 더 낮은 전력의 범위 내에서 용인할 만하다.
다음 전류 또는 전압 중 적어도 하나, 적어도 둘, 적어도 셋, 적어도 넷 또는 전부가 검출될 수 있다:
- 전압 변환기의 또는 회로 장치의 입력 전압,
- 전압 변환기의 또는 회로 장치의 입력 전류,
- 전압 변환기의 출력 전압,
- 적어도 하나의 광학 소자를 통해 또는 광학 소자의 구동기를 통해 흐르는 전류, 그리고
- 전압 변환기의 출력 전류.
오직 하나의 검출 유닛과 다중화기 또는 여러 검출 유닛이 사용될 수 있다(바람직하게는 아날로그 디지털 변환기(들)).
앞서 언급된 방법들 중 하나를 수행하는 데에 앞서 기술된 회로 장치들 중 하나가 사용될 수 있다. 회로 장치의 유닛에 대응하는 방법 단계가 있을 것이다.
설명 - 제3 양상
키 코드를 송신하는 방법 및 대응하는 키보드
발명의 분야 - 제3 양상
발명은 키 코드를 송신하는 방법 및 대응하는 키보드, 특히 가상 키보드에 관련된다.
발명의 배경 - 제3 양상
그러한 방법들이 예컨대 USB x.0 (Universal Serial Bus) 사양 내에 및/또는 HID (Human Interface Device) 사양에 또는 다른 사양에 명시된다. 그러나, 이 사양들은 모든 관련된 방법 및 파라미터를 명시하지는 않는다. 그러므로 이 사양들의 구현 단계 중에는 추가적인 개발의 여지가 있다.
발명의 개요 - 제3 양상
발명은 키 코드를 송신하는 방법에 관련되는데, 그 방법은:
- 키 코드의 제1 그룹의 송신을 위한 제1 보고 식별자(report identifier)를 포함하는 제1 보고 데이터(report data)를 사용하는 단계,
- 키 코드의 제2 그룹의 송신을 위한 제2 보고 식별자를 포함하는 제2 보고 데이터를 사용하는 단계(제2 보고 식별자는 제1 보고 식별자와 상이한 값을 가짐)
를 포함한다.
발명은 키보드에도 관련되는데, 그 키보드는 보고 서술자(report descriptor)가 저장된 메모리를 포함하고, 보고 서술자는:
- 키 코드의 제1 그룹의 송신을 위한 제1 보고 식별자를 포함하는 제1 보고 데이터,
- 키 코드의 제2 그룹의 송신을 위한 제2 보고 식별자를 포함하는 제2 보고 데이터(제2 보고 식별자는 제1 보고 식별자와 상이한 값을 가짐)
를 정의한다.
나아가, 발명은 키 코드를 송신하는 방법에 관련되는데, 그 방법은:
- 키 코드의 제1 그룹의 송신을 위한 제1 종단점 식별자(endpoint identifier)를 포함하는 제1 종단점 데이터(endpoint data)를 사용하는 단계,
- 키 코드의 제2 그룹의 송신을 위한 제2 종단점 식별자를 포함하는 제2 종단점 데이터를 사용하는 단계(제2 종단점 식별자는 제1 종단점 식별자와 상이한 값을 가짐)
를 포함하고,
- 제1 그룹 내의 키 코드의 개수는 바람직하게는 1 내지 6의 범위 내에 있고,
- 제2 그룹 내의 키 코드의 개수는 7 내지 20 또는 7 내지 500의 범위 내에 있다.
발명은 또한 키보드에 관련되는데, 그 키보드는 제1 종단점 서술자 및 제2 종단점 서술자가 포함된 메모리를 포함하되,
- 제1 종단점 서술자는 키 코드의 제1 그룹의 송신을 위한 제1 종단점 식별자를 정의하고,
- 제2 종단점 서술자는 키 코드의 제2 그룹의 송신을 위한 제2 종단점 식별자를 정의하며(제2 종단점 식별자는 제1 종단점 식별자와 상이한 값을 가짐),
- 제1 그룹 내의 제1 개수의 키 코드의 송신을 제어하고 제2 그룹 내의 제2 개수의 키 코드의 송신을 제어하는 제어 유닛을 더 포함하되,
- 제1 그룹 내의 키 코드의 개수는 바람직하게는 1 내지 6의 범위 내에 있고,
- 제2 그룹 내의 키 코드의 개수는 7 내지 20 또는 7 내지 500의 범위 내에 있다.
일반적인 실시예들의 설명 - 제3 양상
키 코드를 송신하기 위한 간단하지만 효과적인 방법을 제공하는 것이 발명의 목적이다. 나아가, 대응하는 키보드가 제공될 것이다. 특히, 신속한 방법 및/또는 저비용 집적 회로로 수행될 수 있는 방법이 주어질 것이다. 나아가, 방법 및 방법을 구현하는 키보드는 상이한 종류의 BIOS(Basic Input Output System) 및/또는 주된 운영 체제(Operating System: OS)와 함께 작동할 수 있음이 중요할 수 있다.
이 문제 중 적어도 하나는 또는 이 문제 모두는 청구항 77에 따른 방법에 의해 그리고 키 코드를 송신하는 다른 독립적 방법에 의해 그리고 그 독립 청구항들에 따른 키보드에 의해 해결된다. 실시예들이 부수청구항들에서 주어진다.
키 코드를 송신하는 방법은:
- 키 코드의 제1 그룹의 송신을 위한 제1 보고 식별자를 포함하는 제1 보고 데이터를 사용하는 것,
- 키 코드의 제2 그룹의 송신을 위한 제2 보고 식별자를 포함하는 제2 보고 데이터를 사용하는 것(제2 보고 식별자는 제1 보고 식별자와 상이한 값을 가짐)
을 포함할 수 있다.
보고 데이터는 데이터의 세트 내에 포함될 수 있다. 위 세트의 경계는, 예컨대 파서(parser)로의 지시에 의해서, 데이터 패킷의 사전정의된 페이로드(payload) 데이터에 의해서 등, 다양한 방식으로 정의될 수 있다. 보고 식별자는 수(number)일 수 있다. 대안적으로 데이터 세트의 시퀀스(sequence)는 식별자의 기능을 가질 수 있다(즉 제1 데이터 세트는 제1 식별자에 속하고 제2 데이터 세트는 제2 식별자에 속하는 등).
각 데이터 세트는 적어도 하나의 키 코드를 또는 전형적으로는 복수의 키 코드를 포함할 수 있다. 키 코드는 적어도 하나의 운영 체제, 예컨대 맥(Mac) OS, 윈도우즈(Windows), 리눅스(Linux)/유닉스(Unix) 등에 대해 정의될 수 있다.
키 코드의 그룹은 다수의 키 코드를 포함할 수 있다. 상이한 그룹의 사용은, 특히 키 코드를 포함하는 그룹만 송신하는 것 및 그때 키 코드를 포함하지 않는 그룹에 대해서는 어떠한 데이터도 보내지 않거나 오직 짧은 데이터를 보내는 것이 허용되는 경우, 매우 신속한 송신 방법을 초래할 수 있다.
많은 키 코드의 송신은 매크로, 즉 앞서서 기록된 입력 데이터를 사용하는 애플리케이션에 및/또는 게임에 필수적일 수 있다. 다수의 키가 동시에 눌리는 경우 많은 키 코드가 송신되어야 한다. 이는 게이밍에 대해서도 그러하나 다른 애플리케이션에 대해서도 그러하다.
상이한 보고를 사용하는 것의 기술적 효과는 너무 많은 종단점, 예컨대 USB x.0 프레임워크(framework) 내에 정의된 종단점들을 사용하는 것이 필요하지 않을 수 있다는 것이다. 이용가능한 종단점의 개수는 칩(chip) 또는 집적 회로의 설계에 의해 한정될 수 있다. 오직 두 개의 종단점 또는 네 개 미만의 또는 다섯 개 미만의 종단점이 지원될 수 있다. 보고의 개수는 한정되지 않을 수 있다.
미리 각 그룹에 대해, 즉 제1 그룹에 대해, 제2 그룹에 대해 또는 추가적인 그룹에 대해 키 코드의 최대 개수를 정의하는 것이 가능하다. 많은 운영 체제가, 그리고/또는 BIOS(Basic Input Output System)을 부팅(booting)하기 위한 부트 프로토콜이 고려될 수 있다.
BIOS는 컴퓨터의 하드웨어에 매우 밀접하게 관련되고 예컨대 키보드로부터의 단순한 입력 및 스크린으로의 간단한 출력을 가능하게 한다. BIOS는 예컨대 Windows, Mac OS, Linux/Unix와 같은 운영 체제의 시작을 허용하는 방법을 포함할 수 있다. 운영 체제는 대개 BIOS의 방법을, 바람직하게는 인터럽트 벡터를 통해 사용한다.
어떠한 식별자도 없는 단지 단일한 보고가 BIOS의 부팅 중에 사용된다. 그러므로, 오직 하나의 유형의 보고가 부팅 중에 사용될 수 있다.
제1 보고 데이터는 HID 사양을 준수할 수 있고/있거나 제2 보고 데이터는 HID 사양을 준수할 수 있다.
HID 사양의 정식명칭(full name)은: Universal Serial Bus (USB) - Device Class Definition for Human Interface Devices (HID), Firmware Specification 6/27/01, Version 1.11, 또는 더 상위의 것 또는 더 하위의 것, USB Implementers' Forum이다. 대안적으로, 이 사양들 중 하나에 기반한 사양이 사용될 수 있다.
그러나, HID 사양/프로토콜은 USB에 대해서 유효할 뿐만 아니라 많은 다른 프로토콜 또는 사양, 예컨대 블루투스(Bluetooth)에 대해서도 유효하다.
HID 사양은 보고의 정의를 허용한다. 그러나, 그것은 여러 보고가 동일한 입력 디바이스를 위해, 특히 오직 하나의 키보드를 위해 사용될 수 있다고 언명하지 않는다.
제1 보고 데이터의 데이터 구조는 HID 사양을 준수하는 보고 서술자에 따라 정의될 수 있고/있거나 제2 보고 데이터는 HID 사양을 준수하는 보고 서술자에 따라 정의될 수 있다. 또한, 제2 보고 데이터는 제1 보고 데이터를 정의하는 동일한 보고 서술자에서, 예컨대 상이한 섹션(section) 내에, 정의될 수 있다. 그러므로, 동일한 데이터 구조 내에 보고 데이터를 정의하여 용이한 프로그래밍 및 용이한 유지를 가능하게 할 수 있다.
제1 보고 데이터에 대한 보고 서술자는 다음 데이터 필드들 중 적어도 하나 또는 전부를 포함할 수 있다:
- 보고 크기(report size), 즉 각 보고에 대한 데이터의 개수 또는 길이,
- 보고 카운트(report count), 즉 동일한 종류의 보고 데이터의 되풀이의 횟수,
- 보고 식별자, 예컨대 제1 보고를 나타내는 수,
- 입력, 즉 특별한 입력 포맷을 주는 지시,
- 출력, 즉 특별한 출력 포맷을 주는 지시.
이 필드들 모두 HID 사양을 따른다. 필드들의 시퀀스는 역시 앞서 주어진 시퀀스와는 상이할 수 있다. 제1 보고 서술자는 추가적인 데이터 필드를 포함할 수 있다(예컨대 최대 값 및/또는 최소 값과 같은 데이터의 세부사항을 주는 것).
제2 보고 데이터에 대한 보고 서술자는 다음 데이터 필드들 중 적어도 하나 또는 전부를 포함할 수 있다:
- 보고 크기, 즉 각 보고에 대한 데이터의 개수 또는 길이,
- 보고 카운트, 즉 동일한 종류의 보고 데이터의 되풀이의 횟수,
- 보고 식별자, 예컨대 제2 보고를 나타내는 수,
- 입력, 즉 특별한 입력 포맷을 주는 지시,
- 출력, 즉 특별한 출력 포맷을 주는 지시.
또, 이 필드들 모두 HID 사양을 따른다. 필드들의 시퀀스는 역시 앞서 주어진 시퀀스와는 상이할 수 있다. 제2 보고 서술자는 추가적인 데이터 필드를 포함할 수 있다(예컨대 최대 값 및/또는 최소 값과 같은 데이터의 세부사항을 주는 것).
제1 보고 서술자의 그리고 제2 보고 서술자의 모든 데이터 필드는 HID 사양을 따른다. 그러므로 상이한 하드웨어 제조자들의 키보드 및 컴퓨터가 문제 없이 함께 작동할 수 있다.
키 코드는 동일한 입력 디바이스의 키에, 예컨대 오직 하나의 키보드의 키에 대응할 수 있다. 키보드의 한 예가 아래에서 더욱 상세히 기술된다.
대안적으로 또는 추가적으로, 각각의 키 코드는 2개 내지 8개의 범위의 다수의 비트, 전형적으로 8 비트, 즉 1 바이트(byte)를 포함할 수 있다. 그러므로 키보드의 키 코드 및 논리적 스위칭 또는 시그널링 상태 1과 0, 즉 온(on)과 오프(off)를 갖는 버튼 간에 차이가 있다.
입력 디바이스는 키보드일 수 있거나 키보드를 포함할 수 있는데, 키보드는 적어도 100개의 키 스위치를 가진다.
예를 들어 키보드는:
- 글자 a, b, c 등의 입력을 위한 적어도 25개의 키,
- 숫자 0, 1, 2 등의 입력을 위한 적어도 10개의 키(바람직하게는 추가적인 입력 문자, 예컨대 "!", """, "§", "$" 등과 조합됨)
- 적어도 10개의 기능용 키, 즉 기능 F1, 기능 F2 등,
- 수들, 즉 숫자 0, 1, 2 등, 특히 이 수들의 추가적인 그룹을 입력하기 위한 키패드의 적어도 10개의 키, - 어떠한 추가적인 입력 문자도 추가적인 그룹의 키들을 위해 사용되지 않음,
- 예컨대 HID 사양 내에 정의된 바와 같은 수정자 키, 즉 좌측 CTRL, 좌측 SHIFT, 좌측 ALT, 좌측 GUI(Graphic User Interface)(즉 예컨대 마이크로소프트(Microsoft) 좌측 Win 키, 매킨토시(Macintosh) 좌측 Apple 키, 썬(Sun) 좌측 Meta 키 등), 우측 CTRL, 우측 SHIFT, 우측 ALT, 우측 GUI,
- 보조적 키: 캡스 로크, 탭, 스페이스바, 페이지 다운, 페이지 업, 우측 화살표, 좌측 화살표, 상향 화살표, 하향 화살표
중 적어도 하나, 둘, 셋, 넷, 다섯 또는 전부를 포함할 수 있다.
그러나, 다른 또는 추가적인 키 코드가 사용될 수도 있다.
키 코드는 HID 사양에 따라 및/또는 운영 체제 제조자의 "키보드 스캔 코드 사양"(keyboard scan code specification)에 따라 정의될 수 있다.
이 키들을 위한 키 코드 중 전부 또는 적어도 몇몇은: Microsoft, Windows Platform Design Notes - Designing Hardware for the Microsoft Windows Family Operating Systems - Keyboard Scan Code Specification, Revision 1.3a - March 16, 2000 또는 더 상위 또는 더 하위의 것에 대응할 수 있다. 대안적으로, 이 사양들 중 하나에 기반한 사양이 사용될 수 있다. 특히, Appendix C가 관련된다(즉, USB Keyboard/Keyboard Page (0x07)). 컴퓨터 및/또는 운영 체제의 다른 제조자도 동일한 값을 사용하는 대응하는 사양을 가질 수 있다(예컨대 Apple).
키 코드의 예는:
- "a" 또는 "A" = hex 04 (16진수(hexadecimal)), "b" 또는 "B" = hex 05, "c" 또는 "C" = hex 06 등
- "0" = hex 27, "1" = hex 1E, "2" = hex 1F 등,
- 기능 F1 = hex 3A, 기능 F2 = hex 3B 등,
- 키패드: "0" = hex 62, "1" = hex 59, "2" = hex 5A 등,
- 보조적 키: 캡스 로크 = hex 39, 탭 = hex 2B, 스페이스바 = hex 2C 등
이다.
수정자의 예는:
- 좌측 CTRL = hex E0,
- 좌측 SHIFT = hex E1 등
이다. 그러나, USB에 따르면 8개의 비트, 즉 하나의 바이트의 비트맵(bitmap)이 코드 대신에 수정자를 위해 사용되어야 한다.
제1 그룹의 키 코드 및/또는 제2 그룹의 키 코드는 1초 미만의 또는 500밀리초 미만의 시구간 내에 눌려 있던 키에 속할 수 있다.
시구간은 예컨대 1 마이크로초(micro second)보다 클 수 있다. 이 시구간들은 게이밍과 관련될 수 있다(즉 사람 혹은 사용자가 가령 동시에 8개의 손가락으로 8개의 키를 누름, 엄지손가락은 동시에 추가적인 키 또는 추가적인 키들을 누를 수 있음). 나아가, 이 시구간들은 앞서서 기록된 매크로가 행해지는 경우 관련될 수 있다. 시구간 내에 눌린 키들과 이 기간 내에 매크로에 의해 행해지는 키들의 조합을 사용하는 것이 또한 가능하다.
제1 그룹의 키 코드 및/또는 제2 그룹의 키 코드는 1분(minute)보다 더 긴 시구간 동안 메모리 내에 저장될 수 있다. 시구간은 예컨대 10년 미만이거나 1년 미만일 수 있다. 이는 매크로만이 키 코드를 위해 행해지는 경우이다. 그 매크로는 앞서서 기록되거나 프로그램될 수 있다.
마우스 매크로(mouse macro)가 사용될 수도 있다. 그러나, 컴퓨터 마우스의 입력은 상이한 보고를 사용하여 송신될 수 있다. 다른 입력 및 출력 디바이스가 사용될 수도 있다.
제1 및/또는 제2 그룹의 적어도 하나의 키 코드는 매크로 내에 저장되지 않을 수 있다. 제1 및/또는 제2 그룹의 적어도 하나의 키 코드는 매크로 내에 저장될 수 있다. 이는 사용자에 의해 눌린 키와 앞서서 기록되거나 프로그램된 매크로의 조합이 사용될 수 있음을 의미한다. 눌린 키의 키 코드는 제1 그룹 내에만 있을 수 있고 매크로의 키 코드는 제2 그룹 내에만 있을 수 있거나 이와 반대로 그러할 수 있다. 대안적으로, 눌린 키의 그리고 매크로의 키 코드는 제1 그룹 내에 있을 수 있고/있거나 눌린 키의 키 코드와 매크로의 키 코드의 제2 그룹 내에 있을 수 있다.
제1 그룹 내의 키 코드의 개수는 1 내지 6의 범위 내에 있을 수 있다(특히 수정자 없이). 많은 운영 체제가 이 범위들을 다룰 수 있다. 이는 입력 디바이스, 예컨대 키보드가 둘 이상의 운영 체제와 선택적으로 사용될 수 있음을 의미한다.
제2 그룹 내의 키 코드의 개수도 1 내지 6의 범위 내에 있을 수 있다(특히 수정자 없이). 대부분의 운영 체제가 이 범위들을 다룰 수 있다. 두 보고 모두 이 범위들 내의 다수의 키 코드를 포함하는 경우 모든 키 코드를 완전히 송신하는 것이 가능하다. 이는 몇몇 애플리케이션, 예컨대 게이밍에 있어서 중요할 수 있다.
대안적으로, 제2 그룹 내의 키 코드의 개수는 제1 그룹 내의 키 코드의 개수보다 클 수 있다(예컨대 10보다 크거나 20보다 크거나 50보다 큼). 이러한 매우 막대한 보고는 송신 구간 내에서의 다량의 키 코드를 위한 보고의 개수의 감소를 가능하게 한다. 제2 보고 내의 키 코드의 개수는 500보다 작거나 200보다 작거나 100보다 작을 수 있다. 주된 운영 체제가 더 큰 제2 그룹을 다룰 수 없는 경우 적어도 제1 그룹이 사용될 수 있다.
발명은 또한 키보드에 관련되는데, 그 키보드는 보고 서술자가 저장된 메모리를 포함하고, 보고 서술자는:
- 키 코드의 제1 그룹의 송신을 위한 제1 보고 식별자를 포함하는 제1 보고 데이터,
- 키 코드의 제2 그룹의 송신을 위한 제2 보고 식별자를 포함하는 제2 보고 데이터(제2 보고 식별자는 제1 보고 식별자와 상이한 값을 가짐)
를 정의한다.
따라서, 키 코드를 송신하는 방법, 즉 청구항 1에 따른 방법에 대해 언급된 동일한 기술 효과가 유효하다.
키보드는 앞서 주어진 실시예들 중 하나에 따른 방법을 수행하기 위해 사용될 수 있다. 또, 앞서 이 실시예들을 대해 주어지는 동일한 기술적 효과가 키보드에 대해서도 유효하다.
(예컨대 입력 디바이스의) 컴퓨터 드라이버 또는 디바이스 드라이버는 윈도우즈나 앞서 언급된 다른 운영 체제 중 하나를 위해 수정되어야 하는 것은 아니다. 그러나, 발명이 사용될 것이라면 드라이버 소프트웨어의 수정이 필요한 운영 체제가 있을 수 있다.
나아가, 발명은 또한 키 코드를 송신하기 위한 추가적인 방법에 관련된다. 이 방법은:
- 키 코드의 제1 그룹의 송신을 위한 제1 종단점 식별자를 포함하는 제1 종단점 데이터를 사용하는 것,
- 키 코드의 제2 그룹의 송신을 위한 제2 종단점 식별자를 포함하는 제2 종단점 데이터를 사용하는 것(제2 종단점 식별자는 제1 종단점 식별자와 상이한 값을 가짐)
을 포함할 수 있고,
- 제1 그룹 내의 키 코드의 개수는, 특히 수정자 없이, 바람직하게는 1 내지 6의 범위 내에 있을 수 있고,
- 제2 그룹 내의 키 코드의 개수는, 특히 수정자 없이, 7 내지 20 또는 7 내지 500의 범위 내에 있을 수 있다.
그러므로 제1 그룹 내의 키 코드의 개수는 제2 그룹 내의 키 코드의 개수보다 적을 수 있다.
제2 그룹을 위한 범위는, 특히 수정자가 카운트되지(counted) 않는 경우, 7부터 20까지 또는 7부터 500까지일 수 있다.
종단점들은 USB 2.0 또는 더 상위의 것 또는 더 하위의 것에 따라 정의될 수 있다. 대안적으로, 종단점들은 이 사양들 중 하나에 기반하는 표준 또는 사양에 따라 정의될 수 있다.
기술적 효과는 보고 및/또는 종단점의 개수의 감소이다. 주된 운영 체제가 더 많은 보고를 다룰 수 없는 경우 적어도 제1 종단점이 사용될 수 있다.
위 종류의 키 코드 및/또는 위 종류의 키보드에 대해서는 앞서 키 코드를 송신하기 위한 첫 번째 방법의 설명 및 앞서 언급된 바와 같은 대응하는 부수청구항 또는 실시예의 설명을 보시오.
발명은 키보드에 관련되는데, 이는 제1 종단점 서술자 및 제2 종단점 서술자가 포함될 수 있는 메모리를 포함할 수 있되,
- 제1 종단점 서술자는 키 코드의 제1 그룹의 송신을 위한 제1 종단점 식별자를 정의할 수 있고,
- 제2 종단점 서술자는 키 코드의 제2 그룹의 송신을 위한 제2 종단점 식별자를 정의할 수 있으며(제2 종단점 식별자는 제1 종단점 식별자와 상이한 값을 가짐),
- 제1 그룹 내의 제1 개수의 키 코드의 송신을 제어하고 제2 그룹 내의 제2 개수의 키 코드의 송신을 제어하는 제어 유닛을 더 포함하되,
- 제1 그룹 내의 키 코드의 개수는, 특히 수정자 없이, 바람직하게는 1 내지 6의 범위 내에 있고,
- 제2 그룹 내의 키 코드의 개수는 7 내지 20 또는 7 내지 500의 범위 내에 있다.
그러므로 제1 그룹 내의 키 코드의 개수는 제2 그룹 내의 키 코드의 개수보다 적을 수 있다.
제2 그룹을 위한 범위는 수정자가 제2 그룹 내에서 카운트되지 않는 경우 7부터 20까지 또는 7부터 500까지일 수 있다.
양 종단점 서술자 모두 앞서 언급된 바와 같이 USB 사양에 따라 정의될 수 있다.
기술적 효과는 보고 및/또는 종단점의 개수의 감소이다. 주된 운영 체제가 더 많은 보고를 다룰 수 없는 경우 적어도 제1 종단점이 사용될 수 있다.
종류의 키 코드 및/또는 종류의 키보드에 대해서는 앞서 키 코드를 송신하기 위한 첫 번째 방법의 설명 및 앞서 언급된 바와 같은 대응하는 부수청구항 또는 실시예의 설명을 보시오.
본 발명의 그리고 이의 이점의 더욱 완전한 이해를 위해, 첨부된 도면과 함께 이하의 설명이 이제 언급되는데,
도 1은 입력 장치의 매트릭스를 예시하고,
도 2는 세 개의 키 스위치가 내리눌리고 제1 구동 라인이 접지 전위로 설정된 경우에 대한 신호 상태를 예시하며,
도 3은 세 개의 키 스위치가 내리눌리고 제2 구동 라인이 접지로 설정된 경우에 대한 신호 상태를 예시하고,
도 4는 네 개의 키 스위치가 내리눌리고 제1 구동 라인이 접지로 설정된 경우에 대한 신호 상태를 예시하며,
도 5는 네 개의 키 스위치가 내리눌리고 제2 구동 라인이 접지로 설정된 경우에 대한 신호 상태를 예시하고,
도 6은 컴퓨터의 키보드의 컴포넌트를 예시하며,
도 6b는 매트릭스 스캔의 사이클을 수행하는 방법을 예시하고,
도 7은 ADC 출력의 범위를 눌린 키 스위치의 개수로 맵핑(mapping)하는 것을 예시하며,
도 7b는 도 7에 비해 더욱 실제적인 예에 따라 ADC 출력의 범위를 눌린 키 스위치의 개수로 맵핑하는 것을 예시하고,
도 8은 제어 디바이스에 의해 처리된 바와 같은 신호 및 디바운싱 신호를 예시한다.
도 9는 광학 소자, 특히 LED의 스트링들을 통해 흐르는 전류를 제어하는 회로 장치를 예시하고,
도 10은 LED의 두 개의 전압/전류 특성을 예시하며,
도 11은 LED의 또는 LED의 한 스트링의 또는 LED 스트링의 번들의 특성 곡선을 결정하는 단계를 예시하고,
도 12는 회로 장치의 듀티 사이클 대 전압 특성 곡선을 예시하며,
도 13은 회로 장치의 추가적인 컴포넌트를 예시하고,
도 14는 LED의 또는 LED 스트링의 또는 LED 스트링들의 또는 LED 스트링들의 번들의 전압 대 밝기의 특성 곡선을 예시하며,
도 15는 예컨대 LED 스트링을 통해 흐르는 전류와 듀티 사이클의 값들의 검출된 쌍들을 예시하고,
도 16은 P_MAX로부터 먼 제1 동작점을 검출하는 데에 사용되는 뉴턴 반복을 예시하며,
도 17은 P_MAX로부터 먼 제1 동작점의 검출을 위한 방법 단계를 예시하고,
도 18은 키보드의 동작 중 중간 밝기(medium brightness)의 제어를 예시하며,
도 19는 키보드의 동작 중 중간 밝기의 제어를 위한 방법 단계를 예시하고,
도 20은 P_MAX 근처에서의 특성 곡선의 결정을 예시하며,
도 21은 P_MAX 근처에서의 특성 곡선의 결정을 위한 방법 단계를 예시하고,
도 22는 제2 실시예에 따라 P_MAX 근처에서의 특성 곡선의 결정을 예시하며,
도 23은 키보드의 동작 중 P_MAX 근처에서의 밝기의 제어를 예시하고,
도 24는 키보드의 동작 중 P_MAX 근처에서의 밝기를 제어하는 방법 단계를 예시하며,
도 25는 P_MAX의 결정을 위한 방법 단계를 예시한다.
도 26은 USB 케이블을 통해 컴퓨터에 연결된 키보드를 예시하고,
도 27은 USB 사양에 따라 디바이스 서술자(device descriptor)를 예시하며,
도 28은 USB 사양에 따라 구성 서술자(configuration descriptor)를 예시하고,
도 29는 USB 사양에 따라 인터페이스 서술자(interface descriptor)를 예시하며,
도 30은 USB 사양에 따라 HID 서술자(HID descriptor)를 예시하고,
도 31은 USB 사양에 따라 종단점 서술자(endpoint descriptor)를 예시하며,
도 32는 보고 서술자(report descriptor)를 예시하고,
도 33은 컴퓨터 및 키보드 간 데이터 교환을 예시하며,
도 34는 컴퓨터의 시작 중의 방법 단계를 예시하고,
도 35는 제2 실시예에 따라 USB 케이블을 통해 컴퓨터에 연결된 키보드를 예시한다.
상세한 설명 - 양상 A
금번 바람직한 실시예들의 형성과 사용이 아래에서 상세히 논의된다. 그러나, 본 발명은 매우 다양한 특정 콘텍스트에서 구현화될 수 있는 많은 적용가능한 발명적 개념을 제공한다는 점이 인식되어야 한다. 논의되는 특정 실시예는 발명을 형성하고 사용하는 특정 방식의 예시가 될 뿐이고, 발명의 범주를 한정하지 않는다. 또한, 동일한 참조 기호는 달리 언급되지 않으면 동일한 기술적 특징을 나타낸다. 이 출원에서 "할 수 있다"가 사용되는 한 그것은 실제 기술적 구현뿐만 아니라 그렇게 행할 가능성을 의미한다.
도 1은 입력 장치(10)의, 예컨대 키보드의 매트릭스를 예시한다. 입력 장치(10)는 매트릭스(M)의 행을 형성하는 도전성 라인(L1, L2) 및 열을 형성하는 도전성 라인(Ca, Cb)의 매트릭스(M)를 포함한다. 도전성 라인(L1, L2)은 구동 라인이고 도전성 라인(Ca, Cb)은 감지 라인이다. 도 1에 오직 두 개의 행 및 두 개의 열이 도시되나, 대개 각 방향에는 두 개의 행 및/또는 두 개의 열보다 많이 있다.
그 예에서 도전성 라인(L1, L3 및 Ca, Cb)의 교차점에 네 개의 직렬 연결(SC1 내지 SC4)이 있다. 제1 직렬 연결(SC1)은 키 스위치(S1a) 및 저항기(R1a)로 구성된다. 제2 직렬 연결(SC2)은 키 스위치(S2a) 및 저항기(R2a)로 구성된다. 제3 직렬 연결(SC3)은 키 스위치(S1b) 및 저항기(R1b)를 포함한다. 제4 직렬 연결(SC4)은 키 스위치(S2b) 및 저항기(R2b)를 포함한다. 추가적인 직렬 연결이 매트릭스(M)의 다른 교차점에 있으나 도 1에 도시되지 않는다. 직렬 연결의 다른 예는 도전성 라인(Ca 및 Cb)에 직접적으로 커플링된 저항기를 갖는 직렬 연결 또는 각각 두 개의 저항기(예컨대 그 저항기들 중 하나는 구동 라인, 즉 L1, L2에 직접적으로 커플링되고 그 저항기들 중 하나는 감지 라인, 즉 Ca, Cb에 직접적으로 커플링됨)를 갖는 직렬 연결이다.
대안적으로, 예컨대 반도체 스위치, 가령 MOSFET(Metal Oxide Semiconductor Field Effect Transistor) 트랜지스터(4.5 킬로 옴 또는 5 킬로 옴을 넘는 활성화된 상태에서의 저항도(Ron)를 가짐)를 사용하는 것이 가능하다. 트랜지스터의 저항도는 비활성화된(deactivated) 상태(즉 어떠한 입력도 행해지지 않음)에서 훨씬 더 크다. 입력 요소 또는 키 스위치의 이동가능한 부분 내에 저항기(R1a 등)를 포함하는 푸시 버튼을 사용하는 것이 또한 가능하다. 이 경우, 어떠한 별도의 저항기도 직렬 연결(SC1) 내에서 또는 다른 직렬 연결 내에서 사용되지 않을 수 있다. 이동가능한 저항기는 매트릭스 배열(Ma)의 캐리어 기판 상의 도전성 라인(L1, L2, Ca, Cb)에 맞서 눌릴 수 있다.
입력 장치(10)는 또한 아날로그 디지털 변환기(ADC)를 포함한다. 아날로그 디지털 변환기(ADC)의 두 개의 입력 단자(E1, E2)가 도 1에 도시된다. 아날로그 디지털 변환기(ADC)는 두 개보다 많은 입력 단자, 예컨대 여덟 개의 입력 단자를 가질 수 있다. 복수의 감지 라인을 오직 하나의 아날로그 디지털 변환기(ADC)에 맵핑하기 위해 아날로그 디지털 변환기(ADC)에서 내부적으로 다중화기가 사용될 수 있다. 대안적으로, 아날로그 디지털 변환기(ADC)는 감지 라인을 형성하는 각각의 도전성 라인(Ca, Cb) 및/또는 선택적인 캘리브레이션 라인(Ccc)에서 사용될 수 있다. 아날로그 디지털 변환기(ADC)와 조합하여 외부 다중화기를 사용하는 것이 또한 가능하다.
나아가, 아날로그 디지털 변환기(ADC)에 연결되지 않은 도전성 라인(Ca)의 종단에서 도전성 라인(Ca)과의 직렬 연결로 된 저항기(Ra)가 있다. 저항기(Rb)가 동일한 방식으로 도전성 라인(Cb)에 연결된다.
모든 저항기(R1a 내지 R2b는 물론 Ra와 Rb)는 옴 저항(Ohmic resistance)의 동일한 공칭 값을 가진다. 정의되지 않은 전위는 저항기들(Ra, Rb)을 사용함으로써 방지될 수 있다. 저항기들은 개별 소자/디바이스일 수 있거나, 예컨대 터치 스크린 내에 통합될(integrated) 수 있다. 저항기들은 또한 저항성 소자에 의해, 특히 스위칭 기능을 만족시키지 않는 트랜지스터에 의해 대체될 수 있다. 저항기들은 카본 프린팅에 의해 제조될 수 있다.
입력 장치(Ma)는 매트릭스 배열(Ma)의 열들의 방향으로 이어지는 캘리브레이션 라인(Ccc)을 선택적으로 포함할 수 있다. 캘리브레이션 라인(Ccc)을 양의 동작 전위와 연결하기 위해 풀 업 저항기(Rcc)가 사용될 수 있다. 캘리브레이션 라인(Ccc)의 다른 종단 또는 캘리브레이션 라인(Ccc)의 다른 위치는 검출 회로와, 예컨대 아날로그 디지털 변환기(ADC)의 또는 다중화기(입력(Ec)을 ADC의 입력으로 연결할 수 있음)의 입력(Ec)과 연결될 수 있다.
제1 기준 저항기(R1cc)가 그것의 단자들 중 하나로써 캘리브레이션 라인(Ccc)에 연결되고 그것의 제2 단자로써 제1 구동 라인(L1)에 연결된다. 상응하여, 제2 기준 저항기(R2cc)가 그것의 단자들 중 하나로써 캘리브레이션 라인(Ccc)에 연결되고 그것의 제2 단자로써 제2 구동 라인(L2)에 연결된다. 대개, 두 개의 구동 라인 및 두 개의 스캔 라인보다 훨씬 더 많이 있다. 기준 저항기(R1cc, R2cc 등)의 개수는, 두 개의 구동 라인(L1, L2)보다 많은 구동 라인이 있는 경우에도, 구동 라인(L1, L2 등)의 개수에 대응한다.
캘리브레이션 라인(Ccc)의 풀 업 저항기(Rcc)는 저항기(R1a 내지 R2b) 및/또는 다른 풀 업 저항기(Ra, Rb)처럼 옴 저항의 값 또는 동일한 공칭 값을 가질 수 있다. 캘리브레이션 라인(Ccc)의 저항기(R1cc, R2cc 등)은 저항기(R1a 내지 R2b) 및/또는 다른 풀 업 저항기(Ra, Rb)처럼 옴 저항의 값 또는 동일한 공칭 값을 가질 수 있다.
스위치(S1a 내지 S1b)는 도 1에 도시된 바와 같이 배열될 수 있다. 그러나, 연결 방안을 유지하지만 스위치(S1a 내지 S1b)를 다른 포지션에 위치시켜 가령 자리를 바꾸는 것이 가능하다.
도 1은 접지/소스 전위에 대해 하드 구동 레벨을 출력할 수 있는 두 개의 구동 회로(2, 4)를 도시한다. 구동 회로(2)의 출력은 구동 라인(L1)에 직접적으로 또는 직렬 저항(6)을 사용하여 연결된다. 구동 회로(4)의 출력은 구동 라인(L2)에 직접적으로 또는 직렬 저항(8)을 사용하여 연결된다. 어떠한 풀 업 저항기 또는 풀 다운 저항기도 구동 라인(L1, L2 등) 상에서 사용되지 않을 수 있다. 구동 라인(L1, L2 등) 상에서의 신호의 전자기 방출(electro magnetic emission)를 감소시키기 위해, 선택적인 저항기(6 및 8)는 200 옴보다 작거나 100 옴보다 훨씬 더 작은 저항 값을 가질 수 있다.
구동 회로(2, 4 등)의 입력은 매트릭스 배열(Ma)의 스캐닝 방안에 따라 제어 디바이스에 의해 설정될 수 있다. 이는 도 6b에 관해서 아래에서 더욱 상세히 설명될 것이다.
도 2는 세 개의 키 스위치(S1a, S1b 및 S2b)가 동시에 내리눌리고 제1 구동 라인(L1)이 접지로 설정된 경우에 대한 신호 상태를 예시한다. 제2 구동 라인(L2) 및 모든 다른 구동 라인은 Vcc로, 예컨대 3.3 볼트 또는 5 볼트로 설정된다.
도 2 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자(free terminal)는 전위 Vcc로 설정됨,
- 제1 직렬 연결(SC1)(S1a, R1a)는 접지에 있음.
제2 직렬 연결(SC2)의 스위치(S2a)는 개방이다(즉, 라인(Ca) 상의 전위 또는 전류에 대한 이 직렬 연결(SC2)의 기여는 없음). 결과적으로, 제2 직렬 연결(SC2)은 도 2에서 도시되지 않는다.
이 신호 상태들은 입력(E1) 상의 1/2 Vcc의 전위를 초래한다. 1/2 Vcc의 전위는 열에서 오직 하나의 스위치가 눌린 경우에만 가능할 뿐이다. 나아가, 1/2 Vcc의 전위는 눌리거나 활성화된 스위치를 나타낸다.
도 2 우측에서 볼 수 있듯이, 라인(Cb)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제4 직렬 연결(SC4)(S2b, R2b)은 Vcc에 있음,
- 제3 직렬 연결(SC3)(S1b, R1b)은 접지 전위에 있음.
이는 입력(E2)에서의 2/3 Vcc의 입력 전압을 초래한다. 이는 많은 선행 키보드와 대조적으로 스위치(S1b)의 어떠한 고스트 키잉도 없음을 의미한다. 라인(Cb) 상의 전위는 접지 또는 Vcc 전위의 디커플링 효과로 인해 라인(Ca) 상의 전위에 영향을 끼치지 않는다. 구동 라인들이 높은 옴의 저항기(R1a, Ra 등)에 비해 낮은 옴의 값과 함께 고정된 전위에 커플링되기 때문에 구동 라인들을 통한 어떠한 커플링도 없다. 이 저항기들(R1a, Ra 등)은 또한 단락 회로를 방지한다.
도 3은 세 개의 키 스위치(S1a, S1b 및 S2b)가 내리눌리고 제2 구동 라인(L2)이 접지로 설정된 경우에 대한 신호 상태를 예시한다. 제1 구동 라인(L1) 및 모든 다른 구동 라인(제2 구동 라인(L2)은 제외)은 Vcc로 설정된다.
도 3 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 Vcc로 설정됨,
- 제1 직렬 연결(SC1)(S1a, R1a)도 Vcc에 있음.
제2 직렬 연결(SC2)의 스위치(S2a)는 개방이다(즉, 라인(Ca) 상의 전위 또는 전류에 대한 이 직렬 연결(SC2)의 기여는 없음). 결과적으로, 제2 직렬 연결(SC2)은 도 3에서 도시되지 않는다.
이 신호 상태들은 라인(Ca) 상의 Vcc의 전위를 초래한다.
도 3 우측에서 볼 수 있듯이, 라인(Cb)에 대한 다음의 관련된 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제3 직렬 연결(SC3)(S1b, R1b)은 Vcc에 있음, 그리고
- 제4 직렬 연결(SC4)(S2b, R2b)은 접지 전위에 있음.
이 신호 상태는 라인(Cb) 상에서의 2/3 Vcc의 전위를 초래한다. 그러므로, 도 2 우측과 비교하여 신호의 어떠한 변화도 없다. 고스트 키잉은 역시 문제가 안 된다.
도 4는 네 개의 키 스위치(S1a, S1b, S2a 및 S2b)가 내리눌리고 제1 구동 라인(L1)이 접지 또는 0 볼트로 설정된 경우에 대한 신호 상태를 예시한다. 제2 구동 라인(L2) 및 모든 다른 구동 라인은 예컨대 3.3 볼트 또는 5 볼트의 Vcc로 설정된다.
도 4 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 Vcc로 설정됨,
- 이번에는 제2 직렬 연결(SC2)의 스위치(S2a)도 닫힘,
- 제1 직렬 연결(SC1)(S1a, R1a)은 역시 접지에 있음.
이 신호 상태들은 라인(Ca) 상의 2/3 Vcc의 전위를 초래한다. 전류의 값이 2/3 Vcc임은 두 개의 스위치가 눌림(즉 여기서는 모든 스위치)을 나타낸다.
도 4 우측에서 볼 수 있듯이, 라인(Cb)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제4 직렬 연결(SC4)(S2b, R2b)는 Vcc에 있음,
- 제3 직렬 연결(SC3)(S1b, R1b)는 접지 전위에 있음.
이는 입력(E2) 상에서의 2/3 Vcc의 전위를 초래한다.
도 5는 네 개의 키 스위치(S1a, S1b, S2a 및 S2b)가 내리눌리고 제2 구동 라인(L2)이 접지 전위로 설정된 경우에 대한 신호 상태를 예시한다. 제1 구동 라인(L1) 및 모든 다른 구동 라인(제2 구동 라인(L2)은 제외)은 Vcc로 설정된다.
도 5 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 Vcc로 설정됨,
- 제1 직렬 연결(SC1)(S1a, R1a)은 역시 Vcc에 있음, 그리고
- 제2 직렬 연결(SC2)의 스위치(S2a)는 닫힘(즉 제2 직렬 연결(SC2)은 접지로 설정됨).
이 신호 상태들은 라인(Cb) 상의 2/3 Vcc의 전위를 초래한다. 어떠한 키 스위치도 눌리지 않거나 모든 키 스위치가 눌렸음을 매트릭스(M)의 열 내의 전위의 어떠한 변화도 나타내지 않는다. 전류의 양은 또한 이 두 경우 중 어느 것이 유효한지 나타낸다(Vcc에 대해 신호 차이가 있기 때문에 여기서는 두 번째 경우임).
도 5 우측에서 볼 수 있듯이, 라인(Cb)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제3 직렬 연결(SC3)(S1b, R1b)은 Vcc 전위에 있음, 그리고
- 제4 직렬 연결(SC4)(S2b, R2b)은 접지 전위에 있음.
이 신호 상태들은 라인(Ca) 상에서의 2/3 Vcc의 전위를 초래한다. 구동 라인(L1 및 L2)에서의 전위는 변화되었으나 감지 라인(Ca)에서의 전위는 동일하게 남아 있다. 어떠한 키 스위치도 눌리지 않거나 모든 키 스위치가 눌렸음을 매트릭스(M)의 열 내의 전위의 어떠한 변화도 나타내지 않는다. 고스트 키잉은 역시 문제가 안 된다. 나아가 눌리거나 활성화된 키 스위치의 검출을 위해 오직 정적 상태가 사용된다.
다음의 테이블은 3 곱하기 3 매트릭스(3 by 3 matrix)가 사용되는 경우 관련된 전류를 도시한다. 테이블의 각 행은 저전압을 갖는 구동 라인에 대응한다. 테이블의 열은 매트릭스(M)의 열 내에서, 즉 하나의 감지 라인(Ca, Cb) 상에서 눌린 키 스위치의 개수를 나타낸다:
키 스위치 눌림: 0 1 2 3
접지 상의 제1 구동 라인: 1 Vcc 1/2 Vcc 2/3 Vcc 3/4 Vcc
접지 상의 제2 구동 라인: 1 Vcc 1 Vcc 2/3 Vcc 3/4 Vcc
접지 상의 제3 구동 라인: 1 Vcc 1 Vcc 1 Vcc 3/4 Vcc
이하에서, n은 각 감지 라인 상의 스위치의 개수를 준다(즉, 도 2 내지 도 5에 도시된 예에 대해 n은 2와 같고 3 곱하기 3 매트릭스에 대해 n은 3과 같음)고 가정된다.
눌린 키의 개수를 나타내고 어느 키가 눌렸는지 나타내는 다음의 일반적인 규칙이 있다(즉 스트로빙 또는 스캐닝의 하나의 시퀀스에 대해):
1) 구동 라인 전위의 모든 조합에 대해 전압의 어떠한 변화도 없음:
a) Vcc의 전위는 어떠한 키 스위치도 눌리지 않음을 나타냄.
b) n/(n+1)의 전위는 모든 키 스위치가 눌림을 나타냄.
2) 구동 라인 전위의 상이한 조합에 대해 전압의 변화가 있음(즉 스트로빙 또는 스캐닝의 하나의 시퀀스 내에서):
a) 눌린 키의 개수는 열 내의 가장 낮은 값들 중의 값들로부터 결정될 수 있음. 눌린 키 스위치의 개수는 분수의 분자에 직접적으로 대응함(분모는 매트릭스의 하나의 열 내의 키의 개수에 의해 주어지는데, 위에서 주어진 테이블을 보시오).
b) 대응하는 라인의 감지 중에 감지 라인의 전위가 매트릭스의 열 내의 전위의 최대보다 낮은 값(즉 예컨대 Vcc 미만임)을 갖는 경우 키 스위치가 눌림. 최대치의 개수는 그 열에서 눌리지 않은 키의 개수에 의존한다는 점에 유의함.
다른 일반적인 규칙이 사용될 수도 있다.
대안적으로, 아날로그 디지털 변환기(ADC)의 데이터를 처리하고 아날로그 디지털 변환기(ADC)를 제어하기 위해 다른 컴포넌트가 사용될 수 있다.
대안적으로, 구동 라인 상에서 다른 신호 조합이 사용될 수 있다(예컨대 이분법(bisection) 방법). 예컨대 네 개보다 많은 또는 열 개보다 많은 구동 라인이 있는 경우 사용되는 조합의 개수를 구동 라인의 개수 아래로 감소시키는 방법이 사용될 수 있다(즉 더 신속한 검출이 가능해짐). 이 방법들은 예컨대 조합에서, 특히 12개의 동전 문제(twelve coin problem)에서 알려졌다(즉 초기에 구동 라인 중 절반은 높은 레벨로 설정되고 구동 라인 중 절반은 낮은 레벨로 설정됨). 감지된 신호에 따라 추가적인 변화가 이루어진다. 이는 또한 고스트 키잉의 방지 및 하나의 열에서 눌린 다수의 키의 검출을 가능하게 한다.
바람직한 실시예에서는 매트릭스 배열(Ma)의 하나의 열 내에서 얼마나 많은 키가 눌리거나 활성화되었는지 결정하는 것이 특히 제1 검출 단계 내에서는 필요하지 않다. 현재 활성인 구동 라인에서의 키가 눌렸는지/활성인지 아닌지를 아는 것으로 충분할 수 있다. 눌린 키가 검출되는 경우 이 키의 키 코드는 추가적인 처리를 위해, 가령 키보드로부터 컴퓨터로 USB(Universal Serial Bus) 연결을 통해 또는 다른 연결을 통해 보내는 것을 위해 메모리 내에 저장될 수 있다.
하나의 실시예에서 오직 하나의 임계 값(SW)이 사용되는데, 도 7 및 도 7b를 보시오(즉 매트릭스 배열(Ma)의 하나의 열 내에서 활성화된 적어도 둘, 셋 또는 넷의 상이한 개수의 키와 무관하거나 키의 개수와 무관한 임계 값(SW)). 다른 실시예에서 임계 값(SW)이 사용되고, 특히 매트릭스의 스캐닝을 더 빠르게 하기 위해, 매트릭스 배열(Ma)의 하나의 열 내의 활성화된 키의 특수한 개수를 나타내는 추가적인 임계 값 또는 임계 범위, 예컨대 TR1 내지 TR11(도 7 및 도 7b를 보시오)가 사용된다.
도 6은 컴퓨터의 키보드의 컴포넌트를 예시한다. 그 키보드는:
- 입력 장치(10),
- 마이크로제어기(26), 그리고
- 인터페이스(36)
를 포함한다.
도 6은 매트릭스(M) 내의 추가적인 도전성 라인(20)(감지 라인)(예컨대 11개의 라인), 그리고 추가적인 도전성 라인(22)(구동 라인)(예컨대 10개의 라인)을 도시한다.
입력 장치(10)의 아날로그 디지털 변환기(ADC)는 데이터 라인 및 제어 라인을 포함하는 신호 버스(30)에 의해 마이크로제어기(26)에 커플링된다.
마이크로제어기(26)는:
- 메모리(Mem), 예컨대 RAM(Random Access Memory), ROM(Read Only Memory), PROM(Programmable ROM) 또는 EEPROM(Electrical Erasable PROM) 또는 다른 종류의 메모리,
- 메모리(Mem) 내에 저장된 명령어를 수행하는 프로세서(P),
- 매트릭스(M)의 구동 라인에, 즉 라인(L1, L2 등)에 커플링된 구동 회로(24),
- 구동 회로(24) 및 프로세서(P) 간의 신호 버스(32), 그리고
- 프로세서(P) 및 메모리(Mem) 간의 신호 버스(34)
를 포함한다.
대안적으로, 아날로그 디지털 변환기(ADC)가 또한 마이크로제어기(26)의 일부일 수 있다.
신호 버스(30)는 프로세서(P)에 직접적으로 연결될 수 있다. 대안적으로, 마이크로제어기(26)의 인터페이스 회로가 사용되는데, 도시되지는 않았다. 신호 버스(36)는 마이크로제어기(26)에 커플링된다. 신호 버스(36)는 컴퓨터의 중앙 부분으로의 인터페이스이다. 신호 버스(36) 상에서의 프로토콜은 예컨대 PS/2 또는 USB이다.
도 6b는 매트릭스 배열(Ma)(도 1을 보시오)의 매트릭스 스캔의 사이클을 수행하는 방법을 예시한다. 그 방법은 방법 단계(Sx0)에서 시작한다. 방법 단계는 이하에서 단순히 단계로 명명된다.
단계(Sx2)는 단계(Sx0) 후에 뒤따른다. 단계(Sx2)에서 구동 라인들(L1, L2 등) 중 하나가 활성화되는데 예컨대 제1 구동 라인(L1)부터 시작한다. 활성화는 접지/소스 전위가 해당 구동 라인 상에서 사용됨을 의미한다. 다른 구동 라인, 즉 비활성화된 구동 라인은 양의 동작 전위로 설정된다.
단계(Sx2) 후에 단계(Sx4)가 뒤따르는데 여기서는 캘리브레이션 라인(Ccc)이 판독된다. 캘리브레이션 라인(Ccc)은 한 열의 모든 키가 눌린 경우를 시뮬레이션한다. 캘리브레이션 라인(Ccc)을 감지함으로써 캘리브레이션 값(VC)을 얻기 위해 정확히 하나의 구동 라인을 낮은 레벨 또는 낮은 전위로 설정하는 것이 필요하다.
캘리브레이션 라인의 감지된 값은 도 7 및 도 7b에 관해 아래에서 더욱 상세히 설명될 캘리브레이션 값(CV)이다. 캘리브레이션 값(CV)은 임계 값(SW)으로서 직접 사용되거나 도 7 및 도 7b에 관해 더욱 상세히 설명되는 바와 같이 임계 값(SW)을 계산하기 위해 사용된다. 임계 값(SW)은 매트릭스 배열(Ma)의 열 내의 눌린 키의 개수와 무관하다(즉 그것은 키가 눌렸는지 여부를 검출하기 위해 사용될 수 있다). 대안적으로 매트릭스 배열의 한 열 내의 눌린 키의 적어도 두 개의 상이한 개수, 적어도 세 개의 상이한 개수 등과 무관한 임계 값(SW)을 사용하는 것이 가능하다. 예를 들어, 각 열에 대해 최대 네 개의 활성 키가 허용되는 경우 최대 네 개보다 많지 않은 키가 활성화된 이상(즉 네 개의 키 중 하나의 키, 두 개의 키, 세 개의 키) 키의 개수와 무관한 훨씬 더 작은 임계 값(SW)을 사용하는 것이 가능하다.
현재의 구동 라인의 활성화 중에 현재의 감지 라인이 단계(Sx6)에서 판독되는데, 예컨대 제1 감지 라인(Ca)부터 시작한다. 감지된 값은 임계 값(SW)과 비교된다. 현재의 감지된 값이 임계 값보다 작은 경우 현재 감지된 감지 라인(Ca, Cb 등) 및 현재의 활성화된 구동 라인(L1, L2 등)의 접합부(section)에 위치된 키는 눌리거나 활성화된 것이다. 검출된 활성 키의 키 코드는 추가적인 처리를 위해 디지털 메모리 내에 저장된다.
다음 단계(Sx8)에서 현재 활성인 구동 라인, 예컨대 L1에 대해 아직 감지되지 않은 추가적인 감지 라인이 있는지 확인된다. 만약 그렇다면 위 방법은 감지 라인에 대한 제1 카운터(counter)를 증가시키거나 감소시키고 다시 단계(Sx6)으로 간다. 이는 현재 활성인 구동 라인에 대해 모든 스캔 라인이 감지됨을 의미한다. 단계(Sx6 및 Sx8)로 구성된 루프(loop)는 모든 감지 라인이 스캔(즉 현재 활성인 구동 라인에서의 모든 활성 키가 검출)되어야만 단계(Sx8)에서 벗어나게 된다.
모든 감지 라인(Ca, Cb)이 스캔된 경우(즉 감지 라인(Ca, Cb) 서브사이클이 행해짐) 단계(Sx10)는 단계(Sx8) 직후에 뒤따른다. 단계(Sx10)에서 매트릭스 배열의 현재의 스캔 사이클 내에서 활성화되지 않은 추가적인 구동 라인이 있는지 확인된다. 남은 구동 라인이 있는 경우, 활성화(즉 접지로 설정)되어야 하는 현재 구동 라인을 나타내기 위해 제2 카운터가 증가되거나 감소된다. 다른 구동 라인, 즉 비활성화된 구동 라인은 양의 동작 전위로 설정된다. 위 방법은 이후에 단계(Sx2)에서 계속된다. 이는 모든 구동 라인이 활성화되었을 때까지 그리고 모든 키(S1a 내지 S2b 등)가 스캔되었고 활성화된 키의 키 코드가 디지털 메모리 내에 저장되었을 때까지 앞서 설명된 바와 동일한 단계가 제2 구동 라인(L2), 제3 구동 라인 등에 대해 되풀이됨을 의미한다. 위 방법은 단계(Sx2 내지 Sx10)의 루프 내에 있다.
캘리브레이션 라인(Ccc)은 각 구동 라인(L1, L2 등)에 대해 감지된다. 이는 라인 구동기(2, 4)의 내부 저항 값으로부터 기인하는 편차도 고려하는 것을 가능하게 한다. 나아가, 키보드의 동작을 간섭할 수 있는 (예컨대 키보드 외부로부터의) 전자기 방사(electro magnetic radiation) 및/또는 공차를 참작하기 위해 캘리브레이션 라인(Ccc)에서 검출된 값의 평균 값을 계산하는 것이 가능하다.
하드웨어 오프셋 값을 갖기 위해 풀 업 저항기(Rcc)의 값을 감소시키는 것이 또한 가능하다(소프트웨어 오프셋에 관해 도 7 및 도 7b를 보시오).
캘리브레이션 라인 및 감지 라인을 판독하는 순서는 반대일 수도 있다(즉 각 구동 라인 사이클 동안 우선 감지 라인의 스캐닝 및 이후 캘리브레이션 라인의 스캐닝). 이 경우, 감지된 값은 캘리브레이션 값이 판독되고 비교가 가능하게 될 때까지 저장될 수 있다.
어떠한 추가적인 구동 라인도 없는 경우 단계(Sx2 내지 Sx10)의 루프는 벗어나게 된다. 매트릭스 배열(Ma)의 스캐닝의 하나의 사이클이 다 된 것이다.
매트릭스 배열(Ma)의 스캐닝은 주어진 시간 간격(예컨대 5 밀리초보다 작음) 내에 되풀이될 수 있다.
하나하나의 구동 라인마다 캘리브레이션하는 것이 필수적인 것은 아닐 수 있다. 다른 실시예에서 단계(Sx2)는 완전한 매트릭스 배열(Ma)의 하나의 스캔 내에서 오직 한번 수행된다.
선택적으로, 다음 중 하나에 의해 매트릭스의 스캐닝을 더욱 신속하게 하는 것이 가능하다:
- a) 검출된 값에 기반하여 또한 활성 입력 요소의 개수를 나타내는 임계 값 또는 범위에 기반하여 이 감지 라인에서 제1 활성 입력 요소가 검출되면 곧 얼마나 많은 입력 요소가 감지된 감지 라인 상에서 눌리고 있는지 결정되되,
활성 입력 요소의 결정된 개수와 동일한 개수의 활성 입력 요소가 검출되면 곧 어떠한 추가적인 전기 신호도 이 감지 라인(Ca, Cb)에서 검출되지 않음,
- b) 모든 구동 라인(L1, L2)이 제2 전위로 구동되고 활성화된 입력 요소를 갖지 않는 감지 라인(Ca, Cb)이 결정되되,
결정된 감지 라인들(Ca, Cb)은 현재의 스캔 사이클 내에서 매트릭스 배열의 스캔 중에 더 이상 고려되지 않음,
- c) 구동 라인들(L1, L2 등)을 구동하는 순서는 대응하는 구동 라인에 연결된 입력 요소를 활성화할 확률에 의존함,
- d) 구동 라인들(L1, L2 등)을 구동하기 위해 이분법이 사용됨.
도 7은 아날로그 디지털 변환기(ADC)의 출력 값의 범위를 눌린 키 스위치의 개수로 맵핑하는 것을 예시한다. 매트릭스(M)의 하나의 열 내에 열한 개의 키 스위치가 있다고 가정된다. 따라서, 열한 개의 범위(TR1 내지 TR11)(이 순서로 1/12 내지 11/12 VCC의 전위 값에 대응함)가 있다. TR12는 어떠한 키도 눌리지 않은 경우 관련된다.
범위(TR1 내지 TR11)의 길이는 일정할 수 있고 매트릭스(M)의 각 열 내에 열한 개의 키 스위치가 있는 경우 최대 출력 값의 2 내지 4 퍼센트의 범위 내에 있을 수 있다.
눌린 스위치의 개수를 결정하기 위해 또는 어느 스위치가 눌렸는지 또는 어느 스위치가 한 열 내에서 눌렸는지 결정하기 위해 사용되지 않는 인접한 범위들(TR1 내지 TR12) 사이의 출력 값이 있다. 두 개의 인접한 범위 사이의 "거리"(Di)는 또한 예컨대 아날로그 디지털 변환기(ADC)의 최대 출력 값의 2 내지 4 퍼센트의 범위 내에 있다. 바람직하게는, 사용되지 않는 범위는 분류(classification)를 위해 사용되는 범위와 동일한 길이를 가진다. 이는 반올림(rounding), 양자화(quantization) 및 정수를 내놓도록 나뉠 수 없는 값들로 인해 항상 가능한 것은 아니다.
캘리브레이션 값(CV)은 예컨대 캘리브레이션 라인(Ccc)을 사용함으로써 검출되되 매트릭스 배열(Ma)의 하나의 열 내의 모든 키 스위치가 눌린 경우(즉, 위 예에서 11개의 키가 활성화됨)를 시뮬레이션하기 위해 모든 구동 라인들(L1, L2 등)은 접지 또는 소스 전위로 설정된다.
임계 값(SW)은 ADC의 최대 값(즉 위 예에서 4095)과 캘리브레이션 값(CV) 또는 대응하는 전위 값의 차이를 계산함으로써 정해질 수 있다. 이 차이는 4로 나누어져, 예컨대 임계 값을 얻기 위해 캘리브레이션 값에 더해져야 할 오프셋(Of)을 초래한다. SW보다 더 작은 모든 검출된 값은 매트릭스 배열의 감지된 열(Ca, Cb) 내의 눌린 키의 개수와 무관하게 현재 활성인 감지 라인에서의 눌린 키를 나타낸다. 캘리브레이션 값(CV)은 매트릭스 배열(Ma) 및/또는 ADC 내의 온도 및 전압 변동에 따라 변화할 수 있다. ADC는 ADC의 동작 전위보다 훨씬 많이 필터링된 기준 전압 또는 전위를 가질 수 있다.
도 7b는 도 7에 비해 더욱 실제적인 예에 따라 ADC 출력의 범위를 눌린 키 스위치의 개수로 맵핑하는 것을 예시한다. 도 2 내지 도 5에 도시된 전압 분배기의 탭에서의 전위에 관해 다음의 관계가 있을 수 있다:
V = Vcc * k/(k+1),
여기서 k는 하나의 열 내의 눌린 키의 개수이고 k는 1보다 커야 한다. Vcc를 ADC의 최대 디지털 값으로 대체함으로써 그리고 반올림 오차를 고려함으로써 동일한 공식이 원론적으로는 ADC의 디지털 값에 대해 유효하다.
이는 오직 하나의 활성 키에 대한 범위(TR1)가 ADC의 또는 대응하는 전위의 범위의 "절반"(one half) 또는 1/2 값 주위에 위치됨을 의미한다. 하나의 열 내의 정확한 두 개의 활성 키에 대한 범위(TR2)는 ADC의 또는 대응하는 전위의 범위의 2/3 값 주위에 위치되는 것 등등이다. 열한 개의 활성 키(즉 모든 키가 눌리거나 누름에 의해 및/또는 매크로를 사용하는 것에 의해 열한 개의 키가 활성화됨)에 대한 범위(TR11)은 ADC의 범위의 종단에 매우 가깝다(즉 어떠한 추가적인 드리프트도 없는 경우 위 예에서 약 3754라는 값에서임). 이는 캘리브레이션 값(CV)이 3754에 드리프트 값을 더하거나 뺀 값을 가질 것임을 의미한다. 임계 값(SW)은 도 7에 관해 앞서 설명한 바(즉 종단 값(예컨대 4095)에서 값(CV)을 차감하고 그 결과를 4로 나누어 오프셋(Of)을 얻음)와 같이 계산될 수 있다. 임계 값(SW)을 얻기 위해 오프셋(Of)은 캘리브레이션 값(CV)에 더해진다. 그러나, SW를 결정하거나 계산하기 위한 다른 방법이 사용될 수도 있다(예컨대 나누기를 위해 4가 아닌 수를 사용함).
도 7b는 또한 현재의 감지된 감지 라인(Ca, Cb 등) 내에서 어떠한 키도 눌리지 않은 경우 관련되는 범위(TR0)를 도시한다. 임계 범위(TR1 내지 TR11 및/또는 TR0)는 ADC의 최대 출력 값의 2 내지 4 퍼센트의 범위 또는 다른 범위 내에 놓일 수 있는 길이를 역시 가질 수 있다.
대안적으로, 다른 범위보다 더 적은 활성 키에 관련되는 범위를 더 넓게 하는 것이 가능하다. 그러므로, 범위(TR1)는 범위(TR2) 등에 비해 더 넓을 수 있다.
캘리브레이션 라인(Ccc)을 사용하는 것과는 다른 방식으로 임계 값(SW)을 결정하는 것이 또한 가능하다(이 본문의 도입부를 보시오).
11개보다 많거나 적은 구동 라인, 예컨대 16개(SW는 예컨대 3915)을 갖는 것도 물론 가능하다.
오프셋은 캘리브레이션 라인 상의 풀 업(또는 풀 다운) 저항기(Rcc)의 저항 값을 감소시킴으로써 구현될 수도 있다.
도 8은 제어 디바이스에 의해, 가령 마이크로제어기(26)(도 6을 보시오)에 의해 처리된 바와 같은 평활화된 신호(52) 및 디바운싱 신호(50)를 예시한다.
키 스위치가 눌리기 전의 신호 값(V1)(전압 또는 전류)과 키 스위치를 내리누르기의 종단에서의 신호 값(V2)(전압 또는 전류)의 신호 차이(D)가 있다.
디바운싱 신호(50)는 여러 번 오르내리고 그렇게 하여 감소하는 진폭을 갖는 감소하는 폭을 구비한 첨형부(spike)들을 보인다. 그러므로 중간 상태를 검출하는 것은 도전적인 일이다. 그러나, 아날로그 디지털 변환기(ADC)의 사용은, 예컨대 신호 값(V1)의 75퍼센트, 50퍼센트 및 25퍼센트의 중간 값의 검출을 가능하게 한다.
평활 커패시터를 사용함으로써, 예컨대 통계적 분석과 조합하여, 신속 변화 디바운싱 함수와 대조적으로 평활한 값을 얻는 것이 가능하다. 대안적으로 키 스위치의 활성화의 시작에서 높은 전위보다 작은 값 또는 디바운싱 신호의 극소치를 검출하는 것이 가능하다. 낮은 신호 값보다 더 높은 상당한 값 또는 극대치는 그 신호가 그 시작에서 낮은 경우 검출될 수 있다.
높은 신호 상태와 낮은 신호 상태는 앞서 주어진 모든 예에서 상호교환될 수 있다.
본 발명의 실시예들 및 이들의 이점이 상세히 기술되었으나, 부기된 청구항에 의해 정의되는 바와 같은 발명의 사상 및 범주를 벗어나지 않고 다양한 변화, 대체 및 변경이 그 안에서 행해질 수 있다는 점이 이해되어야 한다. 예를 들어, 본 문서에서 기술된 특징, 기능, 프로세스 및 방법 중 다수는 본 발명의 범주 내에 계속 있으면서도 달라질 수 있다는 점이 당업자에 의해 쉬이 이해될 것이다. 더욱이, 본 출원의 범주는 본 발명 내에서 기술된 시스템, 프로세스, 제조, 방법 또는 단계의 특정한 실시예들에 한정되도록 의도된 것이 아니다. 발명의 개시로부터 통상의 기술자가 쉬이 인식할 것이듯이 본 문서에서 기술된 대응하는 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는 현재 존재하거나 이후 개발될 시스템, 프로세스, 제조, 방법 또는 단계가 본 발명에 따라 활용될 수 있다. 따라서, 부기된 청구항은 그것의 범주 내에 그러한 시스템, 프로세스, 방법 또는 단계를 포함하도록 의도된다.
상세한 설명 - 제1 양상
금번 바람직한 실시예들의 형성과 사용이 아래에서 상세히 논의된다. 그러나, 본 발명은 매우 다양한 특정 콘텍스트에서 구현화될 수 있는 많은 적용가능한 발명적 개념을 제공한다는 점이 인식되어야 한다. 논의되는 특정 실시예는 발명을 형성하고 사용하는 특정 방식의 예시가 될 뿐이고, 발명의 범주를 한정하지 않는다. 또한, 동일한 참조 기호는 달리 언급되지 않으면 동일한 기술적 특징을 나타낸다. 이 출원에서 "할 수 있다"가 사용되는 한 그것은 실제 기술적 구현뿐만 아니라 그렇게 행할 가능성을 의미한다.
도 1은 입력 장치(10)의, 예컨대 키보드의 매트릭스를 예시한다. 입력 장치(10)는 매트릭스(M)의 행을 형성하는 도전성 라인(L1, L2) 및 열을 형성하는 도전성 라인(Ca, Cb)의 매트릭스(M)를 포함한다. 도전성 라인(L1, L2)은 구동 라인이고 도전성 라인(Ca, Cb)은 감지 라인이다. 도 1에 오직 두 개의 행 및 두 개의 열이 도시되나, 대개 각 방향에는 두 개의 행 및/또는 두 개의 열보다 많이 있다.
그 예에서 도전성 라인(L1, L3 및 Ca, Cb)의 교차점에 네 개의 직렬 연결(SC1 내지 SC4)이 있다. 제1 직렬 연결(SC1)은 키 스위치(S1a) 및 저항기(R1a)로 구성된다. 제2 직렬 연결(SC2)은 키 스위치(S2a) 및 저항기(R2a)로 구성된다. 제3 직렬 연결(SC3)은 키 스위치(S1b) 및 저항기(R1b)를 포함한다. 제4 직렬 연결(SC4)은 키 스위치(S2b) 및 저항기(R2b)를 포함한다. 추가적인 직렬 연결이 매트릭스(M)의 다른 교차점에 있으나 도 1에 도시되지 않는다. 직렬 연결의 다른 예는 도전성 라인(Ca 및 Cb)에 직접적으로 커플링된 저항기를 갖는 직렬 연결 또는 각각 두 개의 저항기(예컨대 그 저항기들 중 하나는 구동 라인, 즉 L1, L2에 직접적으로 커플링되고 그 저항기들 중 하나는 감지 라인, 즉 Ca, Cb에 직접적으로 커플링됨)를 갖는 직렬 연결이다.
대안적으로, 예컨대 반도체 스위치, 가령 MOSFET(Metal Oxide Semiconductor Field Effect Transistor) 트랜지스터(4.5 킬로 옴 또는 5 킬로 옴을 넘는 활성화된 상태에서의 저항도(Ron)를 가짐)를 사용하는 것이 가능하다. 트랜지스터의 저항도는 비활성화된 상태(즉 어떠한 입력도 행해지지 않음)에서 훨씬 더 크다.
입력 장치(10)는 또한 아날로그 디지털 변환기(ADC)를 포함한다. 아날로그 디지털 변환기(ADC)의 두 개의 입력 단자(E1, E2)가 도 1에 도시된다. 아날로그 디지털 변환기(ADC)는 두 개보다 많은 입력 단자, 예컨대 여덟 개의 입력 단자를 가질 수 있다. 복수의 감지 라인을 오직 하나의 아날로그 디지털 변환기(ADC)에 맵핑하기 위해 아날로그 디지털 변환기(ADC)에서 내부적으로 다중화기가 사용될 수 있다. 대안적으로, 아날로그 디지털 변환기(ADC)는 감지 라인을 형성하는 각각의 도전성 라인(Ca, Cb)에서 사용될 수 있다. 아날로그 디지털 변환기(ADC)와 조합하여 외부 다중화기를 사용하는 것이 또한 가능하다.
나아가, 아날로그 디지털 변환기(ADC)에 연결되지 않은 도전성 라인(Ca)의 종단에서 도전성 라인(Ca)과의 직렬 연결로 된 저항기(Ra)가 있다. 저항기(Rb)가 동일한 방식으로 도전성 라인(Cb)에 연결된다.
모든 저항기(R1a 내지 R2b는 물론 Ra와 Rb)는 옴 저항의 동일한 공칭 값을 가진다. 정의되지 않은 전위는 저항기들(Ra, Rb)을 사용함으로써 방지될 수 있다. 저항기들은 개별 소자/디바이스일 수 있거나, 예컨대 터치 스크린 내에 통합될 수 있다. 저항기들은 또한 저항성 소자에 의해, 특히 스위칭 기능을 만족시키지 않는 트랜지스터에 의해 대체될 수 있다. 저항기들은 카본 프린팅에 의해 제조될 수 있다.
도 2는 세 개의 키 스위치(S1a, S1b 및 S2b)가 동시에 내리눌리고 제1 구동 라인(L1)이 접지로 설정된 경우에 대한 신호 상태를 예시한다. 제2 구동 라인(L2) 및 모든 다른 구동 라인은 Vcc로, 예컨대 3.3 볼트 또는 5 볼트로 설정된다.
도 2 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 전위 Vcc로 설정됨,
- 제1 직렬 연결(SC1)(S1a, R1a)는 접지에 있음.
제2 직렬 연결(SC2)의 스위치(S2a)는 개방이다(즉, 라인(Ca) 상의 전위 또는 전류에 대한 이 직렬 연결(SC2)의 기여는 없음). 결과적으로, 제2 직렬 연결(SC2)은 도 2에서 도시되지 않는다.
이 신호 상태들은 입력(E1) 상의 1/2 Vcc의 전위를 초래한다. 1/2 Vcc의 전위는 열에서 오직 하나의 스위치가 눌린 경우에만 가능할 뿐이다. 나아가, 1/2 Vcc의 전위는 눌리거나 활성화된 스위치를 나타낸다.
도 2 우측에서 볼 수 있듯이, 라인(Cb)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제4 직렬 연결(SC4)(S2b, R2b)은 Vcc에 있음,
- 제3 직렬 연결(SC3)(S1b, R1b)은 접지 전위에 있음.
이는 입력(E2)에서의 2/3 Vcc의 입력 전압을 초래한다. 이는 많은 선행 키보드와 대조적으로 스위치(S1b)의 어떠한 고스트 키잉도 없음을 의미한다. 라인(Cb) 상의 전위는 접지 또는 Vcc 전위의 디커플링 효과로 인해 라인(Ca) 상의 전위에 영향을 끼치지 않는다. 구동 라인들이 높은 옴의 저항기(R1a, Ra 등)에 비해 낮은 옴의 값과 함께 고정된 전위에 커플링되기 때문에 구동 라인들을 통한 어떠한 커플링도 없다. 이 저항기들(R1a, Ra 등)은 또한 단락 회로를 방지한다.
도 3은 세 개의 키 스위치(S1a, S1b 및 S2b)가 내리눌리고 제2 구동 라인(L2)이 접지로 설정된 경우에 대한 신호 상태를 예시한다. 제1 구동 라인(L1) 및 모든 다른 구동 라인(제2 구동 라인(L2)은 제외)은 Vcc로 설정된다.
도 3 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 Vcc로 설정됨,
- 제1 직렬 연결(SC1)(S1a, R1a)도 Vcc에 있음.
제2 직렬 연결(SC2)의 스위치(S2a)는 개방이다(즉, 라인(Ca) 상의 전위 또는 전류에 대한 이 직렬 연결(SC2)의 기여는 없음). 결과적으로, 제2 직렬 연결(SC2)은 도 3에서 도시되지 않는다.
이 신호 상태들은 라인(Ca) 상의 Vcc의 전위를 초래한다.
도 3 우측에서 볼 수 있듯이, 라인(Cb)에 대한 다음의 관련된 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제3 직렬 연결(SC3)(S1b, R1b)은 Vcc에 있음, 그리고
- 제4 직렬 연결(SC4)(S2b, R2b)은 접지 전위에 있음.
이 신호 상태는 라인(Cb) 상에서의 2/3 Vcc의 전위를 초래한다. 그러므로, 도 2 우측과 비교하여 신호의 어떠한 변화도 없다. 고스트 키잉은 역시 문제가 안 된다.
도 4는 네 개의 키 스위치(S1a, S1b, S2a 및 S2b)가 내리눌리고 제1 구동 라인(L1)이 접지 또는 0 볼트로 설정된 경우에 대한 신호 상태를 예시한다. 제2 구동 라인(L2) 및 모든 다른 구동 라인은 예컨대 3.3 볼트 또는 5 볼트의 Vcc로 설정된다.
도 4 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 Vcc로 설정됨,
- 이번에는 제2 직렬 연결(SC2)의 스위치(S2a)도 닫힘,
- 제1 직렬 연결(SC1)(S1a, R1a)은 역시 접지에 있음.
이 신호 상태들은 라인(Ca) 상의 2/3 Vcc의 전위를 초래한다. 전류의 값이 2/3 Vcc임은 두 개의 스위치가 눌림(즉 여기서는 모든 스위치)을 나타낸다.
도 4 우측에서 볼 수 있듯이, 라인(Cb)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제4 직렬 연결(SC4)(S2b, R2b)는 Vcc에 있음,
- 제3 직렬 연결(SC3)(S1b, R1b)는 접지 전위에 있음.
이는 입력(E2) 상에서의 2/3 Vcc의 전위를 초래한다.
도 5는 네 개의 키 스위치(S1a, S1b, S2a 및 S2b)가 내리눌리고 제2 구동 라인(L2)이 접지 전위로 설정된 경우에 대한 신호 상태를 예시한다. 제1 구동 라인(L1) 및 모든 다른 구동 라인(제2 구동 라인(L2)은 제외)은 Vcc로 설정된다.
도 5 좌측에서 볼 수 있듯이, 라인(Ca)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Ra)의 자유 단자는 Vcc로 설정됨,
- 제1 직렬 연결(SC1)(S1a, R1a)은 역시 Vcc에 있음, 그리고
- 제2 직렬 연결(SC2)의 스위치(S2a)는 닫힘(즉 제2 직렬 연결(SC2)은 접지로 설정됨).
이 신호 상태들은 라인(Cb) 상의 2/3 Vcc의 전위를 초래한다. 어떠한 키 스위치도 눌리지 않거나 모든 키 스위치가 눌렸음을 매트릭스(M)의 열 내의 전위의 어떠한 변화도 나타내지 않는다. 전류의 양은 또한 이 두 경우 중 어느 것이 유효한지 나타낸다(Vcc에 대해 신호 차이가 있기 때문에 여기서는 두 번째 경우임).
도 5 우측에서 볼 수 있듯이, 라인(Cb)에 관련된 다음의 신호 상태들이 있다:
- 저항기(Rb)의 자유 단자는 Vcc로 설정됨,
- 제3 직렬 연결(SC3)(S1b, R1b)은 Vcc 전위에 있음, 그리고
- 제4 직렬 연결(SC4)(S2b, R2b)은 접지 전위에 있음.
이 신호 상태들은 라인(Ca) 상에서의 2/3 Vcc의 전위를 초래한다. 구동 라인(L1 및 L2)에서의 전위는 변화되었으나 감지 라인(Ca)에서의 전위는 동일하게 남아 있다. 어떠한 키 스위치도 눌리지 않거나 모든 키 스위치가 눌렸음을 매트릭스(M)의 열 내의 전위의 어떠한 변화도 나타내지 않는다. 고스트 키잉은 역시 문제가 안 된다. 나아가 눌리거나 활성화된 키 스위치의 검출을 위해 오직 정적 상태가 사용된다.
다음의 테이블은 3 곱하기 3 매트릭스가 사용되는 경우 관련된 전류를 도시한다. 테이블의 각 행은 저전압을 갖는 구동 라인에 대응한다. 테이블의 열은 매트릭스(M)의 열 내에서, 즉 하나의 감지 라인(Ca, Cb) 상에서 눌린 키 스위치의 개수를 나타낸다:
키 스위치 눌림: 0 1 2 3
접지 상의 제1 구동 라인: 1 Vcc 1/2 Vcc 2/3 Vcc 3/4 Vcc
접지 상의 제2 구동 라인: 1 Vcc 1 Vcc 2/3 Vcc 3/4 Vcc
접지 상의 제3 구동 라인: 1 Vcc 1 Vcc 1 Vcc 3/4 Vcc
이하에서, n은 각 감지 라인 상의 스위치의 개수를 준다(즉, 도 2 내지 도 5에 도시된 예에 대해 n은 2와 같고 3 곱하기 3 매트릭스에 대해 n은 3과 같음)고 가정된다.
눌린 키의 개수를 나타내고 어느 키가 눌렸는지 나타내는 다음의 일반적인 규칙이 있다(즉 스트로빙 또는 스캐닝의 하나의 시퀀스에 대해):
1) 구동 라인 전위의 모든 조합에 대해 전압의 어떠한 변화도 없음:
a) Vcc의 전위는 어떠한 키 스위치도 눌리지 않음을 나타냄.
b) n/(n+1)의 전위는 모든 키 스위치가 눌림을 나타냄.
2) 구동 라인 전위의 상이한 조합에 대해 전압의 변화가 있음(즉 스트로빙 또는 스캐닝의 하나의 시퀀스 내에서):
a) 눌린 키의 개수는 열 내의 가장 낮은 값들 중의 값들로부터 결정될 수 있음. 눌린 키 스위치의 개수는 분수의 분자에 직접적으로 대응함(분모는 매트릭스의 하나의 열 내의 키의 개수에 의해 주어지는데, 위에서 주어진 테이블을 보시오).
b) 대응하는 라인의 감지 중에 감지 라인의 전위가 매트릭스의 열 내의 전위의 최대보다 낮은 값(즉 예컨대 Vcc 미만임)을 갖는 경우 키 스위치가 눌림. 최대치의 개수는 그 열에서 눌리지 않은 키의 개수에 의존한다는 점에 유의함.
다른 일반적인 규칙이 사용될 수도 있다.
대안적으로, 아날로그 디지털 변환기(ADC)의 데이터를 처리하고 아날로그 디지털 변환기(ADC)를 제어하기 위해 다른 컴포넌트가 사용될 수 있다.
대안적으로, 구동 라인 상에서 다른 신호 조합이 사용될 수 있다. 예컨대 네 개보다 많은 또는 열 개보다 많은 구동 라인이 있는 경우 사용되는 조합의 개수를 구동 라인의 개수 아래로 감소시키는 방법이 사용될 수 있다(즉 더 신속한 검출이 가능해짐). 이 방법들은 예컨대 조합에서, 특히 12개의 동전 문제에서 알려졌다(즉 초기에 구동 라인 중 절반은 높은 레벨로 설정되고 구동 라인 중 절반은 낮은 레벨로 설정됨). 감지된 신호에 따라 추가적인 변화가 이루어진다. 이는 또한 고스트 키잉의 방지 및 하나의 열에서 눌린 다수의 키의 검출을 가능하게 한다.
도 6은 컴퓨터의 키보드의 컴포넌트를 예시한다. 그 키보드는:
- 입력 장치(10),
- 마이크로제어기(26), 그리고
- 인터페이스(36)
를 포함한다.
도 6은 매트릭스(M) 내의 추가적인 도전성 라인(20)(감지 라인)(예컨대 11개의 라인), 그리고 추가적인 도전성 라인(22)(구동 라인)(예컨대 10개의 라인)을 도시한다.
입력 장치(10)의 아날로그 디지털 변환기(ADC)는 데이터 라인 및 제어 라인을 포함하는 신호 버스(30)에 의해 마이크로제어기(26)에 커플링된다.
마이크로제어기(26)는:
- 메모리(Mem), 예컨대 RAM(Random Access Memory), ROM(Read Only Memory), PROM(Programmable ROM) 또는 EEPROM(Electrical Erasable PROM) 또는 다른 종류의 메모리,
- 메모리(Mem) 내에 저장된 명령어를 수행하는 프로세서(P),
- 매트릭스(M)의 구동 라인에, 즉 라인(L1, L2 등)에 커플링된 구동 회로(24),
- 구동 회로(24) 및 프로세서(P) 간의 신호 버스(32), 그리고
- 프로세서(P) 및 메모리(Mem) 간의 신호 버스(34)
를 포함한다.
대안적으로, 아날로그 디지털 변환기(ADC)가 또한 마이크로제어기(26)의 일부일 수 있다.
신호 버스(30)는 프로세서(P)에 직접적으로 연결될 수 있다. 대안적으로, 마이크로제어기(26)의 인터페이스 회로가 사용되는데, 도시되지는 않았다. 신호 버스(36)는 마이크로제어기(26)에 커플링된다. 신호 버스(36)는 컴퓨터의 중앙 부분으로의 인터페이스이다. 신호 버스(36) 상에서의 프로토콜은 예컨대 PS/2 또는 USB이다.
도 7은 아날로그 디지털 변환기(ADC)의 출력 값의 범위를 눌린 키 스위치의 개수로 맵핑하는 것을 예시한다. 매트릭스(M)의 하나의 열 내에 열한 개의 키 스위치가 있다고 가정된다. 따라서, 열한 개의 범위(TR1 내지 TR11)(이 순서로 1/12 내지 11/12 VCC의 전위 값에 대응함)가 있다. TR12는 어떠한 키도 눌리지 않은 경우 관련된다.
범위(TR1 내지 TR11)의 길이는 일정할 수 있고 매트릭스(M)의 각 열 내에 열한 개의 키 스위치가 있는 경우 최대 출력 값의 2 내지 4 퍼센트의 범위 내에 있을 수 있다.
눌린 스위치의 개수를 결정하기 위해 또는 어느 스위치가 눌렸는지 또는 어느 스위치가 한 열 내에서 눌렸는지 결정하기 위해 사용되지 않는 인접한 범위들(TR1 내지 TR12) 사이의 출력 값이 있다. 두 개의 인접한 범위 사이의 "거리"(Di)는 또한 예컨대 아날로그 디지털 변환기(ADC)의 최대 출력 값의 2 내지 4 퍼센트의 범위 내에 있다. 바람직하게는, 사용되지 않는 범위는 분류를 위해 사용되는 범위와 동일한 길이를 가진다. 이는 반올림, 양자화 및 정수를 내놓도록 나뉠 수 없는 값들로 인해 항상 가능한 것은 아니다.
도 8은 제어 디바이스에 의해, 가령 마이크로제어기(26)(도 6을 보시오)에 의해 처리된 바와 같은 평활화된 신호(52) 및 디바운싱 신호(50)를 예시한다.
키 스위치가 눌리기 전의 신호 값(V1)(전압 또는 전류)과 키 스위치를 내리누르기의 종단에서의 신호 값(V2)(전압 또는 전류)의 신호 차이(D)가 있다.
디바운싱 신호(50)는 여러 번 오르내리고 그렇게 하여 감소하는 진폭을 갖는 감소하는 폭을 구비한 첨형부들을 보인다. 그러므로 중간 상태를 검출하는 것은 도전적인 일이다. 그러나, 아날로그 디지털 변환기(ADC)의 사용은, 예컨대 신호 값(V1)의 75퍼센트, 50퍼센트 및 25퍼센트의 중간 값의 검출을 가능하게 한다.
평활 커패시터를 사용함으로써, 예컨대 통계적 분석과 조합하여, 신속 변화 디바운싱 함수와 대조적으로 평활한 값을 얻는 것이 가능하다. 대안적으로 키 스위치의 활성화의 시작에서 높은 전위보다 작은 값 또는 디바운싱 신호의 극소치를 검출하는 것이 가능하다. 낮은 신호 값보다 더 높은 것 상당한 값 또는 극대치는 그 신호가 그 시작에서 낮은 경우 검출될 수 있다.
높은 신호 상태와 낮은 신호 상태는 앞서 주어진 모든 예에서 상호교환될 수 있다.
본 발명의 실시예들 및 이들의 이점이 상세히 기술되었으나, 부기된 청구항에 의해 정의되는 바와 같은 발명의 사상 및 범주를 벗어나지 않고 다양한 변화, 대체 및 변경이 그 안에서 행해질 수 있다는 점이 이해되어야 한다. 예를 들어, 본 문서에서 기술된 특징, 기능, 프로세스 및 방법 중 다수는 본 발명의 범주 내에 계속 있으면서도 달라질 수 있다는 점이 당업자에 의해 쉬이 이해될 것이다. 더욱이, 본 출원의 범주는 본 발명 내에서 기술된 시스템, 프로세스, 제조, 방법 또는 단계의 특정한 실시예들에 한정되도록 의도된 것이 아니다. 발명의 개시로부터 통상의 기술자가 쉬이 인식할 것이듯이 본 문서에서 기술된 대응하는 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는 현재 존재하거나 이후 개발될 시스템, 프로세스, 제조, 방법 또는 단계가 본 발명에 따라 활용될 수 있다. 따라서, 부기된 청구항은 그것의 범주 내에 그러한 시스템, 프로세스, 방법 또는 단계를 포함하도록 의도된다.
상세한 설명 - 제2 양상
금번 바람직한 실시예들의 형성과 사용이 아래에서 상세히 논의된다. 그러나, 본 발명은 매우 다양한 특정 콘텍스트에서 구현화될 수 있는 많은 적용가능한 발명적 개념을 제공한다는 점이 인식되어야 한다. 논의되는 특정 실시예는 발명을 형성하고 사용하는 특정 방식의 예시가 될 뿐이고, 발명의 범주를 한정하지 않는다. 또한, 동일한 참조 기호는 달리 언급되지 않으면 동일한 기술적 특징을 나타낸다. 이 출원에서 "할 수 있다"가 사용되는 한 그것은 실제 기술적 구현뿐만 아니라 그렇게 행할 가능성을 의미한다.
도 9는 예컨대 광학 소자의 스트링을 통해, 특히 LED(32, 42)를 통해 흐르는 전류를 제어하기 위한 회로 장치(10)를 예시한다. 대안적으로 오직 하나의 LED, LED들의 스트링들의 번들 또는 광학 소자를 위한 구동기가 유사한 방식으로 또는 동일한 방식으로 제어될 수 있다. 회로 장치(10)는 실시예에서 키보드의 일부이다.
키보드 및 도 9에 도시되지 않은 컴퓨터 간 인터페이스(12)에서 양의 동작 전압 Vcc가 있다. 키보드의 키 스위치(14)는 LED(32)에 인접하여 또는 물리적으로 접촉하여 위치된다. 키보드의 다른 키 스위치는 도 9에 도시되지 않는다. 대안적으로, 빛을 키 스위치로, 예컨대 각 키 스위치 주위에 배열된 프레임으로 전하기 위해 도파관이 사용될 수 있다.
인터페이스(12)는 전압 변환기(18)에 전기적으로 도전성으로 커플링된다. 그 실시예에서는, USB 인터페이스(12)가 사용된다.
전압 변환기(180)는 부스트(boost) 유형의 것이다. 대안적으로, 벅 변환기, 인버터 또는 다른 유형의 변환기가 사용될 수 있다. 입력 전압은 예컨대 4 볼트 내지 5 볼트의 범위 내에 있다. 그 변환기의 출력 전압은 15 볼트 내지 25 볼트의 범위 내에 있을 수 있다.
변환기(18)는 Vcc 및 회로 노드(circuit node)(N1) 간의 인덕터(inductor)(20)를 포함한다. 인덕터(20)는 10 내지 100 마이크로 헨리(micro Henry)의 범위 내(예컨대 47 마이크로 헨리)의 인덕턴스(inductance)를 가질 수 있다. 스위칭 전계 효과 트랜지스터(Field Effect Transistor: FET)(T1)의 드레인(drain)은 노드(N1)에 연결된다. 스위칭 트랜지스터(T1)의 소스(source)는 접지에 연결된다. PWM 신호(26)가 트랜지스터(T1)의 게이트에 연결된다. FET 대신에 쌍극성(bipolar) 트랜지스터가 유사한 방식으로 사용될 수도 있다.
나아가, 쇼트키 다이오드(Schottky diode)(22)의 또는 다른 다이오드의 애노드(anode)가 또한 노드(N1)에 커플링된다. 쇼트키 다이오드(22)의 캐소드(cathode)가 회로 노드(N2)에 연결된다. 쇼트키 다이오드는 신속한 스위칭을 가능하게 하고 낮은 순방향 전압(forward voltage)을 갖는다. 대안적으로, 적절히 제어되는 트랜지스터, 특히 MOSFET이 쇼트키 다이오드(22) 대신 사용될 수 있다.
커패시터(280)가 노드(N2)에 연결되고 접지 전위에 연결된다. 전압 변환기(18)의 주요 기능은 알려졌다. 다이오드(22)는 트랜지스터(T1) 외에 전압 변환기(18)의 제2 스위치를 형성한다.
LED의 제1 스트링(30)이 노드(N2)에 연결되고 노드(N3)에 연결된다. 노드(N3)에 연결되고 접지에 연결되는 검출 저항기(60)가 있다. 그러므로 스트링(30) 및 저항기(60)로 구성되는 제1 분기 또는 제1 직렬 연결이 있다.
제1 스트링(30)은 예컨대 7개 또는 8개의 LED 또는 임의의 다른 개수로 구성된다. 스트링(30)의 첫 번째 LED(32)만 도 9에 도시된다.
LED의 제2 스트링(40)이 노드(N2)에 연결되고 노드(N4)에 연결된다. 노드(N4)에 연결되고 접지에 연결되는 검출 저항기(62)가 있다. 그러므로 스트링(40) 및 저항기(62)로 구성되는 제2 분기 또는 제2 직렬 연결이 있다.
제2 스트링(40)은 예컨대 7개 또는 8개의 LED 또는 임의의 다른 개수(제1 스트링(40)의 전압 강하와 동일한 전압 강화를 초래하는데, 대개 이는 제1 스트링(30)에서와 동일한 개수의 LED를 의미함)로 구성된다. 스트링(40)의 첫 번째 LED(42)만 도 9에 도시된다.
다른 실시예에서는 스트링들(30 및 40)에 병렬로 연결된 LED들의 스트링이 두 개보다 많을 수 있다. 그러한 다른 스트링은 저항기(60 및 62)에 대응하는 저항기를 통해 접지에 연결된다. 저항기(60, 62)는 또한 저항기(R_B)로 명명되고 낮은 옴 값(예컨대 50 옴보다 낮음)을 가진다.
전압 분배기(50), 예컨대 10:1 분배기가 또한 노드(N2)에 연결되고 접지에 연결된다. 전압 분배기(50)는 직렬 연결로 된 둘 이상의 저항기(52, 54)로 구성된다. 노드(N5)는 저항기(52 및 54) 간의 연결 상에 있다.
제1 저항기(70)가 노드(N3)에 연결된다. 저항기(72)가 노드(N4)에 연결된다. 대응하는 저항기는 노드(N2)에 연결될 수 있는 추가적인 LED 스트링의 대응하는 노드에 연결된다. 저항기(70, 72 등)의 다른 종단은 회로 노드(N6)에 연결된다. 저항기(70, 72 등)은 모두 동일한 높은 옴 값(예컨대 4.5 킬로 옴 또는 5 킬로 옴보다 큼)을 가진다.
네 개의 아날로그 디지털 변환기(ADC1 내지 ADC4)가 있다. 아날로그 디지털 변환기(ADC1)가 노드(N6)에 연결되고 저항기(60, 62 등)을 거치는 전류의 평균 값 I_E를 검출한다. k(즉 LED 스트링의 개수)가 곱해진 전류 I_E는 전압 변환기(18)의 출력 전류에 대응한다.
아날로그 디지털 변환기(ADC2)는 노드(N5)에 연결되고 LED 스트링들(30, 40 등) 상에서의 전압 U_LED를 검출한다. 전압 U_LED는 전압 변환기(18)의 출력 전압에 대응한다. 나아가, 단위 이득 증폭기 또는 전압 추종기가 노드(N5) 및 아날로그 디지털 변환기(ADC2) 사이에 커플링될 수 있다. 전압 분배기(52, 54) 및/또는 단위 이득 증폭기는 선택적이다.
아날로그 디지털 변환기(ADC3)는 전압 변환기(180) 및 마이크로제어기(도 13을 보시오)를 포함하는 회로의 입력에 연결된다. 아날로그 디지털 변환기(ADC3)는 U_IN (U Input)을 검출한다. 역시 전압 분배기 또는 단위 이득 증폭기가 사용될 수 있다. 전압 U_IN은 전압 변환기(18)의 입력 전압에 대응하나 마이크로제어기의 동작 전압(operating voltage)을 산출하기 위해 사용되는 추가적인 변환기의 입력 전압에도 대응한다.
아날로그 디지털 변환기(ADC4)는 도 9에 도시되지 않은 저항성 용량성 네트워크를 통해 인터페이스(12)의 인덕터(도시되지 않음)에 연결된다. 이 네트워크는 DCR 감지(직접 전류 저항(Direct Current Resistance))를 위해 사용된다. 그 아날로그 디지털 변환기는 전압 변환기(18)의 입력 전류 더하기 마이크로제어기를 위한 추가적인 전압 변환기의 입력 전류에 대응하는 I_IN (I Input)을 검출한다. 마이크로제어기에 의해 사용되는 전력을 결정하기 위해 ADC4를 사용하는 것이 가능하다. 그러나, 마이크로제어기에 의해 사용되는 전류를 결정하기 위해 다른 방법이 사용될 수 있다. 이 전류는 회로 장치(10)의 동작 중에 비교적 일정하게 남아 있다.
다음의 수식은 회로 장치(10)의 전체적인 전압 전류 특성을 결정하기 위해 또는 적절한 동작점을 찾기 위해 사용될 수 있다:
I_E = U_ADC1/ R_B (1),
여기서 U_ADC1은 아날로그 디지털 변환기(ADC1)에 의해 검출된 전압이고 R_B는 저항기(60, 62 등)의 옴 값이다.
P_OLED = U_LED * I_E * k (2)
여기서 k는 LED 스트링의 개수를 주는 정수이고 P_OLED는 LED들의 전체 전력임.
수식 3은 변환기의 입력을 서술하고 있다. P_OLED 및 변환기 효율성 인자(converter cefficiency factor) Ny에 의해 그것은 수식 2에 상관되는데(correlated), 이는 사실상 변환기의 출력을 서술하고 있는 것이다. Ny =1- Gamma이다.
I_ILED = P_OLED / ((1 - Gamma) * U_ILED) (3),
여기서 I_ILED는 변환기(18) 내로의 입력 전류이고(회로 지점(80)을 보시오), U_ILED는 전압 변환기(18)의 입력 전압이되(회로 지점(80)을 보시오), Gamma는 변환기(18)의 손실 인자(loss factor)(예컨대 충분한 부하를 가정하여 0.02 내지 0.10의 범위 내임)이고,
I_USB(MAX) = I_Proz + I_ILED(MAX) (4),
여기서 I_Proz는 프로세서에 의해 소비되는 전류이고 I_ILED(MAX)는 전력 변환기 내로의 최대 전류이며 I_USB(MAX)는 USB 표준에 따른 최대 전류이다.
직접적으로 ADC4를 사용함으로써 입력 전압 I_USB를 검출하는 것이 가능하다.
수식 (1) 내지 수식 (4)는 I_ILED(MAX)를 사용하는 데에 사용될 수 있다. U_LED는 I_ILED가 I_ILED(MAX)에 도달할 때까지 증가될 수 있다.
도 10은 두 개의 LED(32, 42)의 또는 상이한 온도에서의 하나의 LED(32)의 두 개의 전압/전류 특성 곡선(106 및 108)을 예시한다. 대안적으로, 특성 곡선(106 및 108)은 LED의 두 개의 스트링(30, 32)에 대해 또는 상이한 온도에서의 하나의 스트링(30)에 대해 유효할 수 있다.
좌표계(100)는 LED 또는 LED 스트링 상의 전압을 보이는 x 축(102)을 가진다. 좌표계(100)의 y 축은 LED를 거치는 또는 LED의 스트링을 거치는 전류를 보인다.
LED 또는 LED 스트링(들)의 특성 곡선은 주어진 공차 내에서 LED 또는 LED 스트링이 사전선택된 경우에도 개별적으로 달라진다. 그러므로 어느 특성 곡선(106, 108)이 LED 또는 LED 스트링에 대해 또는 특별한 동작 상태에 대해, 예컨대 특별한 온도에 대해 유효한지 알려져 있지 않다.
제약들 중 하나는 LED 또는 LED 스트링 또는 LED 번들의 최대 전류가 준수된다는 것이다. 다른 제약은 USB 인터페이스(12)로부터 끌어내어진 최대 입력 전류이다. 도 10은 특성 곡선(106)에 대해 유효한 USB 인터페이스(12)에서의 최대 전력 P1에 대한 제1 사각형을 도시한다(즉 전압 U1 및 전류 I1). 제2 사각형은 특성 곡선(108)에 관해 USB 인터페이스(12)에서의 최대 전력 P2에 대해 유효하다(즉 전압 U2 및 전류 I2). 전류 I1은 전류 I2보다 크나 전압 U1은 전압 U2보다 작다.
도 11은 LED의 또는 LED의 스트링의 또는 LED 스트링의 번들의 전압 대 듀티 사이클 특성 곡선을 결정하는 단계를 예시한다. 방법은 단계(200)에서 시작한다. 다음의 단계(202)에서, 전압 변환기(18)의 출력 전압을 위해 시작 값이 선택된다. 10 내지 15 퍼센트의 시작 듀티 사이클(starting duty cycle) DuC가 선택될 수 있다(즉 트랜지스터(T1)의 드레인 및 소스는 주어진 (고정된) 주파수 f를 사용하여 하나의 듀티 사이클의 시간 t의 10 내지 15 퍼센트 동안 연결됨). 예컨대 하나의 LED 스트링 내에서 전압은 14 볼트이고 전류는 10 마이크로 암페어라고 가정된다. 15개의 스트링이 있다고, 즉 330 마이크로 암페어의 총 전류가 또한 가정된다. 이는 3,6 mW(밀리와트)의 전력을 준다.
특성 곡선의 검출의 시작에서 DuC를 증가시키는 데에 어떠한 제한도 없다(단계(206 및 208)를 보시오). 이는 그 비율(ratio)이 비교적 큰 스텝(step)으로, 예컨대 5 내지 10 퍼센트로 증가될 수 있음을 의미한다(단계(209)를 보시오). 단계(209)에서 듀티 사이클은 단계(208)에서 결정된 값으로 증가된다. 듀티 사이클 DuC를 증가시키는 것은, 예컨대 도 12의 부분(260)에 도시된 바와 같이 출력 전압을 증가시킨다.
그러나, 그 실시예에서 정체기 부분(262)(도 12를 보시오)은 전체적인 특성 곡선 내에서 예컨대 17 볼트의 전압 U4에 도달된다. 정체기는 예컨대 30 퍼센트의 듀티 사이클 DuC1에서 50 내지 55 퍼센트 사이에 있다(역시 도 12를 보시오). 정체기 내에서 그 전압 변환기의 출력 전압은 상당히 증가하지 않는다. 일정한 전압은 LED 스트링(30 내지 40)을 거치는 일정한 전류 흐름을 의미한다.
이는 듀티 사이클이 역시 상당히 큰 스텝으로 예컨대 5 내지 10 퍼센트로 증가할 수 있음을 의미한다(단계(206, 208)를 보시오). 예컨대 정체기의 시작에서 또한 종단에서도 예컨대 1 밀리 암페어의 전류 및 17 볼트(U4)가 있다고 가정된다. 나아가 주파수는 정체기의 폭에 영향을 끼치기도 한다.
듀티 사이클이 추가로 증가되는 경우(단계(209)), 특성 곡선(256)의 상승 부분(264)(도 12를 보시오)이 또 있을 것이다. 그러나, 부분(264) 내의 곡선의 형상은 개별적인 LED, LED들의 스트링 또는 LED들의 스트링들(병렬 연결에서 사용됨)에 의존한다.
상승 부분(264)의 종단에서(도 12를 보시오), 가능한 한 일찍 전압 변환기(18)의 출력 전압의 감소 또는 적어도 더 작은 증가를 검출하기 위해 단계(208)에서 매우 작은 스텝 폭이 사용된다.
출력 전압의 감소 또는 더 작은 증가가 검출되는 경우 도 14 내지 도 25를 참조하여 아래에서 기술될 방법을 사용하여 더 곡선을 연장하는 것이 가능하다.
스텝 폭은 현재 듀티 사이클의 1 퍼센트보다 작을 수 있다. 스텝 폭은 0.5 퍼센트보다 작거나 0.45 퍼센트보다 작을 수 있다.
듀티 사이클의 어떠한 증가도 더 이상 가능하지 않은 경우(단계(206)를 보시오) 단계(210)는 직접적으로 단계(206)를 뒤따른다. 표준의 사양에 의해, 예컨대 USB 표준에 의해 설정된 한도가 도달된 경우 어떠한 증가도 가능하지 않다. 방법은 단계(210)에서 종료한다.
도 12는 회로 장치(10)의 듀티 사이클(DuC) 대 전압 특성 곡선(256)을 예시한다. 좌표계(250)는 전압 변환기의 (즉 PWM 신호(26)의) 듀티 사이클을 보이는 x 축(252)를 가진다. 좌표계(100)의 y 축(254)은 전압 U_LED, 즉 전압 변환기(18)의 출력에서의 전압을 보인다.
특성 곡선(256)의 제1 부분(260)이 있다. 그 제1 부분 내에는 0 퍼센트의 DuC 및 전압 0 볼트로부터 DuC1 및 U4로의 제1 증가가 있다. DuC1은 예컨대 30 퍼센트이다. U4는 예컨대 17 볼트이다.
특성 곡선(256)의 제2 부분(262)은 듀티 사이클이 DuC1에서 DuC2로 증가되더라도 전압이 상당히 변화하지 않는 정체기를 형성한다. DuC2는 예컨대 50 내지 55 퍼센트이다. 예컨대 주파수를 증가시키기 위해, 부분(262) 내에서 PWM 신호(26)의 주파수를 변경하는 것이 가능하다.
특성 곡선(256)의 제3 부분(264)은 DuC2에서 시작한다. 그 제3 부분 내에는 듀티 사이클 DuC3 및 전압 변환기(18)의 출력에서의 전압 U5으로의 증가가 역시 있다. 다음 공식이 부분(264)에서 참일 수 있다:
U(DuC) = 1/(1-DuC) * U0,
여기서 U0는 변환기(18)의 입력 전압이다.
PWM의 주파수는 부분(264)의 주된 부분에서보다 부분(260 및 262)에서 더 높을 수 있다. 대안적으로 PFM이 부분(260 및 262) 내에서 사용될 수 있다.
부분(264)의 종단에서의 PWM의 주파수는 부분(260)의 주된 부분 내에서의 PWM의 주파수보다 더 낮을 수 있다. 부분(264)의 주된 부분 내에는 예컨대 1,5 메가헤르츠(Megahertz)의 주파수가 있을 수 있고 부분(264)의 종단에서는 단지 0,75 킬로헤르츠(Kilohertz)의 주파수가 있을 수 있다(즉 주파수는, 바람직하게는 계단식 방식으로, 25 퍼센트 내지 75 퍼센트의 범위 내에서 감소될 수 있음).
특성 곡선(256)의 제4 부분(266)에서 전압의 추가적인 증가가 있다. 부분(266)은 USB 인터페이스(12)의 사양의 한도의 외부에 있다. 따라서, 부분(266)은 검출되지 않는다. 그러나, 도 14 내지 도 25를 참조하여 아래에서 설명되는 바와 같이 부분(266)에 매우 가깝게 나아가는 것이 가능하다.
도 13은 회로 장치(10)의 추가적인 컴포넌트를 예시한다. 아날로그 디지털 변환기들(ADC1 내지 ADC4)이 데이터 라인 및 제어 라인을 포함하는 신호 버스에 의해 마이크로제어기(300)에 커플링된다.
마이크로제어기(300)는:
- 메모리(M), 예컨대 RAM(Random Access Memory), ROM(Read Only Memory), PROM(Programmable ROM) 또는 EEPROM(Electrical Erasable PROM) 또는 다른 종류의 메모리, 그리고
- 메모리(Mem) 내에 저장된 명령어를 수행하는 프로세서(P)
를 포함한다.
대안적으로, 아날로그 디지털 변환기(ADC1 내지 ADC4)가 또한 마이크로제어기(300)의 일부일 수 있다.
마이크로제어기(300)는 또한:
- 특성 곡선 결정 유닛(302) 또는 각 프로그램(예를 들면 가령 키보드의 펌웨어의 일부임),
- 선택적인 주파수 결정 유닛(304) 또는 각 프로그램(예를 들면 가령 키보드의 펌웨어의 일부임), 그리고
- 예를 들면 프로그램 및 하드웨어를 포함하는 듀티 사이클 결정 유닛(306)
을 포함한다.
특성 곡선 결정 유닛(302)은 도 11에 도시된 방법을 수행한다.
선택적인 주파수 결정 유닛(304)은 부분(264)의 종단에서 사용될 수 있다. 나아가 유닛(302)은 부분(260 및 262) 내에서 PWM 신호(26)의 주파수 f를 증가시키는 데에 사용될 수 있다. 대안적으로 PFM은 부분(260 및 262) 내에서 사용될 수 있다.
그러나, DuC2의 좌측에서 변조의 다른 수단이, PWM의 주파수를 단지 증가시키는 것 대신에 적용될 수 있는데 - PFM(펄스 주파수 변조(Pulse Frequency Modulation): 이는 DuC2에서 적용되는 온 위상(on phase)의 길이의 일정한 스위치 온 위상(switch on phase)을 활용하고 U4보다 더 낮은 전압에 대해 오프 위상(off phase)을 늘임을 의도한다(도 4). 이는 더 낮은 전압에 대해 주파수를 연속적으로 낮추는 것까지도 사실상 의도한다. 거기서 전압은 주파수의 엄밀한 동차 증가 함수(strictly homogenous increasing function)일 것인데, 이론적으로 그것은 사실상 거의 선형일 수 있다. 이는 스위칭 전력 공급부가 더 나은 효율성을 위해 낮은 전력 모드에서 활용하는 동일한 방법이다. 이는 부분(260 및 262)의 다른 발생에도 적용된다.
듀티 사이클 결정 유닛(306)은 특성 곡선 결정 유닛(302)의 일부일 수 있으나, 예컨대 사용자 종속적인(user dependent) 값에 따라 또는 온도 값에 따라 듀티 사이클을 결정하는 데에 사용될 수도 있다.
대안적으로, 다른 하드웨어가 마이크로제어기(300) 대신 사용될 수 있다(가령 별도의 마이크로프로세서 또는 프로세서 없는 하드웨어).
P_MAX보다 훨씬 아래인 밝기에 대해 PWM 신호(26)의 듀티 사이클을 제어하기 위해 제어 유닛(308)이 사용된다. 세부사항은 도 15 내지 도 19를 참조하여 아래에서 기술될 것이다. P_MAX 근처의 밝기에 대해 PWM 신호(26)의 듀티 사이클을 제어하기 위해 제어 유닛(310)이 사용된다. 세부사항은 도 20 내지 도 25를 참조하여 아래에서 기술될 것이다.
도 14는 LED(32, 42)의 또는 LED 스트링(30, 40)의 전류 대 (또는 대비) 밝기 특성 곡선(356)을 예시한다. 동일한 곡선(356)이 모든 LED 스트링(30, 40)에 대해 유효하다(즉 전류 값은 LED 스트링(30, 40)의 개수에 의해 곱해져야 함). 이 데이터는 LED의 제조자의 데이터 시트에서 찾을 수 있다. 테이블 또는 스플라인을 사용하여, 예컨대 3차 스플라인을 사용하는 것에 의해 데이터를 메모리(M) 내에 저장하는 것이 가능하다.
좌표계(350)는 LED(들)에서의 전압 U의 값을 보이는 수평 x 축(352)을 가진다. 수직 y 축(354)은 대수적 스케일(logarithmic scale)을 사용하여 밝기 B의 값을 보인다. 거의 전체 도메인에 대한 전류 대 밝기 상관은 약간의 오프셋(즉 더 큰 값 종단에서 약간 아선형(sub linear)인, 매우 작은 전류에 대한 "죽은"(dead) 영역)과 함께 선형이다.
특성 곡선(356)의 점(360)은 P_MAX 미만의 밝기(360)에, 즉 대개 LED(32, 42)의 중간 또는 낮은 밝기에 관련된다. 특성 곡선(356)의 점(362)은 P_MAX 근처의 밝기(362)에, 즉 대개 높은 밝기에 관련된다. P_MAX는 디바이스의 실제 입력 전압 및 USB 표준에 의해 설정된 최대 전류의 곱에 의해 정해진다. LED(32, 42)를 위해 그리고 스트링(30, 42)를 위해 사용될 수 있는 전력 P_MAXLED는 P_MAX에 의존하고 하나의 USB 인터페이스(12) 또는 USB 허브에 연결된 다른 회로에 의존한다. P_MAX는 예컨대 USB 2.0에 대해 명목상으로 2.5 와트이다. 다른 디바이스 및/또는 회로의 에너지 소비가 고려되어야 하므로(즉 마이크로제어기(300)의 또는 동일한 USB 인터페이스(12) 상에서 동작되는 다른 디바이스의 소비) P_MAXLED는 P_MAX보다 더 낮다. 이는 도 25를 참조하여 아래에서 더욱 상세히 설명될 것이다.
도 15는 LED(32, 42) 또는 LED 스트링(30, 40)을 지나는 또는 바람직하게는 병렬로 연결된 모든 LED 스트링(30, 40)을 지나는 전류 및 듀티 사이클의 값들의 검출된 쌍들을 예시한다. 아날로그 디지털 변환기(ADC1)를 사용하여 I 값을 검출하는 것 또는 심지어 측정하는 것도 가능하다. PWM 신호(26) 값의 대응하는 듀티 사이클 DuC는 마이크로제어기(300) 내에 알려질 것이다.
좌표계(370)는 PWM 신호(26)의 듀티 사이클 DuC의 값을 보이는 수평 x 축(372)을 가진다. 좌표계(370)의 수직 y 축(374)은 모든 LED(32, 42)를 지나 흐르는 전류 I_LED의 값을 보인다(즉 앞서 정의된 바와 같이 I_LED = I_E * k).
기준 전류 I_S가 좌표계(370) 내에 또한 도시된다. 기준 전류 I_S는 키 스위치(14)를 포함하는 키보드의 사용자에 의해 선택된 중간 밝기 B에 대응한다. 선택된 밝기에 속하는 전류 I_S를 결정하는 데에 특성 곡선(356)이 사용되었다.
듀티 사이클 DuC 및 대응하는 전류 I의 값들의 쌍들(380 내지 386)은 아날로그 디지털 변환기(ADC1) 및 마이크로제어기(300)를 사용하여 검출되었다. 듀티 사이클 DuC, 전압 U 및 대응하는 전류 I의 값들의 트리플렛(triplet)들을 계산하는 것도 쉽게 가능하다. 점(380, 382, 384 및 386)을 연결할 증가 곡선이 있음을 볼 수 있다. 듀티 사이클 DuC는 점(380)에 대해 D1으로부터, 점(382)에 대해 D2를 거쳐, 점(384)에 대해 D3를 거쳐 점(386)에 대해 D4로 증가된다. 듀티 사이클 D1 내지 D4에 대해 동일한 증가가 있을 수 있다. 그러나, 도 15에 도시된 바와 같이 I_S 근처에 위치된 점들에 대해 더 작은 각격을 갖는 것도 가능하다. 마이크로제어기(300)는 기준 전류 I_S보다 더 높은 전류 I가 검출되는 경우 점의 검출을 중지한다(즉 점(386)은 그 실시예에서 자동적으로 검출되는 마지막 점임).
도 16은 P_MAX로부터 먼 제1 동작점을 검출하는 데에 사용되는 뉴턴 반복을 예시한다. 도 16은 기준 전류 I_S 인근의 점들(384 및 386)에 관련된 듀티 사이클들 D3 및 D4 간의 관련 범위에 대한 좌표계(370)의 확대를 도시한다.
마이크로제어기(300)의 작업은 점들(384 및 386)을 연결할 곡선(390) 및 전류 I_S를 나타내는 수평선 간의 횡단부(cross section)를 찾는 것이다. 곡선(390)은 그 실시예에서 3차 스플라인이다. 다른 보간 방법이 사용될 수도 있다.
뉴턴 반복은 점(386)에서 시작한다. 직선(392)은 점(386)에서의 곡선(390)의 기울기를 보인다. 알려진 뉴턴 반복에 따라 직선(392) 및 I_S에 대한 수평선 간의 횡단부가 계산될 수 있다(점(394)를 보시오). 점(394)는 듀티 사이클 D5를 준다. 곡선(390)에 대한 공식(스플라인)은 듀티 사이클 D5에 속한 전류 I, 즉 점(396)을 결정하는 데에 사용될 수 있다. 뉴턴 방법의 다음 반복은 점(396)에 대한 것이다. 전류 I_S에 대해 주어진 델타 범위(delta range) 내에 있는 전류를 주는 듀티 사이클이 결정되었다면 뉴턴 반복은 종료한다.
도 17은 P_MAX로부터 먼 제1 동작점의 검출을 위한 방법 단계를 예시한다. 이 방법은 도 14 내지 도 16에 관해 앞서 도식적으로 이미 기술되었다. 도 17에 도시된 모든 단계(S2 내지 S20)는 마이크로제어기(300)에 의해 자동적으로 수행된다.
그 방법은 방법 단계(S2)에서, 즉 약칭으로 단계(S2)에서 시작한다. 단계(S2) 후 뒤따르는 단계(S4)에서 밝기 B가 결정된다. 밝기 B는, 예컨대 키보드의 사용자에 의해 입력된 값에 기반한다. 밝기 B는 메모리(M)로부터 또는 입력 버퍼(input buffer)로부터 판독될 수 있다.
특성 곡선(356)은 사용자에 의해 선택된 밝기 B에 속하는 기준 전류 I_S를 결정하기 위해 단계(S6)에서 사용된다.
듀티 사이클 DuC 및 I_LED의 값의 쌍이 단계(S6) 후에 뒤따르는 단계(S8)에서 결정된다. 첫 번째 쌍은 예컨대 도 15에서 점(380)에 의해 표현된다.
그리고, 값들의 마지막으로 검출된 쌍에 속하는 전류 I_LED 또는 I가 I_S, 즉 기준 값보다 더 큰지 점검된다. 값 I_LED가 더 크지 않은 경우 방법은 단계(S12)에서 계속된다.
듀티 사이클 DuC는, 예컨대 고정된 값만큼 또는 듀티 사이클 DuC를 증가시키기 위한 전략에 따라 단계(S12)에서 증가된다.
그 방법은 이제 단계(S8 내지 S12)의 루프 내에 있고 DuC 및 I의 값들의 여러 쌍들을 결정한다(예컨대 도 15의 점(382 및 284)을 보시오). 단계(S8 내지 S12)의 루프는 전류 I_LED가 기준 전류 I_S보다 더 큰 경우에서야 단계(S10)에서 벗어나게 될 것이다.
전류 I_LED가 기준 전류 I_S보다 더 큰 경우(즉 마지막 점(386)이 검출됨) 단계(S14)가 단계(S10) 직후에 뒤따른다. 마이크로제어기(300)는 도 16을 참조하여 앞서 기술된 뉴턴 반복을 수행한다. 다른 반복 방법 또는 관련 횡단부를 결정하기 위한 다른 방법이 사용될 수도 있다. 기준 전류 I_S 및 곡선(390)의 횡단부 또는 횡단부 근처에서의 듀티 사이클이 찾아진 경우 반복은 종료한다.
단계(S14)에서 결정된 듀티 사이클 DuC는 PWM 신호(26) 및 전압 변환기(18)을 제어하기 위해 단계(S16)에서 사용된다. 그리고, 방법은 단계(S20)에서 종료한다.
그러나, 예컨대 키보드 내에서의 또는 키보드 외부에서의 온도 변화에 따라, 곡선(390)은 물론 곡선(356)의 드리프트가 있을 수 있다. 그 드리프트는 시작에서 결정된 듀티 사이클 DuC에 대해 더 높거나 더 낮은 전류 I를 초래한다. 따라서, 바람직하게는 폐루프(closed loop) 제어가 필요하다(도 18을 보시오).
도 18은 키보드의 동작 중에 중간 밝기의 제어를 도식적으로 예시한다. 마지막 동작점은 점(398)이었다고 가정된다. 점(398)은 예컨대 도 14 내지 도 17에 관해 기술된 방법에 의해 결정되었다. 대안적으로, 점(398)은 이전의 폐루프 제어에 의해 결정되었다.
도 18은 기준 전류 I_S보다 더 높은 전류 I_2를 보인다. 아날로그 디지털 변환기(ADC1)에 의해 검출된 I의 델타 D_I가 있다. 델타 D_I가, 예컨대 임계 값 T1에 의해 정의될 수 있는 델타 범위의 외부인 경우 듀티 사이클의 정정이 필요하다. 정정의 값은 여러 방법 중 하나를 사용하여 결정될 수 있다. 매우 단순하나 그런데도 효율적인 방법이 그 실시예에서 사용된다.
점(386)에 대한 드리프트가 일어났다고 가정된다. 대안적으로, 임의의 다른 지점이 동일한 방식으로 다루어질 수 있기도 하다. 직선(392)의 기울기는 점(386)에서의 곡선(390)의 기울기 m에 대응한다. 점(386)은 곡선(390)에서의 실제 또는 현재 값이다.
이 기울기 m 및 델타 D_I는 다음 공식에 따라 델타 DuC를 계산하는 데에 사용된다:
D_DuC = D_I/m,
여기서 m은 직선(392)의 기울기이다. 그리고 D_DuC는 DuC를 감소시키기 위해 사용된다.
드리프트가 다른 방향인 경우, 즉 전류 I_LED가 I_S에 대해 임계 아래로 감소하는 경우, D_DuC를 결정하기 위해 유사한 방법이 사용된다. 그러나, 점(398)에서의(즉 목표점의) 곡선(390)의 기울기가 사용된다.
도 19는 키보드의 동작 중 중간 밝기의 디지털 제어를 위한 방법 단계를 예시한다. 이 방법은 도 18에 관해 앞서 도식적으로 이미 기술되었다. 도 19에 도시된 모든 단계(S102 내지 S116)는 마이크로제어기(300)에 의해 자동적으로 수행된다.
그 방법은 방법 단계(S102)에서, 즉 약칭으로 단계(S102)에서 시작한다. 단계(S102) 후 뒤따르는 단계(S104)에서 델타 I, 즉 D_I가 결정된다. I_LED를 결정하기 위해 아날로그 디지털 변환기(ADC1)가 사용된다. 마이크로제어기(300)는 I_LED 및 기준 전류 I_S 간의 차이를 계산한다.
그리고, D_I의 절대값이 임계 값 T1보다 더 큰지 점검된다. D_I의 절대값이 더 크지 않은 경우 방법은 단계(S104)에서 계속된다.
그 방법은 이제 단계(S104 내지 S106)의 루프 내에 있고 드리프트의 발생을 대기하고 있다. 대안적으로, 그 방법은 드리프트가 검출되는 경우에서야 시작된다. 마이크로제어기(300)의 대응하는 루틴을 시작하기 위해 인터럽트가 사용될 수 있다.
단계(S104 내지 S106)의 루프는 D_I의 절대값이 임계 값 T1보다 더 큰 경우에서야 단계(S106)에서 벗어나게 될 것이다.
D_I의 절대값이 임계 값 T1보다 더 큰 경우(즉 마지막 점(386)이 검출됨) 단계(S108)가 단계(S106) 직후에 뒤따른다.
그 다음에, 전류 I 또는 전류 I_LED의 실제 값이 기준 전류 I_S보다 더 큰지 점검된다. 전류 I의 값이 I_S보다 더 크지 않은 경우(즉 전류 I의 더 작은 값에 대해 드리프트가 있음) 그 방법은 단계(S110)에서 계속된다.
목표점에서의(예컨대 도 18에 도시된 바와 같이 점(398)에서의) 곡선(390)의 기울기의 값은 단계(S110)에서 결정된다. 그 방법은 이후 단계(S114)에서 계속된다.
그러나, I의 값이 I_S보다 더 큰 경우(즉 전류 I의 더 큰 값에 대해 드리프트가 있음) 그 방법은 단계(S108) 후에 단계(S112)에서 계속된다. 현재 또는 실제 동작점에서의(예컨대 도 18에 도시된 바와 같이 점(386)에서의) 곡선(390)의 기울기의 값은 단계(S112)에서 결정된다. 그 방법은 이후 단계(S114)에서 계속된다.
단계(S114)는 앞서 주어진 공식에 따른 듀티 사이클 DuC를 위한 정정 값 또는 델타 값 D_DuC의 계산에 관련된다.
현재 듀티 사이클 DuC는 D_DuC에 대한 계산된 값에 기반하여 단계(S116)에서 정정된다.
단계(S104)는 단계(S116) 후에 다시 뒤따른다(즉 그 방법은 단계(S104 내지 S116)의 루프 내에 있고 LED(32, 42)의 밝기의 제어를 수행함). 컴퓨터 및 키보드가 예컨대 스위치 오프된 경우 그 방법은 종료한다.
도 20은 P_MAXLED 근처에서의 특성 곡선의 결정을 도식적으로 예시한다. P_MAXLED의 계산은 아래에서 도 25에 관해 더욱 상세히 기술될 것이다.
좌표계(400)는 U_LED의 값을 보이는 수평 x 축(402)을 가진다. 아날로그 디지털 변환기(ADC2)를 사용하여 LED가 검출된다. 좌표계(400)의 수직 y 축(404)은 I_LED의 값을 보인다. I_LED는 아날로그 디지털 변환기(ADC1)를 사용하여 검출된다.
그때에 LED들(32, 42)에 대해, 즉 스트링들(30, 42)에 대해 허영되는 최대 전력 소비에 대해 전류 I3 및 전압 U3b가 유효하다고 가정된다. 이는 전류 I3와 전압 U3b와의 곱이 전력 P_MAXLED와 동일함을 의미한다.
이하에서 기술될 방법들은 전력 한도 P_MAXLED를 초과하지 않는다. 함수가 오목하므로, 보간을 위해 사용되는 기울기가 실제의 것보다 더 가파르고, 계산된 새로운 U_LED가 U_LED_U3b보다 더 낮음을 보장한다. 어떤 다른 디바이스가 추가적인 전력을 소비하고 있어 조명 시스템에 의해 사용되도록 남겨진 전력을 감소시키는 경우에만, 이것이 일어날 수 있다. 그러나 MCU(마이크로 제어기 유닛(Micro Controller Unit)) 또는 다른 처리 유닛이 이를 야기할 수 있는 모든 컴포넌트를 제어하고 있으므로, 그것은 추가적인 전력을 소비하는 디바이스를 시작하기 전에 LED 전류를 감소시킬 수 있다. 온도 드리프트는 그 한도를 초과하는 P_MAX 전에 검출될 만큼 충분히 느리다.
나아가, 전력 한도 P_MAXLED는 가변적이다. 그러나, 그 방법들은 고정된 전력 한도를 위해 사용될 수도 있다.
검출된 값들(410 내지 414)의 쌍들이 마이크로제어기(300)에 의해 검출된다(즉 전압 U0b 및 대응하는 전류를 갖는 점(410), 전압 U1b 및 대응하는 전류를 갖는 점(412), 그리고 전압 U2b 및 대응하는 전류를 갖는 점(414)). 점(410 내지 414)는 USB 표준의 또는 다른 표준의(예컨대 파이어와이어(firewire)의) 사양 내에 있다. 이는 점(410, 412 및 414)에 대한 전력이 최대 전력 P_MAXLED보다 더 작음을 의미한다. 따라서, 이 점들(410, 412 및 414)의 검출은 고정된 스텝 폭으로 또는 다른 적절한 전략에 따라 U를 증가시킴으로써 가능하다. 점(410 내지 414) 아래에 놓인 곡선 또는 곡선들(420)을 찾기 위해 보간을 사용하는 것이 가능하다. 스플라인 보간이 사용될 수 있다(예컨대 3차 스플라인 또는 2차 스플라인).
그러나, 동작점이 최대 전력 근처인 경우에 최대 전력 P_MAXLED가 초과되지 않도록 하기 위해 더욱 복잡한 방법이 사용된다. 이는 다음에서 기술될 것이다.
곡선(422)은 점(414)부터 최대 전력에 대응하고 U3b의 전압 및 전류 I3를 갖는 점(416)까지 외삽된다(extrapolated). 역시, 스플라인이 외삽을 위해 사용될 수도 있다. 그러나 다른 외삽 방법이 사용될 수도 있다.
점(416)에서의 곡선(422)의 기울기 m은, 예컨대 곡선(422)의 1차 도함수(first derivative)를 사용하여 결정될 수 있다. 직선(430)은 이 기울기 m을 보인다. 곡선(422)의 기울기 m은 U의 값을 증가시키면 증가한다고 가정된다. U_LED의 다음 값을 결정하기 위해 점(416)에서의 기울기 m은 또한 점(414)에서 사용된다.
이는 점(414)으로의 라인(430)의 평행 이동(parallel translation)에 의해 도식적으로 행해질 수 있다(직선(432)을 보시오). 그리고, 예컨대 전류 I3 및 점(414)에서의 전류의 차이 및 라인(432)의 기울기 m을 사용하여, 라인(432) 및 수평선 I3의 횡단부가 계산된다. 이는 점(414)에서 전압 U2b에 부가될 수 있는 델타 U를 초래한다. 결과적인 전압은 전압 U4b이다.
전압 U4b는, 예컨대 특성 곡선(256)을 사용하여(도 12를 보시오), 대응하는 듀티 사이클 DuC를 결정하는 데에 사용된다. 곡선(256)의 값들의 저장된 쌍들은 이 목적으로 사용될 수 있다. 대안적으로, U(DuC)에 대해 앞서 주어진 공식을 재배열함으로써 얻어질 수 있는 공식이 사용될 수 있다. 다른 말로 하면, 변환기의 특성 함수의 역함수를 사용하는 것이, 아니면 반전된(inverted) 스플라인을 생성하기 위해 곡선(256)으로부터 데이터를 사용함으로써, 즉 대각으로 곡선(256)을 미러링(mirroring)하는 함으로써, 필요한 듀티 사이클의 양호한 추정치를 낸다.
이 듀티 사이클(DuC)은 변환기(18)를 제어하는 데에 사용된다. 그리고 전압 U_LED는 아날로그 디지털 변환기(ADC2)에 의해 다시 검출되고 대응하는 전류 I는 아날로그 디지털 변환기(ADC1)에 의해 검출되는데 그 결과는 전압 U_LED 및 전류 I_LED 간의 관계를 기술하는 추가적인 점(440)이 된다.
점(414) 대신 점(440)을 사용하고 점(416)에 대해 결정된 기울기 m을 다시 사용하여 다음 반복 단계가 수행될 수 있다. 마지막 점에 대한 전력이 최대 전력 P_LEDMAX에 충분히 가까운 경우 반복은 종결된다. 오직 하나의 반복 단계를 수행하는 것 또는 다른 방식을 사용하여 빠진 점(missing point)들을 찾는 것이 또한 가능하다.
도 21은 P_MAX 근처에서의 특성 곡선의 결정을 위한 방법 단계를 예시한다. 이 방법은 도 20에 관해 앞서 도식적으로 이미 기술되었다. 도 21에 도시된 모든 단계(S202 내지 S218)는 마이크로제어기(300)에 의해 자동적으로 수행된다.
그 방법은 방법 단계(S202)에서, 즉 약칭으로 단계(S202)에서 시작한다. USB 표준 내에 있는 전력을 갖는 마지막으로 알려진 점(414)은 단계(S202) 후 뒤따르는 단계(S204)에서 결정된다.
스트링(30, 40) 내의 LED(32, 42)에 대해 최대 전력을 나타내는 점(416)으로 곡선(422)을 외삽하기 위해 마지막 점(414) 그리고 선택적으로는 다른 점(410, 412) 또한 단계(204)에서 사용된다.
그 다음에, 점(416), 즉 최대 전력의 점에서의 미분이 이 점(416)에서의 기울기 m을 얻기 위해 계산된다(단계(S208)를 보시오).
단계(S210)에서, 마지막으로 검출된 점은 단계(S208)에서 계산된 기울기 m를 사용하는 다음 외삽을 위한 시작점으로서 사용된다. 이는, 예컨대 첫 번째 반복에 대해 점(414)이고 두 번째 반복에 대해 점(440)이다. U_LED에 대한 새로운 값은 기울기 m을 사용하는 외삽에 기반하여 계산된다.
이후, 단계(S212)에서, U_LED에 대한 새로운 값은 전압 변환기(18)를 위한 적절한 듀티 사이클을 택함으로써 설정된다. 갱신된 특성 곡선(256)이 그 목적으로 사용될 수 있다.
단계(S214)에서 새로운 듀티 사이클에 대해 전압 U_LED의 그리고 전류 I_LED의 값들이 검출된다. 아날로그 디지털 변환기(ADC1)는 전류 I_LED를 검출하는 데에 사용되고 아날로그 디지털 변환기(ADC2)는 전압 U_LED를 검출하는 데에 사용된다.
그리고, 추가적인 반복 단계가 필요한지 점검된다. 추가적인 반복 단계가 필요한 경우 그 방법은 단계(S210)에서 계속된다(화살표(442)를 보시오).
그 방법은 이제 단계(S210 내지 S216)의 루프 내에 있고 전압 U_LED 및 전류 I_LED의 값들의 새로운 쌍들을 찾고 있다. 모든 쌍들 또는 점들은 P_MAXLED보다 더 작은 전력을 가진다.
단계(S210 내지 S216)의 루프는, 예컨대 값들의 마지막 쌍이 P_MAXLED에 매우 가까운 전력을 가지기 때문에, 어떠한 추가적인 반복 단계도 필요하지 않은 경우에서야 단계(S216)에서 벗어나게 된다. 만일 이러하다면 단계(S216) 직후에 단계(S218)이 뒤따른다.
도 22는 제2 실시예에 따라 P_MAX 근처에서의 또는 P_MAXLED에 더 엄밀히 근처에서의 특성 곡선의 결정을 예시한다. 도 22는 도 20에 대응한다. 그러나, 점(440)은 외삽 곡선(422)을 개선하기 위해 사용된다. 점(414) 및 점(440)뿐만 아니라 다른 점(410, 412)을 사용하여 새 곡선(450)이 계산된다.
점(440)에서의 곡선(450)의 기울기 m2는 점(416)에서의 곡선(422)의 기울기 m 대신에 다음 반복을 위해 사용된다. 반복은 도 20의 방법에 비해 더욱 정확하고/하거나 더 신속하게 된다.
제2 실시예는 또한 도 21에 도시된다(단계(S216)부터 단계(S206)까지 연장되는 점선(444)을 보시오). 따라서 그 방법은 이제 단계(S206 내지 S216)의 루프 내에 있고 개선된 외삽 곡선(422, 450 등)을 사용하여 전압 U_LED 및 전류 I_LED의 값들의 새로운 쌍들을 찾고 있다. 모든 쌍들 또는 점들은 P_MAXLED보다 더 작은 전력을 가진다.
도 23은 키보드의 동작 중 P_MAX 근처에서의 또는 P_MAXLED 근처에서의 밝기의 제어를 예시한다. I의 더 높은 전류 값에 대해, 즉 예컨대 전류 I4에 대해 드리프트가 있었다고 가정된다. 마이크로제어기(300)는 I의 차이, 즉 델타 D2_I를 검출한다. 마이크로제어기(300)는 델타 D2_I가 임계 값 T2를 증가시키는 경우 폐루프 제어 단계를 수행한다.
점(498)에서의 곡선(422)의 미분이 또는 갱신된 곡선(450)의 미분이라도 계산된다. 점(498)은 전류 I3보다 더 높은 전류 값 I4를 가진다.
점(498)에서의 미분은 기울기 m3를 갖는 직선(500)에 의해 표현될 수 있다. 직선(500)은 점(498)에서의 곡선(422, 450)의 접선이다. 전압의 델타 D_U는 델타 D2_I 및 기울기 m3를 사용하여 계산된다. 델타 D_U는 전압 U_LED의 마지막 값에서 차감되는데, 이는 예컨대 전압 U4b 및 전압 U3b 사이에 있었다.
갱신된 특성(256)으로부터 전압 U_LED를 위한 새로운 값에 기반하여 새로운 듀티 사이클 DuC가 결정된다. PWM 신호(26)는 새로운 듀티 사이클에 따라 조절되고 U_LED 및 I_LED의 감소를 초래한다.
더 높은 값에 대한 드리프트와 대조적으로, 전류 I의 더 낮은 값에 대한 드리프트가 있는 경우 목표점에서의 기울기가 사용되어야 한다(도 18의 설명을 보시오).
도 24는 키보드의 동작 중 P_MAX 근처에서의 밝기 B의 제어를 위한 방법 단계를 예시한다. 이 방법은 도 23에 관해 앞서 도식적으로 이미 기술되었다. 도 24에 도시된 모든 단계(S302 내지 S312)는 마이크로제어기(300)에 의해 자동적으로 수행된다.
그 방법은 방법 단계(S302)에서, 즉 약칭으로 단계(S302)에서 시작한다. 델타 I, 즉 D2_I는 단계(S302) 후 뒤따르는 단계(S304)에서 결정된다. 아날로그 디지털 변환기(ADC1)는 I_LED를 결정하기 위해 사용된다. 마이크로제어기(300)는 I_LED 및 기준 전류 I3 또는 I_S 간의 차이를 계산한다.
그리고, D2_I의 절대값이 임계 값 T2보다 더 큰지 점검된다. D2_I의 절대값이 더 크지 않은 경우 방법은 단계(S304)에서 계속된다.
그 방법은 이제 단계(S304 내지 S306)의 루프 내에 있고 드리프트의 발생을 대기하고 있다. 대안적으로 그 방법은 드리프트가 검출되는 경우에서야 시작된다. 마이크로제어기(300)의 대응하는 루틴을 시작하기 위해 인터럽트가 사용될 수 있다.
단계(S304 내지 S306)의 루프는 D2_I의 절대값이 임계 값 T2보다 더 큰 경우에서야 단계(S306)에서 벗어나게 될 것이다.
D2_I의 절대값이 임계 값 T1보다 더 큰 경우 단계(S308)가 단계(S306) 직후에 뒤따른다.
그리고, 전류 I 또는 전류 I_LED의 실제 값이 기준 전류 I_S보다 더 큰지 점검된다. I의 값이 I_S보다 더 크지 않은 경우(즉 I의 더 작은 값에 대해 드리프트가 있음) 그 방법은 단계(S310)에서 계속된다.
목표점에서의 곡선(390)의 기울기의 값은 단계(S310)에서 결정된다. 그 방법은 이후 단계(S314)에서 계속된다.
그러나, I의 값이 I_S보다 더 큰 경우(즉 전류 I의 더 큰 값에 대해 드리프트가 있음) 그 방법은 단계(S308) 후에 단계(S312)에서 계속된다. 현재 동작점에서의(예컨대 도 23에 도시된 바와 같이 점(498)에서의) 곡선(422)의 또는 곡선(450)의 기울기의 값은 단계(S312)에서 결정된다.
점(498)이 드리프트로 인해 처음 도달되는 경우, 단지 마지막으로 의도적으로 조절되는 점에서의 기울기는 적절하게 스케일조정될(scaled) 수 있는데, 드리프트는 곡선의 기본 형태를 변경시키지 않을 것이지만, 대략적으로 곡선은 그저 신장된(stretched) 것으로 간주될 수 있기 때문이다. 그러한 결과적인 조절은 물론, 새로운 값 쌍을 생성할 것인데, 이는 통상의 보간 방법에 의해 새로운 곡선을 추가적으로 개량하기(refining) 위해 사용될 수 있다. 온도 드리프트는 전체 곡선을 "스케일조정"할 것이나, 대부분의 다른 영향은 기존의 곡선 자체를 바꾸지 않고 두고 그저 허용된 최대치를 이동시킬 것이다. 허용가능한 범위의 종단에서 그것은 이미 설명된 바와 같이 행해지나, 다른 점들에 대해서는 알려진 보간 함수(이의 미분은 기울기를 줌)가 이미 있다.
그 방법은 이후 단계(S314)에서 계속된다.
단계(S314)는 기울기 m 및 델타 I, 즉 예컨대 D2_I를 사용하여 정정 값 또는 델타 값 D_U를 계산하는 데 사용된다. 델타 값 D_U를 사용하여 새로운 U_LED가 계산된다.
현재 듀티 사이클 DuC는 D_U에 대한 계산된 값에 기반하여 단계(S316)에서 정정된다. 특성 곡선(256)은 새로운 전압 U_LED에 대해 새로운 DuC를 계산하기 위해 사용될 수 있다. PWM 신호(26)는 새로운 듀티 사이클 DuC에 따라 조정된다. 이는 전류 I의 증가 또는 감소를 초래한다.
단계(S304)는 단계(S316) 후에 다시 뒤따른다(즉 그 방법은 단계(S304 내지 S316)의 루프 내에 있고 최대 전력 P_MAXLED 근처에서 LED(32, 42)의 밝기의 제어를 수행함). 컴퓨터 및 키보드가 예컨대 스위치 오프된 경우 그 방법은 종료한다.
상이한 곡선들이 도 19 및 도 24에 따라 사용된다(즉 전류 대 듀티 사이클(도 19) 및 전류 대 전압(도 24)). 동작점이 P_MAX로부터 충분히 멀리 떨어져 있는 한 듀티 사이클 DuC 대 전류 I 종속성(dependency)의 충분히 양호한 근사화가 전압 U 대 전류 I 종속성으로부터 계산될 수 있고 그 반대로도 그러하다. P_MAX로부터 멀리 떨어진 동작점에서 제어하는 것을 위해 전압 U 대 전류 I 종속성을 사용하는 것이 또한 가능하다. 듀티 사이클 및 전압 간 엄밀한 단조 증가 상관(strictly monotonic increasing correlation)이 있으므로 그것들은 균등하게 사용될 수 있다.
도 25는 P_MAX의 결정을 위한 방법 단계를 예시한다. 도 25에 도시된 모든 단계(S400 내지 S412)는 마이크로제어기(300)에 의해 자동적으로 수행된다.
그 방법은 방법 단계(S400)에서, 즉 약칭으로 단계(S400)에서 시작한다. 회로 장치(10)의 입력 전압 U_IN은 단계(S400) 후 뒤따르는 단계(S404)에서 검출된다. 아날로그 디지털 변환기(ADC3)는 U_IN을 검출하기 위해 사용된다.
기준 전압 U_REF에 대한 U_IN의 상대적인 감소가 단계(S402) 후 뒤따르는 단계(S404)에서 계산된다. USB에 대한 기준 전압 U_REF은 예컨대 5 볼트이다.
전체적인 최대 전력 P_MAX 및/또는 LED들(32, 42)를 위해 그리고 스트링들(40, 42)을 위해 사용될 수 있는 전력 P_MAXLED가 단계(S404)의 결과에 기반하여 단계(S408)에서 계산된다. 최대 전력 P_MAX, P_MAXUSB의 또는 전력 P_MAXLED의 감소는, 예를 들면, 입력 전압 U_IN의 감소에 비례한다. 이는, 예컨대, U_IN도 U_REF에 비해 10 퍼센트 감소한 경우 P_MAXLED가 10 퍼센트 감소됨을 의미한다. 다른 계산 방안이 사용될 수도 있다.
(예컨대 도 21 및 도 24의 방법들에서) 새로운 P_MAXLED가 단계(S410)에서 사용된다.
선택적인 단계(S412)는 지연(delaly)을 포함할 수 있다. 그 방법은 단계(S402)로 시작하여 다시 반복된다.
P_MAXLED를 계산하기 위해 다음의 공식이 사용될 수 있다:
P_MAXUSB = U_USB * 500 mA (밀리 암페어),
여기서 U_USB는 다이오드 배후의 내부 전압이고,
P_USB = P_LED + P_PROZ,
P_MAXLED = (P_USB - P_PROZ) * (1-GAMMA),
여기서 GAMMA는 전압 변환기 내의 손실 비율이다.
입력 전압 U_IN의 전압 감소가 있는 경우 최대 전력 P_MAX 및/또는 전력 P_MAXLED는 감소된다. 전압 감소는 그 전력 공급부를 다른 USB 인터페이스와 공유하는 USB 인터페이스에 추가적인 디바이스를 플러그접속(plug in)하는 것에 기인할 수 있다. 나아가, 전압 감소는 LED 자체를 지나는 높은 전류에 기인할 수 있다. 이는 사용자가 밝기를 너무 높게 선택하는 경우 앞서 기술된 방법에 의해 밝기가 자동적으로 제한될 수 있음을 의미한다. 그것의 명확하게 정의되지 않은(non well defined) 본질로 인해, 아마도 발생할 USB 전압 강하는 P_MAXLED를 효과적으로 제한하는 데에 적절하지 않은데, 그래도 전체로서의 방법은 충분할 것이다.
전력 P_MAX_LED가 증가하는 경우 도 21은 관련 있는데, 예컨대 USB 디바이스가 USB 인터페이스(12)(그것의 전력 공급부를 다른 USB 인터페이스와 공유함)로부터 제거되었기 때문이다. 기준 전류 I3 또는 I_S는 이 경우에 증가할 것이다. 추가적인 범위 내로의 특성 곡선(420)의 외삽이 찾아져야만 한다.
그러나, 전력 P_MAXLED 및 기준 전류 I_S가 감소하는 경우 도 24, 단계(S312)가 관련 있는데, 예컨대 동일한 전력 공급부를 공유하는 다른 USB 인터페이스(12)에 USB 디바이스가 연결되었기 때문이다. 특성 곡선(420)은 이 경우 이미 알려져 있다.
P_MAX 또는 P_MAXLED를 결정하기 위해 다른 방법이 사용될 수도 있다. 예컨대, 아날로그 디지털 변환기(ADC4)를 사용하는 것이 가능하다. 입력 전류 I_IN은 ADC4에 의해 검출된다. 입력 전류 I_IN이 예컨대 USB 표준에 의해 또는 다른 관련 표준에 의해 지정된 I_MAX보다 더 큰 경우 전력 P_MAX는 그리고/또는 P_MAXLED도 감소되어야 한다. 최대 전력 P_MAX의 감소의 양은 그 사양에 의해 주어지는 전류에 이르기 위해 필요한 I_IN의 감소에 비례할 수 있다.
도 25의 방법의 결과는 도 20의 방법을 위해 고려되어야 한다. 양 방법 모두 한도에서 동작하는 경우 차례로 적용되어야 한다. 도 25에 도시된 방법은 한도로부터 충분히 멀리서 동작하는 경우 불필요하다.
다른 유형의 변환기, 특히 인버터, 벅 변환기 또는 플라이 백 변환기를 부스트 변환기 대신에 사용하는 것이 또한 가능하다. 벅 변환기가 사용되는 경우 회로의 하나의 분기 내에 단지 하나의 LED 또는 두 개의 LED가 있을 수 있다.
다른 실시예들에서 LED 구동기의 동작 전압은 동일한 또는 대응하는 회로나 방법을 사용함으로써 제어된다. LED 스트링은 복수의 LED를 구동하는 하나의 구동기 회로에 의해 교체된다.
사전선택된 LED가 사용될 수 있다(예컨대 LED의 제조자가 기준 전류에 대해 매우 작은 범위 내, 예컨대 해당 범위 내에, 예컨대 해당 범위의 가운데에 있는 기준 밝기에 대해 플러스 및/또는 마이너스 5 퍼센트 또는 1 퍼센트 더 작은 것의 범위 내에 있는 밝기를 보장하는 LED). 그러나, 발명은 사전선택되지 않은 LED/광학 소자에도 적절하다.
일정한 입력 전압이 다른 실시예에서 USB 전압 대신에 사용된다.
발명은 키보드 LED, 디스플레이를 위한 백라이트 LED, 승용차, 트럭, 배, 항공기 등과 같은 자동운행 디바이스(automotive device)들을 위한 파워 LED를 위해 사용될 수 있다.
본 발명의 실시예들 및 이들의 이점이 상세히 기술되었으나, 부기된 청구항에 의해 정의되는 바와 같은 발명의 사상 및 범주를 벗어나지 않고 다양한 변화, 대체 및 변경이 그 안에서 행해질 수 있다는 점이 이해되어야 한다. 예를 들어, 본 문서에서 기술된 특징, 기능, 프로세스 및 방법 중 다수는 본 발명의 범주 내에 계속 있으면서도 달라질 수 있다는 점이 당업자에 의해 쉬이 이해될 것이다. 더욱이, 본 출원의 범주는 본 발명 내에서 기술된 시스템, 프로세스, 제조, 방법 또는 단계의 특정한 실시예들에 한정되도록 의도된 것이 아니다. 발명의 개시로부터 통상의 기술자가 쉬이 인식할 것이듯이 본 문서에서 기술된 대응하는 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는 현재 존재하거나 이후 개발될 시스템, 프로세스, 제조, 방법 또는 단계가 본 발명에 따라 활용될 수 있다. 따라서, 부기된 청구항은 그것의 범주 내에 그러한 시스템, 프로세스, 방법 또는 단계를 포함하도록 의도된다. 도입부의 실시예들을 서로 조합하는 것이 가능하다. 나아가 도면의 설명의 예들을 서로 조합하는 것이 가능하다.
또한, 도입부의 실시예들과 도면의 설명의 예들을 조합하는 것이 가능하다.
상세한 설명 - 제3 양상
금번 바람직한 실시예들의 형성과 사용이 아래에서 상세히 논의된다. 그러나, 본 발명은 매우 다양한 특정 콘텍스트에서 구현화될 수 있는 많은 적용가능한 발명적 개념을 제공한다는 점이 인식되어야 한다. 논의되는 특정 실시예는 발명을 형성하고 사용하는 특정 방식의 예시가 될 뿐이고, 발명의 범주를 한정하지 않는다. 또한, 동일한 참조 기호는 달리 언급되지 않으면 동일한 기술적 특징을 나타낸다. 이 출원에서 "할 수 있다"가 사용되는 한 그것은 실제 기술적 구현뿐만 아니라 그렇게 행할 가능성을 의미한다.
도 26은 USB 케이블(14)을 통해 컴퓨터(12)에 연결된 키보드(10)를 예시한다.
키보드(10)는:
- 마이크로제어기(16)(즉 프로세서, 메모리 및 주변 회로, 또는 마이크로프로세서 또는 단순히 프로세서 칩),
- 복수의 푸시 버튼(예컨대 푸시 버튼(17)을 보시오), 또는 다른 입력 요소(예컨대 터치 스크린),
- 메모리(18)(마이크로제어기(16)의 일부일 수 있음),
- USB 디바이스 기능(20)(마이크로제어기(16)의 또는 다른 USB 칩의 일부일 수도 있음)
을 포함한다.
모든 입력 요소는 동일한 요소, 예컨대 푸시 버튼(17)뿐만 아니라 푸시 버튼 헤드(push button head)(17a)를 포함할 수 있다. 키 코드(key code)(예컨대 17b)가 정의되고 각각의 푸시 버튼(예컨대 17) 또는 푸시 버튼 헤드(예컨대 17a)를 위해 사용될 수 있다. 푸시 버튼(17)은 글자 "A"를 갖추고 있는 푸시 버튼 헤드에 속할 수 있다. 따라서, 대응하는 키 코드(17b)는 16진법(hex) 04이다(즉 여기서 10진법(decimal) 04와 동일함).
메모리(M 또는 18)는 프로세서 또는 제어기(16)를 위한 동작 명령어를 포함하는 펌웨어(22)를 포함할 수 있다. 다음에서 언급되는 방법들은 펌웨어(22)의 명령어가 프로세서 또는 제어기(16)에 의해 처리되는 경우 실행된다. 대안적으로, 프로세서 및 제어기(16)가 없는 회로가 사용될 수 있다(예컨대 FPGA(Field Programmable Gate Array)).
컴퓨터(12)는:
- 프로세서(24)(예컨대 마이크로프로세서),
- 프로세서(24)를 위한 명령어 데이터 및/또는 명령어의 처리 중에 사용될 수 있는 다른 데이터를 저장하는 메모리(26), 그리고
- 예컨대 USB 사양에 따라 동작하는 USB 호스트(28)
를 포함한다.
메모리(M 또는 30)는:
- 키보드(10)를 위한 디바이스 드라이버(30) 프로그램, 그리고/또는
- 아래에서, 특히 도 32에 관해, 설명되는 바와 같은 보고 서술자를 판독할 수 있고/있거나 그러한 보고 서술자를 따르는 보고를 수신할 수 있는 파서 프로그램(parser program)(32)
을 저장할 수 있다. 파서 프로그램(32)은 디바이스 드라이버(30)의 일부일 수 있다.
USB 호스트(28)는 USB 케이블(14)을 통해 키보드(10) 내에 정의되고 구현된 여러 종단점과 통신한다:
- USB 디바이스(20)의, 즉 키보드(10)의 구성 목적으로 주로 사용되는 종단점(EP0),
- 예컨대 BIOS의 부트 프로토콜과 관련하여 사용되는 종단점(EP1),
- 운영 체제의 제어 하에 키 코드의 송신을 위해 사용되는 종단점(EP2),
- 선택적인 종단점(EPx)(x는 3 내지 32의 범위 내의 수임).
종단점(EP0)은 디폴트 종단점(default endpoint)이라고도 불리고 BIOS 및 운영 체제의 시작 중에 다른 종단점의 구성을 위해 사용된다(구성 데이터(40)를 보시오). BIOS의 시작 중에는 오직 종단점(EP0) 및 종단점(EP1)이 사용된다. 종단점(EP1)은 이 단계 내에서 종단점(EP0)을 통해 구성된다. 양방향 데이터 전송(bidirectional data transfer)(41)이 USB 호스트(28)로부터 USB 디바이스(20)로 그리고 반대 방향으로, 즉 USB 디바이스(20)로부터 USB 호스트(28)로 일어난다.
종단점(EP1)은 1 내지 6개의 키 코드 바이트에 수정자를 위한 하나의 바이트까지 송신하는 데에 사용될 수 있다(부트 프로토콜 데이터(44)를 보시오). 8번째 바이트가 사양 내에 정의되는데 이는 예약된 것(RESERVED)이고 키 코드를 위해 또는 수정자를 위해 사용될 수 없다. 대부분의 BIOS는 송신당 그러한 개수의 키 코드를 다룰 수 있다. 종단점(EP1)으로부터의 키 코드는 페이로드 데이터(42) 내에서 USB 호스트(28)로 송신된다. USB 호스트(28)는 키 코드 데이터를 드라이버(30)로 전달한다. 동작 모드에 따라, 드라이버(30)는 컴퓨터(12)의 주된 운영 체제와 또는 직접적으로 BIOS에 통신한다.
페이로드 데이터(46)는 USB 호스트(28)로부터 종단점(EP2)으로 또는 타 방향으로, 즉 USB 디바이스(20)로부터 USB 호스트(28)로 향하도록 된다. 페이로드 데이터(46)는 여러 보고들을 포함한다:
- 보고 데이터(48),
- 보고 데이터(50), 그리고
- 선택적인 보고 데이터(52).
보고 데이터(48)는 예컨대 수치 "0"을 갖는 제1 보고 식별자(ID0)에 의해 식별된다. 제1 보고 데이터(48)에 대한 정의에 따라 "정규"(normal) 키 코드를 6개까지(즉 수정자는 없음), 그리고 최대 8개의 수정자를 위한 하나의 바이트를 포함하는 것이 가능하다.
보고 데이터(50)는 예컨대 수치 "1"을 갖는 제2 보고 식별자(ID1)에 의해 식별된다. 제2 보고 데이터(50)에 대한 정의에 따라 "정규" 키 코드를 6개까지(즉 수정자는 없음), 그리고 최대 8개의 수정자를 위한 하나의 바이트를 포함하는 것이 가능하다.
선택적인 보고 데이터(52)와 가능한 추가 보고 데이터에 대해서도 마찬가지일 수 있다(보고 식별자(IDx)를 보시오). 역시 "정규" 키 코드를 6개까지(즉 수정자는 없음), 그리고 최대 8개의 수정자를 위한 하나의 바이트를 이들 추가 보고 내에 포함하는 것이 가능하다.
USB 호스트(28)는 보고 데이터(44)뿐만 아니라 보고 데이터(48 내지 52)를 USB 디바이스에게서 BIOS 부트 중에 그리고 OS 동작 모드 중에 요청한다. 이는 폴링(polling)이라고 불린다. 어떠한 키 코드도 보고를 위해 존재하지 않는 경우 NAK(확인응답되지 않음(not cknowledged), 즉 요청된 데이터의 거부)가 USB 디바이스(20)로부터 보내질 수 있다. 이는 어떠한 키도 눌리지 않은 경우 또는 눌린 키의 키 코드가 동일한 송신 단계 또는 기간 내에 더 이른 보고에 의해 송신될 수 있는 경우에 그러하다.
보고 데이터(48 내지 52)의 포맷의 정의는 도 32에 관해 아래에서 기술된다. 보고 서술자 내의 보고 데이터(48 내지 52)의 정의에 기반하여 파서(32)는 페이로드 데이터(46)로부터 키 코드를 추출할 수 있다. 파서(32)는 컴퓨터(12)의 운영 체제에 키 코드를 전달하는 키보드 드라이버(30)의 일부이다.
그러므로, 두 폴링 단계 사이에서 눌릴 수 있는 모든 키 코드를 송신하기 위해 오직 두 종단점(EP1 및 EP2)이 사용된다. 나아가, 오직 6개의 정규 키 코드가 보고당 송신되기 때문에 오버헤드 데이터(overhead data)가 별로 없다(즉 오직 하나의 키 코드가 그룹 내에서 송신되어야 한다면 수정자를 위한 데이터를 제외하고 오직 5 바이트 오버헤드가 있음).
도 27은 USB 사양에 따라 디바이스 서술자(100)를 예시한다(예컨대 USB 2.0, April 27, 2000, 페이지 262 및 263를 보시오). 다음에서는 발명의 더 나은 이해를 가능하게 하는 이들 필드만이 언급된다. 다른 필드도 사용되나 발명과 긴밀한 관계를 갖지는 않는다.
디바이스 서술자(100)는 예컨대:
- 서술자의 시작에서부터 0 바이트의 오프셋을 갖는 길이 데이터(102),
- 1 바이트의 그리고 2 바이트의 오프셋을 갖는 서술자 데이터(104),
- 4 바이트의 오프셋을 갖는 디바이스 클래스 데이터(106)
- 5 내지 16 바이트의 오프셋을 갖는 추가적인 서술자 데이터(108), 그리고
- 17 바이트의 오프셋을 갖는 구성 서술자의 개수(110)
로 구성되거나 이를 포함한다.
길이 데이터(102)는 바이트로 디바이스 서술자(100)의 크기를 지정한다. 디바이스 클래스 데이터(106)는 키보드의 클래스 코드를 기술한다(즉 클래스 코드 hex 03을 갖는 HID(Human Interface Device)). 구성 서술자의 개수(110)는 가능한 구성의 개수를 나타낸다. 이하에서 도 28에 관해 설명되는 바와 같은 구성 서술자에 의해 서술되는 적어도 하나의 구성이 있다.
도 28은 USB 사양에 따라 구성 서술자를 예시한다(예컨대 USB 2.0, April 27, 2000, 페이지 265 및 266을 보시오). 다음에서는, 발명의 더 나은 이해를 가능하게 하는 이들 필드만이 언급된다. 다른 필드도 사용되나 발명과 긴밀한 관계를 갖지는 않는다.
구성 서술자(120)는:
- 서술자의 시작에서부터 0 바이트의 오프셋을 갖는 길이 데이터(122),
- 1 바이트 및 2 바이트의 오프셋에서의 서술자 데이터(124),
- 4 바이트의 오프셋에서의 인터페이스 서술자의 개수(126),
- 5 내지 7 바이트의 오프셋에서의 추가적인 서술자 데이터(128), 그리고
- 8 바이트의 오프셋에서 최대 전력을 지정하는 데이터(130)
로 구성되거나 이를 포함한다.
길이 데이터(122)는 구성 서술자(120)의 길이를 지정한다. 인터페이스 서술자의 개수(126)는 이 구성에 의해 지원되는 인터페이스의 개수를 나타낸다. 적어도 한 인터페이스가 지원된다. 인터페이스 서술자의 한 예가 아래 도 29에서 주어진다.
최대 전력을 지정하는 데이터(130)는 USB 디바이스가 완전히 동작가능한(fully operational) 경우 이 특정 구성 내에서 버스로부터 그 디바이스의 최대 전력 소비를 준다(2mA(milli ampere) 단위로 표현되고, 예컨대 50 = 100 mA임).
도 29는 USB 사양에 따라 인터페이스 서술자(140)를 예시한다(예컨대 USB 2.0, April 27, 2000, 페이지 268 및 269를 보시오). 다음에서는, 발명의 더 나은 이해를 가능하게 하는 이들 필드만이 언급된다. 다른 필드도 사용되나 발명과 긴밀한 관계를 갖지는 않는다.
인터페이스 서술자(140)는:
- 0 바이트의 오프셋을 가지는 길이 데이터(142),
- 서술자의 시작에서부터 1 바이트, 2 바이트 및 3 바이트의 오프셋을 갖는 서술자 데이터(144),
- 4 바이트의 오프셋에서 종단점의 개수(146),
- 5 바이트 내지 7 바이트의 오프셋에서의 추가적인 서술자 데이터(148),
- 8 바이트의 오프셋에서 스트링 데이터(string data)의 인덱스(index)(150)
로 구성되거나 이를 포함한다.
길이 데이터(142)는 인터페이스 서술자의 크기를 지정한다. 종단점의 개수(146)는 종단점 0을 제외한, 이 인터페이스에 의해 사용되는 종단점의 개수를 나타낸다. 종단점 서술자의 한 예가 아래에서 도 31에 주어진다. 스트링 데이터의 인덱스(150)는 이 인터페이스(즉 인터페이스 서술자(140)에 의해 지정되는 인터페이스)를 서술하는 스트링 서술자(string descriptor)의 인덱스를 나타낸다.
도 30은 USB 사양에 따라 HID 서술자(160)를 예시한다(예컨대 HID specification: Universal Serial Bus (USB) - Device Class Definition for Human Interface Devices (HID), Firmware Specification 6/27/01, Version 1.11, 페이지 22를 보시오). 다음에서는, 발명의 더 나은 이해를 가능하게 하는 이들 필드만이 언급된다. 다른 필드도 사용되나 발명과 긴밀한 관계를 갖지는 않는다.
HID 서술자(160)는
- 0 바이트의 오프셋에서의 길이 데이터(162),
- 1 바이트, 2 바이트 및 4 바이트의 오프셋에서의 서술자 데이터(164),
- 5 바이트의 오프셋에서 보고 서술자의 개수(166),
- 6 바이트의 오프셋에서의 추가적인 서술자 데이터(168),
- 7 바이트의 오프셋에서 보고 서술자의 길이를 지정하는 길이 데이터(170),
- 9 바이트의 그리고 가능하게는 10바이트의 오프셋에서의 추가적인 데이터(172)
로 구성되거나 이를 포함한다.
길이 데이터(162)는 HID 서술자(160)의 총 길이인 수적 표현(numerical expression)이다. 보고 서술자의 개수(166)는 항상 적어도 하나인 클래스 서술자(즉 보고 서술자)의 개수를 지정하는 수적 표현이다. 보고 서술자의 길이를 지정하는 길이 데이터(170)는 보고 서술자의 총 길이인 수적 표현이다. 보고 서술자의 한 예가 아래에서 도 32에 관해 설명된다.
도 31은 USB 사양에 따라 종단점 서술자(180)를 예시한다(예컨대 USB 2.0, April 27, 2000, 페이지 269 내지 271을 보시오). 다음에서는, 발명의 더 나은 이해를 가능하게 하는 이들 필드만이 언급된다. 다른 필드도 사용되나 발명과 긴밀한 관계를 갖지는 않는다.
종단점 서술자(180)는:
- 0 바이트의 오프셋에서의 길이 데이터(182),
- 1 바이트의 오프셋에서의 서술자 데이터(184),
- 2 바이트의 오프셋에서의 종단점 어드레스 데이터(endpoint address data)(186),
- 4 바이트 및 5 바이트의 오프셋에서의 추가적인 서술자 데이터(188),
- 6 바이트의 오프셋에서의 간격 데이터(interval data)(190)
로 구성되거나 이를 포함한다.
길이 데이터(182)는 이 서술자(180)의 크기를 지정한다. 종단점 어드레스 데이터(186)는 USB 디바이스(20) 상의 종단점의 어드레스 또는 종단점 식별자를 기술한다(도 26을 보시오). 간격 데이터(190)는 데이터 전송을 위한 종단점을 폴링하기 위한 간격을 지정한다. 그 간격은 디바이스 동작 속도, 즉 1 밀리초 아니면 125 밀리초 단위에 따라 프레임 또는 마이크로 프레임으로 표현된다. 최고 속도(full speed) 또는 낮은 속도 인터럽트 종단점에 대해, 이 필드의 값은 1부터 255까지일 수 있다.
도 32는 HID 서술자(160) 내에서 참조되는 보고 서술자(200)를 예시한다. 보고 서술자들 및/또는 보고 서술자들의 단일한 데이터 필드들이 HID 사양 내에서 언급되고 지정된다. 그러나, 추가적인 정의의 여지가 있다. 여기서, 보고 서술자는 HID 사양 내에서 언급되지 않은 동일한 키보드를 위한 두 개의 보고를 정의한다.
예컨대 HID specification: Universal Serial Bus (USB) - Device Class Definition for Human Interface Devices (HID), Firmware Specification 6/27/01, Version 1.11, 페이지 23 내지 페이지 25를 보시오. 다음에서는, 발명의 더 나은 이해를 가능하게 하는 이들 필드만이 언급된다. 다른 필드도 사용되나 발명과 긴밀한 관계를 갖지는 않는다.
보고 서술자(200)는:
- 헤드 데이터(head data)(202),
- 제1 보고 정의(204), 그리고
- 제2 보고 정의(206)
로 구성되거나 이를 포함한다.
헤드 데이터(202)는:
- 서술자 데이터(210)(예컨대 USAGE_PAGE(...)),
- 추가적인 서술자 데이터(212)(예컨대 USAGE(...)) 그리고
- 모음의 시작의 정의(214)(예컨대 COLLECTION())
로 구성되거나 이를 포함한다.
제1 보고 정의(204)는:
- 제1 보고 식별자(216)(예컨대 REPORT ID(0)),
- 제1 보고의 서술자 데이터(218)(예컨대 usage(...), usage minimum(...), usage maximum(...), logical minimum(...), logical maximum(...)),
- 보고 크기(220)(예컨대 report size(x), 여기서 x는 1 내지 n의 범위 내의 수이고, n은 예컨대 32 이상임),
- 보고 카운트(222)(예컨대 report count(y), 여기서 y는 1 내지 n의 범위 내의 수이고, n은 예컨대 32 이상임),
- 입력 정의 또는 출력 정의(224)(예컨대 입력 (데이터, 변수, 절대치)),
- 추가적인 서술자 데이터(226)(예컨대 입력(상수), 즉 스페이서 바이트(spacer byte))
로 구성되거나 이를 포함한다.
제2 보고 정의(206)는:
- 제2 보고 식별자(228)(예컨대 REPORT ID(1)),
- 제2 보고의 서술자 데이터(230)(예컨대 usage(...), usage minimum(...), usage maximum(...), logical minimum(...), logical maximum(...)),
- 보고 크기(232)(예컨대 report size(y), 여기서 y는 1 내지 n의 범위 내의 수이고, n은 예컨대 32 이상임),
- 보고 카운트(234)(예컨대 report count(w), 여기서 w는 1 내지 n의 범위 내의 수이고, n은 예컨대 32 이상임),
- 입력 정의 또는 출력 정의(236)(예컨대 입력 (데이터, 변수, 절대치)),
- 추가적인 서술자 데이터(238)(예컨대 입력(상수), 즉 스페이서 바이트)
로 구성되거나 이를 포함한다.
상이한 보고 식별자들로써 두 개가 넘는 보고를 정의하는 것이 또한 가능하다(데이터(240)를 보시오).
이는 키보드 보고 서술자의 구현의 한 예이다:
Figure pct00001
Figure pct00002
도 33은 컴퓨터(12) 및 키보드(10) 간 데이터 교환(250)을 예시한다.
컴퓨터(12) 또는 더욱 정확하게는 컴퓨터(12) 내의 USB 호스트(28)는 IR(Interrupt Request) 전송 요청(252)을 키보드(10)에, 즉 키보드(10) 내에 구현된 USB 디바이스(20)에 보낸다. 요청(252)은 규칙적인 간격으로 보내어진다. 이는 또한 폴링으로서 알려져 있다.
키보드(10) 내의 USB 디바이스는 보고 데이터(256)를 포함하는 회신(answer)으로써 요청(252)에 회신한다. 보고 데이터(258)는 동일한 회신 내에서, 즉 더욱 상세하게는 DATA0 및 DATA1 단계에서, 또는 동일한 폴링 사이클 내의 추가적인 요청(252)에 응답하여 보내어질 수 있다.
보고 데이터(256)는 제1 보고 식별자(ID(0)) 및 키 코드의 제1 그룹을 포함한다. 보고 데이터(258)는 제2 보고 식별자(ID(1)) 및 키 코드의 제2 그룹을 포함한다. 제2 그룹을 위해 어떠한 키 코드도 남겨져 있지 않은 경우 빈 제2 보고가 보내지거나 NAK가 보내질 수 있다.
도 34는 컴퓨터의 시작 중의 방법 단계를 예시한다. 그 방법은 방법 단계(S2)에서 또는 약칭으로 단계(S2)에서 시작한다. 그 방법은 예컨대 컴퓨터(12)의 리셋(reset)으로 시작한다. 단계(S4 내지 S8)는 BIOS의 부트 프로세스에 관련된다. 단계(S12 내지 S24)는 부트 프로세스에 그리고 컴퓨터(12)의 주된 운영 체제의 동작의 정규 모드에 관련된다.
단계(S4)는 단계(S2) 후 뒤따른다. 단계(S4)에서 BIOS는 예컨대 종단점(EP1)의 구성을 결정하기 위해 종단점(EP0)과 통신한다. 다른 종단점(EP2 등)은 BIOS에 의해 사용되지 않는다.
단계(S6)에서, BIOS는 그때 키(예컨대 BIOS 내의 셋업(set up)을 바꾸기 위해 키 "F1" 또는 다른 키 또는 키들의 조합)가 눌렸는지 여부를 종단점(EP1)에 요청한다. 키보드(20)는 단계(S8)에서 그때 눌린 키를 위한 키 코드를 송신한다.
BIOS 부트 프로세스가 완료된 후에는 USB 호스트를 리셋하는 리셋 신호가 생성된다(단계(S10)를 보시오). 동시에, 컴퓨터(12)의 운영 체제가 시작 또는 부팅된다.
단계(S12)에서 주된 운영 체제는 종단점(EP0), 즉 디폴트 종단점으로 및/또는 이로부터 데이터를 송신한다. 이 송신 중에 모든 종단점(EP0, EP1, EP2, EPx 등)을 위한 서술 데이터가 USB 호스트(28)에 송신된다. 대응하는 종단점은 필요한 경우 구성되고 초기화될 수 있다. 초기화 후, 종단점은 보통의 모드(regular mode)에서 사용될 수 있다.
종단점(EP1)은 단계(S14)에서 요청된다. 종단점(EP1)은 단계(S16)에서, 예컨대 제1 실시예에서 적어도 두 개의 보고를 사용하여 제1 그룹의 각각의 키 코드가 있다면 이를, 그리고 제2 그룹의 각각의 키 코드를 송신함으로써, 회신한다.
종단점(EP2)은 단계(S18)에서 요청된다. 종단점(EP2)은 단계(S20)에서, 예컨대 제1 실시예에서 다른 입력 디바이스의 각각의 데이터를 송신함으로써, 회신한다. 제2 실시예에서 종단점(EP2)은 제2 그룹을 위한 임의의 키 코드가 있는 경우에 이 그룹의 키 코드를 송신하기 위해 사용될 수 있다.
종단점(EPx)은 단계(S22)에서 요청된다. 종단점(EPx)은 단계(S24)에서, 예컨대 종단점 특정 데이터(endpoint specific data)를 송신함으로써, 회신한다.
단계(S12 내지 S22)가 반복된다(단계(S24)를 보시오). 예컨대 컴퓨터(12)를 스위치 오프하는 것에 의해, 그 방법은 단계(S26)에서 종료한다.
도 35는 USB 케이블(314)을 통해 컴퓨터(312)에 연결된 키보드(310)를 사용하는 제2 실시예를 예시한다.
키보드(310)는:
- 마이크로제어기(316)(즉 프로세서, 메모리 및 주변 회로, 또는 마이크로프로세서 또는 단순히 프로세서 칩),
- 복수의 푸시 버튼(예컨대 푸시 버튼(317)을 보시오), 또는 다른 입력 요소(예컨대 터치 스크린),
- 메모리(318)(마이크로제어기(316)의 일부일 수 있음),
- USB 디바이스 기능(320)(마이크로제어기(316)의 또는 다른 USB 칩의 일부일 수도 있음)
을 포함한다.
모든 입력 요소는 동일한 요소, 예컨대 푸시 버튼(317)뿐만 아니라 푸시 버튼 헤드(317a)를 포함할 수 있다. 키 코드(예컨대 317b)가 정의되고 각각의 푸시 버튼(예컨대 317) 또는 푸시 버튼 헤드(예컨대 317a)를 위해 사용될 수 있다. 푸시 버튼(317)은 글자 "A"를 갖추고 있는 푸시 버튼 헤드에 속할 수 있다. 따라서, 대응하는 키 코드(317b)는 hex 04이다(즉 여기서 decimal 04와 동일함).
메모리(M 또는 318)는 프로세서 또는 제어기(316)를 위한 동작 명령어를 포함하는 펌웨어(322)를 포함할 수 있다. 다음에서 언급되는 방법들은 펌웨어(322)의 명령어가 프로세서 또는 제어기(316)에 의해 처리되는 경우 실행된다. 대안적으로, 프로세서가 없고 제어기(316)가 없는 회로가 사용될 수 있다(예컨대 FPGA(Field Programmable Gate Array)).
컴퓨터(312)는:
- 프로세서(324)(예컨대 마이크로프로세서),
- 프로세서(324)를 위한 명령어 데이터 및/또는 명령어의 처리 중에 사용될 수 있는 다른 데이터를 저장하는 메모리(326), 그리고
- 예컨대 USB 사양에 따라 동작하는 USB 호스트(328)
를 포함한다.
메모리(M 또는 330)는:
- 키보드(310)를 위한 디바이스 드라이버(330) 프로그램, 그리고/또는
- 보고 서술자를 판독할 수 있고/있거나 그러한 보고 서술자를 따르는 보고를 수신할 수 있는 파서 프로그램(332)
을 저장할 수 있다. 파서 프로그램(332)은 디바이스 드라이버(330)의 일부일 수 있다.
USB 호스트(328)는 USB 케이블(314)을 통해 키보드(310) 내에 정의되고 구현된 여러 종단점과 통신한다:
- USB 디바이스(320)의, 즉 키보드(310)의 구성 목적으로 주로 사용되는 종단점(EP0a),
- 예컨대 BIOS의 부트 프로토콜과 관련하여 사용되는 종단점(EP1a),
- 컴퓨터(312)의 운영 체제의 제어 하에 키 코드(317b)의 송신을 위해 사용되는 종단점(EP2a),
- 선택적인 종단점(EPxa)(x는 3 내지 32의 범위 내의 수임).
종단점(EP0a)은 디폴트 종단점이라고도 불리고 BIOS 및 주된 운영 체제의 시작 중에 다른 종단점의 구성을 위해 사용된다(구성 데이터(340)를 보시오). BIOS의 시작 및 동작 중에는 오직 종단점(EP0a) 및 종단점(EP1a)이 사용된다. 종단점(EP1a)은 이 단계 내에서 종단점(EP0a)을 통해 구성된다. 양방향 데이터 전송(341)이 USB 호스트(328)로부터 USB 디바이스(320)로 그리고 반대 방향으로, 즉 USB 디바이스(320)로부터 USB 호스트(328)로 일어난다.
종단점(EP1a)은 1 내지 6개의 키 코드 바이트에 수정자를 위한 하나의 바이트까지 송신하는 데에 사용될 수 있다(부트 프로토콜 데이터(344)를 보시오). 대부분의 BIOS는 송신당 그러한 개수의 키 코드를 다룰 수 있다. 종단점(EP1a)으로부터의 키 코드는 페이로드 데이터(342) 내에서 USB 호스트(328)로 송신된다. USB 호스트(328)는 키 코드 데이터를 드라이버(330)로 전달한다. 동작 모드에 따라, 드라이버(330)는 컴퓨터(312)의 주된 운영 체제와 또는 직접적으로 BIOS에 통신한다.
페이로드 데이터(346)는 USB 호스트(328)로부터 종단점(EP2a)으로 또는 타 방향으로, 즉 USB 디바이스(320)로부터, 종단점(EP2a), USB 호스트(328)로 향하도록 된다. 페이로드 데이터(346)는 보고 데이터(348)를 포함한다.
보고 데이터(348)는 반드시 보고 식별자를 가져야 하는 것은 아니다. 보고 데이터(348)에 대한 정의에 따르면 예컨대 "정규" 키 코드(317b)를 100개까지(즉 수정자는 없음), 그리고 수정자를 위한 하나의 바이트를 포함하는 것이 가능하다.
선택적인 페이로드 데이터(350)는 USB 호스트(346)로부터 종단점(EPxa)으로 또는 타 방향으로, 즉 USB 디바이스(320)로부터, 종단점(EPxa), USB 호스트(28)로 향하도록 된다. 페이로드 데이터(350)는 선택적인 보고 데이터(352)를 포함한다.
선택적인 보고 데이터(352)는 반드시 보고 식별자를 가져야 하는 것은 아니다. 보고 데이터(352)에 대한 정의에 따르면 예컨대 "정규" 키 코드(317b)를 100개까지(즉 수정자는 없음), 그리고 수정자를 위한 하나의 바이트를 포함하는 것이 가능하다.
USB 호스트(328)는 보고 데이터(344)뿐만 아니라 보고 데이터(348) 및 선택적으로는 보고 데이터(350)를 USB 디바이스(320)에게서 BIOS 부트 중에 그리고 OS 동작 모드 중에 요청한다. 이는 폴링이라고 불린다. 어떠한 키 코드도 보고를 위해 존재하지 않는 경우 NAK(not cknowledged)가 USB 디바이스(320)로부터 보내질 수 있다. 이는 어떠한 키도 눌리지 않은 경우 또는 눌린 키의 키 코드가 동일한 송신 단계 또는 기간 내에 더 낮은 식별자와 함께 종단점에 의해 송신될 수 있는 경우에 그러하다.
제2 실시예에서, 보고 데이터의 포맷의 정의는 또한 USB 사양 및/또는 HID 사양을 따른다. 각각의 관련 종단점에 대해 오직 하나의 보고가 정의되기에 어떠한 보고 식별자도 필요하지 않다. 그러나, 보고 식별자가 사용될 수는 있다.
그러므로, 오직 하나의 보고가 하나의 종단점(EP1a, EP2a 및 EPxa)를 위해 사용된다. 이는 보고의 단순한 정의를 가능하게 한다. 보고 중 적어도 하나는 하나의 폴링 사이클에서 송신되어야 하는 가령 7개를 넘는 키 코드, 20개를 넘는 키 코드 또는 50개를 넘는 키 코드를 포함하는 매우 거대한 보고이다. 이 키 코드들에 속한 키들은 예컨대 매크로 레코더 프로그램(macro recorder program)에 의해 눌리고/거나 쳐질(played) 수 있다.
바람직하게는, 제2 종단점은 거대하거나 더 큰 보고를 생성한다. 이는 주된 운영 체제가 키 코드의 송신을 위해 더 큰 보고를 다룰 수 없는 경우에도 키 코드의 송신을 위해 제1 종단점의 사용을 가능하게 한다.
발명은 키보드 또는 다른 입력 디바이스를 위해서는 물론 출력 디바이스를 위해서도 사용될 수 있다.
HID 사양은 USB에 대해 유효할 뿐만 아니라 다른 전송 프로토콜에 대해서도, 예컨대 무선 프로토콜(가령 블루투스(Bluetooth))에 대해서도 유효하다.
본 발명의 실시예들 및 이들의 이점이 상세히 기술되었으나, 부기된 청구항에 의해 정의되는 바와 같은 발명의 사상 및 범주를 벗어나지 않고 다양한 변화, 대체 및 변경이 그 안에서 행해질 수 있다는 점이 이해되어야 한다. 예를 들어, 본 문서에서 기술된 특징, 기능, 프로세스 및 방법 중 다수는 본 발명의 범주 내에 계속 있으면서도 달라질 수 있다는 점이 당업자에 의해 쉬이 이해될 것이다. 더욱이, 본 출원의 범주는 본 발명 내에서 기술된 시스템, 프로세스, 제조, 방법 또는 단계의 특정한 실시예들에 한정되도록 의도된 것이 아니다. 발명의 개시로부터 통상의 기술자가 쉬이 인식할 것이듯이 본 문서에서 기술된 대응하는 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는 현재 존재하거나 이후 개발될 시스템, 프로세스, 제조, 방법 또는 단계가 본 발명에 따라 활용될 수 있다. 따라서, 부기된 청구항은 그것의 범주 내에 그러한 시스템, 프로세스, 방법 또는 단계를 포함하도록 의도된다.
도입부의 실시예들을 서로 조합하는 것이 가능하다. 나아가, 도면의 설명의 예들을 서로 조합하는 것이 가능하다. 또한, 도입부의 실시예들과 도면의 설명의 예들을 조합하는 것이 가능하다.

Claims (93)

  1. 입력 장치(10)의 활성 입력 요소(S1a, S2a)를 결정하는 방법으로서,
    매트릭스 배열(Ma)에 따라 연결된 입력 요소(S1a 내지 S2b)를 제공하는 단계와,
    각각 각자의 구동 회로(2, 4)에 연결된 적어도 두 개의 구동 라인들(L1, L2)을 상기 매트릭스 배열(Ma) 내에 제공하는 단계와,
    활성 입력 요소(S1a, S2a)를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인들(Ca, Cb)을 상기 매트릭스 배열(Ma) 내에 제공하는 단계와,
    각각 입력 요소(S1a 내지 S2b) 및 저항기(R1a 내지 R2b)를 포함하는 직렬 연결들(SC1 내지 SC4)을 상기 매트릭스 배열(Ma) 내에 제공하는 단계 - 각각의 직렬 연결(SC1 내지 SC4)은 상기 구동 라인들(L1, L2) 중 각자의 구동 라인에 연결되고 상기 감지 라인들(Ca, Cb) 중 각자의 감지 라인에 연결됨 - 와,
    상기 감지 라인들(Ca, Cb)을 제1 전위에 연결하는 풀 저항기들(Ra, Rb)을 제공하는 단계와,
    활성 구동 라인(L1)을 상기 제1 전위와 상이한 제2 전위로 구동할 수 있고, 비활성 구동 라인(L2) 또는 비활성 구동 라인들을 상기 제1 전위로 또는 상기 제1 전위와 상기 제2 전위와의 차이의 절대값의 최대 50 퍼센트 또는 최대 10 퍼센트인 상기 제1 전위로부터의 절대 오프셋 값을 갖는 전위로 구동할 수 있는, 상기 구동 회로(2, 4)를 위한 제어 디바이스를 사용하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 구동 라인들(L1, L2) 중 제1 구동 라인(L1)을 활성화하는 단계 - 바람직하게는 한 번에 상기 구동 라인들(L1, L2) 중 단 하나의 구동 라인(L1)만 활성임 - 와,
    상기 제1 구동 라인(L1)을 활성화하는 동안 상기 감지 라인들(Ca, Cb) 중 제1 감지 라인(Ca) 상의 전기 신호의 제1 값, 바람직하게는 전위의 제1 값을 검출하는 단계와,
    상기 제1 값만큼의 임계 값(SW)의 초과 또는 언더슛(undershoot)에 기인하여 상기 제1 구동 라인(L1)과 상기 제1 감지 라인(Ca) 간의 직렬 연결(SC1, SC2) 내의 활성화된 입력 요소(S1a, S2a)를 결정하는 단계를 포함하되,
    상기 임계 값(SW)은 활성 입력 요소(S1a, S2a)의 개수와 무관하거나 상기 제1 감지 라인(L1) 또는 상기 감지 라인들 중 다른 감지 라인(L2) 또는 상기 제1 감지 라인(L1) 및 상기 감지 라인들 중 다른 감지 라인(L2) 상의 활성 입력 요소의 적어도 둘, 셋 또는 넷의 상이한 개수와 무관한
    방법.

  3. 제1항 또는 제2항에 있어서,
    상기 제1 구동 라인(L1)을 활성화하는 동안, 특히 상기 제1 감지 라인(Ca)에 대한 결정 후 상기 감지 라인들(Ca, Cb) 중 제2 감지 라인(Cb) 상의 전기 신호의 제2 값, 바람직하게는 전위의 제2 값을 검출하는 단계와,
    상기 제2 값만큼의 상기 임계 값(SW)의 초과 또는 언더슛에 기인하여 상기 제1 구동 라인(L1)과 상기 제2 감지 라인(Cb) 간의 직렬 연결(SC3) 내의 활성화된 입력 요소(S1b)를 결정하는 단계를 포함하는
    방법.
  4. 제3항에 있어서,
    상기 제1 값 및 상기 제2 값을 검출한 후 상기 제1 구동 라인(L1)을 비활성화하는 단계와,
    상기 구동 라인들(L1, L2) 중 제2 구동 라인(L2)을 활성화하는 단계와,
    상기 제1 값만큼의 상기 임계 값(SW)의 초과 또는 언더슛에 기인하여 상기 제2 구동 라인(L2)과 상기 제1 감지 라인(Ca) 간의 직렬 연결(SC2) 내의 활성화된 입력 요소(S2b)를 결정하는 단계를 포함하는
    방법.
  5. 제2항이 인용되는 한도로 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 매트릭스 배열(Ma)은 캘리브레이션 라인(calibration line)(Ccc)을 포함하되,
    기준 저항기들(R1cc, R2cc)이 상기 캘리브레이션 라인(Ccc)에 연결되고 각 구동 라인(L1, L2)에 각각 연결되며,
    상기 방법은
    상기 캘리브레이션 라인(Ccc)을 사용하여 캘리브레이션 값을 검출하는 단계와,
    상기 임계 값(SW)을 결정하기 위해 상기 캘리브레이션 값을 사용하는 단계를 포함하되,
    상기 캘리브레이션 라인(Ccc)은 바람직하게는 추가적인 풀 저항기(Rcc)에 의해 상기 제1 전위에 연결되는
    방법.
  6. 제5항에 있어서,
    한 구동 라인(L1, L2)의 활성화 후이되 상기 감지 라인들(Ca, Cb) 중 하나의 감지 전에, 바람직하게는 각 구동 라인(L1, L2)에 대해, 상기 캘리브레이션 라인(Ccc)이 감지되고 상기 임계 값(SW)이 결정되는
    방법.
  7. 제5항 또는 제6항에 있어서,
    상기 임계 값(SW)은 감지된 감지 라인(Ca, Cb) 상의 활성화된 입력 요소(S1a 내지 S2b)의 상이한 개수를 각각 나타내는 추가적인 임계 값 또는 임계 범위(TR1 내지 TR11)를 계산하거나 결정하기 위해 사용되는 제1 임계 값(SW)인
    방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 저항기(R1a 내지 R2b) 또는 상기 저항기(R1a 내지 R2b)와 상기 풀 저항기(Ra, Rb, Rcc)는, 특히 최대 저항 값에 대해 5 퍼센트보다 작거나 3 퍼센트보다 작거나 1 퍼센트보다 작은 공차(tolerance)의 범위 내에서, 동일한 저항 값을 갖는 것과,
    상기 저항기(R1a 내지 R2b)는 고정된 저항 값을 갖고, 바람직하게는 상기 저항기(R1a 내지 R2b)의 감압도(pressure sensitivity)가 없는 것과,
    상기 저항기(R1a 내지 R2b) 또는 상기 저항기(R1a 내지 R2b)와 상기 풀 저항기(Ra, Rb, Rcc)는 카본 프린팅(carbon printing)에 의해 생산되는 것과,
    상기 저항기(R1a 내지 R2b)는 적어도 4.5 킬로 옴(kilo ohms) 또는 5 킬로 옴의 저항 값을 갖는 것
    중 적어도 하나인
    방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 매트릭스 배열(Ma)의 스캐닝(scanning)은
    - 검출된 값에 기반하여 및 활성 입력 요소(S1a 내지 S2b)의 개수를 나타내는 임계 값(TR1 내지 TR11)에 기반하여, 감지되는 감지 라인(Ca, Cb)에서 상기 제1 활성 입력 요소(S1a 내지 S2b)가 감지되면, 얼마나 많은 입력 요소(S1a 내지 S2b)가 상기 감지 라인(Ca, Cb) 상에서 활성인 것인지 결정되되,
    활성 입력 요소(S1a 내지 S2b)의 결정된 개수와 동일한 수의 활성 입력 요소(S1a 내지 S2b)가 검출되면 어떠한 추가적인 전기 신호도 검출되지 않는 것과,
    - 모든 구동 라인(L1, L2)이 상기 제2 전위로 구동되고 활성화된 입력 요소(S1a 내지 S2b)를 갖지 않는 감지 라인(Ca, Cb)이 결정되되,
    상기 결정된 감지 라인(Ca, Cb)은 현재 스캔 사이클(scan cycle) 내에서 상기 매트릭스 배열(Ma)의 스캔 중에 더 이상 고려되지 않는 것과,
    - 상기 구동 라인들(L1, L2)을 구동하는 순서는 대응하는 구동 라인(L1, L2)에 연결된 입력 요소(S1a 내지 S2b)를 활성화할 확률에 의존하는 것과,
    - 상기 구동 라인들(L1, L2)을 구동하기 위해 이분법(bisection method)이 사용되는 것
    중 적어도 하나의 방책에 의해 가속화되는(accelerated)
    방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 구동 라인들(L1, L2) 중 하나의 구동 라인(L1)을 활성화하는 단계와,
    상기 구동 라인들 중 상기 하나의 구동 라인(L1)을 활성화하는 동안 상기 감지 라인들(Ca, Cb) 중 하나의 감지 라인(Ca) 상의 전기 신호의 제1 값, 바람직하게는 전위의 제1 값을 감지하는 단계를 포함하되,
    상기 감지된 값이 상기 감지된 감지 라인(Ca) 상에서 어떠한 입력 요소(S1a 내지 S2b)도 눌리지 않았음을 나타내는 값과 상이한지 시험되고(tested),
    상기 시험이 긍정적(positive)인 경우, 바람직하게는 고스트 키잉(ghost keying)에 대한 추가적인 시험 없이, 특히 활성화되지 않았으나 활성 입력 요소로서 검출될 수 있는 적어도 하나의 입력 요소(S1a 내지 S2b)에 대한 추가적인 시험 없이, 상기 활성 구동 라인(L1)과 상기 감지된 감지 라인(Ca) 간의 입력 요소(S1a)가 활성 입력 요소(S1a)로서 분류되며(classified),
    특히 활성 입력 요소로서 분류된 입력 요소(S1a 내지 S2b)의 키 코드(key code)가 컴퓨터에, 바람직하게는 USB 또는 블루투스(Bluetooth) 프로토콜을 통해 전송되고,
    특히 상기 제1 전위는 양의 동작 전위(positive operation potential)인
    방법.
  11. 복수의 입력 요소들(S1a, S2a)을 포함하되, 특히 제1항 내지 제10항 중 어느 한 항에 따른 방법을 수행하는 입력 장치(10)로서,
    상기 입력 요소들(S1a, S2a)은 매트릭스 배열(Ma)에 따라 연결되고,
    상기 매트릭스 배열(Ma)은 각각 각자의 구동 회로(2, 4)에 연결된 적어도 두 개의 구동 라인들(L1, L2)을 포함하고,
    상기 매트릭스 배열(Ma)은 활성 입력 요소(S1a, S2a)를 검출하기 위해 사용될 수 있는 적어도 두 개의 감지 라인들(Ca, Cb)을 포함하되,
    상기 매트릭스 배열(Ma)에 따라 각각 입력 요소(S1a 내지 S2b) 및 저항기(R1a 내지 R2b)를 포함하는 직렬 연결들(SC1 내지 SC4)이 각각 상기 구동 라인들(L1, L2) 중 각자의 구동 라인에 연결되고 상기 감지 라인들(Ca, Cb) 중 각자의 감지 라인에 연결되는
    입력 장치(10).
  12. 제11항에 있어서,
    상기 감지 라인들(Ca, Cb)은 풀 저항기들(Ra, Rb)에 의해 제1 전위에 연결되고,
    활성 구동 라인(L1)을 상기 제1 전위와 상이한 제2 전위로 구동하고 비활성 구동 라인(L2) 또는 비활성 구동 라인들을 상기 제1 전위로 또는 상기 제1 전위와 상기 제2 전위와의 차이의 절대값의 최대 50 퍼센트 또는 최대 10 퍼센트인 상기 제1 전위로부터의 절대 오프셋 값을 갖는 전위로 구동하는, 상기 구동 회로(2, 4)를 위한 제어 디바이스가 있는
    입력 장치(10).
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 매트릭스 배열(Ma)은 캘리브레이션 라인(Ccc)을 포함하되,
    각기의 기준 저항기들(R1cc, R2cc)이 상기 캘리브레이션 라인(Ccc)에 연결되고 각 구동 라인(L1, L2)에 각각 연결되며,
    상기 캘리브레이션 라인(Ccc)은 캘리브레이션 값을 검출하는 검출 유닛(detection unit)에 연결되거나 연결가능한
    입력 장치(10).
  14. 제13항에 있어서,
    활성화된 입력 요소(S1a 내지 S2b)의 개수와 무관하게 또는 동일한 감지 라인(Ca, Cb)에 연결된 활성화된 입력 요소(S1a 내지 S2b)의 적어도 둘 또는 셋 또는 넷의 상이한 개수와 무관하게 입력 요소(S1a 내지 S2b)의 활성화를 나타내는 임계 값(SW)을 결정하거나, 동일한 감지 라인(Ca, Cb)에 연결된 활성화된 입력 요소(S1a 내지 S2b)의 정확한 개수를 나타내는 적어도 하나의 임계 값 또는 임계 범위(TR1 내지 TR11)를 결정하거나, 상기 임계 값(SW)을 결정하고 상기 적어도 하나의 임계 값 또는 임계 범위(TR1 내지 TR11)를 결정하는 임계 결정 유닛(threshold determination unit)을 포함하는
    입력 장치(10).
  15. 제10항 내지 제14항 중 어느 한 항에 있어서,
    동작 전위에 의해 동작되고 기준 전위를 사용하는 검출 유닛(ADC)을 포함하고,
    상기 기준 전위는 상기 검출 유닛의 상기 동작 전위에 비해 더 평활하게 필터링되는
    입력 장치(10).
  16. 제10항 내지 제15항 중 어느 한 항에 있어서,
    상기 저항기(R1a 내지 R2b)는, 또는 상기 저항기(R1a 내지 R2b)와 상기 풀 저항기(Ra, Rb, Rcc)는, 특히 최대 저항 값에 대해 5 퍼센트보다 작거나 3 퍼센트보다 작거나 1 퍼센트보다 작은 공차의 범위 내에서, 동일한 저항 값을 갖는 것과,
    상기 저항기(R1a 내지 R2b)는 고정된 저항 값을 갖고, 바람직하게는 상기 저항기(R1a 내지 R2b)의 감압도가 없는 것과,
    상기 저항기(R1a 내지 R2b)는, 또는 상기 저항기(R1a 내지 R2b)와 상기 풀 저항기(Ra, Rb, Rcc)는 카본 프린팅에 의해 생산된 것과,
    상기 저항기(R1a 내지 R2b)는 적어도 4.5 킬로 옴 또는 5 킬로 옴의 저항 값을 갖는 것
    중 적어도 하나인
    입력 장치(10).
  17. 제10항 내지 제16항 중 어느 한 항에 있어서,
    상기 직렬 연결(SC1 내지 SC4)은 상기 매트릭스 배열(Ma)의 캐리어 기판(carrier substrate)에 대해 이동불가능한(unmovable) 저항기(R1a 내지 R2b)를 포함하거나,
    상기 직렬 연결(SC1 내지 SC4)은 상기 매트릭스 배열(Ma)의 캐리어 기판에 대해 이동가능한 저항기(R1a 내지 R2b)를 포함하는
    입력 장치(10).
  18. 제10항 내지 제17항 중 어느 한 항에 있어서,
    상기 매트릭스 배열(Ma) 내의, 또는 상기 매트릭스 배열(Ma)에 연결된, 또는 상기 매트릭스 배열(Ma) 내에 있고 상기 매트릭스 배열(Ma)에 연결된 디커플링(decoupling) 다이오드가 없는
    입력 장치(10).
  19. 제10항 내지 제18항 중 어느 한 항에 있어서,
    상기 구동 라인들(L1, L2)을 구동하기 위한 구동 회로(2, 4) 또는 구동 회로들(2, 4)은 상기 구동 라인들(L1, L2)에 직접적으로 연결되거나, 200 옴보다 작거나 100 옴보다 작은 저항을 갖는 직렬 저항기(6, 8)를 사용하여 연결되고,
    바람직하게는 상기 구동 회로(2, 4)에 연결되는 데 어떠한 풀 저항기도 사용되지 않거나 상기 구동 회로들(2, 4)의 출력들에 연결되는 데 어떠한 풀 저항기들도 사용되지 않고,
    특히 어떠한 풀 저항기들도 1 킬로 옴보다 크거나 4 킬로 옴보다 큰 저항 값을 갖지 않는
    입력 장치(10).

  20. 제10항 내지 제19항 중 어느 한 항에 있어서,
    상기 구동 회로(2, 4) 또는 구동 회로들(2, 4)은 마이크로제어기 유닛(26)의 출력 회로인
    입력 장치(10).
  21. 제1 입력 요소(S1a) 및 제1 전자 컴포넌트(R1a)의 제1 직렬 연결(SC1)에 연결되거나 활성인 경우 높은 옴 상태(high Ohmic state)를 갖는 제1 입력 디바이스에 연결된 제1 도전성 라인(conductive line)(L1)과,
    상기 제1 직렬 연결(SC1)에 연결되거나 상기 제1 입력 디바이스에 연결된 제2 도전성 라인(Ca)과,
    상기 제2 도전성 라인(Ca)으로부터 입력 신호를 수신하는 아날로그 디지털 변환기(Analog Digital Converter: ADC)를 포함하는
    입력 장치(10).
  22. 제21항에 있어서,
    제3 도전성 라인(L2)이 제2 입력 요소(S2a) 및 제2 전자 컴포넌트(R2a)의 제2 직렬 연결(SC2)에 연결되거나 활성인 경우 높은 옴 상태를 갖는 제2 입력 디바이스에 연결되는
    입력 장치(10).
  23. 제21항 또는 제22항에 있어서,
    상기 제1 도전성 라인(L1)은 추가적인 입력 요소(S1b) 및 추가적인 전자 컴포넌트(R1b)의 추가적인 직렬 연결(SC3)에 연결되거나 활성인 경우 높은 옴 상태를 갖는 추가적인 입력 디바이스에 연결되고,
    추가적인 도전성 라인(Cb)이 상기 추가적인 직렬 연결(SC3)에 연결되거나 상기 추가적인 입력 디바이스에 연결되며,
    상기 아날로그 디지털 변환기(ADC)가 선택적으로 상기 제1 도전성 라인(Ca)으로부터 또는 상기 추가적인 도전성 라인(Cb)으로부터 입력을 수신하거나, 제2 아날로그 디지털 변환기(ADC)가 상기 추가적인 도전성 라인(Cb)에 커플링되는
    입력 장치(10).
  24. 제21항 내지 제23항 중 어느 한 항에 있어서,
    상기 입력 요소들(S1a, S2a, S1b) 또는 상기 입력 디바이스들 중 적어도 하나, 또는 상기 입력 요소들(S1a, S2a, S1b) 또는 상기 입력 디바이스들 전부는 두 개의 단자만 포함하는
    입력 장치(10).
  25. 제21항 내지 제24항 중 어느 한 항에 있어서,
    상기 아날로그 디지털 변환기(ADC)는 적어도 2 비트 또는 적어도 3 비트 또는 적어도 4 비트의 출력 워드 길이(output word length)의 변환기인
    입력 장치(10).
  26. 제21항 내지 제25항 중 어느 한 항에 있어서,
    상기 제1 전자 컴포넌트(R1a)나 상기 제1 입력 디바이스는, 또는 상기 제2 전자 컴포넌트(R2a)나 상기 제2 입력 디바이스는, 또는 상기 제1 전자 컴포넌트(R1a)나 상기 제1 입력 디바이스 및 상기 제2 전자 컴포넌트(R2a)나 상기 제2 입력 디바이스는 각각 적어도 하나의 저항기(R1a, R2a) 또는 저항성 소자를 포함하거나 상기 적어도 하나의 저항기(R1a, R2a) 또는 저항성 소자로 구성되고, 바람직하게는 상기 적어도 하나의 저항기(R1a, R2a) 또는 저항성 소자는 4.5 킬로 옴 또는 5 킬로 옴보다 큰
    입력 장치(10).

  27. 제26항에 있어서,
    상기 저항기(R1a, R2a) 또는 저항성 소자 각각은 상기 저항기(R1a, R2a)의 산술 평균 값으로부터 플러스(plus) 또는 마이너스(minus) 5 퍼센트의 공차 내의 동일한 옴 값(Ohmic value) 또는 동일한 공칭 값(nominal value)을 가지는
    입력 장치(10).
  28. 제21항 내지 제27항 중 어느 한 항에 있어서,
    각각의 입력 요소는 스위칭 요소(S1a, S2a)를 포함하고,
    상기 스위칭 요소(S1a, S2a)는 바람직하게는 기계적 스위치를 포함 - 상기 기계적 스위치는 상기 스위치가 활성화되는 경우 물리적 접촉을 이루는 접촉부를 가짐 - 하거나,
    상기 스위칭 요소(S1a, S2a)는 바람직하게는 터치 감지적 또는 감압적 전자 디바이스 또는 트랜지스터를 포함하는
    입력 장치(10).
  29. 제21항 내지 제28항 중 어느 한 항에 있어서,
    상기 입력 장치(10)는 입력 요소 또는 입력 디바이스(S1a, S2a)의 활성화를, 상기 활성화의 시작에서의 신호 값과 스위치의 활성화의 종단에서의 신호 값의 신호 변화의 전반기 내에 또는 일사분기 내에 있는 임계 전압에 따라 검출하는 제어 디바이스(26)를 포함하는
    입력 장치(10).
  30. 제29항에 있어서,
    상기 제어 디바이스(26)는 적어도 두 개의 임계 값에 따라 활성화 동안 상기 입력 요소 또는 입력 디바이스의 적어도 세 개의 상태, 네 개의 상태 또는 네 개보다 많은 상태를 검출하는
    입력 장치(10).
  31. 제21항 내지 제30항 중 어느 한 항에 있어서,
    상기 입력 장치(10)는 상기 제2 도전성 라인(Ca)에 연결된 활성화된 입력 요소(S1a, S2a) 또는 입력 디바이스의 개수를 검출하는 제2 제어 디바이스(26)를 포함하는
    입력 장치(10).

  32. 제31항에 있어서,
    상기 제2 제어 디바이스(26)는 상기 아날로그 디지털 변환기(ADC)의 출력 값에 대한 적어도 두 개의 범위들(TR1 내지 TR12)을 설정하는 임계 유닛을 포함하고,
    상기 제2 제어 디바이스(26)는 동시에 상기 제2 도전성 라인(Ca) 상에서 활성화된 스위치의 개수를 결정하기 위해 상기 아날로그 디지털 변환기(ADC)의 출력을 상기 범위들(TR1 내지 TR12)과 비교하는 비교 유닛(26)을 포함하는
    입력 장치(10).
  33. 제21항 내지 제32항 중 어느 한 항에 있어서,
    적어도 상기 제1 전자 컴포넌트는 카본 저항기(carbon resistor)를 포함하거나 카본 저항기이거나, 적어도 상기 제1 입력 디바이스는 카본 저항기를 포함하되, 바람직하게는 상기 카본 저항기는 카본 프린팅에 의해 제조되는
    입력 장치(10).
  34. 제26항이 인용되는 한도로 제21항 내지 제33항 중 어느 한 항에 있어서,
    상기 입력 장치(10)는 500 그램 미만이거나 250 그램 미만의 무게(weight) 및 20 센티미터 미만의 최장 연장(largest extend) 중 적어도 하나를 갖는 디바이스의 일부이고,
    상기 저항기(R1a, R2a) 또는 저항성 소자는 적어도 20 킬로 옴 또는 적어도 30 킬로 옴의 저항도(resistivity)를 가지는
    입력 장치(10).
  35. 제26항이 인용되는 한도로 제1항 내지 제33항 중 어느 한 항에 있어서,
    상기 입력 장치(10)는 500 그램을 넘거나 1 킬로그램을 넘는 무게 및 적어도 20 센티미터의 최장 연장 중 적어도 하나를 갖는 디바이스의 일부이고,
    상기 저항기(R1a, R2a) 또는 저항성 소자는 적어도 20 킬로 옴 또는 적어도 30 킬로 옴의 저항도를 가지는
    입력 장치(10).
  36. 제21항 내지 제34항 중 어느 한 항 및 제26항에 있어서,
    상기 입력 장치(10)는 500 그램을 넘거나 1 킬로그램을 넘는 무게 및 적어도 20 센티미터의 최장 연장 중 적어도 하나를 갖는 디바이스의 일부이고,
    상기 저항기(R1a, R2a) 또는 저항성 소자는 20 킬로 옴보다 낮거나 15 킬로 옴보다 낮거나 10 킬로 옴보다 낮은 저항도를 가지는
    입력 장치(10).
  37. 입력 장치(10) 내에 입력을 넣는 방법으로서,
    제1 저항기(R1a)와 제1 스위치(S1a)의 제1 직렬 연결 또는 활성화되는 경우 높은 옴 상태를 갖는 제1 입력 디바이스를 제1 도전성 라인(Ca)에 커플링하는 단계와,
    제2 저항기(R2a) 및 제2 스위치(S2a)의 제2 직렬 연결 또는 활성화되는 경우 높은 옴 상태를 갖는 제2 입력 디바이스를 상기 제1 도전성 라인(Ca)에 커플링하는 단계와,
    상기 도전성 라인(Ca) 상의 전위를 결정하는 단계와,
    상기 전위를 적어도 두 개의 비트 또는 적어도 세 개의 비트의 디지털 값으로 변환하는 단계와,
    상기 디지털 값에 따라 상기 스위치들(S1a, S2a) 중 적어도 하나 또는 상기 입력 디바이스들 중 적어도 하나의 활성화를 결정하는 단계를 포함하는
    방법.
  38. 제37항에 있어서,
    상기 스위치들(S1a, S2a) 또는 입력 디바이스들 중 하나의 활성화의 중간 상태(intermediate state)를 결정하는 단계를 더 포함하는
    방법.
  39. 제37항 또는 제38항에 있어서,
    상기 스위치들(S1a, S2a) 또는 입력 디바이스들 중 하나의 활성화 동안 적어도 세 개의 상태, 네 개의 상태 또는 네 개보다 많은 상태를 결정하는 단계를 더 포함하는
    방법.
  40. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 디지털 값에 따라 상기 도전성 라인(Ca)에 연결되는 활성화된 스위치(S1a, S2a) 또는 입력 디바이스의 개수를 결정하는 단계를 더 포함하는
    방법.
  41. 제37항 내지 제40항 중 어느 한 항에 있어서,
    상기 제1 저항기(R1a) 또는 상기 제2 저항기(R1a)는 카본 프린팅을 사용하여 제조되는
    방법.

  42. 제37항 내지 제41항 중 어느 한 항에 있어서,
    상기 제1 저항기(R1a) 또는 상기 제1 입력 디바이스의 높은 옴 상태 및 상기 제2 저항기(R1a) 또는 상기 제2 입력 디바이스의 높은 옴 상태는 적어도 20 킬로 옴 또는 적어도 30 킬로 옴의 저항도를 가지거나,
    상기 제1 저항기(R1a) 또는 상기 제1 입력 디바이스의 높은 옴 상태 및 상기 제2 저항기(R1a) 또는 상기 제2 입력 디바이스의 높은 옴 상태는 20 킬로 옴보다 낮거나 15킬로 옴보다 낮거나 10 킬로 옴보다 낮은 저항도를 가지는
    방법.
  43. 광학 소자(32)를 제어하는 회로 장치(10)로서,
    펄스 폭 변조(pulse width modulation) 신호(26)에 의해 제어되는 변환기(18)와,
    적어도 하나의 광학 소자(32), 또는 상기 변환기(18)의 출력에 연결된 적어도 하나의 광학 소자(32)를 위한 구동기 회로와,
    상기 광학 소자(32) 또는 상기 구동기 회로를 포함하는 제1 회로 분기(circuit branch)(30, 60)에 연결되거나 연결가능한 제1 검출 유닛(ADC1, ADC2)과,
    상기 제1 검출 유닛(ADC1, ADC2)에 커플링되고(coupled) 상기 변환기(18)의 제어 입력에 커플링되며, 상기 변환기(18)의 출력 전압을 제어함으로써 상기 적어도 하나의 광학 소자(32)를 통해 또는 상기 구동기 회로를 통해 흐르는 전류를 제어하는 디지털 제어 유닛(300)을 포함하는
    회로 장치(10).
  44. 제43항에 있어서,
    상기 제1 회로 분기(30, 60)에는 상기 변환기(18) 외에 상기 제1 회로 분기(30, 60) 내의 자동 전류 제어를 위한 추가적인 전자 디바이스가 없는
    회로 장치(10).
  45. 제43항 또는 제44항에 있어서,
    상기 제1 회로 분기(30, 60)는 저항성 소자 또는 저항기(60)를 포함하고, 상기 제1 검출 유닛(ADC1)은 상기 적어도 하나의 광학 소자(32) 또는 상기 구동기 회로 및 상기 저항성 소자 또는 상기 저항기(60) 간의 연결에 연결되거나 연결가능한
    회로 장치(10).
  46. 제45항에 있어서,
    상기 제1 검출 유닛(ADC1, ADC2)은 적어도 하나의 추가적인 광학 소자 또는 적어도 하나의 추가적인 광학 소자를 위한 추가적인 구동기를 포함하는 적어도 하나의 추가적인 회로 분기에 연결되거나 연결가능한
    회로 장치(10).
  47. 제43항 내지 제46항 중 어느 한 항에 있어서,
    상기 변환기(18)의 출력에 또는 상기 제1 회로 분기(30, 60)에 연결되거나 연결가능한 제2 검출 유닛(ADC2, ADC1)을 포함하는
    회로 장치(10).
  48. 제43항 내지 제47항 중 어느 한 항에 있어서,
    상기 변환기(18)의 입력 또는 상기 회로 장치(10)의 입력에 연결되거나 연결가능한 제3 검출 유닛(ADC3, ADC4)을 포함하는
    회로 장치(10).
  49. 제43항 내지 제48항 중 어느 한 항에 있어서,
    상기 변환기(18)의 입력 또는 상기 회로 장치(10)의 입력에 연결되거나 연결가능한 제4 검출 유닛(ADC4)을 포함하는
    회로 장치(10).
  50. 제43항 내지 제49항 중 어느 한 항에 있어서,
    프로세서(P)를 포함하되,
    상기 프로세서(P)는 상기 제1 검출 유닛(ADC1, ADC2)의 출력에 커플링되고 상기 변환기(18)의 제어 입력(26)에 커플링되는
    회로 장치(10).
  51. 제43항 내지 제50항 중 어느 한 항에 있어서,
    컴퓨터와 키보드 간의 인터페이스를 특히 USB 표준 또는 PS2 표준에 따라 형성하는 인터페이스 회로(12)를 포함하는
    회로 장치(10).
  52. 제43항 내지 제51항 중 어느 한 항에 있어서,
    상기 적어도 하나의 광학 소자(32)에 의해 조명되는(illuminated) 복수의 입력 요소(14)를 포함하는
    회로 장치(10).
  53. 제43항 내지 제52항 중 어느 한 항에 있어서,
    상기 회로 장치(10)의 전체 작동 범위의 적어도 50 퍼센트 또는 적어도 75 퍼센트를 포함하는 범위 내에서 상기 회로 장치(10)의 특성 곡선(256), 특히 듀티 사이클(DuC) 대 출력 전압(U) 곡선(256)을 결정하는 추가적인 제어 유닛(300)을 포함하는
    회로 장치(10).
  54. 제43항 내지 제53항 중 어느 한 항에 있어서,
    상기 변환기(18)의 출력에서의 부하에 따라 상기 변환기(18)를 제어하기 위해 사용되는 펄스 폭 신호(26)의 주파수(f)를 변경하되, 바람직하게는 상기 변환기(18)의 더 높은 출력 전력을 위해 상기 주파수(f)를 감소시키는 추가적인 제어 유닛(300)을 포함하는
    회로 장치(10).
  55. 제43항 내지 제54항 중 어느 한 항에 있어서,
    상기 변환기(18)의 더 낮은 출력 레벨을 위해 PFM을 수행하는 추가 유닛을 포함하는
    회로 장치(10).
  56. 제43항 내지 제55항 중 어느 한 항에 있어서,
    상기 검출 유닛들 중 적어도 하나는 아날로그 디지털 변환기(ADC1 내지 ADC4)를 포함하거나 아날로그 디지털 변환기(ADC1 내지 ADC4)로 구성되는
    회로 장치(10).
  57. 제43항 내지 제56항 중 어느 한 항에 있어서,
    상기 제어 유닛(300)은 바람직하게는 상기 제1 검출 유닛(ADC1)에 커플링된 제1 서브 유닛(300, 308)을 포함하고, 상기 제1 서브 유닛(300, 308)은 상기 변환기(18)의 제어 신호(26)의 듀티 사이클 및 상기 적어도 하나의 광학 소자(32, 42)를 통해 흐르는 전류의 대응하는 전류 값(I)의, 또는 상기 변환기(18)의 출력 전압(U_LED) 및 상기 적어도 하나의 광학 소자(32, 42)를 통해 흐르는 전류의 대응하는 전류 값(I)의 값의 쌍(pairs of values)(380 내지 386)을 검출하는
    회로 장치(10).
  58. 제57항에 있어서,
    상기 제1 서브 유닛(300, 308)은 상기 전류(I)의 값(I_S)에 따라 상기 변환기(18)의 출력 전압(U_LED) 또는 듀티 사이클(DuC)을 계산하는 계산 유닛(calculation unit)(S14)을 포함하는
    회로 장치(10).
  59. 제58항에 있어서,
    상기 제1 서브 유닛(300, 308)은
    상기 값의 쌍(384, 386)을 거쳐 가는 곡선(390)을 찾는 보간 유닛(interpolation unit)과,
    상기 전류(I)의 값(I_S)에 대해 유효한 출력 전압(U_LED) 또는 듀티 사이클(DuC)을 찾는 반복 유닛(iteration unit)(S14)
    중 적어도 하나를 포함하는
    회로 장치(10).
  60. 제57항 내지 제59항 중 어느 한 항에 있어서,
    상기 제1 서브 유닛(300, 308)은 상기 적어도 하나의 광학 소자(32, 42)를 통해 흐르는 전류 값(I) 및 기준 전류(I_S)의 편차(deviation)(D_I)에 따라 상기 변환기(18)의 출력 전압(U_LED) 또는 듀티 사이클(DuC)을 변경하는 변경 유닛(changing unit)(S116)을 포함하는
    회로 장치(10).
  61. 제60항에 있어서,
    상기 제1 서브 유닛(300, 308)은
    상기 기준 전류(I_S)를 넘는 전류에서의 곡선(390)의 기울기(m)를 계산하고 상기 듀티 사이클(DuC)의 또는 상기 출력 전압(U_LED)의 새로운 값을 계산하기 위해 상기 기울기(m)를 사용하는 제1 기울기(m) 계산 유닛(S112)과,
    상기 기준 전류(I_S)에서의 곡선(390)의 기울기(m)를 계산하고 상기 듀티 사이클(DuC)의 또는 상기 출력 전압(U_LED)의 새로운 값을 계산하기 위해 상기 기울기(m)를 사용하는 제2 기울기(m) 계산 유닛
    중 적어도 하나를 포함하는
    회로 장치(10).
  62. 제43항 내지 제61항 중 어느 한 항에 있어서,
    상기 제어 유닛(300)은 제2 서브 유닛(300, 310), 그리고 바람직하게는 최대 전력 또는 전압 또는 전류를 결정하는 유닛을 포함하는
    회로 장치(10).
  63. 제62항에 있어서,
    상기 제2 서브 유닛(300, 310)은 바람직하게는 상기 제1 검출 유닛(ADC1)에 커플링되고, 상기 제2 서브 유닛(300, 310)은 상기 변환기(18)의 제어 신호(26)의 듀티 사이클 및 상기 적어도 하나의 광학 소자(32, 42)를 통해 흐르는 전류의 대응하는 전류 값(I)의, 또는 상기 변환기(18)의 출력 전압(U_LED) 및 상기 적어도 하나의 광학 소자(32, 42)를 통해 흐르는 전류의 대응하는 전류 값(I)의 값의 쌍(410 내지 440)을 검출하는
    회로 장치(10).
  64. 제62항 및 제63항에 있어서,
    상기 최대 전력 또는 전압 또는 전류는 상기 값의 쌍(410 내지 440)의 검출 중에 고려되는
    회로 장치(10).

  65. 제62항 내지 제64항 중 어느 한 항에 있어서,
    상기 제2 서브 유닛(300, 310)은
    상기 최대 전력 또는 전압 또는 전류(416)로 연장되는 곡선(422, 450)을 계산하는 외삽 유닛(extrapolation unit)(S206)과,
    상기 최대 전력 또는 전압 또는 전류(416)에서의 곡선(422, 450)의 기울기를 계산하는 기울기 계산 유닛(S208)과,
    상기 기울기 계산 유닛(S208)에 커플링되고 다른 값의 쌍(410 내지 440)보다 상기 최대 전력 또는 전압 또는 전류(416)에 가까운 출력 전압(U_LED) 또는 듀티 사이클(DuC)을 계산하는 계산 유닛(S314)
    중 적어도 하나를 포함하는
    회로 장치(10).
  66. 제65항에 있어서,
    상기 제2 서브 유닛(300, 310)은 상기 제2 서브 유닛(300, 310)의 상기 기울기 계산 유닛(S208)에 커플링되고 상기 계산 유닛(S314)에 커플링된 반복 유닛(S216)을 포함하는
    회로 장치(10).
  67. 제66항에 있어서,
    상기 반복 유닛(S216)은 상기 외삽 유닛(S206)에 커플링되고, 외삽된 곡선은 반복 중에 적어도 한 번 또는 여러 번 갱신되는(444)
    회로 장치(10).
  68. 제62항 내지 제67항 중 어느 한 항에 있어서,
    상기 제2 서브 유닛(300, 310)은 상기 적어도 하나의 광학 소자(32, 42)를 통해 흐르는 전류 값(I) 및 기준 전류(I_S, I3)의 편차(D2_I)에 따라 상기 변환기(18)의 출력 전압(U_LED) 또는 듀티 사이클(DuC)을 변경하는 변경 유닛(S316)을 포함하는
    회로 장치(10).
  69. 제68항에 있어서,
    상기 제2 서브 유닛(300, 310)은
    상기 기준 전류(I_S, I3)를 넘는 전류(I)에서의 곡선(422, 450)의 기울기(m)를 계산하고 상기 듀티 사이클(DuC)의 또는 상기 출력 전압(U_LED)의 새로운 값을 계산하기 위해 상기 기울기(m)를 사용하는 제1 기울기(m) 계산 유닛(S312)과,
    상기 기준 전류(I_S, I3)에서의 곡선(422, 450)의 기울기(m)를 계산하고 상기 듀티 사이클(DuC)의 또는 상기 출력 전압(U_LED)의 새로운 값을 계산하기 위해 상기 기울기(m)를 사용하는 제2 기울기(m) 계산 유닛(S310)
    중 적어도 하나를 포함하는
    회로 장치(10).
  70. 제43항 내지 제69항 중 어느 한 항에 있어서,
    최대 전력 또는 전압 또는 전류를 결정하는 유닛을 포함하되,
    상기 최대 전력 또는 전압 또는 전류를 결정하는 유닛은
    상기 회로 장치(10) 및 상기 변환기(18) 중 적어도 하나의 입력 전압을 결정하는 검출 유닛(ADC3)과,
    상기 회로 장치(10) 및 상기 변환기(18) 중 적어도 하나의 입력 전류를 결정하는 검출 유닛(ADC4)
    중 적어도 하나에 커플링되는
    회로 장치(10).
  71. 광학 소자(32)를 제어하는 방법으로서,
    펄스 폭 변조에 의해 제어되는 변환기(18)의 출력 전압을 디지털 제어함으로써 적어도 하나의 광학 소자(32)를 통해 또는 적어도 하나의 광학 소자를 위한 구동기 회로를 통해 흐르는 전류를 제어하는 단계를 포함하는
    방법.
  72. 제71항에 있어서,
    상기 적어도 하나의 광학 소자(32) 또는 구동기의 전압 대 전류 특성 곡선(106, 108) 또는 전류 대 전압 특성 곡선은 상기 광학 소자(32)의 전체 작동 범위의 적어도 50 퍼센트 또는 적어도 75 퍼센트를 포함하는 범위 내에서 결정되는
    방법.
  73. 제71항 또는 제72항에 있어서,
    상기 변환기(18)를 제어하기 위해 사용되는 펄스 폭 신호의 주파수(f)는 상기 변환기(18)의 출력에서의 부하에 따라 변경되되, 바람직하게는 상기 변환기(18)의 더 높은 출력 전력을 위해 감소되는
    방법.
  74. 제71항 내지 제73항 중 어느 한 항에 있어서,
    상기 변환기(18)의 더 낮은 출력 레벨을 위해 PFM이 사용되는
    방법.
  75. 제71항 내지 제74항 중 어느 한 항에 있어서,
    상기 변환기(18) 또는 상기 변환기(18)를 포함하는 회로 장치(10)의 입력 전압과,
    상기 변환기(18) 또는 상기 회로 장치(10)의 입력 전류와,
    상기 변환기(18)의 출력 전압과,
    상기 적어도 하나의 광학 소자(32) 또는 상기 구동기를 통해 흐르는 전류와,
    상기 변환기(18)의 출력 전류
    중 적어도 하나, 적어도 둘, 적어도 셋, 적어도 넷 또는 전부가 검출되는
    방법.
  76. 제71항 내지 제75항 중 어느 한 항에 있어서,
    제43항 내지 제70항 중 어느 한 항에 따른 회로 장치(10)를 사용하는
    방법.

  77. 키 코드(17b)를 송신하는 방법으로서,
    키 코드(17b)의 제1 그룹의 송신을 위한 제1 보고 식별자(ID0)를 포함하는 제1 보고 데이터(report data)(256)를 사용하는 단계와,
    키 코드(17b)의 제2 그룹의 송신을 위한 제2 보고 식별자(ID1)를 포함하는 제2 보고 데이터(258)를 사용하는 단계를 포함하되, 상기 제2 보고 식별자(ID1)는 상기 제1 보고 식별자(ID0)와 상이한 값을 가지는
    방법.
  78. 제77항에 있어서,
    상기 제1 보고 데이터(256)는 HID 사양을 준수하는 것과,
    상기 제2 보고 데이터(258)는 HID 사양을 준수하는 것
    중 적어도 하나인
    방법.
  79. 제77항 또는 제78항에 있어서,
    상기 제1 보고 데이터(256)의 데이터 구조는 HID 사양을 준수하는 보고 서술자(200)에 따라 정의되는 것과,
    상기 제2 보고 데이터(258)는 HID 사양을 준수하는 보고 서술자(200), 특히 상기 제1 보고 데이터(256)를 정의하는 동일한 보고 서술자(200)에 따라 정의되는 것
    중 적어도 하나인
    방법.
  80. 제77항 내지 제79항 중 어느 한 항에 있어서,
    상기 보고 서술자(200)는 상기 제1 보고 데이터(256)에 대해 보고 크기(220), 보고 카운트(222), 보고 식별자(216), 입력(224), 출력(224) 중 적어도 하나 또는 전부를 포함하는 것과,
    상기 보고 서술자(200)는 상기 제2 보고 데이터(258)에 대해 보고 크기(232), 보고 카운트(234), 보고 식별자(228), 입력(234), 출력(234) 중 적어도 하나 또는 전부를 포함하는 것
    중 적어도 하나인
    방법.
  81. 제77항 내지 제80항 중 어느 한 항에 있어서,
    상기 키 코드(17b)는 동일한 입력 디바이스(10)의 키(17, 17a)에 대응하는 것과,
    각각의 키 코드(17b)는 2개 내지 8개의 범위의 다수의 비트를 포함하는 것
    중 적어도 하나인
    방법.
  82. 제77항 내지 제81항 중 어느 한 항에 있어서,
    상기 입력 디바이스(10)는 키보드(10)이거나 키보드를 포함하고,
    상기 키보드(10)는 적어도 100개의 키 스위치(17)를 가지는
    방법.
  83. 제77항 내지 제82항 중 어느 한 항에 있어서,
    상기 키 코드(17b)는 HID 사양에 따라, 또는 운영 체제 제조자의 "키보드 스캔 코드 사양"에 따라, 또는 HID 사양 및 운영 체제 제조자의 "키보드 스캔 코드 사양"에 따라 정의되는
    방법.
  84. 제77항 내지 제83항 중 어느 한 항에 있어서,
    상기 제1 그룹의 키 코드(17b), 또는 상기 제2 그룹의 키 코드(17b), 또는 상기 제1 그룹의 키 코드(17b)와 상기 제2 그룹의 키 코드(17b)는 1초 미만 또는 500밀리초 미만의 시구간(time period) 내에 눌려 있던 키(17, 17a)에 속하는
    방법.
  85. 제77항 내지 제84항 중 어느 한 항에 있어서,
    상기 제1 그룹의 키 코드(17b), 또는 상기 제2 그룹의 키 코드(17b), 또는 상기 제1 그룹의 키 코드(17b)와 상기 제2 그룹의 키 코드(17b)는 1분(minute)보다 더 오랫동안 메모리 내에 저장되었던 것인
    방법.
  86. 제77항 내지 제83항 중 어느 한 항에 있어서,
    상기 제1 그룹, 또는 상기 제2 그룹, 또는 상기 제1 그룹과 상기 제2 그룹의 적어도 하나의 키 코드(17b)는 매크로(macro) 내에 저장되지 않고,
    상기 제1 그룹, 또는 상기 제2 그룹, 또는 상기 제1 그룹과 상기 제2 그룹의 적어도 하나의 키 코드(17b)는 매크로 내에 저장되는
    방법.
  87. 제77항 내지 제86항 중 어느 한 항에 있어서,
    상기 제1 그룹 내의 키 코드(17b)의 개수는 1 내지 6의 범위 내에 있는
    방법.
  88. 제77항 내지 제87항 중 어느 한 항에 있어서,
    상기 제2 그룹 내의 키 코드(17b)의 개수는 1 내지 6의 범위 내에 있는
    방법.
  89. 제77항 내지 제87항 중 어느 한 항에 있어서,
    상기 제2 그룹 내의 키 코드(17b)의 개수는 10보다 크거나 20보다 크거나 50보다 큰
    방법.
  90. 키보드(10)로서,
    보고 서술자(200)가 저장된 메모리(18, M)를 포함하고,
    상기 보고 서술자(200)는
    키 코드(17b)의 제1 그룹의 송신을 위한 제1 보고 식별자(ID(0))를 포함하는 제1 보고 데이터(204)와,
    키 코드(17b)의 제2 그룹의 송신을 위한 제2 보고 식별자(ID(1))를 포함하는 제2 보고 데이터(206)를 정의하되, 상기 제2 보고 식별자(ID(1))는 상기 제1 보고 식별자(ID(0))와 상이한 값을 가지는
    키보드(10).
  91. 제90항에 있어서,
    상기 키보드(10)는 제57항 내지 제69항 중 어느 한 항에 따른 방법을 수행하기 위해 사용되는
    키보드(10).
  92. 키 코드(317b)를 송신하는 방법으로서,
    키 코드(317b)의 제1 그룹의 송신을 위한 제1 종단점 식별자(EP1a)를 포함하는 제1 종단점 데이터(344)를 사용하는 단계와,
    키 코드(317b)의 제2 그룹의 송신을 위한 제2 종단점 식별자(EP2a)를 포함하는 제2 종단점 데이터(348)를 사용하는 단계를 포함하되, 상기 제2 종단점 식별자(EP2a)는 상기 제1 종단점 식별자(EP1a)와 상이한 값을 가지고,
    상기 제2 그룹 내의 키 코드(317b)의 개수는 7 내지 20 또는 7 내지 500의 범위 내에 있는
    방법.
  93. 키보드(310)로서,
    제1 종단점 서술자(180) 및 제2 종단점 서술자(180)가 포함된 메모리(M)를 포함하되,
    상기 제1 종단점 서술자(180)는 키 코드(317b)의 제1 그룹의 송신을 위한 제1 종단점 식별자(186)를 정의하고,
    상기 제2 종단점 서술자(180)는 키 코드(317b)의 제2 그룹의 송신을 위한 제2 종단점 식별자(186)를 정의하되, 상기 제2 종단점 식별자(180)는 상기 제1 종단점 식별자(180)와 상이한 값을 가지고,
    상기 제1 그룹 내의 제1 개수의 키 코드(317b)의 송신을 제어하고 상기 제2 그룹 내의 제2 개수의 키 코드(317b)의 송신을 제어하는 제어 유닛(316)을 더 포함하되,
    상기 제2 그룹 내의 키 코드(317b)의 개수는 7 내지 20 또는 7 내지 500의 범위 내에 있는
    키보드(310).
KR1020157020930A 2013-02-28 2014-02-21 입력 장치의 활성 입력 요소를 결정하는 방법 및 입력 장치 KR101694087B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP2013054108 2013-02-28
EPPCT/EP2013/054108 2013-02-28
PCT/EP2014/053408 WO2014131699A2 (en) 2013-02-28 2014-02-21 Method for determining active input elements of an input arrangement and input arrangement

Publications (2)

Publication Number Publication Date
KR20150104140A true KR20150104140A (ko) 2015-09-14
KR101694087B1 KR101694087B1 (ko) 2017-01-06

Family

ID=47833049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020930A KR101694087B1 (ko) 2013-02-28 2014-02-21 입력 장치의 활성 입력 요소를 결정하는 방법 및 입력 장치

Country Status (7)

Country Link
US (1) US9876510B2 (ko)
JP (1) JP6387022B2 (ko)
KR (1) KR101694087B1 (ko)
CN (1) CN105027449B (ko)
RU (1) RU2628320C2 (ko)
TW (1) TWI556138B (ko)
WO (1) WO2014131699A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6420661B2 (ja) * 2014-12-26 2018-11-07 東プレ株式会社 静電容量式キーボード
TWI581569B (zh) * 2015-12-14 2017-05-01 聯陽半導體股份有限公司 電子裝置及其按鍵狀態的偵測方法
US9876979B1 (en) * 2016-12-06 2018-01-23 Omnivision Technologies, Inc. Current generator
EP3583617A1 (en) 2017-02-14 2019-12-25 Heldeis, Christoph Method for operating an active input element and corresponding input element, input arrangement and computer program product
CN106681231A (zh) * 2017-03-03 2017-05-17 南京异或科技有限公司 一种Type‑C检测方法
CN107612536B (zh) * 2017-10-17 2021-01-26 东莞市名键电子科技有限公司 用于单个光组件上实现光通量变化获得压感反馈的方法
US11279496B2 (en) * 2018-02-21 2022-03-22 Sikorsky Aircraft Corporation System for reliable landing gear contact with identification of the surface
CN108646299B (zh) * 2018-03-30 2020-05-12 中国空间技术研究院 一种卫星矩阵接口负载端二极管测试电路
US11286058B2 (en) * 2018-12-18 2022-03-29 Textron Innovations Inc. Heliport docking system
WO2020147930A1 (en) 2019-01-15 2020-07-23 Heldeis Christoph Optical output device, bus unit, bus control unit and methods
JP2020155183A (ja) * 2019-03-20 2020-09-24 キオクシア株式会社 記憶装置
CN112583417B (zh) * 2019-09-30 2023-08-29 瑞昱半导体股份有限公司 用于扫描键盘电路的方法
US20230409513A1 (en) 2020-10-07 2023-12-21 Christoph HELDEIS Device, preferably usb device, corresponding computer device and method
TWI764736B (zh) * 2021-05-27 2022-05-11 群光電子股份有限公司 自適應線路老化的鍵盤、鍵盤的自適應方法、內儲程式之電子計算裝置可讀取媒體及電子計算裝置程式產品
TWI832468B (zh) * 2022-10-04 2024-02-11 致伸科技股份有限公司 防鬼鍵電路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709228A (en) * 1984-08-09 1987-11-24 U.S. Philips Corporation Electronic data input keyboard comprising keys provided with conductive contacts
US20080007529A1 (en) * 2006-07-07 2008-01-10 Tyco Electronics Corporation Touch sensor

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6199220A (ja) * 1984-10-22 1986-05-17 松下電器産業株式会社 キ−ボ−ドスイツチ
JPH04362725A (ja) * 1991-06-10 1992-12-15 Matsushita Electric Ind Co Ltd 情報処理装置
JP2774721B2 (ja) * 1991-12-25 1998-07-09 アルプス電気株式会社 Nキーロールオーバ回路
JP3756709B2 (ja) * 1999-10-05 2006-03-15 アルプス電気株式会社 スイッチ入力検出装置
US6970752B1 (en) * 2000-05-17 2005-11-29 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting switch closures
US7151432B2 (en) * 2001-09-19 2006-12-19 Immersion Corporation Circuit and method for a switch matrix and switch sensing
US20050271442A1 (en) 2004-06-02 2005-12-08 Inventec Appliances Corporation High voltage resisting keyboard
TWI275982B (en) * 2005-02-04 2007-03-11 Hon Hai Prec Ind Co Ltd Keyboard circuit
RU2314560C1 (ru) * 2006-03-22 2008-01-10 Открытое Акционерное Общество "Концерн "Моринформсистема-Агат" Клавиатура
US8089289B1 (en) 2007-07-03 2012-01-03 Cypress Semiconductor Corporation Capacitive field sensor with sigma-delta modulator
US20100066567A1 (en) 2008-09-18 2010-03-18 Microsoft Corporation Resistive switch matrix
US20110179372A1 (en) 2010-01-15 2011-07-21 Bradford Allen Moore Automatic Keyboard Layout Determination
CN201917871U (zh) * 2010-11-10 2011-08-03 精元电脑股份有限公司 可消除鬼键的输入装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709228A (en) * 1984-08-09 1987-11-24 U.S. Philips Corporation Electronic data input keyboard comprising keys provided with conductive contacts
US20080007529A1 (en) * 2006-07-07 2008-01-10 Tyco Electronics Corporation Touch sensor

Also Published As

Publication number Publication date
CN105027449A (zh) 2015-11-04
JP2016514309A (ja) 2016-05-19
RU2628320C2 (ru) 2017-08-15
WO2014131699A2 (en) 2014-09-04
TW201506692A (zh) 2015-02-16
KR101694087B1 (ko) 2017-01-06
JP6387022B2 (ja) 2018-09-05
CN105027449B (zh) 2018-11-02
TWI556138B (zh) 2016-11-01
WO2014131699A3 (en) 2014-11-06
US20160013806A1 (en) 2016-01-14
US9876510B2 (en) 2018-01-23
RU2015138111A (ru) 2017-03-31

Similar Documents

Publication Publication Date Title
KR101694087B1 (ko) 입력 장치의 활성 입력 요소를 결정하는 방법 및 입력 장치
KR101771675B1 (ko) 자동 정전용량형 터치 스캔
US5252971A (en) Data acquisition in a multi-function keyboard system which corrects for preloading of force sensors
US6784810B2 (en) A/D converter with comparators and low-power detection mode for resistive matrix keyboards
US8514191B2 (en) Touch panel sensing circuit
CN109298331B (zh) 低成本可检测多个任意组合按键的检测电路及处理方法
US9224555B2 (en) Light emitting diode illuminated keyboard
US20130265741A1 (en) Multi-hues light emitting diode illuminated keyboad
US11728811B2 (en) Key reuse circuit and POS terminal
US20090183012A1 (en) Keyboard
EP2962400B1 (en) Method for determining active input elements of an input arrangement and input arrangement
TWI510969B (zh) 輸入裝置及控制單元
CN114446665A (zh) 一种可变电容装置、实现方法及压力开关装置
Osolinskyi et al. Measurement and Optimization Methods of Energy Consumption for Microcontroller Systems Within IoT
CN110708055A (zh) 一种芯片工作状态选择电路、方法及其应用
CN217280445U (zh) 一种可变电容装置及压力开关装置
CN213715754U (zh) 电子设备及通过采样电路电压确定键值的控制电路
CN215452906U (zh) 可编程电阻
JP5961518B2 (ja) 入力装置
US20220216780A1 (en) Electronic device for cutting off power
US20140298053A1 (en) Universal serial bus hub and control method thereof
CN116094509A (zh) 触摸状态检测电路、方法及电子系统
US20180005778A1 (en) Keyboard assembly
US8654895B2 (en) Frequency modulated signal decoding using a driver
CN115542726A (zh) 用于控制可变物理参数的功能装置及方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191224

Year of fee payment: 4