KR0185034B1 - 단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러 - Google Patents

단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러 Download PDF

Info

Publication number
KR0185034B1
KR0185034B1 KR1019960702227A KR19960702227A KR0185034B1 KR 0185034 B1 KR0185034 B1 KR 0185034B1 KR 1019960702227 A KR1019960702227 A KR 1019960702227A KR 19960702227 A KR19960702227 A KR 19960702227A KR 0185034 B1 KR0185034 B1 KR 0185034B1
Authority
KR
South Korea
Prior art keywords
register
value
waveform
timer
module
Prior art date
Application number
KR1019960702227A
Other languages
English (en)
Other versions
KR960706122A (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 KR960706122A publication Critical patent/KR960706122A/ko
Application granted granted Critical
Publication of KR0185034B1 publication Critical patent/KR0185034B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers
    • 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/22Microcontrol or microprogram arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)
  • Inspection Of Paper Currency And Valuable Securities (AREA)
  • Measurement Of Unknown Time Intervals (AREA)

Abstract

마이크로컨트롤러 장치(10)은 함께 설치되어 있는 외부 시스템을 제어하며 파형에서 특정 이벤트를 나타내기 위하여 선택된 값을 저장하기 위한 레지스트(30)를 갖는 온-칩 주변소자 범용 타이밍 기능 모듈(CCP1,CCP2)을 포함한다. 타이머(32)는 특정 이벤트를 나타내기 위하여 선택된 값의 크기로서 시간의 함수인 순차적인 값을 발생한다. 레지스터(30) 및 타이머(32)는 상기 파형이 인가되는 마이크로컨트롤러 칩(10)의 핀(33)에 결합되어 있다. 타이머(32) 및 레지스터(30) 값 사이의 동등성은 CPU에 인터럽트를 발생하기 위하여 파형에서 이벤트의 수집 및 비교중 하나로서 이벤트를 나타낸다. 레지스터(30)는 파형의 선택적인 펄스 폭 변조를 제공하기 위하여 마스터 레지스터(30-L)로 입력되는 값의 슬레이브 레지스터(30-H)로의 전달을 파형의 반복 경제에 의하여 자동 동기화하기 위하여 별도의 마스터(30-L) 및 슬레이브(30-H) 레지스터로 선택적으로 분할된다.

Description

단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러
제1도는 본 발명의 COP 모듈이 실행되는 단일칩 마이크로컨트롤러 장치의 단순화된 블럭도.
제2도는 제1도의 장치의 수집 모드동작을 설명하는 단 순화된 블록도.
제3돈는 CCP 모듈에 따라 사용된 온칩 타이머의 단순화된 블록도.
제4도는 제1도의 장치의 비교모드 동작을 설명하는 단순화된 블록도.
제5a도는 제1도의 장치의 PWM 모드동작을 설명하는 단순화된 블록도이며, 제5b도는 PWM 모드동작의 다양한 특징을 설명하는 그래프.
제6도는 모듈중 한 제어 레지스터의 전형적인 구성도.
제1도는 단일 실리콘 칩상에 제조되고 다수의 집적된 주변소자타이밍 기능모듈을 가진 반도체 집적회로(IC) 프로그램가능 마이크로컨트롤러 장치의 관련부분에 대한 블록도이며, 각각의 상기 프로그램 가능 마이크로컨트롤러 장치는 장치의 특정 사용자 응용에 의해 요구된 특정 타이밍 기능을 제공하기 위해 본 발명에 따라 사용자에 의해 구성 및 재구성(즉, 프로그램 및 재프로그램)될 수 있다. 제1도의 마이크로 컨트롤러 칩(10)은 다른 소자들 사이에 EEROM(전기적으로 프로그램가능한 판독전용 메모리) 프로그램 메모리(12)와, RAM(랜덤 액세스 메모리) 데이터 메모리(13)와, 1/O(입력/출력)부(15)와 본 발명의 기술에 중요하지 않아서 여기서 기술되지 않는 다른 기능을 포함한다.
마이크로컨트롤러는 연관된 타이머와 함께 여러 타이밍 기능 모듈(CCP1,CCP 2)등을 가진다. 각각의 두 개의(또는 다수의) 온칩 CCP 주변소자 모듈(CCP1,CCP2)는 칩의 타이밍 기능 또는 모드 레지스터의 일부로서 동작할 수 있는 16비트 범용 레지스터를 포함한다. 특히, 각각의 범용 레지스터는 16비트 수집 레지스터, 16비트 비교 레지스터 또는 8비트 PWM 레지스터중 어느 하나로서 선택적으로 동작한다.
각각의 범용 레지스터는 두 개의 8비트 섹션을 포함하며, 8비트 섹션은 모두 판독 및 기록 가능하다. 한 섹션은 낮은 바이트이며, 다른 섹션은 높은 바이트이다. 도면에 기술된 전형적인 실시예에 있어서, 마이크로컨트롤러 칩은 8비트 CPU(중앙처리장치)와 8비트 광역적분 데이터버스를 가져서, 모든 레지스터는 8비트 엔티티로서 판독 및 기록된다. 그러나, 만일 CPU가 16비트이라면, 단일 16비트 레지스터가 사용될 수 있다.
제2도를 참조하면, 본 발명의 장치의 수집모드에서 레지스터(30)는 이벤트(논리상태의 변화에 의해 나타남)가 외부핀(33)상에서 발생할 때 연관된 타이머(32)의 16비트값을 수집(입력)한다. 예를 들면, 이벤트는 핀(33)상에서 상승 에지(1), 하강 에지(2), 모두 4개의 상승에지(3) 및 모든 16개의 상승에지(4)중 어느 하나로서 정의될 수 있다. 이들 이벤트중 몇몇의 이벤트는 사용자에 의해 제어된 상태변화에 의해 선택된다. 수집이 만들어질 때, 인터럽트 요구 플래그는 세트된다. 물론, 인터럽트는 대부분의 CPU의 표준특징이다. 몇몇의 주변소자는 프로그램 실행의 정상흐름을 중지시켜서 CPU가 각각의 인터럽트 서비스 루틴으로 실행되게 하는 인터럽트 플래그를 발생시킬 수 있다. 루틴이 완료될 때, CPU는 명령의 정상을 재개한다.
제3도를 참조하면, 타이머(32)는 두 개의 8비트 섹션(35)(하이) 및(로우)으로 이루어진 16비트 타이머/카운터이며, 이들 두 개의 8비트 섹션모드는 판독 및 기록될 수 있다. 타이머(32)는 동기화된 타이머 모드에서 동작할 수 있으며, 카운터 모드에서 타이머는 동기화 또는 비동기화될 수 있다. 소정값의 타이머 클럭 선택비트에 의해 선택된 타이머 모드에서, 타이머(32)는 내부클럭(39)과 동기된 모든 명령 사이클상에서 증가한다. 카운터 모드는 타이머 동기비트가 한 값인 경우 동기화되고 타이머 동기비트가 다른값인 경우 비동기화된다. 어느 한 카운터 모드에 있어서, 타이머(32)는 핀(40)상에서 외부 클럭의 모든 상승 에지상에서 증가한다. 타이머는 마이크로컨트롤러 칩의 몇몇의 CCP 모듈이 수집 타이밍 기능을 실행할 때 타이머 모드 또는 동기화된 카운터 모드에서 동작하기 위해 사용자에 의해 세트된다.
타이머(32)는 시작값으로부터 가장높은 값으로 증가하기 시작한 다음 재시작 증가로 회전한다. 타이머는 사용자가 임의의 시간에 소프트웨어로 판독하거나 소프트웨어로 기록할 수 있는 다른 제어 레지스터(도시되지 않음)로부터 제어비트(42)의 값에 의해 턴-온되거나 또는 턴-오프될 수 있다.
제4도를 참조하면, 장치의 비교모드에서, 16비트 레지스터(30)는 레지스터 및 타이머 둘다의 입력을 수신하는 비교기(43)에서 타이머(32)의 값에 일정하게 비교되는 값으로 기록된 값을 가진다. 매칭이 발생할 때, 핀(33)은 컨트롤러 비트의 값에 기초하여 세트되거나 도는 리세트된다. 동시에, CPU에서의 비교 인터럽트 비트는 비교기에 의해 발생된다. 수집모드에서 처럼, 비교모드에서 타이머(32)는 타이머 모드 또는 동기화된 카운터 모드에서 동작하기 위해 선택될 수 있다. 제어 비트값은 전술한 것과 같은 몇몇의 다양한 이용가능한 이벤트를 수집모드의 이벤트와 반대인 결과로 나타내기 위해 사용에 의해 선택된다.
제5a도를 참조하면, PWM 모드는 제2타이머(47)의 카운트에 의해 제어된 주기와 레지스터(30)에 기록된 값에 의해 제어된 듀티 사이클로 반복 디지털출력으로서 실행된다. 듀티 사이클 및 PWM 주기는 제5b도에 기술된다. 타이머(47)는 PWM 모듈에 대한 시간기준을 제공하는 8비트 판독가능/기록가능 레지스터를 포함한다. 전형적으로, 주기는 고정되고 듀티 사이클은 주기로부터 주기까지 변화될 수 있다. 본질적으로, 반복 이벤트는 펄스폭이 CPU에서 사용자에 의해 PWM 모듈로 프로그램된 값에 의해 변조되는 펄스파형으로서 발생된다. 전형적으로, 디지털 펄스파형은 제어목적을 위한 아날로그 신호로 변환된다.
레지스터(30)는 파이프라인 또는 마스터/슬레이브 형태로 구성하기 위해 두 개의 8비트 레지스트(30-L,30-H)로 폴링된다. 그때, 펄스폭이 펄스의 중간외에 경계에만 자동적으로 변조(변화)되도록 지정 듀티 사이클동안 레지스터(30-L)에 값이 기억될 수 있다. 중간점에서 펄스폭의 변화는 해석될 수 없으며 임의의 새로운 값은 무의미하게 기록된다. 필수적으로, 레지스터 30-L로부터의 기록값이 비교를 위해 레지스터(30-H)에 항상 전송되기 때문에 경계에서 변화가 발생할 것이다. 즉, PWM 주기의 모서리에서, 마스터 레지스터(30-L)의 현행값은 비교기능이 적정 펄스폭을 발생시키기 위해 비교기(43)에 의해 실행된후 슬레이브 레지스터 30-H에 전송된다.
PWM의 주기(제5b도)는 제2타이머(47)의 타어머 레지스터(49)에 연관된 8비트 판독가능/기록가능 주기 레지스터(48)(제5a도)에 의해 결정된다. 타이머(32)와 같이, 타이머(47)는 내부클럭이 클럭입력으로서 사용되는 타이머 모드 또는 외부클럭이 사용되는 카운터 모드중 하나로 동작하며 클럭입력의 상승 에지상에서 증가한다. 값 PWM 파형의 주기를 프로그래밍하기 위해 주기 레지스터(48)로 기록되고 비교기(50)에 의해 타이머 레지스터(49)의 값에 항상 비교된다. 매칭이 발생할 때, 타이머 레지스터(49)는 리세트되며, 매칭 출력은 타이머(47)에 의해 발생된다. 인터럽트는 새로운 값이 주기 레지스터에 기록될 수 있도록 타이머(47)에 의해 CPU에 발생될 수 있다.
타이머의 매칭 출력은 한 입력으로서 PWM 모듈의 비교기(43)에 공급되며, 다른 입력은 모듈의 부분을 결정하는 듀티 사이클의 슬레이브 레지스 30-H로부터 제공된다. 두 개의 레지스터(30-H) 및 (49)의 값이 동일할 때, 출력은 래치(53)를 리세트하기 위해 비교기(43)에 의해 발생된다. 이것은 외부핀(33)에 8비트 분해 PWM 출력을 발생시킨다. PWM 출력 분해는 10비트 시간기준을 만들기 위해 2비트 내부클럭상태와 8비트 타이머 레지스터를 연관시킴으로서 최대 10비트까지 프로그램될 수 있다.
PWM 출력은 각각의 타이머 사이클의 초기에 세트되고 듀티 사이클 값이 타이머(주기) 값을 매칭시킬 때 리세트된다. 펄스폭 변조는 DC 및 다른 모터의 속도제어를 포함하는 다양한 제어응용에 사용된다. PWM 출력은 전력 드라이버 스테이지를 통해 증폭될 수 있으며 모터에 공급된다. 결과적으로, 출력은 듀티 사이클에 비례하여 아날로그 신호를 나타낸다.
본 발명은 종래 마이크로컨트롤러에서 사용된 타이밍 모듈에 비해 다수의 장점을 제공한다. 예를 들어, 비록 다수의 다른 기능이 이용될 수 있을지라도, 복수의 기능중 한 기능만이 주어진 시간에 동작하기 때문에 기능사이에 중간발생이 공유될 수 있다. 따라서, 한 모드만이 주어진 임의의 시간에 동작하기 때문에 기능이 공유될 수 있도록 세 개의 다른 인터럽트원이 제공될 필요가 없다. 또한, 동일한 레지스터는 모든 3개의 타이밍 기능 또는 모드를 위해 사용될 수 있으며, 판독 및 기록 논리, 어드레스 디코더 및 버스 드라이버는 변화하지 않는다. 그러므로, 레지스터와 복수의 레지스터가 기록되는 방법은 어느것이 선택될지라도 다른 모드사이에 공유된다. 또한, 타이머 및 비교/PWM 레지스터 사이의 비교 논리는 공유된다. 더욱이, 각각의 모드는 자원이 공유될 수 있도록 시간 기준(제1타이머를 사용하는 수집 및 비교와 제2타이머를 사용하는 PWM)으로서 한 타이머만을 사용한다. 또한, 비교 기능 및 PWM 기능 모두에 대해, 핀의 세팅 리세팅 회로는 공통 기능 때문에 공유된다.
제6도는 제어 레지스터(CCP1CON)와 제1CCP 모듈에 대한 단순한 판독가능 및 기록가능 레지스터의 구성을 기술한다. 비록 소프트웨어 프로그램일지라도, 사용자는 도면의 우측에 도시된 것처럼 임의의 시간에 레지스터 값을 변화시킬 수 있다.
마이크로컨트롤러 칩의 다른 CCP 모듈은 앞서 기술된 모듈의 기능과 동일한 기능을 가진다.
당업자는 본 발명의 권리범위를 벗어나지 않고 본 발명을 변형할 수 있다. 따라서, 본 발명은 청구범위의 사상 및 범위에 의해서만 제한된다.
본 발명은 일반적으로 외부 제어 시스템상에서 선택적인 제어 기능을 수행하기 위한 마이크로컨트롤러로서 이용된 반도체 마이크로프로세서 분야에 관한 것이다.
동일한 단일 마이크로컨트롤러상에 삽입된 모든 주변소자를 가지는 마이크로컨트롤러는 여러가지 많은 제어 응용에서 널리 사용된다. 이들은 예를 들어 포켓 페이저, 미터 및 테스터, 퍼스널 컴퓨터에서 프로세서에 의해 처리될 것을 필요로 했을지도 모를 많은 임무를 덜 수 있는 키보드 컨트롤러, 명령 해석 및 데이타 전송을 위한 모뎀, 고속 데이타 덤핑(dumping)용 프린터 버퍼, 컬러 플로터(plotter), 컬러 복사기 , 전자 타자기, 케이블 TV 터미날 장치, 잔디 분무 컨트롤러, 크레디트 카드 전화 장치, 엔진 제어 모률을 포함하는 자동 응용기, 앤티록 브레이킹 시스템(antilock blacking systems), 사용자 조절 서스펜션(suspension) 제어, 및 산업 제어, 원거리통신, 자동차, 가정용 장치, 컴퓨터 및 소비자 시장에서의 다양한 다른 응용을 포함한다.
실시간 마이크로컨트롤러는 릴레이의 개방 및 접속, 모터의 위치 및 속도, 다른 제어 기능같은 신호 처리 알고리듬 및 다른 수치 내포 계산, 제어 이벤트에 대한 빠른 해결책을 제공한다. 마이크로컨트롤러의 중앙 처리 장치(CPU)는 타이머, 신호 포토, 보(baud) 비율 생성기, 및 다른 것을 수행하기 위한 어떤 주변소자와 관련하여 동작한다.
마이크로컨트롤러는 일반적으로 보드상에(즉, 단일 칩 회로에 집적된) 하나 이상의 타이머(통상적으로 8 또는 16 비트 폭의 레지스터)를 가진다. 이들 타이머는 다양한 타이밍 기능을 실행하기 위하여 일반적으로 사용된다. 하나의 상기 타아밍 기능은 수집 기능일수 있고 그것은 관련 이벤트이 시간 스탬프를 기록할수 있다. 예를 들어, 관련된 이벤트는 외부 핀에서, 0에서 1로, 또는 1에서 0으로 논리 상태의 변화일수 있다. 핀 변화가 발생하는 정밀한 순간을 수집하기 위하여, 16 비트 폭 타이머는 수집 레지스터로서 작동하는 16 비트 폭 쉐도우 레지스터와 함께 사용될수 있다. 핀 비트값이 변할 때, 타이머 값(카운트)은 쉐도우 레지스터상에 수집된다. 트랜지스터의 종결시, 마이크로컨트롤러의 CPU에서 인터럽트가 발생된다. 변화가 발생할 때 수행하는 임무를 CPU가 완료한후, CPU는 편리할때 관련된 이벤트의 타이밍을 검사할수 있다.
그래서, 수집 레지스터의 이용은 상태 변화를 위한 핀을 항상 검사하기 위한 필요성을 제거한다. 대신, CPU는 낭비된 시간없이 효율적으로 다른 임무를 수행하기 위하여 해방되거나 자유상태가 증가되고, 핀의 논리 상태 변화가 실제적으로 발생하는 때를 결정하기 위하여 시간이 허용할 때 또는 필요할 때 쉐도우 레지스터에 대해 문의하기 위하여 해방되거나 자유상태가 증가된다.
수집 기능의 실제적인 일실시예는 핀에 대한 펄스 입력의 경우이다. 수집은 펄스의 상승 에지(edge), 및 하강 에지상에 발생하도록 세트될수 있다. 두개 값은 나중에 판독되고, 시간의 증가시 펄스의 폭을 계산하기 위하여 다른 하나로부터 감산된다펄스 폭을 측정하기 위한 간단한 기술. 상기 및 그와 비슷한 목적을 위하여, 수집 기능은 마이크로컨트롤러에서 광범위하게 이용된다.
마이크로컨트롤러에서 일반적으로 사용된 다른 타이밍 기능은 비교 기능이고, 그것은 수집 기능의 반대이다. 펄스, 또는 핀의 논리 상태 변화같은 몇몇 형태의 이벤트를 형성하기 위하여 목표될수 있고, 여기서 다시, 시간 베이스는 타이머(예를 들어, 16 비트 폭)에 의해 제공되지만, 이런 경우 관련 쉐도우 레지스터는 이벤트 발생의 목표 시간 동안 값 또는 시간 스탬프를 기입하기 위하여 사용된다. 동작의 이런 모든에서, 쉐도우 레지스터는 비교 레지스터로서 불리운다.
예를 들어, 타이머가 영에서 시작되는 카운트의 중간이고 65,535(즉, 16비트 값)쪽으로 향하는 것을 가정하고, 타이머 카운트가 10,000에 도달할 때 핀의 논리 상태가 변하는 것으로 지정한다. 그 경우, 비교 레지스터는 10,000으로 기입되고, 타이머 카운트가 상기 값과 매칭할 때, 매칭 신호는 핀을 토글(toggle)하기 위하여 비교 레지스터에 의해 생성되어 논리 상태 변화를 시작한다. 다른 값은 이전 논리 상태로 핀을 재세팅하기 위하여 OH칭 신호를 불러내기 위한 20,000의 타이머 카운트 같은 다른 이벤트의 시간을 가리키는 비교 레지스터에 기입된다. 상기 효과는 비교 기능의 사용에 의한 정밀한 시간을 가지는 핀에서 소정의 펄스이다.
그래서, 마이크로컨트롤러 장치의 비교 기능은 정밀한 상기 시간 또는 시간들에서 발생시키기 위한 이벤트를 사용자가 세트하도록 한다. 핀의 논리 상태가 변화하는 것은 물론, 참조된 많은 실시예중 하나이다. 이 기능에 의해 제공된 이벤트의 다른 예는 일련의 전송, 아날로그 대 디지탈 전환을 시작하거나, 약간의 네임(name)에 소프트 인터럽트를 생성하는 것을 포함한다. 목표된 이벤트의 선택은 마이크로컨트롤러 장치 사용자의 재량에 관한 아주 간단한 문제이고, 그것의 이점은 장치에 의해 제어된 외부 시스템에서 목표하는 몇몇을 통상적으로 얻기 위한 것이다.
마이크로컨트롤러에서 공통적으로 사용된 다른 타이밍 기능은 펄스폭 변조(PWM)이다. PWM 기능은 단일 발생 이벤트 '수집' 및 '비교' 기능에 비하여, 반복 이벤트를 포함한다. 만약 수집이 세트되면예를 들어, 펄스의 상승 에지상기 값은 이벤트의 발생중 기록되고 수집은 다음 목표 이벤트를 위하여 세트된다. 비교 기능은 많은 동일 방법으로 조절된다. 비교 값은 핀을 토글하기 위하여 세트되고, 예를 들어 일단 이벤트가 완성되면, 다른 이벤트는 계획된다.
PWM으로, 반복 파형은 핀이 상기된 시간 간격동안 하나의 논리 상태(예를 들어, 낮은)에 있는 주기로 핀에서 생성된다. 높고 낮은 시간은 펄스 폭을 변조하기 위하여 선택된다. PWM의 주기는 높고 낮은 간격의 합이고, 타이머에 의해 결정된다.
PWM은 아날로그 신호를 생성하기에 특히 유용하다. 8 비트 엔터티(entity)를 위하여, 예를 들어, 펄스 폭은 0 및 255 사이의 어떤 값에서 세트될 수 있다. 그것에 의해 다수는 디지탈 신호로 인코드되고, 그것은 모터를 구동하기 위한 것과 같은 목표된 기능을 수행하기 위한 아날로그 신호를 생성하기 위하여 사용된다. 모터는 적당히 작은 펄스 폭을 만들어 작은 비율에서 운용되고, 펄스 폭을 동시에 증가시켜 보다 빠른 비율에서 운용된다.
통상적인 마이크로컨트롤러 설계에서, 수집, 비교 및 PWM의 타이밍 기능은 서로 분리되어 실행되고 사용된다. 마이크로컨트롤러가 각각의 수집, 비교 및 PWM 기능을 포함하면, 하나의 레지스터는 비교 기능, 수집 기능에 할당된 다른 레지스터, 및 PWM 기능에 할당된 또 다른 레지스터를 수행하기 위하여 할당된다. 그러나 어떤 마이크로컨트롤러 응용은 하나 이상의 동일 타이밍 기능을 요구한다. 예를 들면, 3상 모터 제어 응용은 3개의 PWM 출력을 요구하는 반면, 4개의 휠 반제동 브레이킹 시스템 응용은 휠 스피드를 측정하기 위하여 3개 또는 4개의 수집 입력을 요구할수 있다. 다른 응용은 다수의 비교 기능을 요구한다.
그러나, 통상적인 마이크로컨트롤러는 단일 장치를 가지는 다양한 다른 사용자 응용의 다중 타이밍 기능 요구를 만족시키기 위한 용량이 부족하다. 이런 문제에 대한 해결책은 각 칩상에 다중 수집, 비교, 및 펄스 폭 변조 기능을 제공하여 이루어진다. 그러나 그런 해결책을 칩 가격, 및 시장 가격을 상당히 증가시키고, 그 결과 장치는 보다 넓은 시장에서 매력을 읽고, 비교적 작은 고객 응용에만 제한된다.
따라서, 본 발명의 원칙은 다이 영역 및 가격을 유연하게 최소화하도록 단일 주변 모듈에 융용하고 집적된 다중 타이밍 기능을 가지는 일반적 목적의 단일 칩 마이크로컨트롤러 또는 마이크로프로세서 장치를 제공하는 것이다.
본 발명의 다른 목적은 장치에 대한 특정 사용자 응용의 필요에 따라 각 사용자가 특정 형태 및 타이밍 기능의 수를 선택하는 장치를 제공하는 것이다.
본 발명은 다수의 주변소자를 요구하지 않고, 고정된 기능성 및 결과적으로 높은 칩 가격을 각각 가지는 다른 10명의 고객 또는 사용자 응용으로부터 발생하는 다양한 필요성을 만족시킨다.
본 발명에 의해 제공된 해결책은 포함된 모든 기능이 타이밍 기능이 다는 사실을 이용하고각각의 그것들은 동작을 수행하기 위하여 시간 베이스를 사용하는 레지스터를 이용한다. 다양한 타이밍 기능의 어떤 것을 수행하기 위하여 사용된 단일 레지스터를 결정하는 것은 가능하다. 하나의 수집 레지스터, 하나의 비교 레지스터, 및 하나의 PWM 레지스터를 가지는 칩대신, 단일 레지스터는 어떤 3개의 기능을 위하여 사용하도록 만들어질수 있다. 상당히, 어떤 또는 모든 타이밍 기능을 제공하는 것은 가능하다종래(주어진 단일 기능) 레지스터에 응용할 수 있는 것에 관한 상대적으로 작은 총경비를 가지는 하나의 레지스터 또는 수집/비교/PWM (CCP1)에서 수집, 비교, 및 Pwm.
다중 타이밍 기능(다중-기능) 레지스터는 주어진 단일 기능 레지스터보다 필연적으로 약간 크지만, 주어진 레지스터의 3배보다 작다. 간단한 운영 칩에서 다중 기능 레지스터는 종래 주어진 레지스터 크기의 2배 작게 제조되어, 전체 총경비는 절약된다.
본 발명은 단일 집적 주변 모듈에서 이용할 수 있는 다중 타이밍 기능을 가지는 하나의 칩 마이크로컨트롤러를 제공한다. 게다가, 사용자는 수집, 비교 및 PWM 기능이 특정 응용을 위한 단일 모듈에서 사용되는 것을 나타내고 싶어한다. 어떤 형태는 본 발명의 단일 다중 기능 모듈로 사용하기 위하여 선택되지만, 본 발명을 실현하기 위하여 현재 계획된 가장 좋은 모드를 구성하는 바람직한 실시예는 16 비트 폭 레지스터로 실현된다.
단일 칩은 하나의 다중 기능 모듈로 한정되는 것이 아니라, 다수의 상기 모듈을 가질수 있다. 각각의 사용자는 사용자의 특정 응용을 위해 목표된 바와 같은 각 모듈을 구성할수 있다수집, 비교 또는 PWM. 예를 들어, 4개의 모듈을 가지는 칩은 PWM 기능을 위한 3개의 모듈 및 수집 기능을 위한 4개의 모듈, 또는 수집 모드를 위한 전부, 또는 다른 어떤 결합. 본 발명의 또 다른 장점은 모든 모듈이 타이머를 공유하기 때문에, 타이머를 이중으로 하는 것을 필요하지 않다는 것이다.
제조자는 사용자 선택을 바탕으로 모든 다른 타이밍 기능의 이용성을 만족시키는 생성된 칩을 제공하는 장점을 가진다. 아래 놓인 개념은 단일의 통상 모듈(여기서 X는 다른 타이밍 기능의 수이다이 예에서, 3개사용자에게 이용될 수 있는)에 의해 차지된 바와 같은 많은 실리콘 영역만큼의 X배를 차지할 필요없이, 하나의 모듈에서 다중 타이밍 기능을 선택하여 이용할수 있는 것이다.
그러므로, 본 발명의 다른 목적은 단일 온-보드 또는 온-칩 모듈에서 선택적으로 이용할 수 있는 수집, 비교 및 펄스 폭 변조를 포함하는 모든 타이밍 기능을 가지는 마이크로컨트롤러 칩을 제공하는 것이다.
그외에 목적 및 장점과 함께 본 발명은 첨부된 도면을 참조로 상세히 설명될 것이다.

Claims (10)

  1. 전기 회로내에 함께 설치되는 외부 시스템을 제어하기 위하여 반도체 칩내에 조립된 마이크로컨트롤러 장치에 있어서, 상기 마이크로컨트롤러 장치에 의해 실행되는 프로그램을 저장하기 위한 온-칩 프로그램 메모리; 상기 마이크로컨트롤러 장치의 타이밍 기능으로서 이벤트의 일시 저장을 위한 온-칩 모듈 수단; 및 상기 마이크로컨트롤러 장치의 복수의 타이밍 기능중 이벤트를 일시 저장하기 위하여 상기 모듈 수단을 선택적으로 지정하기 위한 수단을 포함하며, 상기 모듈 수단을 모듈 수단의 타이밍 기능 모드로서 상기 복수의 타이밍 기능중 어느 하나를 지정하기 위해 선택적으로 구성 및 재구성가능한 래지스터 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러 장치.
  2. 제1항에 있어서, 상기 모듈 수단은 수집 모드, 비교 모드 및 펄스 폭 변조(PWM)모드중 어느 하나에서 상기 레지스터 수단을 선택적으로 구성 및 재구성하기 위한 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러 장치.
  3. 제2항에 있어서, 상기 PWM 모드는 동일한 비트 길이를 갖는 한 쌍의 레지스터를 포함하며, 상기 한 쌍의 레지스터중 하나는 기입 및 판독가능하고, 다른 하나는 상기 한 쌍의 레지스터의 첫 번째 기입값을 수신하기 위하여 원하는 폭을 갖는 펄스의 경계 및 상기 한쌍의 레지스터중 상기 다른 하나를 통해 상기 경계와의 동조를 상기 기입값이 지정할 수 있도록 하는 것을 특징으로 하는 마이크로컨트롤러 장치.
  4. 제1항에 있어서, 어떤 타이밍 기능이 선택되었는지에 관계없이 마이크로컨트롤러의 복수의 타이밍 기능 모드사이에서 레지스터, 기입/판독 모드, 입력/출력 핀, 인터럽트 소스 및 타이머중 적어도 일부를 공유하기 위한 수단을 포함하는 것을 특징으로 하는 마이크로컨트롤러 장치.
  5. 회로내에 함께 설치되는 외부 시스템을 제어하기 위한 중앙 처리 장치(CPU)를 포함하는 마이크로컨트롤러 장치에 사용되는 온-칩 주변소자 범용 타이밍 기능 모듈에 있어서, 파형에서 특정 이벤트를 나타내기 위해 선택된 값을 저장하기 위한 레지스터 수단; 특정 이벤트를 나타내기 위해 선택된 값의 크기로서 시간의 함수인 일련의 값들을 발생하기 위한 타이머; 상기 파형이 인가되는 마이크로컨트롤러 장치의 핀에 상기 레지스터 수단 및 상기 타이머를 연결하는 수단; 상기 CPU에 인터럽트를 발생하기 위하여, 상기 파형에서 이벤트의 수집 및 비교중 하나로서 상기 특정 이벤트를 나타내도록 상기 레지스터 수단의 값과 타이머 값 사이의 동등성에 응답하는 수단; 및 상기 파형의 선택적인 펌스 폭 변조를 위해 마스터 레지스터로 입력되는 값의 슬레이브 레지스터로의 전달을 상기 파형의 반복 경계에 의하여 자동 동기화하기 위하여 상기 레지스터 수단을 별도의 마스터 및 슬레이브 레지스터로 선택적으로 분할하기 위한 수단을 포함하는 것을 특징으로 하는 온-칩 주변소자 범용 타이밍 기능 모듈.
  6. 제5항에 있어서, 상기 이벤트가 발생할 경우 상기 레지스트 수단에 타이머 값의 저장을 개시하기 위하여 상기 핀 상의 파형의 일부로서 상기 특정 이벤트의 발생을 검출하기 위한 수집 수단을 더 포함하는 것을 특징으로 하는 온-칩 주변소자 범용 타이밍 기능 모듈.
  7. 제5항에 있어서, 상기 타이머 값이 상기 레지스터에 저장된 값과 동일한 경우 상기 핀상의 파형의 일부로서 상기 특정 이벤트를 발생시키기 위한 비교수단을 더 포함하는 것을 특징으로 하는 온-칩 주변소자 범용 타이밍 기능 모듈.
  8. 제5항에 있어서, 상기 반복 경계를 갖는 파형의 주기를 선택적으로 설정하기 위하여 시간의 함수인 순차적인 값을 발생하기 위한 제2타이머; 및 싱기 핀 상의 상기 파형을 펄스 폭 변조하기 위하여 상기 반복 경계를 갖는 파형의 듀티 사이클을 설정하도록 상기 슬레이브 레지스터에 전달된 값과 상기 제2타이머에 의해 발생된 값 사이의 동등성에 응답하는 변조 수단을 더 포함하는 것을 특징으로 하는 온-칩 주변소자 범용 타이밍 기능 모듈.
  9. 제5항에 있어서, (i) 소정의 이벤트가 상기 핀 상의 상기 파형에서 발생되는 시간을 나타내는 값을 상기 레지스터 수단에 저장하기 위한 수집 모둘, (ii) 소정의 이벤트가 상기 핀 상의 파형에서 발생하기를 원하는 시간을 나타내는 값을 상기 레지스터 수단에 저장하기 위한 비교 모듈, 및 (iii) 상기 핀 상에서 발생하기를 원하는 반복 파형의 주기에서 소정의 이벤트로서 듀티 사이클을 나타내는 값을 상기 마스터 레지스터에 저장하기 위한 펄스 폭 변조 모듈중 하나로 상기 범용 타이밍 기능 모듈을 선택적으로 지정하기 위한 기능 지정 수단을 더 포함하는 것을 특징으로 하는 온-칩 주변소자 범용 타이밍 기능 모듈.
  10. 회로내에 함께 설치되는 외부 시스템을 제어하기 위한 중앙 처리 장치(CPU)를 포함하는 마이크로컨트롤러 장치에서 온-칩 주변소자 범용 타이밍 기능 모듈을 제공하기 위한 방법에 있어서, 파형내에서 특정 이벤트를 나타내기 위하여 선택된 값을 저장하기 위한 레지스터를 설치하는 단계; 상기 특정 이벤트를 나타내기 위하여 선택된 값의 크기로서 시간의 함수인 순차적인 값을 발생하기 위한 타이머를 제공하는 단계; 상기 파형이 인가되는 상기 마이크로컨트롤러 장치의 핀에 상기 레지스터 및 상기 타이머를 연결하는 단계; 상기 파형에서 이벤트의 수집 및 비교중 하나로서 상기 이벤트를 나타내기 위하여 상기 레지스터의 특정값과 타이머 값 사이의 동등성에 응답함과 동시에 상기 CPU에 인터럽트를 발생시키는 단계; 및 상기 파형을 펄스 폭 변조하기 원하는 경우 마스터 레지스터로 입력되는 값의 슬레이브 레지스터로의 전달을 상기 파형의 반복 경계에 의하여 자동 동기화하기 위하여 상기 레지스터를 별도의 마스터 및 슬레이브 레지스터로 선택적으로 분할하는 단계를 ㅍ함하는 것을 특징으로 하는 방법.
KR1019960702227A 1994-08-31 1995-08-18 단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러 KR0185034B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8/298775 1994-08-31
US08/298,775 1994-08-31
US08/298,775 US5577235A (en) 1994-08-31 1994-08-31 Microcontroller with multiple timing functions available in a single peripheral module
PCT/US1995/010595 WO1996007135A1 (en) 1994-08-31 1995-08-18 Microcontroller with multiple timing functions available in a single peripheral module

Publications (2)

Publication Number Publication Date
KR960706122A KR960706122A (ko) 1996-11-08
KR0185034B1 true KR0185034B1 (ko) 1999-05-15

Family

ID=23151968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960702227A KR0185034B1 (ko) 1994-08-31 1995-08-18 단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러

Country Status (7)

Country Link
US (1) US5577235A (ko)
EP (1) EP0728331B1 (ko)
JP (1) JP2773060B2 (ko)
KR (1) KR0185034B1 (ko)
DE (1) DE69519367T2 (ko)
ES (1) ES2154346T3 (ko)
WO (1) WO1996007135A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19652617C1 (de) * 1996-12-18 1997-09-11 Bosch Gmbh Robert Verfahren und Verwaltung von Weckzeiten und Vorrichtung zur Ausführung dieses Verfahrens
US6043762A (en) * 1998-05-05 2000-03-28 Fairchild Semiconductor Corp. Hardware bit coder
US6182235B1 (en) * 1998-12-30 2001-01-30 Dallas Semiconductor Corporation Microcontroller with a user configurable pulse width modulator
US6633989B1 (en) * 1999-11-30 2003-10-14 Lsi Logic Corporation Method and mechanism for synchronizing a slave's timer to a master's timer
US7176948B2 (en) * 2000-04-12 2007-02-13 Honeywell International Inc. Method, apparatus and computer program product for controlling LED backlights and for improved pulse width modulation resolution
JP2004133719A (ja) * 2002-10-11 2004-04-30 Renesas Technology Corp マイクロコンピュータ
DE10322215B4 (de) * 2003-05-16 2005-11-24 Sennheiser Electronic Gmbh & Co. Kg Übertragungsvorrichtung für stereophone Audiosignale
US20110209431A1 (en) * 2006-12-20 2011-09-01 Jochu Thchnology Co., Ltd. Easy-to-be-assembled double-face bezel structure and assembling method thereof
TWI322570B (en) * 2006-12-27 2010-03-21 Holtek Semiconductor Inc Pool counting circuit of a microcontroller and the pool counting method thereof
US8494470B2 (en) 2008-11-25 2013-07-23 Silicon Laboratories Inc. Integrated receivers and integrated circuit having integrated inductors
GB201006395D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB201006388D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of brushless motor
GB201006391D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless permanent-magnet motor
GB201006387D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB201006386D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB201006396D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB201006398D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB201006397D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB201006392D0 (en) * 2010-04-16 2010-06-02 Dyson Technology Ltd Controller for a brushless motor
GB201006390D0 (en) 2010-04-16 2010-06-02 Dyson Technology Ltd Control of a brushless motor
GB2484289B (en) 2010-10-04 2013-11-20 Dyson Technology Ltd Control of an electrical machine
US8725103B2 (en) 2012-01-03 2014-05-13 Silicon Laboratories Inc. Receiver including a tracking filter
US8983417B2 (en) 2012-01-03 2015-03-17 Silicon Laboratories Inc. Low-cost receiver using integrated inductors
TWI574148B (zh) * 2013-05-29 2017-03-11 緯創資通股份有限公司 嵌入式控制器及其省電控制方法
US9715387B2 (en) * 2015-06-05 2017-07-25 Renesas Electronics America Inc. Configurable event selection for microcontroller timer/counter unit control
CN109188967A (zh) * 2018-08-31 2019-01-11 桂林电子科技大学 一种基于片上网络的任意波形发生系统及波形发生方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE393236B (sv) * 1975-08-15 1977-05-02 Ericsson Telefon Ab L M Forfarande for samtidig alstring av ett antal, svagt korrelerade pseudo-random pulstag samt anordning for utforande av forfarandet
US4165490A (en) * 1977-12-19 1979-08-21 International Business Machines Corporation Clock pulse generator with selective pulse delay and pulse width control
US4244258A (en) * 1979-08-10 1981-01-13 Cbs Inc. Rhythm system for electronic organ
US4321687A (en) * 1979-10-01 1982-03-23 International Business Machines Corporation Timing pulse generation
US4339819A (en) * 1980-06-17 1982-07-13 Zehntel, Inc. Programmable sequence generator for in-circuit digital testing
US4745573A (en) * 1986-04-11 1988-05-17 Symbolics Inc. Programmable clock generator
US4858178A (en) * 1986-09-30 1989-08-15 Texas Instruments Incorporated Programmable sequence generator
US4922137A (en) * 1988-05-17 1990-05-01 Eastman Kodak Company Programmable sequence generator
JP2725205B2 (ja) * 1988-07-08 1998-03-11 シーメンス、アクチエンゲゼルシヤフト マイクロコントローラのカウンタ・タイマー回路
US4881040A (en) * 1988-08-04 1989-11-14 Gte Government Systems Corporation Signal generator for producing accurately timed pulse groupings
JP2898774B2 (ja) * 1991-04-05 1999-06-02 富士通株式会社 パルス発生器
JPH07504282A (ja) * 1991-11-12 1995-05-11 マイクロチップ テクノロジー インコーポレイテッド マイクロコントローラパワーアップ遅延装置
WO1993010498A1 (en) * 1991-11-12 1993-05-27 Microchip Technology Inc. Security for on-chip microcontroller memory
US5248900A (en) * 1991-12-24 1993-09-28 Intel Corporation Time-sliced modular pulse-width modulation circuit

Also Published As

Publication number Publication date
US5577235A (en) 1996-11-19
KR960706122A (ko) 1996-11-08
EP0728331A1 (en) 1996-08-28
EP0728331B1 (en) 2000-11-08
EP0728331A4 (en) 1997-05-07
DE69519367T2 (de) 2001-06-13
ES2154346T3 (es) 2001-04-01
JPH09500474A (ja) 1997-01-14
DE69519367D1 (de) 2000-12-14
JP2773060B2 (ja) 1998-07-09
WO1996007135A1 (en) 1996-03-07

Similar Documents

Publication Publication Date Title
KR0185034B1 (ko) 단일 주변소자 모듈에서 사용하는 다중 타이밍 기능을 가진 마이크로컨트롤러
JP3961028B2 (ja) データフロープロセッサ(dfp)の自動的なダイナミックアンロード方法並びに2次元または3次元のプログラミング可能なセルストラクチャを有するモジュール(fpga,dpga等)
EP1226505B1 (en) Generic serial port architecture and system
US6182235B1 (en) Microcontroller with a user configurable pulse width modulator
EP0354998B1 (en) Timer channel for use in a multiple channel timer system
EP0355363B1 (en) Integrated circuit timer with multiple channels and dedicated service processor
EP0355463B1 (en) Timer channel with multiple timer reference features
EP0592165B1 (en) Pulse generation/sensing arrangement for use in a microprocessor system
US4334268A (en) Microcomputer with branch on bit set/clear instructions
EP0355462B1 (en) Dedicated service processor with inter-channel communication features
CN103858115A (zh) 外围设备触发产生器
EP0463775B1 (en) Multiple speed expansion card
JP3907760B2 (ja) 集積化されたマイクロプロセッサにおけるマクロセルを有するシステムおよび集積化されたマイクロプロセッサにおけるマクロセルの制御方法
CN104160354A (zh) 时基外围装置
JPH07104830B2 (ja) コンピュータ・システム及びコンピュータ・システムを作動させる方法
US5918027A (en) Data processor having bus controller
US6560715B1 (en) Sequencer of synchronous actions in a processor system, and integrated circuit including such sequencer
US5940607A (en) Device and method for automatically selecting a central processing unit driving frequency
US5442796A (en) Pulse generator and demodulator with controlling processor and decrementing counters
WO1996011432A1 (en) Microcontroller with programmable postscaler for pulse width modulation interrupt
JP2002287987A (ja) タスクの並行処理を実行させるためのプログラム及び並行処理する組込み制御装置及び並行処理方法並びにプログラムが記録されている記録媒体
JP2512119B2 (ja) マイクロプロセッサ
KR100206987B1 (ko) 다기능 타이머
JP2517943B2 (ja) タイマ装置
JPS6269317A (ja) マイクロプロセツサ

Legal Events

Date Code Title Description
A201 Request for examination
A201 Request for examination
E701 Decision to grant or registration of patent right
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20011219

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee
FPAY Annual fee payment

Payment date: 20130206

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20140117

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20150128

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20160212

Year of fee payment: 18

EXPY Expiration of term