KR950010828B1 - 프로그램이 가능한 타이머에서의 프로그래밍 지원방법 - Google Patents

프로그램이 가능한 타이머에서의 프로그래밍 지원방법 Download PDF

Info

Publication number
KR950010828B1
KR950010828B1 KR1019930024327A KR930024327A KR950010828B1 KR 950010828 B1 KR950010828 B1 KR 950010828B1 KR 1019930024327 A KR1019930024327 A KR 1019930024327A KR 930024327 A KR930024327 A KR 930024327A KR 950010828 B1 KR950010828 B1 KR 950010828B1
Authority
KR
South Korea
Prior art keywords
signal
register
timer
write
byte
Prior art date
Application number
KR1019930024327A
Other languages
English (en)
Other versions
KR950015066A (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 KR1019930024327A priority Critical patent/KR950010828B1/ko
Publication of KR950015066A publication Critical patent/KR950015066A/ko
Application granted granted Critical
Publication of KR950010828B1 publication Critical patent/KR950010828B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

내용 없음.

Description

프로그램이 가능한 타이머에서의 프로그래밍 지원방법
제1도는 프로그램 가능한 타이머와 프로세서의 연결도.
제2도는 프로그램 가능한 타이머의 내부 레지스터의 구성도.
제3도는 상기 제 1 도 및 제 2 도의 구성에 따른 본 발명의 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1 : 프로세서 2 : 프로세서 인터페이스 회로
3 : 프로그램 가능한 타이머 4 : MCR
8 : OCR 11 : BCR
본 발명은 프로그램이 가능한 타이머에서 하드웨어 인터페이스를 통하여 프로그래밍을 지원하는 방법에 관한 것이다.
본 발명에서의 상기 타이머는 소정의 마이크로 프로세서에게 주기적인 타임아웃 인터럽트를 발생시키는 기능을 수행하는 것으로, 본 발명은 타임아웃 인터럽트의 발생간격과 인터럽트의 발생 및 정지를 소프트웨어적으로 프로그래할 수 있는 기능을 제공하는 프로그램이 가능한 타이머에서의 프로그램밍 지원방법을 제공하는데 목적이 있다.
상기 목적을 달성하기 위하여 본 발명에서의 첨부된 도면에 의거 상세한 설명을 한다.
상기 프로그래밍 지원방법을 달성하기 위한 하드웨어적으로 타이머와 프로세서가 연결된 제1동을 참조하여 설명한다. 제 1 도는, 프로그램이 가능한 타이머(3)와, 이 타이머(3)를 하드웨어적으로 제어하기 위한 소정의 프로세서(1)와, 상기 소정의 프로세서(1)와 타이머(3)사이에 연결되어 인터페이스를 제공하는 소정의 프로세서 인터페이스 회로(2)로 구성된다. 그리고, 제 2 도는 상기 제 1 도의 프로그램이 가능한 타이머(3)의 세 개의 레지스터를 나타낸다.
상기 세개의 레지스터는 프로그램에 의해서 접근이 가능한 최대계수 레지스터(이하, "MCR"이라함)(4) 및 현재 계수 레지스터(이하, "OCR"이라 함)(8)중에 MCR(4)은 읽기와 쓰기가 가능하며, OCR(8)은 읽기만 가능하다. 그리고, 상기 MCR(4) 및 OCR(8)은 프로그램에 의해서 접근할 수 있는 32비트 레지스터로 구성된 것이다. 나머지 단위계수 레지스터(이하, "BCR"이라함)(11)는 상기 MCR(4) 및 OCR(8)이 프로그램에 의해서 접근할 수 있는 반면에 프로그램에 의해서 접근할 수 없다.
상기 MCR(4)에는 최대 계수치[23 : 0](7)와 계수단위[27 : 24](6)가 저장되며, 이때 보류되는 상위 4비트 [31 : 28](5)는 정의하지 않는다. 또한, 상기 OCR(8)에는 현재의 계수치[23 : 0](10)가 저장되며, 상위 8비트[31 : 24](9)는 보유되면서 정의되지 않고, 상기 BCR[3 : 0](11)에는 계수단위에 대한 현재의 계수치가 저장된다.
상기 MCR(4)의 최대계수치 항목(7)의 값을 V(MCR[23 :0]), 계수단위(6)의 값을 V(MCR[27 : 24])라 하고, 타이머 입력 클럭의 주기를 tclk라고 하면, V(CMC[23 :0])(7)과 V(MCR[27 : 24])(6)은,
와 같이 구할 수 있으며, 주기적인 타임 아웃 인터럽트의 시간간격을 t라 하면 t는,
와 같이 계산된다.
상기와 같은 프로그램이 가능한 타이머(3)에서 최대계수치와 계수단위를 MCR(4)에 기록하고 MCR(4)과 OCR(8)의 내용을 읽어 보기 위해서는 프로그래밍 인터페이스가 필요하다. 표 1은 프로그래밍을 지원하기 위한 상기 타이머(3)의 입출력신호를 나타낸 것이다.
[표 1]
상기 표 1의 신호명에 대해서 살펴보면 다음과 같다. 어드레스 스트로브(AddrStb)신호는 타이머의 레지스터를 읽거나 쓰고나 할 때 구동하며, 쓰기(1) 및 읽기(0)(WrRd)신호, 어드레스(Addr) 신호, 바이트 이네이블(ByteEn)신호등이 유효한 값을 가지고 있음을 나타내고, 쓰기일 경우에는 데이타(Data) 신호도 유효한 값을 가지는 것을 나타낸다.
쓰기(1) 및 읽기(0)신호는 신호의 값이 1이면 쓰기를 나타내고 0이면 읽기를 나타낸다. 또한, 어드레스(Addr)신호는 읽거나 쓰고자 하는 레지스터의 주소를 나타내는 것으로, 상기 타이머 내부 레지스터의 어드레스는 프로세서 인터페이서 회로(2)의 설계를 용이하게 하기 위하여 하위 3비트의 값이 16진수로 0~3인 경우만 사용되고, 4~7인 경우는 사용되지 않는다. 따라서, 상기 4~7인 경우는 프로그램에서 읽거나 쓰기를 하지 않아야 한다.
상기 타이머 내부 레지스터의 주소는 MCR(4)이 하위 비트로 16지수 80~83이고 OCR(8)은 88~8b이다.
이때, 상기 최대계수 레지스터 MCR(4)과 현재 계수 레지스터 OCR(8)의 크기는 32비트이고, 하위 3비트의 어드레스가 4~7인 경우는 사용되지 않으므로 어드레스는 5비트만이 구동된다.
상기 어드레스의 나머지 상위 비트는 타이머 레지스터를 위해 별도로 할당되어 정해지며, 프로세서 인터페이스 회로(2)는 프로세서(1)로부터의 쓰기(1) 및 읽기(0) 요구시에 상기 상위 비트를 해독하여 타이머 레지스터들(MCR(4), OCR(8))중의 하나를 가리키면 타이머에 대한 각각의 상기 레지스터들(4,8)에 쓰기(1) 및 읽기(0) 요구를 한다.
바이트 이네이블(ByteEn)신호는 32비트로 구성된 레지스터의 어느 바이트에 접근할 것인가를 나타내며, 이 레지스터의 4바이트에 각각 대응된다.
데이타(Data)신호는 읽거나 쓰는 데이타가 실리는 버스이다. 요구완료(Ready)신호는 읽거나 쓰기 요구신호(WrRd)의 처리가 완료되었음을 프로세서 인터페이스 회로(2)에게 알리는 신호로서 읽기일 경우, 읽고자 하는 데이타 버스에 실렸음을 알리고, 쓰기일 경우에는 해당 레지스터에 쓰기가 완료되었음을 알리는 신호이다.
상기 신호들에 의해서 제 3 도인 본 발명 동작 나타낸 흐름도를 참조하여 상세히 설명한다.
제 3 도는 프로그래밍 인터페이스에 의해 프로그래밍을 지원하는 일련의 방법을 나타낸 것이다.
먼저, 상기 내부 레지스터를 가지고 프로그래밍이 되는 타이머(3)가 리셋되는 초기화 상태가 된다(단계 12).
상기 초기화 단계(12)후, 상기 타이머(3)에 들어오는 클럭이 상기 에지(dege)인가를 판단하여 만약 상승에지가 아니라면 상기 들어오는 클럭이 상승에지가 될때까지 기다린다(단계 13).
그러나, 상기 판단단계(13)에서 클럭이 상승에지이면 상기 타이머(3)내의 MCR(4) 및 OCR(8)을 읽거나 이 레지스터(4), (8)에 쓰기 위한 어드레스 스트로브 신호가 1인가를 판단한다(단계 14).
상기 판단단계(14)에서 상기 어드레스 스트로브 신호가 1이 아니면 요구완료(Ready)신호와 데이타 버스는 초기화 단계(12)인 때와 동일한 상태 즉, 요구완료신호를 0으로 하고, 데이타 버스가 고 임피던스의 부동(floating)상태로 된다(단계 15).
상기 판단단계(14)에서 어드레스 스트로브 신호가 1이면 상기 소정의 프로세서 인터페이스 회로(2)에 의해서 상기 타이머(3)에 들어오는 어드레스 신호를 해독하는데, 이때 이 어드레스 신호가 MCR(4)이나 OCR(8) 어느 것도 가리키지 않으면 해당 요구가 타이머(3)내의 레지스터에 대한 요구가 아니므로 아무런 동작도 하지 않는다.
상기 타이머(3)내의 해당 레지스터가 아니라면 동작하지 않기 때문에 상기 단계(13)로 궤환한다(단계 16).
상기 소정의 어드레스(Addr)신호를 해독하여 이 소정의 어드레스 신호가 상기 타이머(3)내에 하나의 레지스터인 MCR(4)을 가리키면, 상기 소정의 프로세서 인터페이스 회로(2)에 의해서 상기 프로그램이 가능한 타이머(3)내의 레지스터인 MCR(4)에 제공도는 쓰기(1) 및 읽기(0) 요구신호가 1인지를 판단한다(단계 17).
상기 쓰기(1) 및 읽기(0) 요구신호가 1이 아니면, 즉 읽기(0)이면 상기 레지스터(MCR)(4)의 바이트(Byte) 각각에 대응되는 바이트 이네이블(ByteEn)신호에 따라 상기 레지스터(4)에서 바이트 단위의 읽기(0)를 수용한 후, 읽기요구 완료(Ready)신호를 구동하고, 상기 단계(13)로 반복된다(단계 18).
상기 판단단계(17)에서 쓰기(1) 및 읽기(0) 요구신호가 1이면 쓰기요구신호이므로 상기 레지스터(MCR)(4)의 바이트 각각에 대응하는 바이트 이네이블(ByteEn)신호에 의해서 상기 레지스터(4)에 바이트 단위의 쓰기를 수행한 후, 쓰기 요구완료(Ready)신호를 구동하여 상기 단계(13)로 반복된다(단계 19).
반면에, 상기 소정의 어드레스(Addr)신호를 해독하여 이 소정의 어드레스 신호가 타이머(3)내의 레지스터(OCR)(8)를 가리키면, 상기 소정의 프로세서 인터페이스 회로(2)에 의해서 제공되는 쓰기(1) 및 읽기(0) 요구신호가 1인지를 판단한다(단계 20).
상기 쓰기(1) 및 읽기(0) 요구신호가 1이 아니면 즉, 읽기면 상기 하나의 레지스터(OCR)(8)의 바이트 각각에 대응되는 바이트 이네이블(ByteEn)신호에 의해서 상기 하나의 레지스터(OCR)(8)에 바이트 단위의 읽기를 수행한 후, 읽기 요구완료신호를 구동하여 상기 단계(13)로 반복된다(단계 21).
상기 쓰기(1) 및 읽기(0) 요구신호 1이면 즉, 쓰기이므로 상기 하나의 레지스터(OCR)(8)에 쓰기를 수행해야 하지만 이 레지스터(OCR)(8)는 읽기만 허용되는 레지스터이므로 쓰기는 수행하지 않고, 요구완료(Ready)신호만을 구동하고 다시 상기 단계(13)로 반복된다(단계 22).
이상과 같이 구성된 본 발명은 프로그램이 가능한 타이머에서 간단하고 효과적인 하드웨어 인터페이스를 통하여 소프트웨어적으로 투명하게 프로그래밍을 지원할 수 있는 효과가 있다.

Claims (1)

  1. 프로그래밍이 되는 타이머(3)가 리셋되어 초기화되는 단계(12)와, 상기 초기화 단계(13) 후 상기 타이머(3)에 들어오는 클럭이 상승에지인지를 판단하여 상승에지가 아니면 상승에지가 될 때까지 기다리는 단계(13)와, 상기 판단단계(13)에서 클럭이 상승에지이면 상기 타이머(3)내의 레지스터들(4)(8)을 읽거나 쓰기 위한 어드레스 스트로브 신호가 1인치 판단되는 단계(14)와, 상기 판단단계(14)에서 상기 어드레스 스트로브 신호가 1이 아니면 요구완료신호를 0으로 구동하고 데이타 버스가 대기상태를 유지하도록 하는 단계(15)와, 상기 판단단계(14)에서 어드레스 스트로브 신호가 1이면 소정의 프로세서 인터페이스 회로(2)에 의해서 소정의 어드레스 신호를 해독하고, 상기 타이머(3)내의 레지스터들 (4), (8)중 어느 하나에도 해당되지 않으면 상기 소정의 프로세서 인터페이스 회로(2)에 의해서 상기 단계(13)로 궤환되는 단계(16)와, 상기 소정의 어드레스 신호를 해독하여 이 소정의 어드레스 신호가 상기 타이머(3)내의 레지스터(MCR)(4)를 가리키면 상기 소정의 프로세서 인터페이스 회로(2)에 의해서 상기 타이머(3)의 레지스터(4)에 제공되는 쓰기 및 읽기 요구신호가 1인지를 판단하는 단계(17)와, 상기 쓰기 읽기요구신호가 1이 아니면 상기 레지스터(4)의 바이트 각각에 대응되는 바이트 이네이블신호에 의해서 상기 레지스터(4)에서 바이트 단위의 상기 읽기를 수행한 후, 읽기요구 완료신호를 구동하고 상기 단계(13)로 반복되는 단계(18)와, 상기 판단단계(17)에서 쓰기 및 읽기 요구신호가 1이면 상기 레지스터(4)의 바이트 각각에 대응되는 바이트 이네이블 신호에 의해서 상기 레지스터(4)에 바이트 단위의 쓰기를 수행한 후, 쓰기 요구완료신호를 구동하여 상기 단계(13)로 반복되는 단계(19)와, 상기 소정의 어드레스 신호를 해독하여 이 소정의 어드레스 신호가 상기 타이머(3) 내의 레지스터(OCR)(8)이면 상기 소정의 프로세서 인터페이스 회로(2)에 의해서 제공되는 쓰기 및 읽기 요구신호가 1인지를 판단하는 단계(20)와, 상기 쓰기 및 읽기 요구신호가 1이 아니면 상기 레지스터(8)의 바이트 각각에 대응되는 바이트 이네이블 신호에 의해서 상기 레지스터(8)에 바이트 단위의 읽기를 수행한 후, 읽기 요구완료 신호를 구동하여 상기 단계(13)로 반복되는 단계(21)와, 상기 쓰기 및 읽기 요구신호가 1이면 쓰기 요구완료 신호만이 구동되며 상기 초기화 단계(12)로 반복되는 단계(22)들을 포함하는 것을 특징으로 하는 프로그램이 가능한 타이머의 프로그래밍 지원방법.
KR1019930024327A 1993-11-16 1993-11-16 프로그램이 가능한 타이머에서의 프로그래밍 지원방법 KR950010828B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930024327A KR950010828B1 (ko) 1993-11-16 1993-11-16 프로그램이 가능한 타이머에서의 프로그래밍 지원방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930024327A KR950010828B1 (ko) 1993-11-16 1993-11-16 프로그램이 가능한 타이머에서의 프로그래밍 지원방법

Publications (2)

Publication Number Publication Date
KR950015066A KR950015066A (ko) 1995-06-16
KR950010828B1 true KR950010828B1 (ko) 1995-09-23

Family

ID=19368160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930024327A KR950010828B1 (ko) 1993-11-16 1993-11-16 프로그램이 가능한 타이머에서의 프로그래밍 지원방법

Country Status (1)

Country Link
KR (1) KR950010828B1 (ko)

Also Published As

Publication number Publication date
KR950015066A (ko) 1995-06-16

Similar Documents

Publication Publication Date Title
JP2957177B2 (ja) マイクロコンピユータ
US6216191B1 (en) Field programmable gate array having a dedicated processor interface
US20060195650A1 (en) Method to detect NAND-flash parameters by hardware automatically
KR20010104721A (ko) 프로그램 가능한 대기 상태를 갖는 마이크로프로세싱 장치
WO1998048356A1 (en) A single chip microcontroller having down-loadable memory organization supporting 'shadow' personality, optimized for bi-directional data transfers over a communication channel
JP2762138B2 (ja) メモリコントロールユニット
US5210847A (en) Noncacheable address random access memory
JP2661222B2 (ja) パルス出力装置
EP0757316B1 (en) External device selection unit for data processor
US5051890A (en) Program/data memory employed in microcomputer system
KR950010828B1 (ko) 프로그램이 가능한 타이머에서의 프로그래밍 지원방법
US4802089A (en) Status flag handling in a digital data processing system
EP0462622B1 (en) Microprocessor capable of ensuring flexible recovery time for I/O device
US7120733B1 (en) CAM-based search engines having per entry age reporting capability
US6742073B1 (en) Bus controller technique to control N buses
EP0501621A2 (en) Address prediction and verification for burst cycle data reads
JPH0664483B2 (ja) パルス計数装置
JP3091382B2 (ja) キーボード入力読み取り方法
JPS5965356A (ja) シングル・チツプ・マイクロコンピユ−タ
JPS6346460B2 (ko)
JPH02136921A (ja) レジスタアクセス方式
JPH0334190A (ja) 半導体記憶装置
JPH03144840A (ja) チップ選択方式
JPH052525A (ja) メモリ制御システム
JPS6244353B2 (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: 20070831

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee