KR900000604B1 - 키 입력 데이타 처리회로 - Google Patents

키 입력 데이타 처리회로 Download PDF

Info

Publication number
KR900000604B1
KR900000604B1 KR1019860011695A KR860011695A KR900000604B1 KR 900000604 B1 KR900000604 B1 KR 900000604B1 KR 1019860011695 A KR1019860011695 A KR 1019860011695A KR 860011695 A KR860011695 A KR 860011695A KR 900000604 B1 KR900000604 B1 KR 900000604B1
Authority
KR
South Korea
Prior art keywords
signal
key
output
counter
row
Prior art date
Application number
KR1019860011695A
Other languages
English (en)
Other versions
KR880008123A (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 KR1019860011695A priority Critical patent/KR900000604B1/ko
Publication of KR880008123A publication Critical patent/KR880008123A/ko
Application granted granted Critical
Publication of KR900000604B1 publication Critical patent/KR900000604B1/ko

Links

Images

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

Landscapes

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

Abstract

내용 없음.

Description

키 입력 데이타 처리회로
제1도는 본 발명을 따른 블록도.
제2도는 제1도의 구체회로도.
* 도면의 주요부분에 대한 부호의 설명
310 : 클럭부 20 : 키스캔 카운터부
30 : 디코더 40 : 키매트릭스
50 : 멀티플렉서 60 : 인터럽트 발생부
70 : 래치
본 발명은 키입력 처리 회로에 관한 것으로, 특히, 하드웨어 적으로 키보드를 스캔하여 키 입력데이타를 발생할수 있는 키 입력데이타 처리회로에 관한 것이다.
종래에는 키보드(Keyboard)를 통하여 키동작의 입력을 결정하는 전자식 타자기, 워드프로세서(Word Processor), 컴퓨터등에서 키입력을 체크하는 방법은 프로그래밍을 통해 소프트웨어(soft ware)적으로 해결하여 왔다. 따라서 키보드를 스캔하여 키데이타를 분석하는 모든 키처리과정을 메인 중앙처리 장치(main central processing unit : 이하 CPU라 칭한다)에 의존하였으므로, CPU의 부담이 가중되었을 뿐만 아니라 소프트 웨어에 의한 롬(ROM)의 영역이 확대되는 문제점이 있다. 또한 키동작에서 발행하는 채터링(Chattering)현상을 방지하기 위하여, CPU에서 키입력 데이타를 읽은 후 일정시간 뒤에 다시 키입력 데이타를 읽어 동일데이타인 경우에 벨리드(Valid)데이타로 인정하므로서, 키데이타 처리에 많은 시간을 할애하게 되어 키입력데이타의 처리속도가 늦어지는 문제점이 있었다.
따라서 본 발명의 목적은 키보드의 스캔 및 키입력 데이타 처리를 하드웨어적으로 처리하여CPU의 소프트웨어를 간소화할 수 있는 키입력 데이타 처리회로를 제공함에 있다.
본 발명의 또다른 목적은 키동작시 발생하는 채터링 현상을 하드웨어적으로 처리하여 전체적인 시스템의 동작속도를 빠르게 할 수 있는 회로를 제공함에 있다.
이하 본 발명을도면을 참조하여 상세히 설명한다.
mxn개의 키들로 구성된 키매트릭스(40)와, 클럭을 발생하며, 인터럽트 신호 발생시 클럭의 통로를 차단하는 클럭부(10)와, 상기 클럭부(20)의 출력을 카운트하여 행 및 열 카운트신호(RS, CS)를 발생하는 키스캔 카운터부(20)와, 상기 키스캔 카운터부(30)의 행카운터신호(RS)를 디코딩하여 순차적으로 상기 키매트릭스(40)의 m개 행라인을 선택하는 디코더(30)와, 상기 키스캔 카운터부(20)의 열카운트신호(CS)에 의해 선택된 행라인의 n개 열라인을 순차적으로 선택 출력하는 멀티플랙서(50)와, 상기 멀티플랙서(50) 출력에 의해 키눌림 유무를 판단하고, 키눌림신호 발생시 CPU로 인터럽트 신호를 발생하며, 리드 (
Figure kpo00001
)신호에 의해 클리어되는인터럽트 발생부(60)와, 상기 키눌림신호 발생기 상기 키스캔 카운터부(20)의 출력(RS, CS)을 저장하며, 리드신호(
Figure kpo00002
) 발생시 CPU로 출력하는 래치(70)로 구성된다.
상술한 구성에 의거 본 발명을 설명하면, 키스캔 카운터부(20)는 클럭부(10)의 출력을 카운트하여 키매트릭스(40)의 행라인(row line) 및 열라인(column line)을 선택하기 위한 카운트신호를 발생한다. 따라서 상기 키매트릭스(40)가 mxn개의 키들로 이루어져있다면, 상기 키스캔 카운터부(20)는 키매트릭스(40)의 m개 행라인을 선택하기 위한 m 진 카운터와, n개의 얼라인을 선택하기 위한 n진 카운터로 구성된다.
따라서 키스캔 카운터(20)을 출력하는 행카운터신호(RS)는 m이되며, 열카운트신호(CS)는 n이 된다. 이때 디코더(30)는 상기 키스캔 카운터부(20)의 행카운트신호(RS)를 디코딩하여 키메트릭스(40)의 행라인들을 순차적으로 선택한다. 또한 멀티플렉서(50)는 상기 열카운트신호(CS)에 의해 선택된 행라인에 연결된 키들의 상태신호를 순차적으로 선택 출력한다. 그러므로 키스캔 과정은 열카운트신호(CS)에 의해 멀티플렉서(50)가 현재 선택되어 있는 행라인에 연결된 n개의 키들의 상태신호를 순차적으로 선택 출력하고, 이후 행카운트신호(RS)를 증가시켜 다음의 행라인을 선택하는 과정을 반복 수행하게 된다.
이때, 인터럽트 발생부(60)는 상기 멀티플렉서(50)에 선택된 키가 눌려진 상태인가 분석하는데, 눌려진 상태가 아닐시에는 클럭부(10)가 계속하여 키스캔 카운터부(20)로 클럭을 공급할 수 있도록 제어한다. 그러나 선택된 키가 눌려진 상태이면 인터럽트 발생부(60)는 래치(70)로 클럭신호를 발생하며, CPU로 키가 눌려졌음을 알리는 인터럽트신호를 발생하는 동시에 클럭부(10)를 제어하여 키스캔 카운터부(20)로 공급되는 클럭의 통로를 차단한다. 따라서, 상기 키스캔 카운터부(20)에서는 현재 눌러진 키의 위치를 나타내는 행 및 열카운트 신호를 유지하게 된다. 또한 래치(70)는 상기 인터럽트 발생부(70)에서 클럭신호 발생시 상기 키스캔 카운터부(20)의 행 및 열카운트신호(RS, CS)를 내부에 저장하는데, 이때의 행 및 열카운트신호(RS, CS)는 키매트릭스(40)에서 현재 눌려진 키의 위치를 나타내는 정보가 된다. 이후 CPU가 상기 인터럽트 신호를 인지하게 되면, 리드 신호(
Figure kpo00003
)를 발생하는데, 이때 래치(70)가 출력 인에이블되어 내부에 저장하고 있던 눌려진 키의 위치정보를 데이타버스로 출력하게 된다. 또한 상기 리드신호(
Figure kpo00004
)에 의해 인터럽트 신호가 해제되므로, 클럭부(10)는 다발 키스캔 카운터부(20)로 클럭을 공급할 수 있게 된다.
제2도는 본 발명을 따른 구체회로도의 일실시예로서, 10개의 행라인 및 8개의 열라인으로 구성된 키매트릭스(40)와, 클럭발생기(11)와 앤드게이트(11)로 구성되어 클럭을 발생하는 클럭부(10)와, 상기 클럭부(10)의 출력을 분주하여 상기 키매트릭스(40)를 스캔하기 위한 열카운트신호(CS2-CS0) 및 행카운트신호(RS3-RS0)를 발생하는 8진 카운터(21)와 10진 카운터(22)로 구성된 키스캔 카운터부(20)와, 상기 10진 카운터(22)의 행카운트신호(RS3-RS0)를 디코딩하여 순차적으로 상기 키매트릭스(40)의 행라인을 선택하는 디코더(30)와, 상기 키이 매트릭스(40)에서 선택된 행라인에 연결된 키들의 상태신호를 카운터(21)의 열카운트신호(CS2-CS0)에 의해 순차적으로 선택 출력하는 멀티플렉서(50)와, 상기 멀티플렉서(50)의 출력을 입력하여 키눌림상태 신호일시 인터럽트신호를 발생하는 래치(61-62), 인버터(63), 오아게이트(64, 65), 저항(66)과 커패시터(67)로 구성된 인터럽트 발생회로(80)와, 상기 래치(61)의 출력에 의해 8진 카운터(21) 및 10진 카운터(22)의 출력을 입력하여 내부에 저장한 후 도시하지 않은 CPU의 리드 신호에 의해 데이타버스로 출력하는 래치(70)로 구성된다.
상술한 구성에 의거 본 발명을 도면을 참조하여 상세히 설명한다.
여기서 mxn의 키이 매트릭스(40)를 10x 8개의 키이 매트릭스로 가정한다. 초기에 10진 카운터(22), 8진 카운터(21) 및 래치(61-62)는 리세트신호(reset)에 의해 초기화 된다. 따라서 래치(62)는 반전출력단(
Figure kpo00005
)으로 "하이"신호를 출력하게 된다. 이때, 앤드게이트(12)의 입력은 래치(62)의 출력과 클럭발생기(11)에서 발생하는 클럭이므로, 앤드게이트(12)는 클럭발생기(11)의 출력을 8진 카운터(21)의 클럭신호로 출력한다. 이때 초기화된 상태에서 8진 카운터(21)의 (S2-CSO) 출력은 000로, 10진 카운터(22)의 RS0-RS3출력은 000로 세팅되어 초기동작을 시작하며, 10진 카운터(22)의 출력은 디코더(30)로 공급된다. 따라서 상기 10진 카운터(22)의 출력을 입력하는 디코더(30)는 단자 Y0로 "하이" 신호를 출력하며, (Y0만 논리 "하이", Y1-Y9는 논리"로우")이로 인해 키매트릭스(40)의 제1행(R0)이 선택된다. 이때 멀티플랙서(50)는 8진 카운터(21)의 CS2-CS0출력을 입력하여 제1열(C0)을 선택하고 있게된다. 따라서 키이가 눌려진 상태이면 멀티플랙서(50)의 출력은 논리 "하이"가 되고, 키이 입력이 없으면 다음 클럭이 8진 카운터(21)에 입력할 때까지 "로우"상태를 유지한다.
이후 클럭발생기(11)를 통해 다음 클럭이 8진 카운터(21)에 입력되면, 8진 카운터(21)의 CS2-CS0출력은 1(001)로 증가하고, 이로인해 멀티플렉서(50)는 제2열(C1)을 선택한다. 따라서 클럭이 입력될때마다 8진 카운터(21)의 CS2-CS0출력은 2(010), 3(011), 4(100), 5(101), 6(110), 7(111)로 증가하며 이로인해 멀티플랙서(50)는 C2, C3, C4, C5, C6, C7열을 차례로 선택한다.
이때 8진 카운터(21)의 출력이 7(111)에서 0(000)로 전환할때, 8진 카운터(21)의 CS2 출력이 10진 카운터(22)의 클럭으로 입력되어 10진 카운터(22)의 RS3-RS0출력이 0(0000)에서 1(0001)로 전환된다. 따라서 디코더(30)의 출력은 상기 10진 카운터(22)의 출력 변화에 의해 단자 Y0에서 Y1으로 "하이"상태가 변환된다.
그러므로 클럭의 입력에 따라 8진 카운터(21)의 CS2-CS0출력은 0(000)에서 7(111)로 변화되며, 이로인해 멀티플렉서(50)도 8진 카운터(21)의 변화에 따라 C0에서 C7로 키이 스캔을 하게 된다. 또한 8진 카운터(21)가 7(111)에서 0(000)로 전환될 때 마다 CS2이 출력이 10진 카운터(22)의 클럭으로 공급되어 0(0000)에서 9(1001)까지 순차적으로 변화하며, 이러한 10진 카운터(22)의 출력변화에 따라 디코더(30)의 출력도 단자 Y0에서 Y9로 되어 키매트릭스(40)의 행라인(R0-R7)을 선택하게 된다.
따라서 상기 10진 카운터(22)와 8진 카운터(21)는 10(로우) x8(칼럼)의 80진 카운터 기능을 하며 키 0(Key Zero)에서 키 79까지 연속적으로 스캔한다.
상기 멀티플렉서(50)의 출력은 래치(61)의 클럭으로 공급되는데, 래치(61)은 멀티플렉서(50)의 출력이 "하이"상태일시(즉, 선택된 키가 눌려진 상태) 전상태의 논리 "로우" 신호를 토글( toggle)시켜 논리 "하이"로 래치 출력하며, 래치(61)의 논리 "하이"신호는 래치(62)와 래치(70)에 클럭신호로 입력된다. 상기 래치(62)는 상기 클럭신호에 의해 반전출력단다(
Figure kpo00006
)로 "로우"신호를 출력하여 저항(66)과 캐패시터(67)만큼의 시정수 만큼 지연된 후 오아게이크(64)로 입력되며, 오아게이트(64)는 인버터(63)을 통해 이미 입력되어 있는 논리 "로우"신호와 논리합하여 인터럽트 신호(
Figure kpo00007
)를 발생하여 CPU로 출력한다. 상기 사항에서 소정의 지연시간을 갖는 저항(66)과 캐패시터(67)의 시정수는 키가 눌러질 때 발생할 수 있는 채터링 현상을 방지한다. 그리고 래치(62)의 논리 "로우"출력은 앤드게이트(12)의 출력을 논리 "로우"로 하여 8진 카운터(21) 카운터(21) 카운팅을 중지시킨다. 이는 현재 카운터 래치(70)에 눌러진 키의 위치에 대한 데이타가 저장되어 있는 상태이므로 해당 키데이타를 CPU가 읽어가기 전까지 키스캔을 중지시키기 위함이다.
또한 래치(61)의 출력은 클럭신호로 입력하는 래치(70)는 선택된 키위치 값인 8진 및 10진 카운터(21, 22)의 출력을 내부에 래치하여 저정하고 있다가, CPU가 인터럽트 신호를 인지한 후 출력하는 논리 "로우"의 리드신호에 의해 저장하고 있던 키위치 값을 데이타 버스를 통하여 출력한다. 그리고 논리 "로우"의 리드신호가 입력되면 래치(61-62)가 클리어되어 CPU로 공급되는 인터럽트 신호가 해제되며, 래치(62)의 출력인 논리 "하이" 신호가 앤드게이트(12)에 입력되어 클럭발생기(11)의 출력이 8진 카운터(21)를 공급된다. 따라서 다시 현재 키 위치에서 키매트릭스(40)을 스캔한다.
여기서 키매트릭스(40)에서 제4행(R3)의 제3열(C1)에 위치된 26번째의 키이가 압압되었다고 가정한다.
클럭신호에 의해 8진 카운터(21)가 0에서 7까지 3번 카운팅하게 되면, 10진 카운터(22)의 RS3-RS0출력은 3(0011)이 되고, 이로인해 디코더(30)의 출력은 키매트릭스(40)의 제4행(R3)을 선택하며, 8진 카운터(21)의 CS2-CS0출력은 1(001)되고 이로인해 멀티플랙서(50)는 키매트릭스(40)의 제2열(C1)을 선택하게 된다. 따라서 이때 멀티플렉서(50)를 출력하는 신호는 키매트릭스(40)의 제4행(R3) 및 제2열(C1)에 위치된 키의 눌림여부를 나타내는 상태신호가 나타나게 된다.
이때 해당키가 눌려진 상태라면, "하이" 신호를 갖게되며, 이 경우 논리 "하이"로 출력하는 멀티플렉서(50)의 출력은 래치(61)의 클럭으로 입력되어 전단계 논리 "로우"신호를 논리 "하이"로 토글(toggle)시킨다. 상기 래치(61)의 출력은 래치(62)과 카운터 래치(70)에 클럭신호로 인가된다. 이때 카운터 래치(70)는 상기 래치(61)에 출력에 의해 10진 카운터(22) 및 8진 카운터(21)를 출력하는 키 위치값을 내부에 저장한다. 또한 래치(62)는 상기 클럭신호에 의해 반전출력단자(
Figure kpo00008
)로 "로우" 신호를 출력하며 오아게이트(64)는 인버터(63)의 출력과 상기 래치(62)의 출력을 논리합하여 인터럽트 신호를 발생하여 CPU로 출력한다. 또한 래치(62)의 논리 "로우" 출력은 앤드게이트(12)의 출력을 논리 "로우"로 하여 8진 카운터(21) 카운팅을 중지시킨다.
이후 CPU가 인터럽트 신호를 인지한 후 출력하는 논리 "로우"의 리드신호를 출력하면 카운터 래치(70)가 인에이블되어 저장하고 있던 키위치 값을 데이타 버스를 통하여 출력하며, 래치(61-62)가 클리어 되어 앤드게이트(12)를 통해 클럭이 공급되므로 8진 카운터(21)가 동작을 재게하게 된다.
상술한 바와 같이 키보드를 통하여 키입력을 결정하는 전자식 타자기, 위드프로세서, 컴퓨터 등의 키입력 검사와 채터링 현상을 방지하지 위하여 하드웨어로 수행함으로서, CPU의 스프트웨어 부담을 줄일 수 있으며, CPU는 단지 데이타만 읽고 처리하므로 키입력 처리속도의 개선, 롬(ROM)의 축소화 및 시스템의 스피드업(Speed Up)을 구현하여 전체적인 기기의 성능을 향상시킬 수 있는 장점이 있다.

Claims (1)

  1. mxn개의 키들로 구성된 키매트릭스(40)를 구비한 키 입력 데이타 처리회로에 있어서, 클럭을 발생하며, 인터럽트신호 발생시 클럭의 통로를 차단하는 클럭부(10)와, 상기 클럭부(20)의 출력을 카운트하여 행 및 열카운트 신호(RS, CS)를 발생하는 키스캔 카운터부(20)와, 상기 키스캔 카운터부(30)의 행카운트 신호(RS)를 디코딩하여 순차적으로 상기 키매트릭스(40)의 m개 행라인을 선택하는 디코더(30)와, 상기 키스캔 카운터부(30)의 열카운트신호(CS)에 의해 선택된 행라인의 n개 열라인을 순차적으로 선택출력하는 멀티플렉서(50)와, 상기 멀티플렉서(50) 출력에 의해 키눌림 유무를 판단하고, 키눌림 신호 발생시 CPU로 인터럽트 신호를 발생하여 리드(
    Figure kpo00009
    )신호에 의해 클리어되는 인터럽트 발생부(60)와, 상기 키눌림 신호 발생시 상기 키스캔 카운터부(20)의 출력(RS, CS)을 저장하며, 리드신호(
    Figure kpo00010
    )발생시 CPU로 출력하는 래치(70)로 구성됨을 특징으로 하는 키 입력데이타 저리회로.
KR1019860011695A 1986-12-31 1986-12-31 키 입력 데이타 처리회로 KR900000604B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019860011695A KR900000604B1 (ko) 1986-12-31 1986-12-31 키 입력 데이타 처리회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019860011695A KR900000604B1 (ko) 1986-12-31 1986-12-31 키 입력 데이타 처리회로

Publications (2)

Publication Number Publication Date
KR880008123A KR880008123A (ko) 1988-08-30
KR900000604B1 true KR900000604B1 (ko) 1990-02-01

Family

ID=19254682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019860011695A KR900000604B1 (ko) 1986-12-31 1986-12-31 키 입력 데이타 처리회로

Country Status (1)

Country Link
KR (1) KR900000604B1 (ko)

Also Published As

Publication number Publication date
KR880008123A (ko) 1988-08-30

Similar Documents

Publication Publication Date Title
CA1073554A (en) Keyboard circuit
US4502038A (en) Keyboard scanning and interface method and circuit
EP0067516B1 (en) Shift control system for keyboards
KR900000604B1 (ko) 키 입력 데이타 처리회로
KR100319516B1 (ko) 키입력스캐닝장치
US4799155A (en) Data processing system having a hierarchy of service computers including a state display
CN217213701U (zh) 用于多时钟切换的电路、fpga和电子设备
SU1080132A1 (ru) Устройство дл ввода информации
KR200195093Y1 (ko) 키보드 입력장치
KR900001131B1 (ko) 다수의 인터럽트 신호를 하나의 인터럽트 단자로 처리하는 인트 처리 제어회로
KR960016265B1 (ko) 디지털 키폰의 제어용 집적 회로
KR960016407B1 (ko) Mcu내의 인터럽트 신호 발생회로
KR920001189B1 (ko) 문자코드의 폰트 이미지 전개회로
JPS6022433Y2 (ja) ロ−マ字かな文字変換装置
KR960016271B1 (ko) 교환기 접속모듈의 리셋 출력회로
SU631922A1 (ru) Устройство дл проверки клавиатуры
KR100515671B1 (ko) 키보드 입력방법
SU1094028A1 (ru) Устройство дл ввода информации
SU983696A1 (ru) Устройство дл ввода информации
KR940003617B1 (ko) Emi발생 최소화용 키입력 방법 및 회로
KR940000295B1 (ko) 칼라 비디오 프린터의 기능 수행 인터페이스 장치
JP2510016B2 (ja) キ―入力装置
SU943693A1 (ru) Устройство дл ввода информации
KR0121940B1 (ko) 바운더리 스캔의 2출력 데이타 출력회로
SU1179353A1 (ru) Устройство дл сопр жени диспле с цифровой вычислительной машиной (цвм)

Legal Events

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

Payment date: 20030129

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee