KR940009744B1 - 적응형 입력 스캐닝 방법 - Google Patents

적응형 입력 스캐닝 방법 Download PDF

Info

Publication number
KR940009744B1
KR940009744B1 KR1019920012170A KR920012170A KR940009744B1 KR 940009744 B1 KR940009744 B1 KR 940009744B1 KR 1019920012170 A KR1019920012170 A KR 1019920012170A KR 920012170 A KR920012170 A KR 920012170A KR 940009744 B1 KR940009744 B1 KR 940009744B1
Authority
KR
South Korea
Prior art keywords
input
logic
state
bits
chattering
Prior art date
Application number
KR1019920012170A
Other languages
English (en)
Other versions
KR940002691A (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 KR1019920012170A priority Critical patent/KR940009744B1/ko
Publication of KR940002691A publication Critical patent/KR940002691A/ko
Application granted granted Critical
Publication of KR940009744B1 publication Critical patent/KR940009744B1/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

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)
  • Manipulation Of Pulses (AREA)

Abstract

내용 없음.

Description

적응형 입력 스캐닝 방법
제 1 도 내지 제 5 도는종래기술에 따른 작용상태도.
제 6 도는 중앙제어부의 전체 제어방법에 따른 처리절차의 개략적인 흐름도.
제 7 도는 본 발명에 따른 논리검출방법의 세부 흐름도.
제 8 도는 본 발명에 따른 작용을 세부적으로 나타내기 위한 신호 파형도.
제 9 도는 본 발명과 종래기술과의 작용효과 대비에 따른 입력신호와 처리된 신호의 파형도.
* 도면의 주요부분에 대한 부호의 설명
1: 신호발생부 2 : 신호정형부
3 : 중앙제어부
본 발명은 논리입력을 스캐닝하는 방법에 관한 것으로서, 특히, 불안정한 논리 입력을 안정된 논리로 변환시켜 스캐닝 방법에 관한 것이다.
종래에는 논리입력을 스캐닝하기 위해 하드위어적으로 처리하는 장치와 소프트웨어적으로 처리하는 방법이 있었는데 이를 살펴보면 다음과 같다.
제 1 도는 종래의 논리입력 스캐닝 장치의 구성도이다.
도면에서와 같이 하트웨어로 구성되는 종래의 기술은 각종 기계적인 스위치 입력, 절연을 위한 포토커플러의 출력을 이용한 입력 등을 발생하는 신호발생부(1)와 상기 신호발생부(1)에서 발생하는 잡음이나 기계적 접촉으로 인한 채터링을 흡수하거나 방지하는 신호정형부(2)와 상기 신호정형부(2)의 출력을 입력받아 논리 검출을 하는 중앙제어부(3)로 구성된다.
상기와 같은 종래의 하드웨어는 캐패시터와 플립플롭으로 이루어진 상기 신호정형부를 추가로 부가해야 하고 경우에 따라서는 클럭주기를 조정해 주는 별도의 수단도 요구되었다.
그래서 상기 신호정형부(2)를 별도로 부가시키지 않고 논리입력을 스캐닝하기 위해 논리입력의 채터링을 소프트웨어적으로 처리하기 위한 기술이 개발되었는데, 제 2 도는 제거된 신호정형부(2)의 기능을 대신하기 위해 상기 중앙제어부(3)에 탑재되는 논리검출 프로그램의 개략적인 처리 흐름도로서, (a)도는 메인 루틴의 흐름도 (b)도는 인터럽트 서비스 루틴의 처리 흐름도이다.
논리 검출 프로그램의 입력은 중앙제어부(3)의 입력으로 되는 신호 논리값이고 프로그램의 출력은 신호의 상승에지(rising edge) 하강에지(falling edge), 신호입력의 논리 판단에 의한 안정된 논리출력(inputlogic state)이 있다.
초기전원의 리셋에 의해 메인루틴은 초기화 과정(4)을 거친다. 이는 내부 타이머에 일정시간 주기의 타이머 인터럽트를 위한 초기값을 로드(load)하고 논리검출을 위한 각종 타이머 레지스터, 플래그등을 소거하는 것이다.
초기화 과정(4)이 끝나면 주 프로그램(메인 루틴)내의 무한 루프(5)를 수행하는데 이 루프내에 논리 검출 프로그램이 존재한다.
내부타이머 인터럽트가 발생하면 (b)도와 같은 처리절차에 의해 타이머를 처리하고 메인루틴으로 복귀한다(6,7).
제 3 도는 신호입력과 위상구분에 따른 파형도로서 도면에서 10은 제 1 위상 11은 제 2 위상 12는 제 3 위상을각각 나타낸다.
도면에서와 같이 정상상태(inactive state)가 논리적으로 '하이'인 경우 채터링을 포함한 입력이 존재하고, 채터링 방지(debouncing) 시간은 Td라고 정의하고 액티브 상태 검출을 위해 위상상태를 4개로 구분한다.
제 4a 도는 제 1 위상상태 처리과정(16)의 세부 흐름도로서, 정상상태(입력=하이)에서 액티브 상태(로우)를 논리적을 판단하여(20) 로우가 아니면 종료하고, 로우이면 채터링 방지작업을 위해 채터링 방지 타이머에 채터링 방지 시간값(Td/Ti ; 여기서 Ti는 타이머 인터럽트의 간격이고, Td는 Ti의 정수배이다.)을 로드(load)하고 제 2b 도의 타이머 인터럽트 서비스 루틴에서 시간제어를 위해 타이머 인에이블(enable) 플래그를 세트한다. 또한 채터링 방지 시간 체크를 위해 위상상태 선택 레지스터에 다음 위상상태(11)를 지정하도록 지정값을 써 넣어(21) 채터링 방지 작업에 들어간다.
제 4c 도는 제 2 위상상태 처리과정(17)의 세부 흐름도로서 Td가 끝나면 즉 타이머 인에이블 플래그가 '로우'이면 아직도 입력이 로우인지 검사하여(22,23), 로우가 아니면 잡음펄스라 인정하여 다시 정상상태(제 1 위상상태 : 10)로 되돌린다.
그런데 로우이면 유효한 입력이라 판단하여 상태가 하강에지(falling edge : 하이 → 로우)임을 나타내고, 입력논리 상태를 로우로 설정한 다음 판단구간을 다음 위상상태(제 3 위상상태 ; 12)로 옮긴다.
제 4d 도는 제 3 위상상태 처리과정(18)의 세부 흐름도로서 입력이 로우인 상태에서 다시 정상상태(입력=하이)로 돌아가기 위해 입력이 하이인지 판별하는 과정이다. 입력이 하이이면 채터링 방지를 위하여 채터링 방지 타이머에 채터링 방지 시간값(Td/Ti)을 로드하고, 타이머 인이에블 플래그를 세트한다. 그리고 채터링 방지 시간 점검을 위해 판단구간을 다음 위상상태(제4위상상태 ; 13)로 옮긴다.
제 4e 도는 제4위상상태 처리과정(19)의 세부 흐름도로서 Td가 끝나면(28), 아직도 입력이 하이인지 점검하여(29) 하이가 아니면 잡음펄스라 인정하여 하이 점검상태(제 2 위상상태)로 되돌아가고 (31) 입력이 하이이면 정상입력이라 판단하여 상승에지임을 나타내고, 입력논리 상태를 하이로 설정한 다음 정상상태(제 1 위상상태)로 옮긴다.
제 4f 도는 제 2b 도의 타이머 처리과정(7)의 세부 흐름도로서, 채터링 방지작업이 인에이블되어 있는지 판단하여(32), 인에이블되어 있으면 채터링 방지 타이머 값으 감소시키고 (33), 아니면 종료한다. 그리고, 감소시킨 타이머 값이 0인지를 판단하여(34) 0이면 채터링 방지작업을 종료시킨다.
상기한 처리 절차에 있어서, 정상상태가 '로우'로 설정되고 액티브 상태가 '하이'로 설정되면 상술한 처리에서 논리적으로 역으로 처리하면 된다.
종합적으로 상기한 종래기술은 현재입력의 논리상태와 다른 논리상태가 검출되면 Td동안 입력점검을 유보시키고 Td가 지나면 다시 점검하여 Td전의 논리상태와 Td이후의 논리상태가 같으면 유효입력으로 인정하여 논리출력을 반전(하이→로우, 로우→하이)시키는 방법이다.
그런데 상기 종래기술의 문제점을 제 5 도를 이용하여 살펴보면, Tc를 채터링 시간, Td를 채터링 방지시간이라 할때, 도면의 입력 1을 적용시킬때, Td=Td1<Tc/2인경우 A 파형과 같이 논리출력에 오류가 발생할 수 있다. 그리고 Td=Td2이고 Tc/2<Td2<Tc인 경우 B 파형과 같이 Tc 이전에 로우(L)가 검출된 결과가 나타나고, Td=Td3인 경우 파형 C의 Tc 이후 정상적인 결과가 나타난다. Td=Td4인 경우 (Td4>Tc)는 상기 입력 1에 대해서는 파형 D에서와 같이 오류가 발생하지 않는다. Td<Tc인 경우 입력2, 입력 3에 대한 출력은 파형 E와 같은 오류가 발생할 수 있다.
또한 유효입력 취소 펄스폭을 Tpw라 할때 Td>Tpw인 경우 입력 4, 입력 5에 대해서 입력검출을 하지 못하게 되고 이때에도 오류가 발생한 것이다.
결국, 상기 종래기술은 채터링 방지시간인 Td는 Tc<Td<Tpw의 조건을 만족해야 하고 Tpw<Tc인 경우는 검출이 불가능하다.
따라서, 상기 종래기술의 문제점을 해결하기 위해 안출된 본 발명은, 논리입력 스캐닝의 신뢰성을 향상시킨 논리입력 스캐닝 방법을 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은 논리 입력을 셈플링하여 레지스터에 시프트(shift)하여 시프트 된 비트의 상태를 점검하는 제 1단계와, 상기 제 1단계 수행후 모든 비트가 0이면, 바로 전의 입력상태가 논리적으로 '하이(H)'일 경우는 입력논리를 '로우' 상태로 파악하고 하강에지가 발생된 것으로 처리하고, 바로 전의 입력상태가 논리적으로 '하이(H)'가 아닐 경우는 현재의 논리상태로 입력논리를 파악하는 제 2단계와, 상기 제 1단계 수행후, 모든 비트가 1이면, 바로 전의 입력상태가 논리적으로 '로우(L)'일 경우는 입력 논리를 '하이'상태로 파악하고 상승에지가 발생된 것으로 처리하고, 바로 전의 입력상태가 논리적으로 '로우(L)'가 아닐 경우는 현재의 논리 상태로 입력논리를 파악하는 제4단계를 구비한다.
이하, 제 6 도 이하를 참조하여 본 발명의 일실시예를 상세히 설명한다.
제 6 도는 본 발명을 포함하는 중앙제어부의 전체 제어방법에 따른 처리절차의 개략적인 흐름도로서, (a)는 전체 흐름도, (b)는 타이머 인터럽트 서비스 루틴의 흐름도로서, 본 발명의 수행은 도면에서와 같이, 입력의 주기적인 샘플링(sampling)을 위해 타이머 인터럽트 서비스 루틴내에서 수행된다.
제 7 도는 본 발명에 따른 논리검출방법의 세부 흐름도이다.
샘플링 주기와 같은 주기의 타이머 인터럽트가 걸려 타이머 인터럽트 서비스 루턴이 수행되면, 입력논리 비트를 채터링 방지 레지스터(이하 DR)이라 한다.)에 시프트 한다(40), 이때 시프트의 방향은 전원 리셋시의 최초 시프트 방향과 동일하도록 일정하게 유지한다. 그리고 다음 DR의 비트 상태를 점검하여 모든 비트가 0인지, 아니면 모든 비트가 1인지, 또는 0과 1의 혼합인지를 점검한다.(41)
모든 비트가 0인 경우에는 DR의 비트수에 해당하는 만큼의 시간동안 0가 입력된 것이므로 채터링이 없는 확실한 로우 입력임을 알 수 있고, 그 이전의 입력 논리 상태가 하이인 경우 하이→로우의 하강에지로 검출한다.(42,43)
모든 비트가 1로 세트된 경우에는 채터링 방지 시간(DR의 비트수에 해당하는 만큼의 시간)동안 1이 입력된 것이므로 채터링이나 잡음펄스가 없는 확실한 '하이' 입력임을 알 수 있으며, 그 이전의 입력 논리 상태가 로우인 경우, 로우→하이의 상승에지로 검출한다(44,45).
그 이외의 경우 채터링 또는 하이→로우, 로우→하이의 논리 반전을 위한 과도상태인 경우이므로, 현재의 입력 논리 상태는 변하지 않는 히스테리시스 특성을 갖는다. 즉, 현재의 논리 입력값으로 설정하고 복귀한다.
제 8 도는 본 발명에 따른 작용을 세부적으로 나타내기 위한 신호 파형도이다.
본 발명은 중앙제어부(3)의 내부 타이머 인터럽를 이용하여 일정 샘플링 주기(Ts)로 스위칭등의 신호 입력을 샘플링하여 일정길이의 비트수(N) 만큼 누적시커면서 이 값을 실시간 처리하여 신뢰성 있는 논리 입력을 검출하도록 한 것이다.
먼저, N비트수의 레지스터를 설정하고, (a)도와 같이 채터링이 있는 경우를 생각해 보면 t1에서 레지스트의 샘플링 비트는 모두 1로서 t1에서 t1-(N-1)ㆍTs 시간동안 확실한 논리로서 '하이'임을 알 수 있고, 마찬가지로 시간 t3에서의 비트값은 모두 0으로서 그 이전까지를 고려하면 확실한 논리 '로우'임을 알 수 있다.
반면에 시간 t2에서는 비트 1과 비트 0과의 혼합임을 미루어 입력 신호에 채터링이 있음을 알 수 있다. 이때는 채터링이 발생하기 전의 논리(하이)를 유지하고 있어야 한다. 이후, 비트1과 비트0의 혼합이 없어지고 비트0만이 값이 되었을때 비로서 논리 하이에서 논리 로우가 되기 위해서는 시간 t2에서와 같이 비트0와 비트1의 혼재시간이 존재함을 알 수 있다. 즉 논리변환의 시간 지연이 생김을 알 수 있다. 이 지연시간(Td)은 샘플링 시프트 레지스터의 비트수(N)을 샘플링 주기(Ts)로 곱한값이 된다. 이때 실제지연시간( Td)은 +/-Ts만큼의 오차가 발생할 수 있다.
(c)도에서 볼 수 있듯이 파형 C의 경우보다 파형 A는 최소 -Ts, 파형 B는 최대 +Ts만큼의 차이가 있음을 알 수 있다. 실제 채터링이 있는 경우는 논리반전 검출 지연시간이 채터링 시간만큼 늘어나게 된다. 이 도에서 보면 채터링 시간이 Tc1인 경우, 하강에지 검출시간은 Tc1+Td가 되고 채터링 시간이 Tc2인 경우는 상승에지 검출시간이 Tc2+Td가 된다. 따라서, 본 발명의 채터링 방지시간은 실제 입력의 채터링시간에 따라 가변됨을 알 수 있다.
(e)도에서와 같이 비정상 펄스성 잡음인 경우, TH,TL<Td를 만족하면 논리에 영향을 받지 않는 스무싱(smoothing)효과를 얻게 된다. 그리고 본 발명에서 입력으로 받아들일 수 있는 정상적인 입력은 최소한 Td 이상의 상태가 유지되는 것이라야 한다.
제 9 도는 본 발명과 종래기술과의 장용효과 대비에 따른 입력 신호와 처리된 신호의 파형도이다.
도면에서와 같이 종래기술이 가지고 있는 문제점이 제거되는데 도면에 도시한 입력 1내지 입력 4를 적용하면, 입력 1에 대해서 Td<Tc/2인 경우 Tc/2<Td<Tc, Td>Tc인 경우 모두 Tc에 관계없이 Tc가 끝난후, DR의 비트수 만큼의 채터링 방지 시간 지연시간 이후에 채터링이 제거된 논리 출력이 얻어짐을 알 수 있다.
입력 2,3인 경우는 출력논리가 하이를 유지하며, 입력 4의 경우(Tpw-Tc)>Td인 경우 출력이 검출되고 입력 5의 경우, Td<Tpw를 만족하면 역시 Td의 지연시간 이후 Tpw의 논리 출력을 얻을 수 있다. 즉 본 발명에 따르면 TCL,TCH<Td<Tpw의 조건을 만족하는 Td로 Ti와 DR의 비트수를 설정하면 Tc에 무관하게 Td의 지연시간을 갖는 안정된 논리출력을 얻을 수 있다.
따라서, 상기와 같은 처리절차에 의해 수행되는 본 발명은 레지스터의 비트수와 타이머의 인터럽트 주기를 조절하여 채터링 방지시간(Td)를 가변하며, 이를 통해 플스성 잡음을 제거하는 효과를 가지며, 또한, 채터링이 없으면 최소 에지 검출시간(Td)만큼 지연되고 채터링이 있으면 채터링 시간(Tc) 만큼만 추가의 지연(Tc+Td)이 생기게 되어 입력의 채터링 특성에 따라 적용하여 안정된 출력을 발생하는 효과가 있다.

Claims (1)

  1. 논리 입력 신호를 발생하는 신호발생수단(1)과, 상기 신호발생수단(1)에 연결되어 논리 입력신호에 채터링을 제거하여 스캐닝하는 중앙제어수단(3)을 구비한 장치에 적용되는 논리 입력 스캐닝 방법에 있어서, 논리 입력을 샘플링하여 레지스터에 시프트(shift)하여 시프트된 비트의 상태를 점검하는 제 1단계(40.41)와, 상기 제 1단계(40,41)수행후, 모든 비트가 0이면, 바로 전의 입력상태가 논리적으로 '하이(H)'일 경우는 입력논리를 '로우' 상태로 파악하고 하강에지가 발생된 것으로 처리하고, 바로 전의 입력상태가 논리적으로 '하이(H)'가 아닐 경우는 현재의 논리 상태로 입력논리를 파악하는 '로우(L)'일 경우는 입력논리를 '하이'상태로 파악하고 상승에지가 발생된 것으로 처리하고, 바로 전의 입력상태가 논리적으로 '로우(L)'가 아닐 경우는 현재의 논리 상태로 입력논리를 파악하는 제 3 단계(44,45)와, 상기 제 1단계(40,41) 수행후, 비트가 0과 1이 혼재된 경우는 현재의 논리상태로 입력논리를 파악하는 제 4 단계를 구비하여 수행되는 것을 특징으로 하는 적응형 입력 스캐닝 방법.
KR1019920012170A 1992-07-08 1992-07-08 적응형 입력 스캐닝 방법 KR940009744B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920012170A KR940009744B1 (ko) 1992-07-08 1992-07-08 적응형 입력 스캐닝 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920012170A KR940009744B1 (ko) 1992-07-08 1992-07-08 적응형 입력 스캐닝 방법

Publications (2)

Publication Number Publication Date
KR940002691A KR940002691A (ko) 1994-02-19
KR940009744B1 true KR940009744B1 (ko) 1994-10-17

Family

ID=19336032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920012170A KR940009744B1 (ko) 1992-07-08 1992-07-08 적응형 입력 스캐닝 방법

Country Status (1)

Country Link
KR (1) KR940009744B1 (ko)

Also Published As

Publication number Publication date
KR940002691A (ko) 1994-02-19

Similar Documents

Publication Publication Date Title
EP0487743B1 (en) Microcomputer provided with built-in converter
US4686677A (en) Apparatus and method for detecting time-related faults
KR940009744B1 (ko) 적응형 입력 스캐닝 방법
US4082218A (en) Potential failure detecting circuit having improved means for detecting transitions in short duration signals
US4669098A (en) Increased resolution counting circuit
US6205192B1 (en) Clock input control circuit
KR960016809B1 (ko) 트리거 마스킹 기능을 갖는 트리거 신호 발생 회로
US5838172A (en) Timing error detecting circuit
JP2707778B2 (ja) ノイズ除去回路
KR900002470Y1 (ko) 잡음 제거회로
KR100493607B1 (ko) 가변주파수 펄스발생장치
JP3516727B2 (ja) 論理比較器
JPH08242153A (ja) ラッチ回路
KR100197433B1 (ko) 인터럽트 신호 발생장치
KR200222679Y1 (ko) 입력신호의 상승에지 및 하강에지의 선택적 검출장치
KR0169605B1 (ko) 레이더신호 적분방법
JP2646713B2 (ja) 半導体素子の比較試験回路
KR0170508B1 (ko) 잡음 펄스 필터링 회로
KR0131431Y1 (ko) 신호 디바운스회로
RU2044404C1 (ru) Устройство формирования временного сигнала (варианты)
KR100241059B1 (ko) 비동기 데이터 전송회로 및 그 전송방법
KR0116233Y1 (ko) 잡음제거회로
KR100494646B1 (ko) 반도체 메모리 소자의 어드레스 천이 검출기
KR19980019683A (ko) 노이즈 제거장치
KR970049175A (ko) 피엘씨 인터럽트 모듈의 노이즈 제거장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
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: 20020918

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee