KR100206987B1 - 다기능 타이머 - Google Patents

다기능 타이머 Download PDF

Info

Publication number
KR100206987B1
KR100206987B1 KR1019970021206A KR19970021206A KR100206987B1 KR 100206987 B1 KR100206987 B1 KR 100206987B1 KR 1019970021206 A KR1019970021206 A KR 1019970021206A KR 19970021206 A KR19970021206 A KR 19970021206A KR 100206987 B1 KR100206987 B1 KR 100206987B1
Authority
KR
South Korea
Prior art keywords
clock
bit
channel
register
bus
Prior art date
Application number
KR1019970021206A
Other languages
English (en)
Other versions
KR19980085208A (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 KR1019970021206A priority Critical patent/KR100206987B1/ko
Publication of KR19980085208A publication Critical patent/KR19980085208A/ko
Application granted granted Critical
Publication of KR100206987B1 publication Critical patent/KR100206987B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day
    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means

Abstract

본 발명은 다기능 타이머에 관한 것으로, 클럭발생부는 메인클럭을 입력받아 이를 시스템에 필요한 클럭으로 출력한다. 아울러 외부클럭을 입력받아 이를 전달한다. 그러면 클럭변환부는 상기 클럭발생부의 출력클럭을 입력받아 주기가 각기 다른 8개의 클럭을 발생하는데, 그 중 4개를 선택하여 출력한다. 상기 클럭변환부에 의해 선택된 4개의 클럭과 상기 외부클럭은 버스에 의해 각 채널에 인가된다. 이에따라 상기 각 채널은 내부에 있는 콘트롤레지스터(미도시)에 셋트된 값에 의해 해당 클럭을 선택하여 주기로 이용하고, 카운터시작레지스터의 셋트된 값에 따라 카운트동작을 시작한다. 타이머의 전체적인 동작모드는 동기모드선택레지스터, PWM레지스터, 모드선택레지스터, 위상카운트선택레지스터에 의해 설정된다. 비트선택레지스터는 채널을 두 개씩 묶어 32비트카운팅을 할 것인가를 정해준다. 예를들어 16비트 카운팅을 하는 경우에는 로우16비트버스만을 이용하여 데이터들을 전송한다. 그러나 32비트 카운팅을 하는 경우에는 사용자가 두 채널의 내부에 있는 8비트 콘트롤레지스터, 상태레지스터, 16비트카운터 등을 동시에 32비트로 억세스할 수 있도록 하이16비트버스버스를 채널(Ch.1), 채널(Ch.3), 채널(Ch.5)에 연결한다. 이와같은 상태에서 각 채널을 2개씩 짝을 지어 동작하도록 하고, 로우16비트버스와 하이16비트버스버스를모두 사용하여 데이터를 전송하도록 한다. 이와같이 하면 32비트카운터 3채널로 동작 할 수 있다. 그리고 인터럽트출력부는 18개의 인터럽트소스를 각 채널별로 묶어 6개의 인터럽트로 그룹핑한다. 그러면 인터럽트처리루틴에서 해당 채널의 상태레지스터를 읽어 인터럽트에 대한 처리를 한다. 이상에서 상세히 설명한 바와같이 본 발명은 16비트카운터와 32비트카운터를 선택적으로 사용할 수 있고, 클럭소스의 폭이 넓어지며, 인터럽트처리부의 부하가 줄어들고, 다양한 기능을 지원할 수 있는 효과가 있다.

Description

다기능 타이머
본 발명은 다기능 타이머에 관한 것으로, 특히 충분한 채널수를 지원하면서도 다 기능을 구현하는데 적당 하도록 한 다기능 타이머에 관한 것이다.
MCU내부에 있는 타이머모듈은 embeded 시스템에서 반드시 필요한 모듈로서 현재 다양한 기능을 구현하는 타이머들이 있다.
그리고 종래의 타이머는 대개 1개의 채널당 1~2가지의 기능을 지원하고 있는데, 이러한 기능으로는 free Running Counter mode와 Periodic Counter mode를 들 수가 있다.
이들외에 PWM mode를 지원하기 위해서 별개의 카운터를 두어서 전용으로 사용하고 있기도 하다.
구성으로는 보통 각 채널당 1개의 카운터와, periodic mode 또는 output compare를 위한 값이 저장되어 있는 저장레지스터, 카운터의 상태를 저장하는 상태레지스터 그리고 클럭을 선택하거나 클리어조건 등의 정보를 갖고 있는 콘트롤레지스터로 구성된다.
이러한 타이머들 중 임의의 16비트 채널의 타이머를 예를들어 설명한다.
도1은 종래 타이머의 블록 구성도로서, 이에 도시된 바와같이 외부로부터의 메인클럭(Main clock)을 분주하여 시스템에 필요한 클럭을 발생하거나 외부로부터의 클럭신호(Ext_clock)를 선택하여 출력하는 클럭발생부(11)와, 제어신호에 따라 상기 클럭발생부(11)에서 출력되는 여러 가지 클럭 중 적절한 클럭을 선택하여 출력하는 클럭선택부(12)와, 클럭선택제어신호를 선택함과 아울러 각 채널을 제어하는 콘트롤레지스터(13)로 이루어져 클럭선택과 채널제어 그리고 각 채널로부터의 인터럽트신호를 메인프로세서에 전달하는 제어부(10)와; 상기 클럭선택부(12)로부터의 클럭을 카운트하여 이를 기 설정된 기준값과 비교하여 그에따른 신호를 출력함과 아울러 인터럽트신호를 출력하는 다수개의 채널(ch0~ch4)과; 타이머의 동작조건을 설정하기 위한 기능제어레지스터(21)(TFCR), 모드선택레지스터(22)TMDR), 동기모드선택레지스터(23)(TSNC), 카운터시작레지스터(24)(TSTR), 출력제어레지스터(25)(TOCR)로 구성된다.
이와같이 구성된 종래 타이머의 동작을 설명하면 다음과 같다.
먼저, 클럭발생부(11)는 외부로부터의 메인클럭(Main clock)을 입력받아 이를 분주하여 시스템에서 필요한 클럭을 발생한다.
그러면 콘트롤레지스터(13)는 각 채널(ch0~ch4)에 필요한 클럭을 선택하도록 클럭선택부(12)를 제어하여 해당 클럭을 해당 채널에 공급한다.
이에따라 각 채널(ch0~ch4)내의 카운터(미도시)는 입력되는 클럭을 카운트하는데, 카운트값이 기 설정되어 있는 비교레지스터(미도시)의 값만큼 카운트한다.
이때, 상기 각 채널(ch0~ch4)내부에는 클럭선택, 상태저장, 클리어조건 등에 관한 레지스터(미도시)도 있다.
그리고 각 채널(ch0~ch4)당 외부로 2개의 출력핀을 연결하여 일정시간마다 2가지의 출력신호를 내보낼 수 있다.
이와같이 모든 채널에 공통인 콘트롤레지스터(13)를 외부에 두어 각 채널(ch0~ch4)을 제어하도록 함으로써 각 채널(ch0~ch4)은 독립적으로 동작할 수 있다.
그리고 각 채널(ch0~ch4)내에 비교레지스터가 2개이므로 카운터값과 레지스터값이 일치시 발생할 수 있는 2가지의 인터럽트와, 오버플로우시 발생하는 오버플로우인터럽트 포함해 총 15가지의 인터럽트를 발생할 수 있다.
따라서 상기 인터럽트는 모두 제어부(10)에 의해 메인프로세서에 전달된다.
이상에서 설명한 바와같이 종래의 타이머는 인터럽트신호를 모두 제어부로 보내기 때문에 제어부의 부하가 많이 걸리게 되고, 32비트의 카운팅동작을 할 수 없으며, 기능이 적은 문제점이 있었다.
본 발명의 목적은 이러한 종래의 문제점을 해결하기 위해 채널을 두 개씩 묶어 동작할 수 있도록 하고, 그 두 개의 채널 중 임의의 채널과 버스인터페이스 사이에 16비트버스를 하나 더 연결하여 16비트 또는 32비트 카운팅동작 선택에 따라 16비트 또는 32비트 카운팅을 할 수 있도록 하며, 각 채널에서 출력되는 인터럽트를 채널별로 묶어 6개의 인터럽트로 만들어 출력하도록 함으로써 인터럽트처리부의 부하르 줄이도록 한 다기능 타이머를 제공하는데 있다.
도 1은 종래 타이머의 블록 구성도.
도 2는 본 발명의 일 실시예시도.
* 도면의 주요부분에 대한 부호의 설명
100 : 클럭발생부 200 : 클럭변환부
300 : 모드선택부 400 : 버스인터페이스
500 : 인터럽트출력부 310 : 카운트시작레지스터
320 : 비트선택레지스터 330 : 동기모드선택레지스터
340 : PWM선택레지스터 350 : 모드선택레지스터
360 : 위상카운트선택레지스터
상기 본 발명의 목적을 달성하기 위한 다기능 타이머는 외부로부터의 메인클럭을 분주하여 시스템에 필요한 클럭을 발생하거나 외부클럭을 입력받아 전달하는 클럭발생수단과; 상기 클럭발생수단의 출력클럭을 여러주기의 클럭신호로 변환하여 출력함과 아울러 그 변환된 클럭중 임의의 클럭을 선택하여 출력하는 클럭변환수단과; 각 채널의 카운트시작을 제어하고, 타이머의 동작조건을 설정하며, 채널의 비트수를 선택하기 위한 제어신호를 발생하는 모드선택수단과; 상기 모드선택수단의 제어신호에 따라 각기 16비트로 상기 클럭변환부의 출력클럭신호를 입력받아 이를 카운트하여 그에따른 신호를 출력하거나 2개씩 결합하여 32비트로 동작하는 다수개의 채널과; 상기 각부와 메인프로세서와의 인터페이스를 위한 버스인터페이스와; 상기 각 채널로부터의 인터럽트신호를 각 채널별로 묶어 6개의 인터럽트로 출력하는 인터럽트출력수단으로 구성한다.
상기 버스인터페이스와 2개씩 결합한 채널의 각 어느한쪽과의 사이에 연결한 16비트 버스를 더 포함하여 구성한다.
이하, 본 발명의 작용 및 효과에 관하여 일 실시예를 들어 설명한다.
도2는 본 발명의 일 실시예시도로서, 이에 도시한 바와같이 외부로부터의 메인클럭(main_clk)을 분주하여 시스템에 필요한 클럭을 발생하거나 외부클럭(Ext_clk1~ Ext_clk4)을 입력받아 전달하는 클럭발생부(100)와; 상기 클럭발생부(100)의 출력클럭중 소정 몇 개를 선택하여 출력하는 클럭변환부(200)와; 각 채널(Ch.0~Ch.5)의 카운트시작을 제어하고, 타이머의 동작조건을 설정하며, 채널의 비트수를 선택하기 위한 제어신호를 발생하는 모드선택부(300)와; 상기 모드선택부(300)의 제어신호에 따라 각기 16비트로 상기 클럭변환부(200)의 출력클럭신호를 입력받아 이를 카운트하여 그에따른 신호를 출력하거나 2개씩 결합하여 32비트로 동작하는 다수개의 채널(Ch.0~Ch.5)과; 상기 각부와 메인프로세서(미도시)와의 인터페이스를 위한 버스인터페이스(400)와; 상기 각 채널(Ch.0~Ch.5)에서 출력되는 인터럽트신호를 메인프로세서에 전달하는 인터럽트출력부(500)로 구성한다.
상기 버스인터페이스(400)와 2개씩 결합한 채널의 각 어느한쪽과의 사이에 16비트 버스를 하나 더 연결한다.
상기 모드선택부(300)는 각 채널의 카운트시작을 제어하는 카운트시작레지스터(310)(TstartR)와; 채널의 비트수를 선택하기 위한 비트선택레지스터(320)(T32R)와; 타이머의 동작조건을 설정하기 위한 동기모드선택레지스터(330)(TsyncR), PWM레지스터(340)(TpwmR), 모드선택레지스터(350)(TmodeR), 위상카운트선택레지스터(360)(TphaseR)로 구성한다.
이와같이 구성한 본 발명의 일 실시예의 동작을 설명하면 다음과 같다.
먼저, 클럭발생부(100)는 외부로부터의 메인클럭(main_clk)를 입력받아 이를 시스템에 필요한 클럭으로 출력한다. 아울러 외부클럭 (Ext_clk1 ~Ext_clk4)을 입력받아 이를 전달한다.
그러면 클럭변환부(200)는 상기 클럭발생부(100)의 출력클럭을 입력받아 주기가 각기 다른 8개의 클럭을 발생하는데, 이를 모두 출력하는 것이 아니라, 제어신호에 따라 그 중 4개를 선택하여 출력한다.
이와같이 하면 클럭의 종류가 많아 지게되어 선택의 폭이 넓어진다.
상기 클럭변환부(200)에 의해 선택된 4개의 클럭과 상기 외부클럭(Ext_clk1 ~Ext_clk4)은 버스에 의해 각 채널(Ch.0~Ch.5)에 인가된다.
이에따라 상기 각 채널(Ch.0~Ch.5)은 내부에 있는 콘트롤레지스터(미도시)에 셋트된 값에 의해 해당 클럭을 선택하여 주기로 이용하고, 카운터시작레지스터(310)(TstartR)의 셋트된 값에 따라 카운트동작을 시작한다.
타이머의 전체적인 동작모드는 동기모드선택레지스터(330)(TsyncR), PWM레지스터(340)(TpwmR), 모드선택레지스터(350)(TmodeR), 위상카운트선택레지스터(360) (TphaseR)에 의해 설정된다.
이때, 동기모드선택레지스터(330)(TsyncR)는 채널간에 동기된 클리어(clear), 라이트(write)를 할 수 있도록 동기 채널을 설정할 수 있다.
PWM레지스터(340)(TpwmR)는 어느 채널을 PWM모드로 할 것인가를 정할 수 있다.
모드선택레지스터(350)(TmodeR)는 특정 채널에서 리셋트 동기된 PWM모드와 상보적인 PWM모드에 대한 제어를 할수 있도록 상태비트들이 있다.
위상카운트선택레지스터(360)(TphaseR)는 특정 채널에서 두 개의 외부클럭의 이벤트(event)순서에 의해 업카운트와 다운카운트를 할 수 있도록 제어한다.
그리고 비트선택레지스터(320)(T32R)는 채널을 두 개씩 묶어 32비트카운팅을 할 것인가를 정해준다.
예를들어 16비트 카운팅을 하는 경우에는 로우16비트버스(Low 16bit)만을 이용하여 데이터들을 전송한다.
그러나 32비트 카운팅을 하는 경우에는 사용자가 두 채널의 내부에 있는 8비트 콘트롤레지스터, 상태레지스터, 16비트카운터 등을 동시에 32비트로 억세스할 수 있도록 하이16비트버스(High 16bit)버스를 채널(Ch.1), 채널(Ch.3), 채널(Ch.5)에 연결한다.
이와같은 상태에서 각 채널(Ch.0~Ch.5)을 채널(Ch.0)과 채널(Ch.1), 채널(Ch.2)과 채널(Ch.3), 채널(Ch.4)과 채널(Ch.5)과 같이 2개씩 짝을 지어 동작하도록 하고, 로우16비트버스(Low 16bit)와 하이16비트버스(High 16bit)버스를모두 사용하여 데이터를 전송하도록 한다.
이와같이 하면 32비트카운터 3채널로 동작 할 수 있다.
그리고 인터럽트출력부(500)는 18개의 인터럽트소스를 각 채널별로 묶어 6개의 인터럽트로 그룹핑(grouping)한다.
그러면 인터럽트처리루틴에서 해당 채널의 상태레지스터를 읽어 인터럽트에 대한 처리를 한다.
이상에서 상세히 설명한 바와같이 본 발명은 16비트카운터와 32비트카운터를 선택적으로 사용할 수 있고, 클럭소스의 폭이 넓어지며, 인터럽트처리부의 부하가 줄어들고, 다양한 기능을 지원할 수 있는 효과가 있다.

Claims (2)

  1. 외부로부터의 메인클럭을 분주하여 시스템에 필요한 클럭을 발생하거나 외부클럭을 입력받아 전달하는 클럭발생수단과; 상기 클럭발생수단의 출력클럭을 여러주기의 클럭신호로 변환하여 출력함과 아울러 그 변환된 클럭중 임의의 클럭을 선택하여 출력하는 클럭변환수단과; 각 채널의 카운트시작을 제어하고, 타이머의 동작조건을 설정하며, 채널의 비트수를 선택하기 위한 제어신호를 발생하는 모드선택수단과; 상기 모드선택수단의 제어신호에 따라 각기 16비트로 상기 클럭변환부의 출력클럭신호를 입력받아 이를 카운트하여 그에따른 신호를 출력하거나 2개씩 결합하여 32비트로 동작하는 다수개의 채널과; 상기 각부와 메인프로세서와의 인터페이스를 위한 버스인터페이스와; 상기 각 채널로부터의 인터럽트신호를 각 채널별로 묶어 6개의 인터럽트로 출력하는 인터럽트출력수단으로 구성한 것을 특징으로 하는 다기능 타이머.
  2. 제1항에 있어서, 상기 2개씩 결합한 채널의 각 어느한쪽과 상기 버스인터페이스와의 사이에 연결한 16비트 버스를 더 포함하여 구성한 것을 특징으로 하는 다기능 타이머.
KR1019970021206A 1997-05-28 1997-05-28 다기능 타이머 KR100206987B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970021206A KR100206987B1 (ko) 1997-05-28 1997-05-28 다기능 타이머

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970021206A KR100206987B1 (ko) 1997-05-28 1997-05-28 다기능 타이머

Publications (2)

Publication Number Publication Date
KR19980085208A KR19980085208A (ko) 1998-12-05
KR100206987B1 true KR100206987B1 (ko) 1999-07-01

Family

ID=19507468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970021206A KR100206987B1 (ko) 1997-05-28 1997-05-28 다기능 타이머

Country Status (1)

Country Link
KR (1) KR100206987B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100462736B1 (ko) * 2003-04-30 2004-12-23 삼성전자주식회사 다수의 타임 인터럽트 신호를 발생시킬 수 있는 타이머 장치

Also Published As

Publication number Publication date
KR19980085208A (ko) 1998-12-05

Similar Documents

Publication Publication Date Title
EP1226505B1 (en) Generic serial port architecture and system
KR100240873B1 (ko) 송수신 겸용의 레지스터를 갖는 직렬인터페이스장치
EP1428131B1 (en) Multiple channel interface for communications between devices
US5361290A (en) Clock generating circuit for use in single chip microcomputer
KR0185034B1 (ko) 단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러
US6182235B1 (en) Microcontroller with a user configurable pulse width modulator
US4509120A (en) Variable cycle-time microcomputer
KR100403995B1 (ko) 작은 하드웨어 규모로 많은 인터럽트 처리에 유연하게대응하는인터럽트제어장치
KR100255683B1 (ko) 직접메모리접근(dma)모드를갖는단일칩컴퓨터시스템
US20100272162A1 (en) Synchronous serial programmable interface
US6748475B1 (en) Programmable serial port architecture and system
KR100206987B1 (ko) 다기능 타이머
EP2810138B1 (en) Programmable timebase
KR960003045B1 (ko) 마이크로프로세서
KR100459738B1 (ko) 향상된타이머성능을가진집적회로입력/출력프로세서
US7320081B2 (en) Clock-signal generation device, communication device, and semiconductor device
US5918027A (en) Data processor having bus controller
EP0464393A2 (en) Signal processor
SU1195364A1 (ru) Микропроцессор
KR100256230B1 (ko) 시스템감시기능을가진타이머장치
US5175846A (en) Clock device for serial bus derived from an address bit
KR890001202B1 (ko) 디지탈 교환기의 톤 제너레이터(tone generator)
JP2730287B2 (ja) マイクロコンピュータ
JPS613223A (ja) デ−タ処理装置
JP2570837B2 (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: 20020315

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee