KR100202611B1 - 키이보드 스캔장치 - Google Patents

키이보드 스캔장치 Download PDF

Info

Publication number
KR100202611B1
KR100202611B1 KR1019960068797A KR19960068797A KR100202611B1 KR 100202611 B1 KR100202611 B1 KR 100202611B1 KR 1019960068797 A KR1019960068797 A KR 1019960068797A KR 19960068797 A KR19960068797 A KR 19960068797A KR 100202611 B1 KR100202611 B1 KR 100202611B1
Authority
KR
South Korea
Prior art keywords
scan
key
keyboard
keycode
generator
Prior art date
Application number
KR1019960068797A
Other languages
English (en)
Other versions
KR19980050044A (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 구자홍
Priority to KR1019960068797A priority Critical patent/KR100202611B1/ko
Publication of KR19980050044A publication Critical patent/KR19980050044A/ko
Application granted granted Critical
Publication of KR100202611B1 publication Critical patent/KR100202611B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 키이보드의 눌림상태를 스캔하는 기술에 관한 것으로, 종래의 키이보드 스캔장치에 있어서는 별도의 전용 중앙처리장치를 이용하여 키이매트릭스의 눌림상태를 스캔하게 되어 있으므로 개인 휴대 단말기와 같이 키이보드를 입력장치로 사용하는 소형 컴퓨터에 집적화 할 수 없게 되는 결함으로 대두되었다.
따라서, 본 발명은 이를 해결하기 위하여, 외부로 부터 공급되는 클럭신호(CK)를 소정의 분주비로 분주하여 스캔클럭신호(SCK)를 생성하는 스캔클럭 발생기(21B)와; 상기 스캔클럭신호(SCK)에 동기하여 소정의 갯수의 스캔출력라인에 키이스캔용 신호를 출력하는 스캔출력 발생기(21C)와; 상기 키이스캔용 신호에 동기하여 소정 갯수의 스캔입력라인을 통해 키이보드(22)상에서 키이의 눌림상태를 검출하는 스캔입력 검출기(21D)와; 상기 스캔입력 검출기(21D)의 검출신호를 각각의 키이코드로 변환한 후 상태 레지스터(21F)에 저장된 이전 스텝의 키이코드값과 비교하여 그 비교결과에 따른 키이코드를 부가하여 키이코드 버퍼(21G)에 출력함과 아울러 그 상태 레지스터(21F)를 갱신하는 키이코드 발생기(21E)로 키이보드 스캔장치를 구성하여 소형화 및 메인 시스템과의 집적화에 용이하도록 하였다.

Description

키이보드 스캔장치
제1도는 일반적인 키이보드 스캔장치의 블록도.
제2도는 본 발명 키이보드 스캔장치의 일실시 예시 블록도.
제3도는 제2도에서 키이보드의 키이매트릭스 예시도.
제4도는 제2도에서 스캔출력 발생기의 스캔출력 파형도.
제5도는 제2도에서 스캔입력 검출기의 스캔 입력 검출 예시도.
제6도는 제2도에서 키이코드 발생기의 현재 스텝과 이전 스텝의 스캔입력 비교표.
* 도면의 주요부분에 대한 부호의 설명
21 : 키이보드 스캔장치 21A : 콘트롤 레지스터
21B : 스캔클럭 발생기 21C : 스캔클럭 발생기
21D : 스캔입력 검출기 21E : 키이코드 발생기
21F : 상태 레지스터 21G : 키이코드 버퍼
21H : 콘트롤러 22 : 키이보드
본 발명은 키이보드의 눌림상태를 스캔하는 기술에 관한 것으로, 특히 중앙처리장치를 이용하여 소프트웨어적으로 눌림상태를 검출하지 않고 하드웨어적으로 키이보드의 눌림상태를 검출하도록 한 키이보드 스캔장치에 관한 것이다.
제1도는 일반적인 키이보드 스캔장치의 블록도로서 이에 도시한 바와 같이, 키이보드(11)내에 키이보드전용 중앙처리장치(11B)가 설치되어 키이 매트릭스(11A)의 눌림상태를 소프트웨어적으로 검출하고 그 검출결과를 메인 시스템(12)에 전달하도록 구성된 것으로, 이의 작용을 설명하면 다음과 같다.
키이매트릭스(11A)의 눌림상태를 스캔하기 위한 키이보드 전용 중앙처리장치(11B)가 키이보드내에 설치되며, 그 키이보드전용 중앙처리장치(11B)에는 키이매트릭스(11A)의 눌림상태를 스캔하기 위한 프로그램이 저장되어 있는 롬 및 아이피롬(EEPROM)이 구비되어 있을뿐만 아니라 키이보드(11)의 상태정보를 저장하는 램이 구비되어 있다. 따라서, 상기 중앙처리장치(11B)는 키이 매트릭스(11A)의 눌림상태를 소프트웨어적으로 인식하여 그 인식결과를 메인 시스템(12)에 전달하게 된다.
이와 같이 키이보드전용 중앙처리장치(11B)를 별도로 구비하여 사용하는 이유는 메인 시스템(12)의 중앙처리장치를 이용하여 키이보드상의 키이매트릭스 눌림상태를 직접 스캔하는 경우 그 중앙처리장치에 부하가 많이 걸리기 때문이다. 즉, 메인 시스템(12)내의 중앙처리장치는 데이터 처리 등다른 기능을 발휘하는데 전념할 수 있도록 별도의 키이보드전용 중앙처리장치(11B)를 키이보드(11)내에 장착하는 것이다.
그러나, 이와 같은 종래의 키이보드 스캔장치에 있어서는 별도의 전용 중앙처리장치를 이용하여 키이매트릭스의 눌림상태를 스캔하게 되어 있으므로 개인 휴대 단말기와 같이 키이보드를 입력장치로 사용하는 소형 컴퓨터에 집적화 할 수 없게 되는 결함이 대두되었다.
따라서, 본 발명의 목적은 키이매트릭스의 눌림상태를 하드웨어적으로 검출하고 다른 주변의 입출력을 처리하는 부분과 함께 집적화 하는데 적당하도록 간단하게 구성된 키이보드 스캔장치를 제공함에 있다.
제2도는 상기의 목적을 달성하기 위한 본 발명 키이보드 스캔장치의 일실시예시 블록도로서 이에 도시한 바와 같이, 외부의 메인 중앙처리장치로부터 분주값을 공급받아 저장하는 콘트롤 레지스터(21A)와; 상기 콘트롤 레지스터(21A)에 저장된 분주값에 따라 클럭신호(CK)를 분주하여 스캔클럭신호(SCK)를 생성하는 스캔클럭 발생기(21B)와; 상기 스캔클럭신호(SCK)에 동기하여 소정 개수의 스캔출력라인에 키이스캔용 신호를 출력하는 스캔출력 발생기(21C)와; 상기 키이스캔용 신호에 동기하여 소정 갯수의 스캔입력라인을 통해 키이보드(22)상에서 키이의 눌림상태를 검출하는 스캔입력 검출기(21D)와; 상기 스캔입력 검출기(21D)의 검출신호를 각각의 키이코드로 변환한 후 상태 레지스터(21F)에 저장된 이전 스텝의 키이코드값과 바교하여 그 비교결과에 따른 키이코드를 부가하여 키이코드 버퍼(21G)에 출력함과 아울러 그 상태 레지스터(21F)를 갱신하는 키이코드 발생기(21E)와; 키이스캔을 위한 시스템의 각부의 동작을 총괄 제어함과 아울러 외부와의 통신결과를 근거로 사용환경에 적당하도록 상기 키이코드 버퍼(21G)의 인터럽트 주기를 결정하는 콘트롤러(21H)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용 및 효과를 첨부한 제3도 내지 제6도를 참조하여 상세히 설명하면 다음과 같다.
스캔클럭 발생기(21B)에서 출력되는 스캔클럭신호(SCK)의 주기는 키이보드(22)의 종류에 따라서 또는, 사용환경에 따라 변화시켜줄 필요가 있다. 이를 위해 스캔입력 발생기(21B)는 콘트롤러레지스트(21A)에 저장되어 있는 분주값에 따라 외부로부터 공급되는 클럭신호(CK)의 분주비를 결정하여 해당 주기의 스캔클럭신호(SCK)를 발생하게 된다.
스캔클럭 출력 발생기(21C)는 상기 스캔클럭신호(SCK)를 공급받아 소정 개수의 출력라인으로 스캔출력신호를 발생하고, 스캔입력 검출기(21D)는 소정 개수의 스캔 입력라인을 통해 키이보드(22)내에 있는 키이매트릭스의 눌림상태를 검출하게 되는데, 여기서는 제3도에서와 같이 스캔출력 발생기(21C)가 10개의 출력라인을 구비하고, 스캔입력 검출기(21D)가 8개의 입력라인을 구비한 것을 예로하였으며, 이와 같은 경우 최대 80개의 키이를 구비한 키이보드를 제어할 수 있다.
이와 같은 경우 상기 스캔출력 발생기(21C)는 제4도에서와 같이 10개의 스캔출력을 순차적으로 발생하게 된다. 즉, 초기상태에서는 10개의 스캔출력을 모두 0으로 유지하고 있다가 순차적으로 한 라인씩 소정 기간동안 1을 출력하는 동작을 반복 수행하게 된다.
그런데, 제3도와 같은 키이매트릭스에서 한 열의 키이가 복수개 동시에 눌러지는 경우 스캔입력 검출기(21D)측에서 해당 키이의 눌림상태를 인지할 수 없게 되므로 이를 해결하기 위하여 하이-지(Hi-Z)상태를 유지하여야 한다.
상기 스캔출력 발생기(21C)에서 제4도에서와 같이 임의의 출력라인 1을 출력할 때 상기 스캔입력 검출기(21D)는 8개의 스캔입력라인(INO-IN7)의 값을 읽어오게 된다. 즉, 상기 스캔출력 발생기(21C)에서 스캔출력라인(OUT0-OUT9)을 통해 스캔출력을 발생할 때마다 스캔입력 검출기(21D)에서 8개의 키이를 검색하게 된다. 이때, 임의의 키이가 눌리면 해당 입력라인에 1이 검출되고, 눌리지 않은 라인에서는 0이 검출된다. 단, 키이가 눌리지 않을 때 해당 입력라인에서 0이 검출될 수 있도록 하기 위하여 각 스캔입력라인(INO-IN7)의 종단에 각각 풀다운저항(RO-R7)을 접속하였다.
그러나, 스캔출력 발생기(21C)에서 제4도와 같은 타이밍으로 각 스캔출력을 발생할때마다 상기 스캔입력 검출기(21D)에서 단지 한번의 스캔동작을 취하는 경우 그 읽어들이는 시점에서 해당 키이가 눌리거나 떨어질 때 떨림현상이 발생하거나 노이즈에 의해서 실제 키이가 눌리지 않았음에도 불구하고 눌린 것으로 인식되는 에러가 발생한다.
이를 해결하기 위하여 상기 스캔입력 검출기(21D)에서는 제5도에서와 같이 각 스캔입력라인(INO-IN7)당 두 번에 걸쳐 입력을 스캔하여 두 입력이 서로 같은 경우에 한하여 실질적인 입력으로 간주하여 받아들이게 된다. 즉, 두 번의 스캔입력을 익스클루시브노아 조합하여 받아들이게 된다.
이때, 키이코드 발생기(21E)는 상기 스캔입력 검출기(21D)를 통해 검출된 키이보드(22)내의 키이매트릭스의 스캔입력을 각각의 키이코드로 변화한 후 이를 이전 스텝에서 동일한 경로를 통해 상태 레지스터(21F)에 저장된 키이코드값과 비교하여 그 비교 결과에 따라 제6도와 같은 키이코드를 부가하여 키이코드 버퍼(21G)측으로 출력하고, 현재 스텝에서 스캔된 키이코드를 그 상태 레지스터(21F)에 저장한 후 다음의 키이스캔 입력에 대해 이와 같은 동작을 반복하게 된다.
즉, 상기 키이코드 발생기(21E)는 제6도에서와 같이 키이가 눌린상태에서의 스캔입력을 1로 하고, 키이가 눌리지 않은 상태에서의 스캔입력 0이라 할 때 상기 상태 레지스터(21A)에 저장된 값이 0이고 현재 읽어들인 값이1인 경우 몇번째 키이가 눌렸는지 관한 메이크 키이코드(make keycode)를 생성한다. 이와 반대로 상태 레지스터(21A)에 저장된 값이 1이고 현재 읽어들인 값이 0인 경우 브레이크 키이코드(brak keycode)를 생성한다. 또한, 상태 레지스터(21A)에 저장된 값이 1이고 현재 읽어들인 값도 1인 경우 키이보드 타이프매틱(keyboard typematic)이 적용되는데, 이것은 같은 키이가 계속 눌려 있는 상태를 나타낸다. 물론, 상태 레지스터(21A)에 저장된 값이 0이 현재 읽어들인 값도 0인 경우에는 키이가 그대로 방치된 상태이므로 무시한다.
예로써, 상기 키이코드는 X좌표값과 Y좌표값의 상위 비트에 1과 0을 이용하여 메이크 키이코드 및 브레이크 키이코드를 지정할 수 있다.
상기 키이코드 발생기(21E)에서 출력되는 키이코드를 메인 시스템(CPU)에 전달하기 위해 인터럽트를 사용하게 되는데, 인터럽트가 허가되기 전에 다른 키이가 계속해서 검출될 수 있으므로 키이코드 버퍼(21G)를 사용하게 된다.
여기서, 콘트롤러(21H)는 외부의 메인 시스템과 통신하여 사용 환경에 맞도록 상기 키이코드 버퍼(21G)의 인터럽트 주기를 설정하고, 또한, 그 메인 시스템은 상기 스캔클럭 발생기(21B)에서 사용환경에 적당한 스캔출력신호(SCK)를 발생할 수 있도록 하기 위하여 콘트롤 레지스터(21A)에 분주값을 저장하여 그 분주값에 따라 클럭신호(CK)가 분주되어 스캔클럭신호(SCK)로 출력된다.
이상에서와 상세히 설명한 바와 같이, 본 발명은 키이보드의 키이매트릭스가 눌리는 것을 전용의 하드웨어로 검출하여 메인 시스템에 출력할 수 있도록 함으로써 제품의 소형화 이바지할 수 있을 뿐더러 개인 휴대 단말기와 같이 키이보드를 입력장치로 사용하는 소형 컴퓨터에 집적화 하여 사용할 수 있는 등의 이점이 있다.

Claims (4)

  1. 외부로부터 공급되는 클럭신호(CK)를 소정의 분주비로 분주하여 시캔클럭신호(SCK)를 생성하는 스캔클럭 발생기(21B)와; 상기 스캔클럭신호(SCK)에 동기하여 소정 갯수의 스캔출력라인에 키이스캔용 신호를 출력하는 스캔출력 발생기(21C)와; 상기 키이스캔용 신호에 동기하여 소정 갯수의 스캔입력라인을 통해 키이보드(22)상에서 키이의 눌림상태를 검출하는 스캔입력 검출기(21D)와; 상기 스캔입력 검출기(21D)의 검출신호를 각각의 키이코드로 변환한 후 상태 레지스터(21F)에 저장된 이전 스텝의 키이코드값과 비교하여 그 비교결과에 따른 키이코드를 부가하여 키이코드 버퍼(21G)에 출력함과 아울러 그 상태 레지스터(21F)를 갱신하는 키이코드 발생기(21E)와; 키이스캔을 위한 시스템의 각부의 동작을 총괄 제어함과 아울러 외부와의 통신결과를 근거로 사용환경에 적당하도록 상기 키이코드 버퍼(21G)의 인터럽트 주기를 결정하는 콘트롤러(21H)로 구성한 것을 특징으로 하는 키이보드 스캔장치.
  2. 제1항에 있어서, 상기 스캔클럭 발생기(21B)의 분주비를 사용환경에 따라 적절하게 결정하기 위하여, 외부의 메인 중앙처리장치로부터 분주값을 공급받아 저장하는 콘트롤 레지스터(21A)를 더 포함하여 구성한 것을 특징으로 하는 키이보드 스캔장치.
  3. 제1항에 있어서, 스캔출력 발생기(21C)는 복수개의 키이 눌림을 검출할 수 있도록 스캔출력을 하이-지(Hi-Z) 상태로 출력하도록 구성한 것을 특징으로 하는 키이보드 스캔장치.
  4. 제1항에 있어서, 스캔입력 검출기(21D)는 스캔입력의 정확성을 보장하기 위하여, 하나의 스캔출력구간에 복수번 스캔입력을 검출하여 익스클루시브 노아연산을 수행하도록 구성한 것을 특징으로 하는 키이보드 스캔장치.
KR1019960068797A 1996-12-20 1996-12-20 키이보드 스캔장치 KR100202611B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960068797A KR100202611B1 (ko) 1996-12-20 1996-12-20 키이보드 스캔장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960068797A KR100202611B1 (ko) 1996-12-20 1996-12-20 키이보드 스캔장치

Publications (2)

Publication Number Publication Date
KR19980050044A KR19980050044A (ko) 1998-09-15
KR100202611B1 true KR100202611B1 (ko) 1999-06-15

Family

ID=19489661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960068797A KR100202611B1 (ko) 1996-12-20 1996-12-20 키이보드 스캔장치

Country Status (1)

Country Link
KR (1) KR100202611B1 (ko)

Also Published As

Publication number Publication date
KR19980050044A (ko) 1998-09-15

Similar Documents

Publication Publication Date Title
CA1073554A (en) Keyboard circuit
KR900007405B1 (ko) 키보드 제어장치
US7345598B2 (en) Electronic device with keyboard system and method of detecting key conditions thereof
US4470038A (en) Shift control system for keyboards
JP4027285B2 (ja) キーパッド装置
EP0325884A2 (en) Keyboard arrangement with ghost key condition detection
KR100202611B1 (ko) 키이보드 스캔장치
US4193038A (en) Key input apparatus
JPH0313610B2 (ko)
US4713813A (en) Logic analyzer
JPS6362765B2 (ko)
KR0164404B1 (ko) 소수의 전화버튼을 이용한 문자 제어방법 및 장치
KR930002304B1 (ko) 키보우드 장치
KR900000112B1 (ko) 키보드의 키 입력 판독 회로
JPH024030A (ja) キーボード装置
KR100329942B1 (ko) 캐릭터표시제어회로
KR100506280B1 (ko) 전화기에서키입력인식회로및방법
JPH0470647B2 (ko)
JPH0667782A (ja) キー入力装置
KR900001508B1 (ko) 바코드 디코더
KR100319516B1 (ko) 키입력스캐닝장치
KR100640482B1 (ko) 이동 단말에서 키 신호 검출 장치 및 방법
KR970001279Y1 (ko) 키포드/터치기 입력 동시 수용 모니터링장치
KR950002698B1 (ko) 세로쓰기 모드의 세로 탭 제어 방법
JP2510016B2 (ja) キ―入力装置

Legal Events

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

Payment date: 20070221

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee