KR910004653B1 - 펄스입력장치 - Google Patents

펄스입력장치 Download PDF

Info

Publication number
KR910004653B1
KR910004653B1 KR1019880006249A KR880006249A KR910004653B1 KR 910004653 B1 KR910004653 B1 KR 910004653B1 KR 1019880006249 A KR1019880006249 A KR 1019880006249A KR 880006249 A KR880006249 A KR 880006249A KR 910004653 B1 KR910004653 B1 KR 910004653B1
Authority
KR
South Korea
Prior art keywords
time
input
memory
state change
command
Prior art date
Application number
KR1019880006249A
Other languages
English (en)
Other versions
KR880014741A (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 KR880014741A publication Critical patent/KR880014741A/ko
Application granted granted Critical
Publication of KR910004653B1 publication Critical patent/KR910004653B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Nonlinear Science (AREA)
  • Programmable Controllers (AREA)
  • Inverter Devices (AREA)
  • Electronic Switches (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

내용 없음.

Description

펄스입력장치
제 1 도 내지 제 22 도는 본 발명의 1실시에에 관한 펄스입력장치를 나타낸 도면으로,
제 1 도는 전체블럭도,
제 2 도는 타이머카운터의 블록도,
제 3 도는 동작파형도,
제 4 도는 입력회로의 블록도,
제 5 도는 제 4 도에 도시된 입력회로에서의 미분회로에 대한 블록도,
제 6 도와 제 7 도는 제 5 도에 따른 동작파형도,
제 8 도는 입력메모리의 블록도,
제 9 도는 제 8 도에 도시된 입력메모리의 상세회로도,
제 10 도는 제 8 도에 도시된 입력메모리의 동작을 설명하기 위한 도면,
제 11 도는 내지 제 13 도는 명령의 기능을 설명하기 위한 도면,
제 14 도는 명력의 기술예를 나타낸 도면,
제 15 도는 시퀀서의 블록도,
제 16 도는 제 15 도에 도시된 시팍서에서의 보정회로에 대한 기능을 설명하기 위한 도면,
제 17 도는 제 15 도에 도시된 보정회로의 블록도,
제 18 도는 시팍서에서의 T2검증회로에 대한 기능을 설명하기 위한 도면,
제 19 도는 T2검증회로의 블록도,
제 20 도는 명령메모리의 블록도,
제 21 도는 명령메모리의 동작파형도,
제 22 도는 시퀀서의 기능을 나타낸 플로우차트,
제 23 도 내지 제 25 도는 종래의 펄스입력장치를 설명하기 위한 도면이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 펄스입력장치 2 : 버스
3 : 중앙처리장치(CPU) 4 : 타이머카운터
5 : 입력단자 6 : 입력회로
7 : 입력메모리 8 : 시퀀서
9 : 명령메모리, 11a∼11d : 미분회로 21 : 입력버퍼
22,23 : D플립플롭 24,25 : 앤드게이트
31 : 직교형 RAM 32 : 독출용디코더
33 : 기록용디코더 34 : 독출용 엔코더
41, 42 : 인버터 43 : 기록용비트선
44 : 기록용 워드선 45 : 독출용워드선
46 : 독출용위드선 61 : 어드레스버스
62 : 프로그램카운터 64,65 : 레지스터
66 : 제어회로 67 : 보정회로
68 : T2검증회로 69 : 데이터버스
70 : 레지스터 71,72 : 랫치회로
81,83,84 : 레지스터 82 : 비교기
85 : 데이터셀렉터 91,92 : 레지스터
93 : 비교기 94,95 : 인버터
96∼98 : 앤드게이트 99 : 오아게이트
101∼103 : 메모리플레인 104 : 어드레스디코더
105 : 조정회로 106 : 어드레스셀렉터
107 : 랫치회로 108 : 데이터셀렉터
본 발명은 펄스입력장치에 관한 것으로, 특히 외부신호의 변화가 발생된 시각을 중앙처리장치에 입력시켜 주기 위한 펄스입력장치에 관한 것이다.
외부신호가 변화되는 시각을 검출해서 그 시각을 중앙처리장치에 입력시켜주기 위한 펄스입력장치는 각종 기계의 제어장치에 대한 상태검출장치로서 이용되고 있는데, 이러한 종류의 펄스입력장치로서 종래에는 예컨대 미합중국특허 제4,222,103호에 발표된 기술이 알려져 있다.
여기서, 상기와 같은 펄스입력장치는 제 23 도에 도시된 바와같이 현재시각을 출력해주는 타이머카운터(1303)와, 입력신호가 상태변화되는 시간을 유지시켜주는 복수의 레지스터(1204∼1209)를 구비하고 있는데, 상기 각 레지스터(1204∼1209)는 대응되는 각 단자에 입력신호의 상태변화에 기인하는 트리거신호가 공급되면 타이머카운터(1203)의 값을 유지시켜주게 되므로 컴퓨터에서의 인터럽트라던지 소프트웨어에 의하지 않고서 입력신호의 상태변화가 발생된 시간을 유지시켜 줄수 있게 된다.
즉, 레지스터(1210)에 입력신호의 상태변화를 지정하는 정보, 예컨대 "100"을 설정해주게 되면 이 정보와 입력신호가 논리케이트(1212∼1219)에 의해 논리연산되어 제 24 도에 나타낸 바와같이 지정된 상태변화점에서 각 레지스터(1204∼12090에 트리거나 걸리게 되고, 그때의 타이머카운터(1203)의 값이 유지되게 되며, 이경우 변화가 발생된 챈널의 번호가 레지스터(1211)에 유지된다.
이러한 처리동작이 제 25 도에 도시되어 있는바, 이 제25도에서 처리동작은 인터럽트를 단락지어 인터럽트 요인의 분석, 시각의 읽어들임, 후속 인터럽트요인의 설정, 인터럽트대기와 같은 순서로 진행하게 되고, 도면중 ①∼⑦은 각각 인터럽트에 따라 단락지어진 처리의 구획으로서, 예컨대 ①에서는 모든 챈널에 대해 인터럽트요인을 설정해주고서 인터럽트를 대기하게 되고, ②에서는 인터럽트요인을 분석해서 레지스터(1206)로부터 챈널1(CH1)의 변화된 시각을 읽어들이고나서 후속의 인터럽트요인으로서 0을 설정해주고서 인터럽트를 대기하게 된다. 이하, 동일한 방식으로 이 처리를 필요한 만큼 계속해서 실행하게 되고, 이러한 이유로 중앙처리장치는 항상 인터럽트대기 재설정을 반복하고 있는 것으로 된다.
이와같은 펄스입력장치에서는 측정할 수 있는 입력의 형식이 어느 시각에 1회의 변화가 발생된 것을 기록하는 형식으로만 되어 있어 측정의 형식이 극히 한정되어진다는 결점이 있었고, 이때문에 복잡한 파형의 입력이 실행이 실행되는 경우에는 중앙처리장치에 빈번하게 인터럽트가 발생됨에 따라 중앙처리장치의 부하가 증대되어 제어장치 전체에서 처리능력의 한계가 저하되어 버리게 된다는 결점이 있었다.
이에 대해, 예컨대 미합중국특허 제4,259,719호 및 미합중국특허 제4,283,761호에는 입력신호의 상태변화를 트리거신호로 하면서 상태변화의 상태와 현재시각을 한벌(pair)로 해서 FIFO(First In Fist out)스택에 격납시켜주도록 된 장치도 소개되고 있다.
그러나, 이 장치에서는 FIFO스택에 시간계열적으로 상태변화의 정보가 스택되어지게 되므로 위상차, 펄스폭과 같이 제 1 상태변화와 제 2 상태변화를 관련지어 독출하기 위해서는 제 1 상태변화의 정보로부터 제 2 상태변화의 정보가 추출되기 까지의 사이에 FIFO스택내의 데이터를 모두 독출해야 되므로 FIFO스택의 내부를 독출해서 분류해주는 등의 해석루틴이 필요하게 된다. 이 때문에 FIFO스택내로의 수신데이터에서부터 소망의 상태변화시각을 얻기까지의 처리에서 중앙처리장치에 부하가 걸리게된다.
이와같이 종래의 펄스입력장치에서는 복잡한 파형의 측정을 실행하는 경우에는 중앙처리장치에 빈번하게 인터럽트가 발생하게 되거나, 소정의 해석루틴이 필요하게 되므로 중앙처리장치의 부하가 증대되어 제어장치 전체에서 처리능력의 한계가 저하되게 된다는 결점이 있었다.
본 발명은 상기한 종래 기술의 결점을 제거시켜주기 위한 것으로, 중앙처리장치에 부하를 주지 않고서 상태검출의 결과를 얻을 수 있도록 된 펄스입력장치를 제공함에 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 펄스입력장치는 소정의 클럭신호를 계수해서 기준시각정보를 발생시켜주는 타이머카운터와, 상기 기준시각정보에 동기되어 입력신호의 상태를 샘플링하는 입력회로, 이 입력회로에서 샘플링된 상기 입력신호의 상태를 상기 기준시각정보에 동기되어 그 기준시각정보에 의해 지정되는 어드레스의 기억장소에 읽어들이게 됨과 더불어 기억된 모든 시각의 상기 입력신호 상태를 그입력신호가 상태변화되는 싯점의 시각을 나타내는 코드로 변환시켜 출력해주는 입력메모리, 상태변화의 종류와 그 상태변화가 발생된 시각의 기록을 지시하는 명령이 기억되어지는 명령메모리, 상기 입력메모리로의 모든 어드레스에 대한 기록이 종료되기전에 모든 명령의 실행이 종료되도록 상기 명령메모리에 기억된 명령을 순차 독출해서 독출된 명령에 의해 소정의 상태변화에 대한 시각의 기록이 지시된 경우에는 상기 입력메모리로부터 상기 상태변화점의 시각을 나타내는 코드를 독출해내게 됨과 더불어 상기 타이머카운터로부터 현재시각을 입력수신해서 양자의 전후관계로부터 상기 지정된 상태변화의 시각을 구해 이 시각을 상기 명령의 일부로 되기록해주는 시퀀서를 구비한 것을 특징으로 하고 있다.
이러한 구성에 의한 본 발명의 펄스입력장치에서는 입력회로에 의해 샘플링되는 임의의 챈널에 대해 입력변화를 기준시각에 동기되어 순차 시간계열적으로 입력메모리에 기록시켜 주고, 시퀀서회로에 의한 상기 입력메모리로부터의 독출은 상기 기록과는 독립되게 이루어지게 되므로 임의의 챈널에 대해 복수의 측정조건의 기술은 몰론 모든 측정조건을 기술해줄 수 있게 된다. 그리고, 독출의 경우에는 입력메모리내의 시간축에 따르는 데이터를 코드화해서 독출할 수 있게 되므로 입력메모리에 대한 1회의 억세스에 의해 변화의 시각을 직접 독출할 수 있게 되고, 또 시퀀서는 명령메모리에 기억되어 있는 상태변화의 종류와 그 상태가 발생된 시각의 기록을 지시하는 명령을 입력메모리로의 모든 어드레스에 대한 기록이 종료되기전에 실행종료 되도록 순차 독출해내게 된다. 이에따라 시퀀서는 입력메모리에 대한 입력데이터의 기록이 일순하기 전에 지정된 상태변화의 발생시각을 현재시각과 더불어 보정해준 다음 모두 명령내에 되기록시켜주게 된다.
이와같이, 본 발명에 의하면 임의시간 범위의 입력신호에 대한 상태를 순차로 입력메모리에 격납시켜 두고, 시퀀서가 명령에 기초해서 지정된 상태변화의 시각을 구해 명령에 되기록시켜주게 되므로 복잡한 파형의 입력에 대해서도 중앙처리장치가 빈번하게 인터럽트를 발생시킬 필요가 없게 되고, 또 입력메모리에서는 특정 채널에 대해 시간축에 따르는 변화시각의 데이터를 단발적인 억세스에 의해 독출할 수 있게 되며, 독출된 데이터로부터 상태변화의 시각을 시퀀서가 구해내게 되므로 중앙처리장치에서 필요한 데이터를 추출분류해 주는 해석루틴등과 같은 특별한 서부루틴을 실행시킬 필요가 없게 된다. 이때문에 본 발명에 따른 펄스입력장치에서는 중앙처리장치에 대해 필요한때에 필요한 빈도로 인터럽트를 걸어주게 되면 좋으므로 중앙처리장치 부담을 대폭 경감시켜 줄 수 있게 된다.
이하, 본 발명의 실시예를 예시도면에 의거하여 상세히 설명한다.
제 1 도 내지 제 22 도는 본 발명에 관한 펄스입력장치의 1실시예가 나타내어져 있는바, 먼저 제 1 도에 있어서 펄스입력장치(1)는 버스(2)를 통해 중앙처리장치(3 : 이하 CPU라함)에 접속되어 있다. 여기서 상기 펄스입력장치(1)는 기준시각을 발생시켜주는 타이머카운터(4)와 이 타이머카운터(4)로부터의 기준시각에 통기되어 입력단자(5)에 입력되는 입력신호의 상승시점 및 하강시점을 샘플링하는 입력회로(6), 이 입력회로(6)에서 샘플링된 입력신호의 상태를 상기 기준시각에 동기되어 기록해두는 입력메모리(7), 상기 CPU(3)에 의해 지정되는 명령에 기초해서 상기 입력메모리(7)에 격납된 데이터로부터 상태변화의 발생시각을 나타내는 코드화된 데이터를 독출해서 명령에 되기록시켜주는 시퀀서(8) 및 상기 명령을 격납하고 있는 명령메모리(9)로 구성되어 있다.
상기 타이머카운터(4)는 제 2 도와 제 3 도에 나타낸 바와같이 시스템클럭(SCK)을 1/6로 분주시킨 펄스에 의해 카운트업되는 기준시각정보(현재시각)을 나타내는 24비트의 타이머출력(T00∼T023)을 발생시켜주게됨과 더불어 각 제어펄스(TWP, TCL, TWR, SMPL)를 발생시켜주게 되는데, TWP는 타이머출력(T00∼T023)이 16회 갱신될때마다 시스템클럭(SCK)의 1클럭분의 시간만큼 1로 되는 펄스이고, TCL은 시퀀서(8)의 내부에 수신되는 타이머출력(T100∼T023)을 랫치시키는 타이밍을 부여해주는 펄스이며, TWR은 입력메모리(7)에 대한 기록펄스이고, SMPL은 입력회로(6)의 샘플링타이밍을 부여해주는 펄스이다.
그리고, 입력회로(6)는 제 44 도에 나타낸 바와같이 4계통(CH0∼CH3)의 입력을 허용해 주도록 된 것으로, 각 계통(CH0∼CH3)마다 미분회로(11a∼11d)를 설치해서 구성되어 있는데, 여기서 이들 미분회로(11a∼11d)의 구성에 대해 미분회로(11a)를 대표로 해서 나타낸 제 5 도를 기초로 설명한다.
즉, 입력단자(5a)에 입력되는 입력신호는 히스테리시스 특성을 갖는 입력버퍼(21)에 의해 안정한 2진신호로 정형되어 2단의 D플립플롭(22,23)에 인가되고, 이 D플립플롭(22,23)에서는 SMPL펄스에 의해 D단자에 입력되는 상기 입력신호를 유지시키게 됨과 더불어 상호 SMPL펄스의 1주기만큼 지연된 출력을 Q단자 및
Figure kpo00001
단자로부터 출력시켜주게 되며, 이들 출력이 앤드게이트(24,25)에서 논리적(AND)되어짐에 따라 앤드게이트(24)의 출력에서 입력신호의 상승점을 나타내는 미분펄스가 얻어지게 되는 한편 앤드게이트(25)의 출력에서 입력신호의 하강점을 나타내는 미분펄스가 얻어지게 된다. 이어 이들 펄스는 츨력랫치회로(26,27)에 각각 랫치되어, 기록펄스(TWR)에 따라 입력메모리(7)에 입력데이터(D10,D11)로서 기록되어지는 한편 기록펄스(TWR)의 하강에 의해 클리어되게 된다.
제 6 도는 제 5 도에 도시된 미분회로(11a)의 각 부(P1∼P4)에서 발생되는 파형을 입력파형과 샘플링펄스(SMPL)와의 관계로서 나타낸 것으로, 이 제 6 도에 도시된 바와같이 미분회로(11a)에서는 입력신호의 상승 및 하강시작이 샘플링펄스(SMPL)에 대해 최대 1클럭분 지연되고 있기 때문에 본 장치에서는 제 7 도에 나타낸 바와같이 샘플링펄스(SMPL)의 주기를 입력메모리(7)에 대한 기록펄스(TWR)의 1/3로 로 설정해줌으로써 지연에 의한 영향을 최소로 해주게 된다. 예컨대 구간 ⑥에서 발생된 변화는 구간 ⑦에서 랫치되고, 구간 ⑧에서 발생된 변화는 구간 ⑪에서 랫치되는데, 여기서 구간 ⑦,⑨,⑪에서 랫치된 변화는 구각 ⑫에서 입력메모리(7)에 기록된다. 이에따라 구간 b에서 발생되는 변화는 구간 ⑫에서 입력메모리(7)에 기록되고, 구간 c에서 발생된 변화는 구간 156p-수식1에서 기록되어지게 된다.
또, 입력메모리(7)는 제 8 도에 도시된 바와같이 8×16비트의 용량을 갖는 직교형 RAM(31)과, 독출용디코더(32), 기록용디코더(33), 독출용엔코더(34)로 구성되어 있는데, 그중 직교형 RAM(31)은 8비트의 병렬입력데이터를 16어(語)분량으로 기억해둘 수 있는 것으로, 각RAM셀은 제 9 도에 도시된 바와같이 인버터(41,42)로 이루어진 1비트의 메모리가 기록용비트선(43)과 기록용워드선(44), 독출용비트선(45) 및 독출용워드선(46)에 트랜지스터(47∼50)를 매개해서 접속되어 구성되고 있고, 상기 기록용비트선(43)과 독출용비트선(45), 기록용워드선(46)은 상호 직교되게 되어 있음에 따라 이 직교형 RAM(31)은 입력과 출력이 직교하게 되는데, 이러한 입출력의 상태에 대해 제 8 도와 제 10 도를 참조해서 설명하자면, 입력회로(6)로부터 각 시간에 출력되는 4CH×2=8비트의 병렬데이터(51)는 타이머카운터(4)의 시각 갱신펄스(TWR)에 동기되어 기준시각의 하위 4비트(T00∼T03)에 의해 표시되는 기록어드레스(WRADRS)의 기억장소를 기록용디코더(33)에 의해 선택해줌에 따라 기록(52)된다. 여기서 각 챈널을 상승과 하강으로 구별해서 기억시키는 것은 다음의 처리에서 이들을 분리시키는 시간(수고)을 덜어주기 위함이다. 이에따라, 특별한 회로를 부가시키지 않고 복수의 명령에 의해 동일한 챈널의 상태를 측정할 수 있게 된다.
그리고, 상기 직교형 RAM(31)으로부터 독출은 시퀀서(8)로부터 공급되는 3비트의 독출어드레스(rdadrs)를 독출용디코더(32)에 의해 디코드해서 시퀀서(8)로부터 독출용 디코더(32) 공급되고 있는 독출신호( RD)에 따라 입력과는 직교되는 방향(53)으로 이루어지게 된다. 이 경우 출력데이터(54)는 하나의 입력데이터에 대한 16샘플점의 시간계열데이터이므로 이 16비트의 출력데이터에 입력신호의 변화점에 따른 정보가 실려있는 경우에는 그 부분만이 1로 되게 된다. 이 데이터는 독출용엔코더(34)에 의해 4비트의 데이터(TWT : 54)로 코드화되는데 이 데이터(TWT)는 RAM(31)으로부터의 16비트데이터의 "1"부분위치 즉, 입력변화의 시각을 나타내는 코드이다. 또 16비트의 데이터가 모두 0인 경우에는 대응되는 16회의 샘플링기간에 입력신호가 변화되지 않음을 나타내게 되고, 이때 독출용엔코더(34)로부터 출력되는 VALID신호가 "0"으로 된다.
이러한 입력메모리(7)는 시간축방향에 16어의 용량을 갖기 때문에 타이머카운터(4)의 시각갱신이 16회 이루어지는 시간동안에 발생되는 변화를 기억하는 것이 가능하게 되므로 명령메모리(9)내의 명령이 이 기간에 모두 실행되게 되면 명령메모리(9)내의 모든 명령이 정확하게 실행될 수 있어 입력이 변화된 시각을 구할 수 있게 된다.
다음, 시퀀서(8)가 실행하는 명령에 대해 설명한다. 명령메모리(9)에 기억되어 있는 명령은 NOP명령, EDGE명령, WIDTH명령의 3종류이고, 2어(1어는 2바이트)를 명령단위로 하면 NOP명령 및 EDGE명령어 단일명령(single command), WIDTH명령이 이중명령(double command)으로 된다. 이 경우 1명령단위는 제 11 도에 나타낸 바와같이 2어, 계 32비트에 의해 구성되고, 각 명령단위는 하위로부터 순서대로 INST부(2비트), MODE부(6비트), T부(24비트)로 구성되어 있는데, INST부는 각 명령의 식별을 실행하기 위해 사용되는 것으로 그 비트패턴에 따라 00이 NOP명령, 01이 EDGE명령, 10, 11이 WIDTH명령의 제 1 명령단위, 제 2 명령단위를 각각 나타내게 된다.
또, MODE부는 시각의 측정조건을 지정해주기 위해 사용되고, T부는 측정해낸 입력의 변화가 발생된 시각을 시퀀서(8)가 기록해주기 위해 사용됨에 따라 이 부분은 CPU(3)에 의해 기록해줄 필요는 없고 명령실행조전에 어느것이 기록되어 있어도 시퀀서(8)는 이를 무시하게 된다.
이어, 각 명령의 기능을 제 12 도에 기초해서 설명한다.
(a) NOP명령
NOP명령은 아무것도 실행하지 않는 명령으로 명령메모리(9)의 빈(공백)영역을 메워주도록 사용되고, 이 명령에서는 MODE부 및 T부의 기재는 무시된다.
(b) EDGE명령
이 명령은 제 13 도(a)에 도시된 바와같이 지정된 챈널의 상승 또는 상승시각(T)을 검출해내는 명령으로서, MODE부는 다시 2비트의 CH#부와 1비트의 R/F부, STATE부, INT부, S/C부로 구성되어 있다. 그 중 CH#는 변화를 검출해내는 챈널의 지정을 수행하는 영역이고, R/F부는 입력의 상승을 검출해낼 때 "1", 강하를 검출해낼때 "0"을 지정해주는 영역이며, STATE부는 측정이 종료되기 이전이면 "0", 종료된 다음이면 "1"이 격납되는 영역이고, INT부는 측정이 종료된때 인터럽트의 유무를 지정해주는 플래그이며, S/C부는 연속측정이면 "1", 단발측정이면 "0"을 지정해주는 플래그이다. 이러한 MODE부의 각 부중 STATE부는 측정이 종료된 싯점에서 시퀀서(8)에 의해 기록이 교체되지만 그 이외에는 CPU(3)에 의해 지정된 채로 변화되지 않게 된다.
(c) WIDTH명령
이 명령은 제 1 변화상태의 시각(T1)과 제 2 변화상태의 시각(T2)을 관련지어 측정하는 명령으로 예컨대 제 13 도(b)에 나타낸 바와같이 펄스폭이라던지 제13도(c)에 나타낸 바와같이 펄스주기, 또한 제13(d)에 나타낸 바와같이 다른 챈널사이의 시간차를 측정하기 위해 사용된다. 그리고, 이 명령에서는 제 1 상태변화의 시각(T1)을 검출하는 제 1 명령단위와, 제 2 상태변화의 시각(T2)을 검출하는 제 2 명령단위로 이루어지게 되고, 제 1 명령단위의 MODE부는 ①로 표시된 바와같이 2비트의 CH#.1부와 1비트의 R/F.1부, 2비트의 STATE부 및 1비트의 S/F부로 구성되어 있는 반면 제 2 명령단위의 MODE부는 ②로 표시된 바와같이 2비트의 CH#.2부와 1비트의 R/F. 2부 및 1비트의 INT부로 구성되어 있다. 여기서, 상기 CH#.1부와 R/F.1부는 각각 제 1 시각(T1)의 측정을 실행하는 챈널을 지정해주는 부분 및 입력의 상승(1) 또는 하강(0)을 지정해주는 부분이고, CH#.2부 및 R/F.2부는 각각 제 2 시각(T2)의 측정을 실행하는 챈널을 지정해주는 부분 및 입력의 상승(1) 또는 하강(0)을 지정해주는 부분이며, STATE부와 S/C부 및 INT부는 각각 상기 EDGE명령과 동일한 지정을 실행하는 부분이다. 또 STATE부는 측정상태를 나타내는 영역으로서 측정전에는 00이고, 시퀀서(8)가 제 1 명령단위의 실행이 종료하게 되면 01, 제 2 명령단위의 실행을 종료하게 되면 10으로 기록이 교체된다. 그리고, 측정된 제 1 번째 시각(T1)과 제 2 번째 시각(T2)은 각각 제1 및 제 2 명령단위의 T부에 되기록된다.
제 14 도는 상기 제 24 도의 파형을 본 장치에서 측정하는 경우에 대한 명령의 기술예를 나타낸 것으로 본 장치에서는 제 24 도의 주기측정, 펄스폭측정, 시간차측정을 측정하는데 3개의 WIDTH명령을 사용하면 충분하게 된다. 이에따라 6개의 명령단위의 기술에 의해 제 24 도의 파형측정을 실행할 수 있게 되고, CPU(3)는 이 명령을 명령메모리(9)에 격납시켜주게 되면 그 후의 처리에 관여할 필요가 없게 되며, 명령메모리(9)는 후술하는 바와같이 16개의 명령단위를 격납할 수 있게 되므로 0번지로부터 11번지까지(①∼③)에 실제 측정을 실행하는 명령이 격납되어지면서 ④의 잉여영역에 NOP명령이 격납된다.
여기서, ①은 CH0에 대한 입력신호의 펄스주기를 측정하는 WIDTH명령으로서 제 1 시각(T1)과 제 2 시각(2) 모두 상승을 측정하게 되고, 이 측정후에 인터럽트를 걸게 되며, 이는 1회만의 측정인 것을 나타내고 있다.
②는 CH1에 대한 입력신호의 펄스폭을 측정하는 WIDTH명령으로서 제 1시각(T1)이 상승, 제 2 시각(T2)이 하강을 측정하게 되고, 그 이외의 측정조건은 상기 ①과 동일하게 된다.
다음 시퀀서(8)의 구성에 대해 설명한다.
③은 CH2와 CH3에 대한 입력신호의 시간차를 측정하는 WIDTH 명령으로, 제 1 시각(T1), 제 2 시각(T2)모두 하강을 측정하게 되고,그 이외의 측정조건은 상기 ①과 동일하게 된다.
시퀀서(8)는 명령메모리(9)를 주사하여 독출된 명령의 내용에 기초해서 입력메모리(9)의 내용을 독출해낸 다음 그 내용으로부터 입력신호의 변화가 발생된 시각을 구해 그 시각을 명령메모리에 기록해주게 되어 있는 것으로, 입력메모리(7)에 대한 입력과 시퀀서(8)와는 각각 독립적으로 동작하게 되므로 복수의 명령을 조합시켜줌으로써 동일 입력단자에 관해 복수회의 측정을 실행할 수 가 있게 된다.
이러한 시퀀서(8)는 구체적으로 제 15 도에 나타낸 바와같이 명령메모리(9)에 해 4비트의 어드레스버스(61)를 통해 독출어드레스를 공급해주는 프로그램카운터(62)와, 상기 명령메모리(9)부터 8비트의 데이터버스(63)를 통해 입력되는 명령의 INST부 및 MODE부를 기억해두는 2개의 8비트의 레지스터(64 : 1R0. 65 : 1R1), 이 레지스터(64,.65)에 격납된 명령에 기초해서 각 부의 제어를 실행하는 제어회로(66), 상기 입력메모리(7)로부터 독출해낸 상태변화의 시각을 현재시각에 기초해서 보정해주는 보정회로(67), WIDTH명령에 있어서 제 2 번째 시각(T2)의 데이터에 대한 유효성을 판정해주는 T2검증회로(68), 측정한 시각을 24비트의 데이터버스(69)를 통해 명령메모리(9)에 격납된 T부에 되기록시켜주기 위해 상기 시각데이터를 일시 기억시켜두기 위한 24비트의 레지스터(70)를 주요소로 해서 구성되어 있다. 그중 명령메모리(9)에 대한 어드레스를 생성해주는 프로그램카운터(62)는 제어회로(66)로부터의 카운트업신호(COUNT UP)에 의해 증가(increment)되는 한편 리셋트신호(RESET)에 의해 클리어되고, 이 프로그램 카운터(62)의 최상위비트로부터의 캐리는 1비트의 랫치회로(71)에 유지되며, 이 1비트 랫치회로(71)로부터는 프로그램카운터(62)가 자리올림이 발생된 것을 나타내는 신호(OVFR)가 제어회로(66)에 출력된다. 이에따라 제어회로(66)는 프로그램카운터(62)를 리셋트시킨 다음 자리올림이 발생되기까지 프로그램카운터(62)를 순차 카운트함에 따라 명령메모리(9)를 주사하게 된다. 또, 상기 프로그램카운터(62)의 4비트출력은 어드레스를 일시적으로 유지시켜주는 4비트의 랫치회로(72)에 유지된다.
그리고, 상기 명령메모리(9)로부터 순차 독출되는 명령중 INST부와 MODE부는 레지스터(64,65)에 격납되는데, 상기 INST부는 명령의 종류를 나타내는 것이므로 제어회로(66)에 공급된다. 또 MODE부중 하위 3비트는 CH#부 및 R/F부이고, 이 하위 3비트는 입력메모리(7)에 독출어드레스(RDADRS)로서 공급되는 한편 MODE부중 상위 3비트는 계측조건이라던지 계측상황을 나타내는 것이므로 제어회로(66)에 공급된다.
그리고, 보정회로(67)는 입력회로(7)로부터 독출된 4비트의 데이터(TWT)와 타이머카운터(4)로부터 인가되는 24비트의 기준시각정보(GT : T00∼T023)에 기초해서 측정시각을 보정해주는 회로이다. 즉, 입력메모리(7)에 격납되어 있는 입력상태의 변화시각(TWT)과 현재시각(GT)의 사이에는 차가 있고 여기서 기준시각정보(GT)의 하위 4비트(GT4)와 검출시각(TWT)이 제 26a 도에 나타낸 관계 즉 입력메모리(7)의 0번지로부터 15번지까지의 사이에서 TWT<GT4의 관계를 갖게 배치되어 있는 경우에는 기준시각정보(GT)의 상위 20비트가 갱신되기 이전이므로 이 20비트를 보정하지 않고 TWT에 부가시켜 이를 상태변화가 발생된 시각으로 하게 된다.
한편, 기준시각정보(GT)의 하위 4비트(GT4)와 검출시각(TWT)이 제 16 도(b)와 도시된 관계 즉 입력메모리(7)의 0번지로부터 15번지까지의 사이에서 TWT>GT4의 관계를 갖게 배치되어 있는 경우에는 기준시각정보(GT)의 상위 20비트가 이미 갱신된 후이므로 이 20비트를 1감소시키는 보정을 실행한 다음 TWT에 부가시켜 이를 상태변화가 발생된 시각으로 하게 된다.
이상의 동작을 실행하기 위해 보정회로(67)는 예컨대 제 17 도에 나타낸 바와같이 구성해 줄수 있게 되는데, 이 제 17 도에서 참조부호 81은 타이머카운터(4)로부터 출력되는 기준시각정보(GT)를 랫치시켜주기 위한 24비트의 레지스터로서 그 하위 4비트(GT4)는 가중치(weighting) 비교기(82)의 한쪽 입력으로 공급되고 있고, 상기 입력메모리(7)의 출력(TWT)은 4비트의 레지스터(83)에 랫치되어 가중치비교기(82)의 다른쪽 입력으로 공급되고 있으며, 또 20비트의 레지스터(84)는 상기 레지스터(81)의 상위 20비트를 입력받게 되면서 레지스터(81)와 더불어 2단의 시프트레지스터를 구성하게 되고, 시프트펄스는 타이머카운터(4)로부터의 TCL신호에 의해 공급된다. 이에 따라 레지스터(84)에는 레지스터(81)의 상위 20비트보다도 "1"이 작은 데이터가 유지되고, 데이터셀렉터(85)는 가중치비교기(82)의 출력에 따라 레지스터(81)의 상위 20비트 또는 레지스터(84)의 내용을 선택하게 된다. 그러므로 GT4>TWT일때에는 가중치비교기(82)의 출력(CMP)이 0으로 되어 레지스터(81)를 선택하게 되고, GT4<TWT일떼에는 가중치비교기(82)의 출력(CMP)이 1로 되어 레지스터(81)를 선택하게 되며, 선택된 20비트와 TWT가 연결되어 상태변화의 시각을 나타내는 데이터(T)로서 출력된다. 이와같이 해서 보정회로(67)에 의해 얻어진 시각정보(T)는 레지스터(70)에 격납되고, 또 가중치비교기(82)의 출력(CMP)은 T2검증회로(68)에 공급되게 된다. 여기서, T2검증회로(68)는 WIDTH명령에서 제 2 번째의 시각(T2)에 대한 데이터의 유효성을 판정해주는 회로로서 WIDTH명령에서는 2회의 상태변화의 판정을 실행하게 되는데, 이 2회의 변화가 입력메모리(7)의 기록가능 시간을 지나서 발생될 때에는 문제가 없지만 2회의 변화가 입력메모리(7)의 동일기록주기에서 관측된 경우에는 변화가 발생된 순번을 확인할 필요가 있게 된다.
지금, 제 1 상태변화의 시각을 TWT1, 제 2 상태변화의 시각을 TWT2로 하면 TWT1, TWT2 및 타이머 출력의 하위 4비트(GT4)와의 사이에는 제 18a 도∼제 18f 도에 나타낸 바와같은 6가지정도의 관계를 고려해 볼 수 있게 되는데, 이들 6가지정도의 관계중제 18a 도, 제 18c 도, 제 18e 도는 TWT1이 측정된 다음 TWT2가 측정되게 되므로 제 2 번째의 데이터 TWT2는 유효로 판단되고, 이에대해 제 18b 도,제 18d 도, 제 18f 도는 TWT2가 측정된 다음 TWT1이 측정되게 되므로 제2번째의 데이터 TWT2는 무효로 판단된다.
이러한 판정을 실행하는 T2검증회로의 구성이 제 19 도에 도시되어 있는바, 1비트의 레지스터(91)는 보정회로(67)에서 얻어지는 CMP즉 TWT1이 GT4에 대해 어떠한 관계에 있는지를 유지시켜주는 레지스터로서 TWT1>GT4이면 값 "1"을 유지시켜주게 되고, 또 4비트의 레지스터(92)는 TWT1의 값을 유지시켜주는 레지스터이며, 이들 레지스터(91,92)의 랫치타이밍은 제어회로(66)로부터의 LATCH신호로서 공급된다. 그리고, 4비트의 가중치비교기(93)는 레지스터(92)에 유지되는 TWT1과 새로 입력되는 TWT2를 비교해서 TWT1<TWT2일 때 출력을 1로 하게 되고, 인버터(94,95)와 앤드게이트(96∼98) 및 오아게이트(99)는 상기한 제18도(a), (c), (e)의 관계가 성립되는지를 판정해주는 논리회로로서 (TWT2<GT4와 TWT1>GT4)또는 (TWT2>GT4와 TWT1>GT4) 또는 (TWT2<GT4 와 TWT1<GT4)일때에 출력(VALIDT)이 1로 되는데, 이 출력(VNLIDT)이 "1"인 경우에는 제어회로(66)가 WIDTH명령에서 제 2 번째의 데이터(T2)가 유효라고 판정할 수 있게 된다.
여기서, 시퀀서(8) 내부의 제어를 실행하는 제어회로(66)는 PLA (Programable Logic Array)에 의해 구성되는데, 이 제어회로(66)는 레지스터(64,65)에 격납된 INST부와 MODE부의 일부와 입력메모리(7)로부터 출력되는 상태변화가 발생된 것을 나타내는 VALID신호 및 T2의 유효성을 나타내는 VALIDT신호 등을 입력시켜주게 됨과 더불어 이들에 부수되는 레지스터(73,74)에 스테이트(state) NO를 격납시켜 궤환시켜주도록 순서회로를 실현하게 된다.
이 제어회로(66)로부터 명령메모리에 대해서는 명령메모리(9)에 대한 억세스요구를 나타내는 MREQ신호와, 명령메모리(9)에의 독출/기록을 지령하는 RD/WR신호, 명령의 실행종료를 나타내는 층둥신호 및 명령에의 기록을 지령하는 WRCMD신호가 출력되고, 또 제어회로(66)로부터 입력메모리(7)에 대해서는 입력메모리의 독출을 지령하는 RD신호가 출력되게 된다.
그리고, 명령메모리(9)는 시퀀서(8)와 CPU(3)의 양측에서 억세스할 수 있는 공유메모리로서 CPU(3)측에서 볼때에는 1어가 16비트로서 32어, 또 시퀀서(8) 측에서 볼때에는 1어가 3비트로서 16어에 대한 용량을 갖추고서 최대 16의 명령단위를 기억할 수 있게 되는데, 이러한 명령메모리(9)는 구체적으로 제 20 도에 나타낸 바와같이 구성되고, 이 경우 명령은 16비트×16어의 메모리플레인(plane : 101)과, 8비트×16어의 메모리플레인(102,103) 및 이들 메모리플레인의 어드레스를 지정해주는 어드레스디코더(104)로 구성된 기억영역에 기억되게 된다. 또, 조정회로(105)는 상기 각 메모리플레인(101∼103)에의 억세스가 CPU(3)와 시퀀서(8)의 양측으로부터 이루어지도록 해주기 위해 양측의 사용요구를 조정해주게 되고, 어드레스셀렉터(106)는 조정회로(105)의 출력에 따라 기억영역에 대한 CPU(3)로부터의 어드레스와 시퀀서(8)로부터의 어드레스를 전환시켜 주게되며, 16비트의 랫치회로(107)는 메모리플레인(101)으로부터 독출된 16비트명령이 CPU(3)에 출력되기 까지의 기간동안 랫치시켜주게 되고, 또 데이터셀렉터(108)는 CPU(3)로부터의 8비트데이터와 시퀀서(8)로부터의 8비트데이터를 전환시켜주기 위한 것이다.
본 실시예에서는 시퀀서(8)가 명령메모리(9)에 대해 독출, 기록하는데 필요한 시간을 시퀀서(8)의 동작을 규정해주는 클럭펄스의 시간간격과 동일하게 설정해주고 있는데, 이 경우 CPU(3)가 명령메모리(9)에 대해 독출, 기록하는데 필요한 시간을 상기 클럭펄스의 3배로 상정해주고 있다.
또 CPU(3)가 명령메모리(9)에 대해 독출, 기록하는 경우에는 제 21 도에 나타낸 바와같이 최초 1클럭째에서는
Figure kpo00002
신호가 유효하지 않기 때문에 번지가 불확정적으로 되고, 시퀀서(8)가 2클럭 연속으로 명령메모리(9)를 사용할 수 없도록 상정해주고 있다.
이러한 상정에 기초해서 조정회로(105)에서는 다음과 같은 조정을 실행하게 된다.
즉, 조정은 시퀀서(8)로부터의 요구가 CPU(3)로부터의 요구에 우선도도록 이루어지게 되는바, 제 21 도의 ①기간에서는 CPU(3)로부터 요구되는 번지가 확정되고 있지 않기 때문에 시퀀서(8)만이 명령메모리(9)를 사용할 수 있게 되고, ② 및 ③기간에서는 CPU(3)와 시퀀서(8)의 양측이 명령메모리(9)를 사용할 수 있게 된다. 여기서 ②부분에서 시퀀서(8)가 사용요구를 출력하지 않을 경우에는 CPU(3)가 이 기간을 사용할 수 있게 되어, 독출의 경우에 ④에서 값을 얻을 수 있게 된다. 또 ③의 부분에서 시퀀서(8)가 사용요구를 출력하지 않을 경우에는 CPU(3)가 이 기간을 사용할 수 있게 되어 ⑤에서 값을 얻을 수 있게 됨에 따라 CPU(3)는 ④ 또는 ⑤의 어느 한쪽 기간에서 값을 얻을 수 있게 되고, 이경우 기억영역으로부터 CPU(3)측에 독출되는 데이터를 유지시켜주기 위해 랫치회로(107)가 필요하게 된다.
또, 시퀀서(8)는 2클럭연속해서 명령메모리(9)를 요구할 수 없기 때문에 ① 또는 ③을 시퀀서(8)가 사용하는 경우에는 CPU(3)는 ②의 기간을 사용할 수 있게 되고, 이에대해 시퀀서(8)가 ②의 기간을 사용하는 경우에는 CPU(3)는 ③의 기간을 사용할 수 있게 된다. 단, CPU(3)가 요구하는 번지와 시퀀서(8)가 요구하는 번지가 동일한 때에는 실행하고 있는 명령의 번지와 CPU(3)가 요구하는 번지가 동일함을 나타내게 되는데, 이경에는 시퀀서(8)에 의한 실행에 혼란을 초래하지 않도록 해줌과 더불어, CPU(3)가 불완전한 값을 독출하지 않도록 해주기 위해 CPU(3)로 시퀀서(8)가 해당명령의 실행이 종료되기까지 메모리요구 대기상태로 된다.
이러한 조정을 실행함에 따라 CPU(3)와 시퀀서(8)로부터의 사용요구에 대한 대기를 최소필요시간으로 억제시켜 줄수 있게 된다.
이상과 같이 구성되는 본 발명의 펄스입력장치의 동작을 제 22 도에 도시된 플로우차트에 기초해서 설명한다.
본 실시예에서는 타이머카운터(4)를 갱신시켜 주는 시스템클럭(SCK)과 입력메모리(7)의 갱신을 실행하는 TWT의 시간간격비율이 6 : 1로 되게 상정해 주게 되므로 입력메모리(7)가 그 시간축방향에서 16회 갱신되는데 필요한 시간은 시스템클럭(SCK)으로 환산하게 되면 96클럭이 되고, 이에따라 명령메모리(9)에 격납된 모든 명령이 그 시간내에서 실행될 필요가 있게 된다.
여기서, 입력메모리(7)에 기록이 이루어질 때 즉 TWR이 1인 기간에는 장치의 동작을 정확하게 해주기 위해 시퀀서(8)의 동작이 정지되도록 해줄 필요가 있기 때문에 16클럭이 필요하게 되므로 명령의 실행에 사용할 수 있는 클럭은 80클럭으로 된다.
또, 각 명령에서 동일한 변화를 2회이상 측정하지 않도록 이 80클럭에서 모든 명령은 1회만 실행되도록 해주어야만 되기 때문에 프로그램카운터(62)가 오버플로우(overflow)하게 될때에는 TWP가 1로 되기까지 처리를 정지시킬 필요가 있게 되고, 이러한 처리를 실행함에에는 또하나의 클럭이 필요하게 되므로 시퀀서(8)가 사용할 수 있는 클럭은 79클럭으로 된다.
제 22a 도에 있어서 ①의 부분은 상기한 처리에 관한 것으로, TWP가 1로 되기까지 루프를 순회하게 되고, 그후 프로그램카운터(62)가 OVER을 0으로 리셋트시킨 다음 명령의 독출을 실행하게 되는데(단계 ②), 여기서는, 먼저 프로그램카운터(62)가 오버플로우되고 있지 않음을 검사해서 프로그램카운터(62)의 값을 추후에 사용할 수 있도록 레지스터(72)에 랫치시켜두고, 명령을 독출해서 레지스터(64)에 격납시켜두게 되며, 이러한 처리에는 1클럭정도가 필요하게 된다.
제 22b 도는 명령의 분석과 분기를 실행하는 부분으로, 레지스터(64)에 격납된 INST부의 값에 따라 NOP(00), EDGE(01), WIDTH(10)에 대한 각 명령의 분기를 실행하게 되고, 이때 INST부가 11이면 WIDTH명령의 제 2 항이므로 NOP명령과 동일하게 취급된다.
또, NOP명령이면 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 되고, EDGE명령이면 MODE부의 STATE부와 S/C부에 의해 측정의 실행여부를 판정하게 되며, 조건이 만족되어지면 MODE부분에 따라 측정을 실행하게 되어 실행부분(제 22c 도)으로 분기되는 반면 조건이 만족되지 않을 때에는 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게된다.
그리고, WIDTH명령인 경우에는 MODE부의 STATE부와 S/C부의 값에 따라 1번째 측정인지, 2번째 측정인지 또는 측정이 종료되었는지 여부를 판정하게 되는바, 1번째 측정인 경우에는 MODE부에 따라 측정을 실행한 다음 프로그램카운터(62)의 값을 갱신시켜 실행부분(제 22d 도)으로 분기된다. 또 2번째 측정인 경우에는 프로그램카운터(62)의 값을 갱신시켜 실행부분(제 22e 도)으로 분기되고, 이와 달리 측정이 종료된 경우에는 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 되며, 이 제 22b 도에 나타낸 처리는 1클럭으로 실행되게 된다.
제 22c 도는 EDGE명령에 대한 실행부분으로, 이 부분에서는 먼저 변화가 발생되는지 여부를 VALID에 의해 판정해서 변화가 발생되었으면 래지스터(64)의 내용을 명령메모리(9)에 기록해 주게 된다(단계 ①). 그후 MODE부의 INT가 1로 되면 CPU(3)에 인터럽트를 걸고, 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 되며(단계 ②), 이 제 22c 도에 나타낸 처리에서도 1클럭으로 실행되게 된다.
제 22d 도는 WIDTH명령에 의해 제 1 번째 측정이 실행되는 경우의 실행부분으로, 이 부분에서는 먼저 변화가 발생되는지 여부를 VALID에 의해 판정해서 변화가 발생되었으면 레지스터(64)의 STATE부를 10으로 기록 교체시켜주고, LATCH신호를 1로 해서 측정된 시각 T를 레지스터(70)에 랫치시키며, 다음의 항을 레지스터(65)에 읽어들이게 된다(단계 ①). 이어 레지스터(65)내의 INST부가 11인지를 확인해서 레지스터(65)내의 MODE부에 따라 2번째의 측정을 실행하게 된다(단계 ②). 한편, 상태변화가 발생되지 않은 경우에는 레지스터(64,70)의 내용을 명령으로서 랫치회로(72)에서 지정되는 명령메모리(9)의 번지에 기록시켜두고, 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 되는 반면, 변화가 발생된 경우에는 제2번째의 데이터가 유효한지 여부를 VALIDT에 의해 판정해서 유효한 경우에는 레지스터(64)의 STATE부를 10으로 기록 교체시켜주고, 시각 T를 명령메모리(9)의 프로그램카운터(62)에 의해 지시되는 번지에 기록시켜주며, 이와달리 유효하지 않는 경우에는 레지스터(64,70)의 값을 명령으로서 명령메모리(9)의 랫치회로(72)에서 지정되는 번지에 기록시켜주고, 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 된다(단계 ③).
이어, 명령메모리(9)를 2클럭연속해서 억세스할 수 없다는 조건을 지켜주기 위해 1클럭동안 처리를 정지시키고(단계 ④), 그후 레지스터(64,70)의 값을 명령으로서 명령메모리(9)의 랫치회로(72)에서 지정되는 번지에 기록시켜둔다(단계 ⑤). 그리고서, MODE부의 INT가 1이면 CPU(3)에 인터럽트를 걸어주고, 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 되며(단계 ⑥), 이러한 처리는 최대 6클럭으로 이루어지게 된다.
제 22e 도는 WIDTH명령에서 제 2 번째의 측정에서 실행하는 경우의 실행부분으로, 이 부분에서는 먼저 명령의 다음 항을 레지스터(65)에 기록시켜두고(단계 ①), 이어 레지스터(65)내의 INST부가 11인지 여부를 확인해서 레지스터(65)의 MODE부에 따라 제 2 번째 측정을 실행하게 되며(단계 ②), 상태변화가 발생되지 않았으면 프로그램카운터(62)의 값을 갱신시켜 명령의 실행종료시키게 되는 한편, 변화가 발생된 경우에는 레지스터(64)의 STATE부를 10으로 기록 교체시켜주고, 시각 T를 명령메모리(9)의 프로그램카운터(62)에 의해 지정되는 번지에 기록시켜주게 된다(단계 ③). 이어 명령메모리(9)를 2클럭연속해서 억세스할 수 없다는 조건을 지켜주기 위해 1클럭동안 처리를 정지시키고(단계 ④), 레지스터(65)의 값을 명령메모리(9)의 랫치회로(72)에 의해 지정되는 번지에 기록시켜준다(단계 ⑤). 그리고서 MODE부의 INT가 1이면 CPU(3)에 인터럽트를 걸고, 프로그램카운터(62)의 값을 갱신시켜 명령의 실행을 종료시키게 되며(단계 ⑥), 이 처리도 최대 6클럭으로 실행되게 된다.
이상과 같이 NOP명령의 실행에는 2클럭, EDGE명령의 실행에는 최대 4클럭, WIDTH명령의 실행에는 최대 8클럭을 필요로 하기 때문에 명령메모리(9)의 명령을 실행시키는데 필요한 시간은 최대 64클럭으로 되는바, 이 값을 입력메모리(7)의 크기에 따라 정해지는 클럭수인 79를 넘지 않게 되므로 명령메모리(9)내의 모든 명령이 실행가능하게 됨을 알수 있게 된다.
상기한 바와같이 본 발명에 의하면 입력메모리에 순차 격납되는 데이터를 시퀀서가 명령에 기초해서 독출해내어 상태변화의 시각을 구해낸 다음, 이렇게 구해진 시각을 상기 명령에 되기록시켜 주도록 되어 있음에 따라 복잡한 파형의 측정에서도 중앙처리장치는 필요한때 명령메모리에 인터럽트를 걸도록 해주면 좋고, 또 중앙처리장치의 해석루틴을 필요로 하지 않게 되므로 중앙처리장치의 부담을 경감시켜줄 수 있는 펄스입력 장치를 제공할 수 있게 된다.

Claims (4)

  1. 소정의 클럭신호를 계수해서 기준시각정보를 발생시키는 타이머카운터(4)와, 상기기준시각정보에 동기되어 입력신호의 상태를 샘플링해 주는 입력회로(6), 이 입력회로(6)에 의해 샘플링된 상기 입력신호의 상태를 상기 기준시각정보에 동기되어 이 기준시각정보에 의해 지정되는 어드레스의 기억장소에 기록해 주게 됨과 더불어 기억된 모든 시각의 상기 입력신호상태를 해당입력신호의 상태변화적 시각을 나타내는 코드로 변화시켜 출력해주는 입력메모리(7), 상태변화의 종류와 그 상태변화가 발생된 시각의 기록을 지시해주는 명령을 기억하게 되는 명령메모리(9) 및 상기 입력메모리(7)에 대한 모든 어드레스에 대해 기록이 종료되기 전에 모든 명령의 실행이 종료되도록 상기 명령메모리(9)에 기억된 명령을 순차 독출해내고, 독출된 명령에 따라 소정의 상태변화시각에 대한 기록이 지시된 경우에는 상기 입력메모리(7)로부터 상기 상태변화점의 시각을 나타내는 코드를 독출해내게 됨과 더불어 상기 타이머카운터(4)로부터 현재시각을 입력수신해서 양자의 전후관계로부터 상기 지정된 상태변화의 시각을 구해내게 되며, 이 시각을 상기 명령의 일부에 되돌려 기억시켜 주는 시퀀서(8)를 구비하여 구성된 것을 특징으로 하는 펄스입력장치.
  2. 제 1 항에 있어서, 상기 입력회로(6)는 복수첸널로부터의 복수입력신호상태를 샘플링해주는 것이고, 상기 입력메모리(7)는 기록시에 상기 입력회로(6)로부터 츨력되는 복수의 챈널에 대한 상태를 병렬적으로 기록해 두게 되며, 독출시에 1개의 첸널에 대해 모든 시각의 상태를 코드화해서 독출해주는 직교형 메모리인 것을 특징으로 하는 펄스입력장치.
  3. 제 1 항에 있어서, 상기 명령메모리(9)에 기억되는 명령으로서 상기 입력신호의 상승 또는 하강시작을 기록지정해주는 명령이 구비되고, 상기 시퀀서(8)는 상기 상태변화점의 시각을 나타내는 코드TWT와 상기 기준시각정보의 하위비트 GTL을 비교해서 TWT<GTL인 때에 상기 기준시각정보의 하위비트를 상기 코드로 대체시켜 이를 상기 상태변화의 시각으로 해주는 반면, TWT>GTL인 때에 상기 기준시각정보의 상위비트를 감소시켜주게 됨과 더불어 상기 기준시각정보의 하위비트를 상기 코드로 대체시켜 이를 상기 상태변화의 시각으로 해주는 것을 특징으로 하는 펄스입력장치.
  4. 제 1 항에 있어서, 상기 명령메모리(9)에 기억되는 명령으로서 상기 입력신호의 제 1 상태변화시각과 제2상태변화시각을 기록지정해주는 명령이 구비되고, 상기 시퀀서(8)는 제 1 상태변화점 시각을 나타내는 코드 TWT1과 제 2 상태변화점의 시각을 나타내는 코드 TWT2 및 상기 기준시각정보의 하위비트 GTL을 참조해서 TWT1<GTL<TWT2, TWT2<TWT1<GTL 또는 GTL<TWT2<TWT1일 때에 상기 제1 및 제 2 상태변화점의 시각을 나타내는 데이터를 유효로 해주는 반면 그이외에는 상기 제1 및 제2상태변화점의 시각을 나타내는 데이터를 무효로 해주는 것을 특징으로 하는 펄스입력장치.
KR1019880006249A 1987-05-28 1988-05-27 펄스입력장치 KR910004653B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62132215A JP2588195B2 (ja) 1987-05-28 1987-05-28 パルス入力装置
JP62-132215 1987-05-28

Publications (2)

Publication Number Publication Date
KR880014741A KR880014741A (ko) 1988-12-24
KR910004653B1 true KR910004653B1 (ko) 1991-07-09

Family

ID=15076079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880006249A KR910004653B1 (ko) 1987-05-28 1988-05-27 펄스입력장치

Country Status (4)

Country Link
US (1) US4970679A (ko)
JP (1) JP2588195B2 (ko)
KR (1) KR910004653B1 (ko)
DE (1) DE3818097A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5125089A (en) * 1988-12-19 1992-06-23 Chrysler Corporation Asynchronous-to-synchronous parallel word transfer circuit for preventing incoming asyncronous parallel byte data from interfering with outgoing synchronous data
US5218692A (en) * 1989-07-04 1993-06-08 Kabushiki Kaisha Toshiba Digital pulse timing parameter measuring device
US5201055A (en) * 1989-11-03 1993-04-06 Compaq Computer Corporation Multiprocessing system includes interprocessor encoding and decoding logic used for communication between two cards through reduced addressing lines
GB9210414D0 (en) * 1992-05-15 1992-07-01 Texas Instruments Ltd Method and apparatus for interfacing a serial data signal
US5999742A (en) * 1995-01-26 1999-12-07 Zilog, Inc. Dual latch data transfer pacing logic using a timer to maintain a data transfer interval
GB9924310D0 (en) * 1999-10-15 1999-12-15 Univ Manchester Neural network component
GB0405283D0 (en) * 2004-03-09 2004-04-21 Aspex Technology Ltd Multi-port memory for flexible and space efficient corner turning networks in associative processors
GB2421092B (en) * 2004-12-07 2008-12-03 Hewlett Packard Development Co Bufferless writing of data to memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3971920A (en) * 1975-05-05 1976-07-27 The Bendix Corporation Digital time-off-event encoding system
US4222103A (en) * 1978-09-25 1980-09-09 Motorola, Inc. Real time capture registers for data processor
US4259719A (en) * 1979-06-13 1981-03-31 Ford Motor Company Binary input processing in a computer using a stack
US4283761A (en) * 1979-06-13 1981-08-11 Ford Motor Company Binary input/output processing in a digital computer using assigned times for input and output data
US4445192A (en) * 1980-11-25 1984-04-24 Hewlett-Packard Company Logic state analyzer with time and event count measurement between states

Also Published As

Publication number Publication date
KR880014741A (ko) 1988-12-24
DE3818097A1 (de) 1988-12-22
JPS63295974A (ja) 1988-12-02
DE3818097C2 (ko) 1992-11-26
JP2588195B2 (ja) 1997-03-05
US4970679A (en) 1990-11-13

Similar Documents

Publication Publication Date Title
US4241420A (en) Disk data control
US4511961A (en) Apparatus for measuring program execution
US4206346A (en) System for gathering data representing the number of event occurrences
EP0054243A2 (en) Memory controlling apparatus
US4752928A (en) Transaction analyzer
US4969164A (en) Programmable threshold detection logic for a digital storage buffer
KR910004653B1 (ko) 펄스입력장치
EP0426111B1 (en) Memory control system
KR910004639B1 (ko) 출력펄스 발생장치
US4578666A (en) Method of comparing data with asynchronous timebases
EP0205122A2 (en) Event counting prescaler
KR860003555A (ko) 디스크 제어기용 비트스트림 구성장치
US3905021A (en) Circuit arrangement for interpreting the content of a register as an instruction
FI98665C (fi) Signaalin ohjelmalaite
JP4253715B2 (ja) プロセッサ
JPH0991165A (ja) トレース型論理解析装置のトリガ方式
SU943731A1 (ru) Устройство дл анализа последовательных кодов
JPH06197010A (ja) 出力ラッチ機能付カウンタ
JP3103081B2 (ja) パルス入力装置
JPH0135303B2 (ko)
JPS63298176A (ja) Icテストシステム
SU1244677A1 (ru) Устройство дл контрол параметров
JPH02216565A (ja) メモリテスト回路
JPH06175883A (ja) プログラムデバッグ装置
JPH03134737A (ja) マイクロプロセッサ

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: 20030701

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee