KR100347557B1 - 펄스신호발생장치 및 펄스신호발생방법 - Google Patents
펄스신호발생장치 및 펄스신호발생방법 Download PDFInfo
- Publication number
- KR100347557B1 KR100347557B1 KR1019990039183A KR19990039183A KR100347557B1 KR 100347557 B1 KR100347557 B1 KR 100347557B1 KR 1019990039183 A KR1019990039183 A KR 1019990039183A KR 19990039183 A KR19990039183 A KR 19990039183A KR 100347557 B1 KR100347557 B1 KR 100347557B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- data
- level
- timer
- pulse signal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/64—Generators producing trains of pulses, i.e. finite sequences of pulses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Abstract
펄스신호발생장치는, 제어회로, 시프트레지스터, 카운터, 그리고 프로세서를 구비한다. 제어회로는 트리거신호를 발생하여 신호레벨의 전이를 트리거한다. 신호레벨을 정의하는 레벨데이터가 세트되고, 제어회로로부터의 트리거신호에 응답하여 레벨데이터가 순차적으로 시프트되는 시프트레지스터는 펄스신호를 발생한다. 펄스신호는 시프트레지스터로부터 시프트아웃된 데이터에 근거하여 발생된다. 카운터는 제어회로로부터의 트리거신호에 따라 내용을 증가시켜 그 내용이 소정의 값에 이를 때마다 인터럽트신호를 발생한다. 프로세서는 카운터로부터의 인터럽트신호에 응답하여 레벨데이터를 시프트레지스터에 세트한다.
Description
본 발명은 펄스신호발생장치 펄스신호발생방법에 관한 것으로서, 보다 상세하게는, 프로그램제어하에서 원하는 펄스신호를 생성할 수 있는 기술에 관한 것이다.
종래에는, 비디오플레이어, 오디오플레이어 등의 마이크로컴퓨터응용장치에서, 이 장치의 동작을 제어하기 위하여 다양한 종류의 펄스신호발생장치들이 사용되어 왔다. 이러한 펄스신호발생장치로서, 프로그램제어하에서 임의의 파형을 갖는 펄스신호를 발생할 수 있는 펄스신호발생장치가 알려져 있다.
도 1은 이러한 종래의 펄스신호발생장치의 일 예의 블록도를 보여준다. 이 펄스신호발생장치는, 타이머(50), 레지스터를 구비한 비교기(51)(이하, 간단히 비교기(51)로 기재), 버퍼(52), 래치(53), 포트(54) 및 중앙처리장치(55)(이하, 간단히 CPU로 기재)로 구성된다. 타이머(50)는 소정 시간간격마다 증가되는 카운터로 구성된다. 이 타이머(50)로부터 출력된 타이머카운트값은 비교기(51)로 공급된다.
비교기(51)는 레지스터와 비교기로 구성된다(도시되지 않음). CPU(55)로부터의 타이밍데이터는 레지스터에 세트된다. 이 타이밍데이터는 발생하려는 펼스신호의 전이타이밍을 결정하는 데 사용된다. 비교기는 레지스터내의 타이밍데이터와 타이머(50)로부터 출력된 타이머카운트값을 비교하여, 레지스터내의 타이밍데이터가 타이머(50)로부터 출력된 타이머카운트값과 일치할 때 일치신호를 출력한다. 이 비교기(51)로부터 출력된 일치신호는 버퍼(52)로 공급되고, 또한 인터럽트신호로서 CPU(55)로 공급된다.
버퍼(52)는 CPU(55)로부터 수신된 레벨데이터를 저장한다. 레벨데이터는 이 펄스신호발생장치에서 발생되는 펄스신호의 레벨을 결정하는 데 사용된다. 버퍼(52)내에 저장된 레벨데이터는, 비교기(51)로부터 일치신호가 공급될 때, 래치(53)로 전달된다. 래치(53)는 버퍼(52)로부터 새로운 레벨데이터가 공급될 때까지 레벨데이터를 보지한다. 이 래치(53)의 내용은 포트(54)를 통해 외부장치(미도시)로 보내진다.
이어서, 도 2를 참조하여 상술한 구성을 갖는 종래의 펄스신호발생장치의 동작을 설명한다.
먼저, CPU(55)는 타이밍데이터(TD1)를 비교기(51)내에 포함된 레지스터에 세트하고 레벨데이터로서 "1"을 버퍼(52)에 세트한다. 이 상태에서, 타이머(50)는 카운팅동작을 개시한다. 다음에, 타이머(50)로부터 출력된 데이터가 비교기(51)에 저장된 타이밍데이터(TD1)와 일치할 때, 비교기(51)는 일치신호를 출력한다.
그 결과, 버퍼(52)에 저장된 레벨데이터 "1"은 래치(53)로 전달된다. 상술한 동작들을 통해서, 포트(54)로부터 출력된 펄스신호의 레벨은 타이밍(T1)에서 하이레벨이 된다.(이하, "H레벨"로 기재) 또한, 비교기(51)로부터 출력된 일치신호는 인터럽트신호로서 CPU(55)로 공급된다. 이 인터럽트신호에 응답하여, CPU(55)는 비교기(51)내에 타이밍데이터(TD2)를 세트하고, 또한, 버퍼(52)내에 레벨데이터 "0"을 세트한다. 이 상태에서, 타이머(50)의 카운팅동작은 계속해서 수행되고, 타이머(50)로부터 출력된 데이터가 비교기(51)에 저장된 타이밍데이터(TD2)와 일치할 때, 비교기(51)는 일치신호를 출력한다.
그 결과, 버퍼(52)내의 레벨데이터 "0"은 래치(53)로 전달된다. 상술한 동작들을 통해서, 포트(54)로부터 출력된 펄스신호의 레벨은 타이밍(T2)에서 로우레벨이 된다(이하, "L레벨"로 기재). 또한, 비교기(51)로부터 출력된 일치신호는 인터럽트신호로서 CPU(55)로 공급된다. 이 인터럽트신호에 응답하여, CPU(55)는 비교기(51)내에 타이밍데이터(TD3)를 세트하고, 또한, 버퍼(52)내에 레벨데이터 "1"을 세트한다. 이어서, 상술한 동작과 유사한 동작이 반복해서 수행되어, 도 2에 도시된 바와 같은 펄스신호가 발생된다.
이 종래의 펄스신호발생장치에 따르면, 비교기(51)내에 세트되는 타이밍데이터와 버퍼(52)에 세트되는 레벨데이터가 적절하게 변화되기 때문에, 소망의 파형(펄스폭)을 갖는 펄스신호가 발생될 수 있다.
관련 선행기술로서, 일본 특개평2-199503호 공보에 "마이크로컴퓨터"가 개시되어 있다. 이 마이크로컴퓨터는, 프로그램 및 데이터중 적어도 하나를 저장하는 메모리와, 메모리에 저장된 프로그램에 따라서 연산처리를 실행하는 중앙처리장치와, 이 중앙처리장치에 의해 세트된 데이터에 근거하여 펄스신호를 발생하고 이 펄스신호를 출력하는 펄스생성회로를 구비한다. 이 마이크로컴퓨터의 펄스발생회로는, 카운터와, 복수의 레지스터를 구비한 비교기와, 제 1 펄스출력회로와, 조정회로와, 제 2 펄스출력회로와, 그리고 선택회로를 구비한다.
카운터의 내용은 외부에서 공급된 클럭에 근거하여 갱신된다. 복수개의 레지스터를 구비한 비교기는 중앙처리장치에 의해 설정된 데이터와 카운터의 내용을 비교하여, 중앙처리장치에 의해 설정된 데이터가 카운터의 내용과 일치할 때, 일치신호를 출력한다. 제 1 펄스출력회로는 복수개의 레지스터를 구비한 비교기로부터 출력된 일치신호에 응답하여 세트/리세트되고 제 1 출력펄스를 외부로 출력한다. 조정회로는 복수개의 레지스터를 구비한 비교기의 일부로부터 출력된 일치신호를 소정의 우선도에 따라서 조정하고, 데이터를 판독하기 위한 판독신호를 복수개의 레지스터를 구비한 비교기의 다른 일부로 출력한다. 제 2 펄스출력회로는 레지스터들을 구비한 비교기로부터 판독된 데이터를, 조정회로로부터 공급된 판독신호를 사용하여, 제 2 출력펄스로서 외부로 출력한다. 선택회로는 제 1 및 제 2 펄스출력회로들 중의 하나를 동작시킨다.
이 마이크로컴퓨터에 따르면, 각 펄스의 상승시간 및 강하시간을 정의하는 데이터가 복수개의 레지스터를 구비한 비교기에 저장되는 경우에, 복수개의 레지스터를 구비한 비교기는 저장된 데이터와 카운터의 내용을 비교한다. 다음에, 제 1 펄스출력회로는 복수개의 레지스터를 구비한 비교기로부터 출력된 일치신호에 의해서 세트/리세트된다. 그 결과, 종래의 마이크로컴퓨터가 발생하는 PWM펄스신호가 얻어진다. 또한, 데이터의 출력시간을 나타내는 출력타이밍데이터가 복수개의 레지스터를 구비한 비교기의 일부에 저장되고 출력되는 데이터가 복수개의 레지스터를 구비한 비교기의 다른 일부에 저장되면, 임의의 타이밍에서 임의의 데이터를 출력하는 소위 실시간처리가 수행될 수 있다. 이 경우에, 동일한 출력타이밍데이터가 복수개의 레지스터를 구비한 비교기에 저장될 때, 조정회로는 소정의 우선도에 근거하여 이들 타이밍을 조정한다. 그 결과, 데이터사이의 충돌이 방지될 수 있다.
또한, 일본 특개평8-76875호 공보에는 "마이크로컴퓨터응용시스템"이 개시되어 있다. 이 마이크로컴퓨터응용시스템에서는, 기록펄스검출부가 CPU의 기록사이클신호를 검출할 때, 카운터가 클리어된다. 다음에, 비교기에서 카운터의 내용이 제어레지스터의 내용과 비교되고, 일치되는 경우에, 상태검출신호출력부로부터 유휴(idle)상태신호가 출력된다. 그 결과, CPU가 유휴상태에 있을 경우, 현재 클럭이 정격의 반정도로 바뀌어 주변회로로 공급된다. 캐쉬 적중실패(cash miss-hit)가 검출되면, 상태검출신호출력부에서 유휴상태해제신호가 출력된다. 그 결과, 유휴상태가 정지되고, 현재 클럭이 정격의 클럭으로 변화되어 주변회로로 공급된다.
이 마이크로컴퓨터응용시스템에 따르면, CPU가 유휴상태에 있을 때, 주변회로가 낮은 클럭주파수로 동작하기 때문에, 주변회로의 전력소비가 억제될 수 있다.
또한, 일본 특개평9-145783호 공보에는 "IC 테스트장치"가 개시되어 있다. 이 IC 테스트장치에는, 테스터콘트롤러로부터 테스트유닛으로 보내진 테스트용 신호를 테스트헤드로 인가하기 위해 타이밍신호를 발생하고 발생된 타이밍신호를 외부기기로 출력하는 타이머유닛이 제공된다. 또한, 이 IC 테스트장치에는 카운터, 레지스터 그리고 일치회로가 제공된다. 카운터는 타이머유닛에서 테스트유닛으로 입력된 타이밍펄스를 카운트한다. 레지스터는 테스트헤드에 대하여 테스트용 신호를 인가하는 타이밍정보를 저장한다. 일치회로는 레지스터에 저장된 타이밍정보와 카운터의 내용을 비교하여, 일치하는 경우에, 테스트헤드에 테스트용 신호를 출력한다.
이 IC 테스트장치에 따르면, 타이머로부터의 CPU에 대한 인터럽트에 의해 테스트용 신호의 생성이 수행되지 않는다. 그 결과, 소프트웨어처리에 기인하는 시간정밀도의 악화와 CPU의 부하증가가 방지된다.
또한, 일본 특허 제2773546호 공보에는 "펄스발생회로"가 개시되어 있다. 이 펄스발생회로에는, 선택수단, 타이머, 레지스터를 구비한 제 1 비교기와 레지스터를 구비한 제 2 비교기가 제공된다. 선택수단은 외부이벤트신호와 시간신호중의 하나를 선택한다. 타이머는 선택수단에 의해 선택된 신호의 길이를 계산한다. 레지스터를 구비한 제 1 비교기와 레지스터를 구비한 제 2 비교기는 각각 소정의 값을 저장하고, 이 저장된 소정값을 타이머에서 출력된 카운트값과 비교하여, 이 소정값과 카운트값이 일치하는 경우에 일치신호를 출력한다. 이 펄스발생회로에서, 타이머에 의해 외부이벤트신호의 길이가 계산되고 타이머내의 카운트값과 소정값이 일치하면, 레지스터를 갖는 제 1 비교기로부터 일치신호가 출력된다. 이 일치신호에 따라서 선택수단이 시간신호를 선택하고, 이어서 타이머에 의해 이 시간신호의길이가 계산된다. 이 타이머의 카운트값은 레지스터를 구비한 제 2 비교기에서 소정값과 비교되어 일치신호가 검출된다.
이 펄스발생회로에 따르면, 레지스터를 구비한 비교기에서 출력된 일치신호에 근거하여 타이머에 입력된 카운트클럭을 절환함으로써, 시간신호와 외부이벤트신호 등의 다른 카운트클럭들이 하나의 펄스출력에 혼합될 수 있다. 그 결과, 하드웨어의 양이 감소되고 소프트웨어처리의 부하가 감소된다.
그러나, 상술한 종래의 펄스신호발생장치에서는, 파형을 변화시키는 타이밍이 도래할 때마다, CPU(55)는 비교기(51)에 타이밍데이터를 세트하여야 하고 버퍼(52)에 레벨데이터를 세트해야 한다. 그 결과, 출력레벨의 많은 변화가 발생하는 펄스신호가 생성되는 경우에는, 인터럽트가 빈번하게 발생하고 CPU(55)의 부하가 가중된다. 특히, 소프트웨어서보기능을 갖는 비디오장치용의 마이크로컴퓨터에서, 인터럽트가 빈번하게 발생하기 때문에 소프트웨어서보의 성능이 열화된다.
부언하여, 상기 일본특개평2-199503호 공보에 개시된 마이크로컴퓨터에 따르면, 프로그램가능한 제어하에서 펄스신호가 발생될 수 있다. 그러나, 출력레벨의 많은 변화가 일어나는 펄스신호가 생성되는 경우, 레지스터를 구비한 비교기에서 데이터를 세트하는 회수는, 도 1에 도시된 종래의 펄스신호발생장치에서 처럼 증가되어야 하기 때문에, CPU의 부하는 감소될 수 없다.
또한, 일본특개평8-76875호 공보에 개시된 마이크로컴퓨터응용시스템에 따르면, CPU가 유휴상태에 있는 지의 여부에 의해서, 각기 다른 주파수를 갖는 두 가지의 클럭들로부터 선택된 하나가 주변회로로 공급될 수 있다. 그러나, 이 마이크로컴퓨터응용시스템에 개시된 기술에서는, 임의의 펄스신호가 발생될 수 없고, 또한 CPU의 부하가 감소될 수 없다.
또한, 일본특개평9-145783호 공보에 개시된 IC 테스트장치는, 펄스신호를 출력하는 타이밍을 제어하는 기술이지 펄스신호를 생성하는 기술이 아니다. 따라서, 임의의 펄스신호는 생성될 수 없다.
더욱이, 일본특허번호 제2773546호 공보에 보여진 펄스발생회로는, 도 1을 참조하여 설명한 펄스신호발생장치와 같이, 펄스를 변화시키는 타이밍이 도래하는 매 시간마다 발생되는 인터럽트에 응답하여 CPU는 레지스터를 구비한 비교기에 데이터를 세트하여야 한다. 출력레벨의 많은 변화가 일어나는 펄스신호가 생성되는 경우, 인터럽트가 빈번하게 발생하기 때문에, CPU(55)의 부하가 가중되는 문제점은 해소되지 않는다.
따라서, 본 발명의 목적은 임의의 파형을 갖는 펄스신호를 생성할 수 있고, 더욱이 프로세서의 부하를 감소시킬 수 있는 펄스신호발생장치 및 펄스신호발생방법을 제공함에 있다.
도 1은 종래의 펄스신호발생장치의 일예를 나타내는 개략블록도이다.
도 2는 종래의 펄스신호발생장치의 동작을 설명하기 위한 예시도이다.
도 3은 본 발명의 실시예에 따른 펄스신호발생장치의 구조를 나타내는 개략블록도이다.
도 4는 도 3에 도시된 레지스터를 구비한 각 비교기의 구조를 나타내는 블록도이다.
도 5는 본 발명의 실시예에 따른 펄스신호발생장치의 동작을 설명하기 위한 예시도이다.
도 6은 본 발명의 실시예에 따른 펄스신호발생장치를 제어하는 CPU의 동작을 설명하기 위한 플로우챠트이다.
※도면의 주요부분에 대한 부호의 설명
10 : 타이머 11 : 비교기그룹
12 : 시프트레지스터 13 : 래치
14 : 포트 15 : OR게이트
16 : 카운터 17 : CPU
20 : 레지스터 21 : 비교기
상술한 목적을 달성하기 위해서, 본 발명의 제 1 실시예에 따른 펄스신호발생장치는, 제어회로, 시프트레지스터, 카운터, 그리고 프로세서를 구비한다. 제어회로는 신호레벨의 전이를 트리거하는 트리거신호를 발생한다. 신호레벨을 정하는 레벨데이터가 세트되고, 제어회로로부터의 트리거신호에 응답하여 레벨데이터가 순차적으로 시프트되는 시프트레지스터는 펄스신호를 발생한다. 펄스신호는 시프트레지스터로부터 시프트아웃된 데이터에 근거하여 발생된다. 카운터는 제어회로로부터의 트리거신호에 따라 내용을 증가시켜 그 내용이 소정의 값에 이를 때마다 인터럽트신호를 발생한다. 프로세서는 카운터로부터의 인터럽트신호에 응답하여 레벨데이터를 시프트레지스터에 세트한다.
상기 제 1 실시예에 따른 펄스신호발생장치에서, 상기 제어회로는 타이머, n(n은 2이상의 정수)개의 비교기와 게이팅회로를 포함한다. 타이머의 내용은 매 소정의 시간간격마다 증가된다. n개의 비교기들 각각은 신호레벨의 전이타이밍을 정의하는 타이밍데이터를 저장하는 레지스터를 구비하고, 각 비교기는 타이밍데이터와 타이머의 내용을 비교하여 타이밍데이터가 타이머의 내용과 일치할 때 일치신호를 출력한다. 게이팅회로는 n개의 비교기들중 어느 하나로부터 일치신호가 발생될 때 트리거신호를 발생한다. 이 구조에서, 카운터는 타이머의 내용이 n값에 이를 때마다 인터럽트신호를 발생한다.
또한, 이 펄스신호발생장치에서 레지스터에 세트되는 타이밍데이터는 프로세서로부터 공급된다. 더욱이, 타이머는 소정의 시간간격을 정의하는 데이터가 상기 프로세서로부터 세트되는 프로그램가능 타이머로 구성된다.
이 펄스신호발생장치에 따르면, 인터럽트는 n개의 전이타이밍들에 대하여 단 한 번 발생하고, 펄스신호의 강하전이 또는 상승전이가 이용될 수 있다. 실제로, 레벨데이터에 근거하여 펄스신호의 전이의 존재 또는 부재가 결정된다. 그 결과, 인터럽트의 발생회수는 종래의 펄스신호발생장치에 비교하여 1/n이 된다. 결과적으로, CPU등의 프로세서의 부하가 감소될 수 있기 때문에, 출력레벨이 고속으로 변화하는 펄스신호가 용이하게 발생될 수 있다.
이와 유사하게, 상술한 목적을 달성하기 위해서, 본 발명의 제 2 실시예에 따른 펄스발생방법은, 신호레벨의 전이을 트리거하는 트리거신호를 발생하는 단계와, 트리거신호에 응답하여 신호레벨을 정하는 레벨데이터를 순차적으로 시프트하는 단계와, 시프트단계에서 시프트아웃된 데이터에 근거하여 펄스신호를 발생하는 단계와, 트리거신호에 따라 카운트값을 증가시켜 카운트값이 소정의 값에 이를 때마다 인터럽트신호를 발생하는 단계와, 그리고 인터럽트신호에 응답하여 레벨데이터를 초기화하는 단계로 이루어진다.
상기 제 2 실시예에 따른 펄스신호발생방법에서, 트리거신호를 발생하는 단계는, 소정의 시간간격마다 타이머카운트값을 증가시키는 단계와, 신호레벨의 전이타이밍을 정의하는 n(n은 2이상의 정수)개의 타이밍데이터 각각을 타이머카운트값과 비교하는 단계와, 그리고 타이머카운트값이 타이밍데이터의 어느 하나와 일치할 때 트리거신호를 발생하는 단계를 구비한다.
또한, 이 펄스신호발생방법에서, n개의 타이밍데이터는 프로세서로부터 공급된다. 더욱이, 타이머카운트값을 증가시키는 상기 소정의 시간간격은 프로세서로부터 공급되는 데이터에 근거하여 결정된다.
본 발명을 용이하게 이해하기 위하여, 첨부도면을 참조하여 상세하게 설명한다.
이하, 도면을 참조하여, 본 발명의 바람직한 실시예에 따른 펄스신호발생장치 및 펄스신호발생방법을 상세하게 설명한다.
도 3은 본 발명에 따른 펄스신호발생장치의 구조를 나타내는 개략블록도이다.
이 펄스신호발생장치는, 타이머(10), 비교기그룹(11), 시프트레지스터(12), 래치(13), 포트(14), OR게이트(15)와 카운터(16)로 구성된다. 비교기그룹(11)은 각각에 레지스터가 구비된 n개의 비교기들(CR1∼CRn)로 구성된다. 이 펄스신호발생장치는 CPU(17)에 의해 제어된다(상세한 것은 후술한다).
타이머(10)는 소정의 시간간격마다 증가되는 카운터로 구성된다. CPU(17)는 타이머(10)의 초기값을 세트한다. 타이머(10)는 카운트값을 각 비교기(CR1∼CRn)로 공급한다. 이 타이머(10)로는, CPU(17)에 의해 세트된 데이터에 따라 증가간격이 결정되는 프로그램가능 타이머가 이용될 수 있다. 프로그램가능 타이머를 이용하여 펄스신호의 정밀도가 임의로 조정될 수 있기 때문에, 펄스신호발생장치의 응용범위가 넓어지게 된다.
비교기그룹(11)에 포함된 각 비교기(CR1∼CRn)는 도 4에 도시된 바와 같이 레지스터(20)와 비교기(21)로 구성된다. CPU(17)는 레지스터(20)내에 타이밍데이터를 세트한다. 타이밍데이터는 레벨이 변화되는 펄스신호의 타이밍을 정의한다. 또한, 비교기(21)는 레지스터(20)에 저장된 타이밍데이터와 타이머(10)로부터 출력된 카운트값을 비교하여 타이밍데이터가 카운트값과 일치할 때 일치신호를 출력한다. 각 비교기(CR1∼CRn)로부터 출력된 일치신호는 OR게이트(15)로 공급된다.
OR게이트(15)는 비교기들(CR1∼CRn)로부터의 일치신호들에 대하여 논리OR연산을 수행하고 이 논리OR연산의 결과로서 얻어진 신호를 트리거신호로서 시프트레지스터(12)와 카운터(16)로 공급한다. OR게이트(15)에서 출력된 트리거신호는 시프트레지스터(12)에서 시프트클럭으로서 사용되고 카운터(16)에서 카운트클럭으로서 사용된다.
시프트레지스터(12)는 병렬입력-직렬출력기능을 갖는 n-비트 시프트레지스터로 구성된다. 이 시프트레지스터(12)의 비트들(1∼n)의 각각은 비교기들(CR1∼CRn)의 각각에 대응된다. 이 시프트레지스터(12)는 패럴렐데이터로서 CPU(17)로부터 보내지는 레벨데이터를 저장한다. 이 레벨데이터는 펄스신호발생장치에서 발생되는 펄스신호의 레벨(H레벨 또는 L레벨)을 정의한다.
시프트레지스터(12)의 내용은 OR게이트(15)에서 출력된 트리거신호가 활성화되는 매 시간마다 오른쪽으로 시프트된다. 다시말하면, 시프트레지스터(12)의 내용은 비교기(CR1∼CRn)의 어느 하나로부터 일치신호가 출력되는 매 시간마다 오른쪽으로 시프트된다. 이 시프트레지스터(12)에 의해 시프트아웃된 레벨데이터는 래치(13)로 공급된다.
래치(13)는, 다음 레벨데이터가 시프트레지스터(12)에 의해 시프트아웃될 때까지, 시프트레지스터(12)에 의해 시프트아웃된 레벨데이터를 보지한다. 이 래치(13)로부터의 출력신호는 포트(14)를 통해 외부장치(미도시)로 공급된다.
카운터(16)는 n진 카운터로 구성된다. 이 카운터(16)의 내용은 OR게이트(15)에서 출력된 트리거신호가 카운트클럭으로서 인가될 때마다 증가된다. 카운터(16)의 내용이 n에서 0으로 라운드될 때, 카운터(16)는 캐리신호를 출력하고 CPU(17)에 인터럽트신호로서 캐리신호를 공급한다. 즉, 카운터(16)의 내용은 비교기(CR1∼CRn)의 어느 하나로부터 일치신호가 출력되는 매 시간마다 증가된다. 카운터(16)의 내용이 n에 도달하면, CPU(17)에 대한 인터럽트가 일어난다.
CPU(17)는, 인터럽트신호가 활성화될 때, 인터럽트처리를 수행한다. 이 인터럽트처리에서, 발생되는 펄스신호에 대응하는 타이밍데이터가 각 비교기(CR1∼CRn)로 세트되고, 또한 레벨데이터가 시프트레지스터(12)로 세트된다. 이러한 경우에, 타이머(10)는 프로그램가능 타이머로 구성되고, CPU(17)는 타이머(10)의 증가간격을 정의하는 데이터를 세트한다.
다음에, 도 5 및 도 6을 참조하여, 상술한 구성을 채용한 펄스신호발생장치의 동작을 상세히 설명한다. n = 6 이고 카운터(16)의 내용은 초기상태에서 0으로 클리어된다고 가정한다. 이 경우, 카운터(16)는 6진 카운터로 구성된다.
먼저, CPU(17)는 타이머(10)에 초기값을 세트한다. 또한, CPU(17)는 비교기들(CR1∼CR6)에 타이밍데이터(TD1∼ TD6)를 각각 세트한다. 타이밍데이터들은 "TD1<TD2<TD3<TD4<TD5<TD6"의 관계를 갖는다. 또한, CPU(17)는 시프트레지스터(12)에 6-비트 레벨데이터 "101010B"를 세트한다. 레벨데이터의 최종 숫자 "B"는 선행하는 수치값이 2진수인 것을 나타낸다.
상술한 처리가 완료되면, 타이머(10)의 내용의 증가가 개시된다. 이 증가에의해서 타이머(10)에서 출력된 카운트값과 비교기(CR1)에 저장된 타이밍데이터(TD1)가 일치되면, 비교기(CR1)는 일치신호를 출력한다. 일치신호는 OR게이트(15)를 통해 시프트레지스터(12)와 카운터(16)로 공급된다.
그 결과, 시프트레지스터(12)에 저장된 레벨데이터는 1비트씩 오른쪽으로 시프트된다. 이 시프트동작을 통해 시프트레지스터(12)로부터 시프트아웃된 레벨데이터 "1"은 래치(13)에 래치된다. 그 결과, 도 5에 도시된 바와 같이, 포트(14)에서 출력된 신호의 레벨은 타이밍(T1)에서 H레벨로 변화한다. 또한, 카운터(16)의 내용은 OR게이트(15)에서 출력된 트리거신호에 따라 증가되어 "1"로 변화한다.
이 상태로부터 타이머(10)의 카운팅동작이 진행되어, 타이머(10)에서 출력된 카운트값과 비교기(CR2)에 저장된 타이밍데이터(TD2)가 일치하면, 비교기(CR2)는 일치신호를 출력한다. 이 일치신호는 OR게이트(15)를 통해 시프트레지스터(12)와 카운터(16)로 공급된다.
그 결과, 시프트레지스터(12)에 저장된 레벨데이터는 1비트씩 오른쪽으로 시프트된다. 이 시프트동작을 통해 시프트레지스터(12)로부터 시프트아웃된 레벨데이터 "0"은 래치(13)에 래치된다. 그 결과, 도 5에 도시된 바와 같이, 포트(14)에서 출력된 신호의 레벨은 타이밍(T2)에서 L레벨로 변화한다. 또한, 카운터(16)의 내용은 OR게이트(15)에서 출력된 트리거신호에 따라 증가되어 "2"로 변화한다.
이어서, 유사한 방식으로 타이머(10)로부터 출력된 카운트값과 비교기(CR3)에 저장된 타이밍데이터(TD3)가 일치하면, 시프트레지스터(12)에 저장된 레벨데이터는 오른쪽으로 순차적으로 시프트된다. 그 결과, 도 5에 도시된 바와 같이, 포트(14)에서 출력된 신호의 레벨은 타이밍(T3)에서 H레벨로 변화하고, 타이밍(T4)에서 L레벨로 변화하며, 타이밍(T5)에서 H레벨로 각각 변화한다. 또한, 카운터(16)의 내용은 OR게이트(15)에서 출력된 트리거신호에 따라 증가되어 "5"로 변화한다.
이 상태로부터 타이머(10)의 카운팅동작이 진행되어, 타이머(10)에서 출력된 카운트값과 비교기(CR6)에 저장된 타이밍데이터(TD6)가 일치하면, 비교기(CR6)는 일치신호를 발생한다. 이 일치신호는 OR게이트(15)를 통해 시프트레지스터(12)와 카운터(16)로 공급된다.
그 결과, 시프트레지스터(12)에 저장된 레벨데이터는 오른쪽으로 1비트만큼씩 시프트된다. 이 시프트동작을 통해 시프트레지스터(12)로부터 시프트아웃된 레벨데이터 "0"은 래치(13)에 래치된다. 그 결과, 도 5에 도시된 바와 같이, 포트(14)에서 출력된 신호의 레벨은 타이밍(T6)에서 L레벨로 변화한다. 또한, 카운터(16)의 내용은 OR게이트(15)에서 출력된 트리거신호에 따라 증가되어 "0"으로 되돌아 간다. 이 때, 캐리신호가 카운터(16)에서 출력된다. 이 캐리신호는 인터럽트신호로서 CPU(17)로 공급된다. CPU(17)는 인터럽트신호에 응답하여 도 6의 플로우챠트에 도시된 바와 같은 인터럽트처리를 실행한다.
이 인터럽트처리에서, 먼저, 새로운 타이밍테이터(TD1∼TD6)가 비교기들(CR1 ∼CR6)에 각각 세트되고(스텝 S10), 새로운 레벨데이터는 시프트레지스터(12)로 세트된다(스텝 S11). 다음에, 초기값이 타이머(10)에 세트된다(스텝 S12). 그 후, CPU(17)의 시퀀스동작은 인터럽트된 위치로 돌아간다. 그 결과, 새로운 타이밍데이터(TD1∼TD6) 및 새로운 레벨데이터에 근거하여 펄스신호의 생성이 재개된다. 이 시간 이후의 동작은 상술한 동작과 동일하다.
상술한 설명에서, "1"과 "0"이 교대로 나타나는 레벨데이터 "101010B"가 사용되었지만, "1" 또는 "0"이 연속적으로 나타나는 레벨데이터가 사용될 수 있다. 이 경우에, 펄스신호의 H레벨의 폭 또는 L레벨의 폭은 길게 만들어 질 수 있다. 부언하면, 펄스신호의 H레벨의 폭 또는 L레벨의 폭은 타이밍데이터(TD1∼TD6)에 의해 조절되어 비교기들(CR1 ∼CR6)내에 세트될 수 있다.
상술한 펄스신호발생장치에 따르면, 펄스신호의 레벨이 n회 변화할 때마다 1회씩 인터럽트가 발생하기 때문에, CPU(17)의 부하가 감소될 수 있다. 이 사실은, CPU(17)의 성능이 종래의 CPU와 동일하다고 가정할 경우에, 이 실시예에 따른 펄스신호발생장치에서 발생된 펄스신호의 변화속도가 종래의 펄스신호발생장치에서 발생된 펄스신호의 변화속도보다 n배 빨라질 수 있다는 것을 의미한다.
상세하게 전술한 바와 같이, 본 발명에 따른 펄스신호발생장치/방법에 따라서, 임의의 파형을 갖는 펄스신호가 발생될 수 있다. 더욱이, 프로세서의 부하를 감소시킬 수 있는 펄스신호발생장치/방법이 제공될 수 있다.
Claims (8)
- 펄스신호발생장치에 있어서,신호레벨의 전이를 트리거하는 트리거신호를 발생하는 제어회로;신호레벨을 정하는 레벨데이터가 세트되고, 상기 제어회로로부터의 트리거신호에 응답하여 상기 레벨데이터가 순차적으로 시프트되어 펄스신호를 발생하고, 이 펄스신호는 시프트레지스터에서 시프트아웃된 데이터에 근거하여 발생되는 상기 시프트레지스터;상기 제어회로로부터의 상기 트리거신호에 따라 내용을 증가시켜 상기 내용이 소정의 값에 이를 때마다 인터럽트신호를 발생하는 카운터; 및상기 카운터로부터의 인터럽트신호에 응답하여 상기 레벨데이터를 상기 시프트레지스터에 세트하는 프로세서를 구비하는 펄스신호발생장치.
- 제 1 항에 있어서, 상기 제어회로는,내용을 소정의 시간간격마다 증가시키는 타이머;각각이 상기 신호레벨의 전이타이밍을 정하는 타이밍데이터를 저장하는 레지스터를 구비한 비교기들로서, 각 비교기는 상기 타이밍데이터와 상기 타이머의 내용을 비교하여 상기 타이밍데이터와 상기 타이머의 내용이 일치할 때 일치신호를 출력하는 n(n은 2이상의 정수)개의 비교기들; 및상기 n개의 비교기들중 어느 하나에서 상기 일치신호가 발생될 때 상기 트리거신호를 발생하는 게이팅회로를 포함하고,상기 카운터는 상기 타이머의 내용이 값 n에 이를 때마다 상기 인터럽트신호를 발생하는 것을 특징으로 하는 펄스신호발생장치.
- 제 2 항에 있어서, 상기 레지스터내에 세트되는 상기 타이밍데이터는 상기 프로세서로부터 공급되는 것을 특징으로 하는 펄스신호발생장치.
- 제 2 항 또는 제 3 항에 있어서, 상기 타이머는, 상기 소정의 시간간격을 정하는 데이터가 상기 프로세서로부터 세트되는 프로그램가능 타이머로 구성되는 것을 특징으로 하는 펄스신호발생장치.
- 펄스신호발생방법에 있어서,신호레벨의 전이를 트리거하는 트리거신호를 발생하는 단계;상기 트리거신호에 응답하여 상기 신호레벨을 정하는 레벨데이터를 순차적으로 시프트하는 단계;상기 시프트단계에서 시프트아웃된 데이터에 근거하여 펄스신호를 발생하는 단계;상기 트리거신호에 따라 카운트값을 증가시켜 상기 카운트값이 소정의 값에 이를 때마다 인터럽트신호를 발생하는 단계; 및상기 인터럽트신호에 응답하여 상기 레벨데이터를 초기화하는 단계를 포함하는 펄스신호발생방법.
- 제 5 항에 있어서, 트리거신호를 발생하는 상기 단계는,소정의 시간간격마다 타이머카운트값을 증가시키는 단계;상기 신호레벨의 전이타이밍을 정의하는 n(n은 2이상의 정수)개의 타이밍데이터 각각을 상기 타이머카운트값과 비교하는 단계; 및상기 타이머카운트값이 상기 타이밍데이터 중 어느 하나와 일치할 때 상기 트리거신호를 발생하는 단계를 포함하는 것을 특징으로 하는 펄스신호발생방법.
- 제 6 항에 있어서, 상기 n개의 타이밍데이터는 프로세서로부터 공급되는 것을 특징으로 하는 펄스신호발생방법.
- 제 6 항 또는 제 7 항에 있어서, 상기 타이머카운트값을 증가시키는 상기 소정의 시간간격은 프로세서로부터 공급되는 데이터에 근거하여 결정되는 것을 특징으로 하는 펄스신호발생방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26307398A JP3312648B2 (ja) | 1998-09-17 | 1998-09-17 | パルス信号発生装置及びパルス信号発生方法 |
JP10-263073 | 1998-09-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000023116A KR20000023116A (ko) | 2000-04-25 |
KR100347557B1 true KR100347557B1 (ko) | 2002-08-07 |
Family
ID=17384471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990039183A KR100347557B1 (ko) | 1998-09-17 | 1999-09-14 | 펄스신호발생장치 및 펄스신호발생방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6504876B1 (ko) |
JP (1) | JP3312648B2 (ko) |
KR (1) | KR100347557B1 (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3557522B2 (ja) * | 2000-07-10 | 2004-08-25 | 沖電気工業株式会社 | 割込信号生成装置 |
KR100594315B1 (ko) * | 2005-01-13 | 2006-06-30 | 삼성전자주식회사 | 다중 펄스 생성 장치 |
US7508886B2 (en) * | 2005-03-29 | 2009-03-24 | Lockheed Martin Corporation | System for generating a digital signal |
US7848220B2 (en) * | 2005-03-29 | 2010-12-07 | Lockheed Martin Corporation | System for modeling digital pulses having specific FMOP properties |
EP1868059B1 (en) * | 2005-03-31 | 2011-08-24 | NEC Corporation | Timer circuit, mobile communication terminal using the same, and electronic device using the same |
CN101854259B (zh) * | 2010-06-04 | 2014-03-19 | 中兴通讯股份有限公司 | 一种数据包的计数方法及*** |
JP2012094934A (ja) * | 2010-10-22 | 2012-05-17 | Sharp Corp | パルス幅変調装置 |
JP5621795B2 (ja) * | 2012-01-31 | 2014-11-12 | 株式会社デンソー | パルス信号生成装置 |
RU2538342C1 (ru) * | 2014-01-30 | 2015-01-10 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" | Многоканальный счетчик импульсов |
JP7275827B2 (ja) * | 2019-05-10 | 2023-05-18 | オムロン株式会社 | カウンタユニット、データ処理装置、計測システム、カウンタユニット制御方法、およびデータ処理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63156424A (ja) * | 1986-12-19 | 1988-06-29 | Fujitsu Ltd | パルスカウント回路 |
JPH08162933A (ja) * | 1994-12-07 | 1996-06-21 | Nippondenso Co Ltd | 期間信号発生装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3632876A (en) * | 1969-10-16 | 1972-01-04 | Motorola Inc | Binary to pulse waveform converter |
US4159873A (en) * | 1977-09-27 | 1979-07-03 | Hughes Aircraft Company | Rangefinder and digital single shot circuit |
JPS5487034U (ko) * | 1977-12-01 | 1979-06-20 | ||
US4160237A (en) * | 1978-02-02 | 1979-07-03 | Sperry Rand Corporation | Optical reader for multiline image processing |
JP2891711B2 (ja) | 1989-01-27 | 1999-05-17 | 日本電気アイシーマイコンシステム株式会社 | マイクロコンピュータ |
JP2773546B2 (ja) | 1992-05-07 | 1998-07-09 | 日本電気株式会社 | パルス発生回路 |
JPH0876875A (ja) | 1994-09-07 | 1996-03-22 | Hitachi Ltd | マイクロコンピュータ応用システム |
JPH09145783A (ja) | 1995-11-28 | 1997-06-06 | Advantest Corp | Ic試験装置 |
-
1998
- 1998-09-17 JP JP26307398A patent/JP3312648B2/ja not_active Expired - Fee Related
-
1999
- 1999-09-08 US US09/391,372 patent/US6504876B1/en not_active Expired - Fee Related
- 1999-09-14 KR KR1019990039183A patent/KR100347557B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63156424A (ja) * | 1986-12-19 | 1988-06-29 | Fujitsu Ltd | パルスカウント回路 |
JPH08162933A (ja) * | 1994-12-07 | 1996-06-21 | Nippondenso Co Ltd | 期間信号発生装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20000023116A (ko) | 2000-04-25 |
US6504876B1 (en) | 2003-01-07 |
JP3312648B2 (ja) | 2002-08-12 |
JP2000091889A (ja) | 2000-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7216271B2 (en) | Testing apparatus and a testing method | |
KR100347557B1 (ko) | 펄스신호발생장치 및 펄스신호발생방법 | |
WO2013006481A1 (en) | Method and apparatus for low jitter distributed clock calibration | |
US6246737B1 (en) | Apparatus for measuring intervals between signal edges | |
US5686846A (en) | Time duration trigger | |
JPH0844594A (ja) | データ処理装置 | |
EP0498450A2 (en) | Serial clock generating circuit | |
JP4322808B2 (ja) | 遅延の予測に基づく適応データ処理スキーム | |
JP2773546B2 (ja) | パルス発生回路 | |
KR20010095202A (ko) | 가변 임계점을 갖는 듀티 사이클 판정 회로 | |
KR100494114B1 (ko) | 타이머 회로 | |
JP2001305197A (ja) | 半導体集積回路試験におけるパルス幅タイミング誤差補正のための較正方法および装置 | |
US7389449B2 (en) | Edge selecting triggering circuit | |
KR20090059049A (ko) | 신호 생성 회로 | |
US11755342B2 (en) | Monitoring transitions of a circuit | |
US6715017B2 (en) | Interruption signal generating apparatus | |
US6072338A (en) | Method of and device for determining pulse width | |
KR100207481B1 (ko) | 데이터 검출을 위한 검출 시간 조정 장치 | |
US6483887B2 (en) | Timer control circuit | |
JP2000209076A (ja) | ノイズ検出回路 | |
US6891421B2 (en) | Method and apparatus for on die clock shrink burst mode | |
KR0163926B1 (ko) | 프로그램어블 데이터 일치 검출 회로 | |
JP2000055958A (ja) | デューティ比判定回路及びデューティ比判定方法 | |
JP2001339376A (ja) | 同期回路 | |
KR19980047712A (ko) | 자기기록기의 동기신호 검출장치 |
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: 20120629 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20130705 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |