KR20170120559A - 워치독 타이머 - Google Patents

워치독 타이머 Download PDF

Info

Publication number
KR20170120559A
KR20170120559A KR1020177016581A KR20177016581A KR20170120559A KR 20170120559 A KR20170120559 A KR 20170120559A KR 1020177016581 A KR1020177016581 A KR 1020177016581A KR 20177016581 A KR20177016581 A KR 20177016581A KR 20170120559 A KR20170120559 A KR 20170120559A
Authority
KR
South Korea
Prior art keywords
watchdog
timer
signal
time interval
preset
Prior art date
Application number
KR1020177016581A
Other languages
English (en)
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 KR20170120559A publication Critical patent/KR20170120559A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

마이크로컨트롤러는: 시스템 버스를 통해 복수의 주변 디바이스들과 결합된 중앙 처리 장치; 및 클리어 워치독 신호를 수신하고, 그리고 상기 마이크로컨트롤러를 리셋하기 위해 워치독 타임아웃 신호를 발생시키도록 구성되는 워치독 타이머 유닛을 포함할 수 있고, 여기서 상기 워치독 타이머 유닛은 제 1 타이머와 제 2 타이머를 통해 각각 제 1 워치독 타임아웃 구간과 제 2 워치독 타임아웃 구간을 정의하도록 더 구성되고, 상기 제 1 타이머 또는 상기 제 2 타이머를 선택하기 위한 로직을 더 구비하고, 상기 클리어 워치독 신호는 상기 제 1 및 제 2 타이머를 리셋한다.

Description

워치독 타이머{WATCHDOG TIMER}
관련 특허 출원
본 출원은, 2015년 2월 27일 출원된 동일 출원인에 의한 미국 가출원 번호 62/121,780 호의 우선이익을 주장하며, 상기 미국 가출원은 모든 목적들을 위해 본 출원에 참조로 통합된다.
기술 분야
본 개시는 워치 독 타이머에 관한 것으로, 특히 마이크로컨트롤러에 사용되는 워치 독 타이머에 관한 것이다.
워치독 타이머들은 프로세서의 정확한 성능을 모니터링하는데 사용되는 주변 디바이스들이다. 이들은 종종 마이크로컨트롤러 내에 집적된 주변기기이다. 한번 설정되면, 워치독 타이머는 기본적으로 소정 시간 동안 카운트하는 타이머이다. 상기 소정 시간이 만료되면, 워치독 타이머는 모니터링된 디바이스를 알려진 상태로 다시 설정하는 리셋을 생성시킬 것이다. 이러한 리셋이 전혀 발생하지 않도록 프로그램은 워치독 타이머를 그것의 시작 조건으로 주기적으로 리셋해야 한다. 따라서, 프로그램이 오작동할 때만 워치독 타이머가 리셋되지 않으므로, 워치독 타이머의 시간 제한에 도달하면 시스템 리셋을 일으킨다.
따라서, 알려지지 않은 이유들로 마이크로프로세서가 프로그램된 실행 흐름에서 벗어나는 경우 시스템이 오작동하지 않도록 하는 제어 메커니즘을 제공하기 위해서, 워치독 타이머가 일반적으로 마이크로컨트롤러 디바이스 및 컴퓨터 시스템에 사용된다. 워치독 타이머의 특정 실시예에 따르면, 워치독 타이머는 미리 결정된 수로부터 카운트 다운하도록 설정되고, 실행된 프로그램은 워치독 타이머를 상기 미리 결정된 수로 리셋하여 워치독의 오버런(overrun)을 방지하는, 프로그램 내의 특정 포인트들에서의 리셋 명령어들을 포함한다. 워치독 타이머가 오버런되면, 워치독 타이머는 리셋 또는 인터럽트를 발생시켜서 시스템을 복구시킬 것이다. 프로그램 실행 중에 모든 것이 완벽하게 수행되면 워치독 타이머가 절대 오버런되지 않을 것이다. 그러나, 마이크로프로세서 또는 마이크로컨트롤러를 잠그거나 프로그램된 명령어들의 실행을 벗어나는 어떤 이유로든 오작동하기만 하면, 워치독 타이머가 오버런되어 시스템이 리셋될 것이다.
기존의 워치독 타이머들은 리셋을 생성하기 전에 일정한 동작 구간(a fixed period of operation)을 갖는다. 워치독 타이머가 올바르게 리셋되면 워치독 타이머는 발사(fire)하지 않을 것이고 동작이 계속된다. 워치독 타이머들의 일부 버전들에서는 잠금 해제 코드로 워치독 타이머의 동작을 방지할 수 있다.
그러나, 이러한 리셋이 필요하지도 않으며 워치독 타이머가 비활성화되어야 하는 특정 상황들이 있다. 워치독 타이머는 종래의 시스템들에 따른 소프트웨어에 의해 비활성화될 수 있고 소프트웨어에 의해 비활성화된 WDT의 이러한 생성은 WDT 타임아웃의 연장을 가능할 합리적인 해결(compromise)로 여겨지지만, 불행하게도 이것은 타이머의 무결성을 손상시키고 오작동 코드로 인한 잠재적인 손상을 가능케 한다. 따라서, 워치독 타이머의 소프트웨어에 의해 제어된 차단(shutoff)은 감시 시스템으로서의 워치독 타이머의 신뢰성을 제한한다. 워치독 타이머가 활성화되어 있으면, 워치독 타이머는 MCU가 발진기 시작 및/또는 긴 구성 코드의 실행을 기다리는 동안 발사(fire)할 수 있다. 또한, 활성 워치독에서는 적절한 파워 다운 코드 작업(a graceful power down code operation)을 수행하지 못할 수도 있다. 따라서, 개선된 워치독 타이머가 필요하다.
일 실시예에 따르면, 워치독 타이머 유닛은 제 1 워치독 시간 구간과 제 2 워치독 시간 구간을 정의하도록 구성될 수 있고, 여기서 상기 워치독 타이머 유닛은 상기 워치독 타이머 유닛의 활성화 이후에, 상기 워치독 타이머 유닛은 제 1 클리어 워치독 신호가 수신될 때까지 상기 제 1 워치독 시간 구간을 자동으로 선택하도록 구성되고, 상기 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머 유닛은 상기 제 2 워치독 시간 구간으로 스위칭된다.
추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 무한할 수 있다. 추가 실시예에 따르면, 상기 워치독 타이머 유닛은 플립-플롭을 더 포함할 수 있고, 상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 타이머와 로직 1 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는다. 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 제 1 타이머에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 제 2 타이머에 의해 정의되고, 제 1 클리어 워치독 신호는 상기 워치독 타이머 유닛을 상기 제 1 타이머로부터 상기 제 2 타이머로 스위칭한다. 추가 실시예에 따르면, 상기 워치독 타이머 유닛은 플립-플롭을 더 포함할 수 있고, 상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 상기 제 1 타이머와 상기 제 2 타이머 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는다. 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 제 1 레지스터에 저장된 제 1 프리셋 값에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 제 2 레지스터에 저장된 제 2 프리셋 값에 의해 정의되고, 상기 워치독 타이머 유닛의 활성화시, 상기 제 1 레지스터는 워치독 타이머를 프리셋하기 위해 스위치를 통해 선택되고, 제 1 클리어 워치독 신호는 상기 스위치를 상기 제 2 프리셋 값을 상기 워치독 타이머에 제공하는 상기 제 2 레지스터로 스위칭한다. 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 1 클록 신호에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 2 클록 신호에 의해 정의되고, 상기 워치독 타이머 유닛의 활성화시, 상기 제 1 클록 신호는 워치독 타이머를 클록킹하도록 선택되고, 제 1 클리어 워치독 신호는 상기 제 2 클록 신호가 상기 워치독 타이머를 클록킹하는 선택을 일으킨다. 추가 실시예에 따르면, 상기 워치독 타이머 유닛은 제 1 모드에서는 프리셋 레지스터를 통해 프리셋되거나 또는 제 2 모드에서는 직접 프리셋되어 상기 프리셋 레지스터를 바이패스하도록 구성된 타이머를 더 포함할 수 있고, 여기서 상기 워치독 타이머 유닛의 활성화시 상기 타이머는 제 1 프리셋 값으로 직접 프리셋되고, 모든 후속 클리어 워치독 신호의 수신시 상기 타이머는 상기 프리셋 레지스터를 통해 프리셋된다. 추가 실시예에 따르면, 상기 타이머는 중앙 처리 장치를 통해 직접 프리셋될 수 있다. 추가 실시예에 따르면, 상기 타이머는 스타트-업(start-up) 구성 레지스터를 통해 직접 프리셋될 수 있다.
또 하나의 실시예에 따르면, 마이크로컨트롤러는: 시스템 버스를 통해 복수의 주변 디바이스들과 결합된 중앙 처리 장치; 및 클리어 워치독 신호를 수신하고, 그리고 상기 마이크로컨트롤러를 리셋하기 위해 워치독 타임아웃 신호를 발생시키도록 구성되는 워치독 타이머 유닛을 포함할 수 있고, 여기서 상기 워치독 타이머 유닛은 제 1 타이머와 제 2 타이머를 통해 각각 제 1 워치독 타임아웃 구간과 제 2 워치독 타임아웃 구간을 정의하도록 더 구성되고, 상기 제 1 타이머 또는 상기 제 2 타이머를 선택하기 위한 로직을 더 포함하고, 상기 클리어 워치독 신호는 상기 제 1 및 제 2 타이머를 리셋한다.
상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러가 파워 업될 때 상기 워치독 타이머 유닛의 활성화는 자동으로 수행되고 이로써 상기 제 1 타이머를 선택할 수 있고, 상기 제 1 타이머에 의해 발생된 제 1 워치독 타이머 타임아웃 신호의 수신 이후에 상기 워치독 타이머 유닛은 상기 제 2 타이머로 스위칭되도록 구성된다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러는 상기 제 2 타이머의 출력부에 결합된 인버터를 더 포함할 수 있고, 여기서 상기 워치독 타이머 유닛은 전원 장애(power fail) 신호를 더 수신하고, 상기 로직은 상기 제 1 타이머, 상기 제 2 타이머 및 상기 인버터의 출력부 사이를 선택하도록 더 구성되고, 상기 워치독 타이머 유닛은 클리어 워치독 신호와 전원 장애 신호가 수신될 때 상기 인버터의 출력부를 선택한다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 무한할 수 있다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러는 플립-플롭을 더 포함할 수 있고, 상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 타이머와 로직 1 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 제 1 타이머에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 제 2 타이머에 의해 정의되고, 제 1 클리어 워치독 신호는 상기 워치독 타이머 유닛을 상기 제 1 타이머로부터 상기 제 2 타이머로 스위칭한다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러는 상기 제 1 타이머에 공급되는 제 1 클록 및 상기 제 2 타이머에 공급되는 제 2 클록을 발생시키도록 구성된 클록 생성 유닛을 더 포함할 수 있다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러는 플립-플롭을 더 포함할 수 있고, 상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 상기 제 1 타이머와 상기 제 2 타이머 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 제 1 레지스터에 저장된 제 1 프리셋 값에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 제 2 레지스터에 저장된 제 2 프리셋 값에 의해 정의되고, 여기서 상기 워치독 타이머 유닛의 활성화시, 상기 제 1 레지스터는 워치독 타이머를 프리셋하기 위해 스위치를 통해 선택되고, 제 1 클리어 워치독 신호는 상기 스위치를 상기 제 2 프리셋 값을 상기 워치독 타이머에 제공하는 상기 제 2 레지스터로 스위칭한다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러는 제 1 클록 신호와 제 2 클록 신호를 발생시키도록 구성된 클록 생성 유닛을 더 포함할 수 있고, 여기서 상기 제 1 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 상기 제 1 클록 신호에 의해 정의되고, 상기 제 2 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 상기 제 2 클록 신호에 의해 정의되고, 상기 워치독 타이머 유닛의 활성화시, 상기 제 1 클록 신호는 워치독 타이머를 클록킹하도록 선택되고, 제 1 클리어 워치독 신호는 상기 제 2 클록 신호가 상기 워치독 타이머를 클록킹하는 선택을 일으킨다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 마이크로컨트롤러는 제 1 모드에서는 프리셋 레지스터를 통해 프리셋되거나 또는 제 2 모드에서는 직접 프리셋되어 상기 프리셋 레지스터를 바이패스하도록 구성된 타이머를 더 포함할 수 있고, 여기서 상기 워치독 타이머 유닛의 활성화시 상기 타이머는 제 1 프리셋 값으로 직접 프리셋되고, 모든 후속 클리어 워치독 신호의 수신시 상기 타이머는 상기 프리셋 레지스터를 통해 프리셋된다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 타이머는 상기 중앙 처리 장치를 통해 직접 프리셋될 수 있다. 상기 마이크로컨트롤러의 추가 실시예에 따르면, 상기 타이머는 상기 마이크로컨트롤러의 스타트-업 구성 레지스터를 통해 직접 프리셋될 수 있다.
다른 또 하나의 실시예에 따르면, 만료 후 상기 마이크로컨트롤러를 리셋하는 시간 구간을 정의하는 워치독 타이머 유닛을 통해 마이크로컨트롤러 내의 프로그램의 실행을 모니터링하기 위한 방법으로서, 상기 시간 구간의 만료는 상기 워치독 타이머 유닛을 주기적으로 리셋함으로써 방지되고, 상기 방법은: 상기 워치독 타이머 유닛의 활성화 이후에, 제 1 클리어 워치독 신호가 수신될 때까지 상기 워치독 타이머 유닛이 제 1 워치독 시간 구간을 자동으로 시작하는 단계; 상기 마이크로컨트롤러의 중앙 처리 장치에 의해 제 1 워치독 리셋 신호를 발생시키는 단계; 및 상기 제 1 클리어 워치독 신호 및 다음의 워치독 리셋 신호들의 수신시, 상기 워치독 타이머 유닛이 상기 제 1 워치독 시간 구간과는 다른 제 2 워치독 시간 구간을 자동으로 시작하는 단계를 포함할 수 있다.
상기 방법의 추가 실시예에 따르면, 상기 마이크로컨트롤러의 파워-업은 상기 워치독 타이머 유닛을 자동으로 활성화할 수 있다. 상기 방법의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 무한할 수 있다. 상기 방법의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 제 1 타이머에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 제 2 타이머에 의해 정의되고, 상기 방법은 상기 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머 유닛을 상기 제 1 타이머로부터 상기 제 2 타이머로 스위칭하는 단계를 포함한다. 상기 방법의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 제 1 레지스터에 저장된 제 1 프리셋 값에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 제 2 레지스터에 저장된 제 2 프리셋 값에 의해 정의되고, 그리고 상기 방법은 상기 워치독 타이머 유닛의 활성화시, 워치독 타이머를 프리셋하도록 상기 제 1 레지스터를 선택하고, 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머를 프리셋하도록 상기 제 2 레지스터를 선택하는 단계를 포함할 수 있다. 상기 방법의 추가 실시예에 따르면, 상기 제 1 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 1 클록 신호에 의해 정의될 수 있고, 상기 제 2 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 2 클록 신호에 의해 정의되고, 그리고 상기 방법은 상기 워치독 타이머 유닛의 활성화시, 워치독 타이머를 클록킹하도록 상기 제 1 클록 신호를 선택하고, 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머를 클록킹하도록 상기 제 2 클록 신호를 선택하는 단계를 포함할 수 있다. 상기 방법의 추가 실시예에 따르면, 상기 워치독 타이머 유닛의 활성화시 워치독 타이머는 제 1 프리셋 값으로 직접 프리셋될 수 있고, 제 1 클리어 워치독 신호 및 모든 후속 클리어 워치독 신호들의 수신시 프리셋 레지스터에 저장된 제 2 프리셋 값을 통해 상기 타이머를 프리셋한다. 상기 방법의 추가 실시예에 따르면, 상기 방법은 클리어 워치독 신호와 전원 장애 신호의 수신시, 상기 워치독 타이머 유닛이 소정 시간 구간 동안 리셋 신호를 유지하도록 구성되는 것을 더 포함할 수 있다. 상기 방법의 추가 실시예에 따르면, 상기 소정 시간 구간은 상기 제 2 워치독 시간 구간에 의해 정의될 수 있다.
도 1은 다양한 실시예들에 따른 워치독 타이머를 포함하는 마이크로컨트롤러의 블록도이다.
도 2는 제 1 동작 모드와 제 2 동작 모드를 갖는 워치독 타이머 주변기기의 실시예를 도시한 도면이다.
도 3은 워치독 타이머 주변기기의 또 하나의 실시예를 도시한 도면이다.
도 4는 워치독 타이머 주변기기의 다른 또 하나의 실시예를 도시한 도면이다.
도 5는 워치독 타이머 주변기기의 다른 또 하나의 실시예를 도시한 도면이다.
도 6은 워치독 타이머 주변기기의 다른 또 하나의 실시예를 도시한 도면이다.
다양한 실시예들에 따르면, 예를 들어, 워치독 타이머는 파워 업 및 초기화 과정 동안 마이크로컨트롤러를 인터럽트할 수 없다. 또한, 상기 기능의 소프트웨어 비활성화를 방지하여 워치독 타이머의 무결성을 유지할 수 있다. 마지막으로, 다양한 실시예들에 따른 워치독 타이머는 정상의 파워 다운 기능(grace full power down function)을 수행하는 동안 마이크로컨트롤러를 인터럽트할 수 없다.
도 1은 전형적인 마이크로컨트롤러(100)의 블록도를 도시한다. 마이크로컨트롤러(100)는 시스템 버스(120)와 결합된 중앙 처리 장치(CPU)(110)를 포함한다. CPU는 버스(120)를 통해 다양한 주변 디바이스들, 예를 들면 메모리(130) 및 주변기기들 A...N에 연결된다. 또한, 워치독 타이머 주변 유닛(140)이 제공되어 CPU(110)와 직접 결합될 수 있거나 또는 시스템 버스(120)를 통해 결합될 수 있다. 클록 시스템(150)은 CPU, 주변기기들에 클록을 제공하고, 예를 들어 워치독 타이머 주변기기(140)에 개별 클록을 제공할 수 있다. 시스템 클록 유닛(150)에 의해 생성된 다양한 클록들은 또한 일부 실시예들에 따라 시스템 버스를 통해 분배될 수 있다. 워치독 타이머(140)는 마이크로컨트롤러(100)의 모든 유닛들을 리셋하는 리셋 신호를 생성할 수 있다. 대안적으로, 워치독 타이머 주변기기(140)는, 전체 시스템을 알려진 상태로 리셋하도록 구성된 마이크로컨트롤러(100) 내의 리셋 유닛에 트리거 신호를 송신할 수 있다. 시스템 클록 유닛(150)은 외부 구성요소들과 함께 또는 외부 구성요소들 없이 동작할 수 있는 다양한 발진기들을 포함할 수 있다. 워치독 주변기기는 일 실시예에 따라 시스템 클록으로 동작할 수 있다. 그러나, 워치독 타이머 주변기기는 도 1에 도시된 바와 같이 두 개의 서로 다른 클록 신호들, 이하에서 보다 상세히 설명되는 바와 같이 예를 들면, 제 1 클록 신호, 및 상기 제 1 클록 신호보다 느린 제 2 클록 신호를 수신할 수 있다. 워치독 타이머 주변기기(140)의 제어 기능은, 쉬운 액세스 방식을 가능케 하기 위해 메모리에 메모리 매핑될 수 있는 특수 기능 레지스터들을 통해 제어될 수 있다. 특히, 워치독의 리셋은 전용 명령어들, 예를 들면 니모닉(mnemonic) "CLRWDT"를 갖는 명령어를 통해 직접 제어될 수 있다. 대안적으로, 특수 기능 레지스터의 하나 이상의 비트들이 워치독 리셋을 일으키도록 설정될 수 있다. 다른 실시예들은 전용 워치독 명령어들을 통해 직접 워치독 타이머를 제어할 수 있다. 특수 기능 레지스터 제어와 전용 명령어들을 통한 직접 제어를 혼합하여 사용할 수도 있다.
도 2는 도 1에 도시된 워치독 주변기기의 보다 상세한 블록도를 도시한다. 이 실시예는 소정의 제 1 및 제 2 타임아웃 구간(timeout period)들을 카운트 다운하도록 개별적으로 프로그래밍될 수 있는 제 1 및 제 2 타이머(210, 220)를 포함한다. CPU를 통한 프로그래밍은 특수 기능 레지스터들(160)을 통해 수행될 수 있다. 또한, 자동 설정은 마이크로컨트롤러의 특정 구성 기능들을 프로그래밍하는데 사용되는 구성 레지스터들에 의해 수행될 수 있다. 제 1 및 제 2 타이머(210 및 220)에 의해 생성된 출력 리셋 신호들은 플립-플롭(230)에 의해 제어되는 2-방향 스위치(240)에 공급된다. 플립-플롭(230)은 예를 들면, 자신의 데이터 입력부(D)에서 로직 "1"을 수신하는 D 플립-플롭일 수 있고, 여기서 플립-플롭(230)의 출력 Q는 상기 2-방향 스위치(240)에 제어 신호를 제공한다. CLRWST 신호는 플립-플롭(230)의 클록 입력부로 공급되고 제 1 및 제 2 타이머(210, 220)를 리셋한다. 2-방향 스위치로부터의 출력 신호("리셋")는, 실제 리셋 신호를 발생시키는데 필요한 경우 각각의 로직에 의해 추가 처리될 수 있는 워치독 타이머 유닛 타임아웃 신호를 나타낸다.
따라서, 이 워치독 타이머 주변기기(200)는 듀얼 타임아웃 시스템으로서 구현된다. 따라서, 이 실시예에 따른 워치독 타이머 주변기기(200)는 2개의 분리된 타이머들(210 및 220)을 포함한다. 제 1 타이머(210)는 시스템 리셋 후의 초기 타임아웃에 사용된다. 제 1 CLRWDT 신호가 예를 들어 위에서 언급한 바와 같은 전용 명령어 또는 특수 기능 레지스터에 의해 생성되면, 플립 플롭(230)은 스위치(240)를 통한 정상 동작을 위해 제 2 타이머(220)로 스와핑된다. 여기서 듀얼 레이트(dual rate) 워치독 타이머 주변 장치(200)는, 제 2 타이머(220)에 의해 제어되는 모든 후속 구간(all following period)의 타임아웃 구간보다 길 수 있는 제 1 타이머(210)에 의해 제어되는 제 1 타임아웃 구간을 갖는다. 그러나, 다른 설정도 적용될 수 있다. 각각의 타이머는 CPU를 통해 및/또는 스타트-업(start-up) 구성 중에 개별적으로 프로그램될 수 있다. 타이머들(210 및 220) 둘 다는 임의의 적절한 클록 신호일 수 있는 동일한 클록 신호에 의해 클록킹될 수 있다. 예를 들면, 시스템 클록이 사용될 수 있거나 또는 별도의 더 느린 클록 신호가 사용될 수 있다. 또한, 도 2에 도시된 바와 같이, 일부 실시예들에 따라, 2개의 서로 다른 클록 신호들이 사용될 수도 있는데, 예를 들어 제 1 클록 신호(ClkT1)는 제 1 타이머(210)를 클록킹하고 제 2 클록 신호(ClkT2)는 제 2 타이머(220)를 클록킹한다. 제 1 클록(ClkT1)은 제 2 클록 신호(ClkT2)보다 느릴 수 있다. 제 1의 더 긴 타임아웃은 발진기 스타트업 구간(period) 및 초기화 코드 시간 구간(time period)을 커버하도록 설계될 수 있다. 워치독 리셋 신호 - 예를 들면 전용 명령어 또는 특수 기능 레지스터 내의 적어도 하나의 비트의 설정에 의해 생성된 CLRWDT 신호 - 형태의 워치독 타이머로의 제 1 공급은 시스템을 "정상" 타임아웃 구간으로 스위칭한다. 정상 타임아웃 구간은 제 2 타이머(220)에 의해 정의될 수 있다.
도 3은 단일 타이머(310)를 구비한 워치독 타이머 주변기기(300)의 또 하나의 가능한 실시예를 도시한다. 클록 신호(ClkT)에 의해 클록킹된 타이머(310)는 2-방향 스위치(340)에 공급되는 리셋 신호를 제공한다. 2-방향 스위치(340)의 제 2 입력부는 로직 "1"에 영구적으로 연결된다. 다시, 플립-플롭(230)과 유사한 플립-플롭(330)이 스위치(340)를 제어한다. CLRWDT 신호는 타이머(310)를 리셋하고 또한 플립-플롭(330)의 클록 입력부에도 공급된다.
따라서, 타이머(310)가 제 1 CLRWDT가 수신된 이후에만 인에이블될 것이라는 점을 제외하고는 도 2에 도시된 것과 유사한 유형의 워치독 시스템이 도 3에 도시되어 있고, 이것은 무기한 길이의 스타트업을 위한 불확정 시간을 가능케 한다. 이를 위해, 스위치(340)의 출력부에 연결된 리셋 라인은 스타트-업 중의 리셋을 방지하기 위해 로직 1에 고정적으로 결합되고, 여기서 제 1 CLRWDT 신호가 생성된 후 플립-플롭(330)은 스위치(340)를 통해 로직 1로부터의 출력을 타이머(310)의 출력으로 스위칭한다. 이 실시예는 정의되지 않은 길이의 제 1 시간 구간을 생성하는데, 즉 워치독 타이머는 하드웨어에 의해 비활성화되고 제 1 워치독 리셋에 의해 자동으로 활성화될 것이다.
도 4는 워치독 타이머 주변기기의 다른 또 하나의 실시예를 도시하며, 여기서는 전원 장애(power fail) 옵션이 도 2의 실시예에 추가되었다. 3-방향 스위치(430)는 제 1 타이머(210)로부터 출력 신호들을 수신하고, 제 2 타이머(220)로부터 반전 출력 신호를 수신하고 그리고 제 2 타이머(220)로부터 비반전 출력 신호를 수신한다. 인버터(410)는 제 2 타이머(220)의 출력 신호를 반전하는데 사용된다. CLRWDT 신호뿐만 아니라 전원 장애 신호를 수신하고 3-방향 스위치(430)를 제어하는 출력 신호를 생성하는 상태 머신(440)이 제공된다. 도 2에 도시된 것과 유사하게, CLRWDT 신호는 또한 타이머들(210, 220)에 공급되고, 타이머들(210, 220)은 동일한 신호에 의해 또는 도 4에 도시된 바와 같은 서로 다른 클록 신호들(ClkT1 및 ClkT2)에 의해 클록킹될 수 있다.
워치독은 제 1 타이머(210)로 정상적으로 거동하고, 듀얼 타이머 스타트업 시스템과 유사하게 거동하는 제 2 타이머(220)의 비반전된 출력은 위에 논의되어 있다. 그러나, 막 전원에 장애가 있을 때에는, 전원에 장애가 있거나 전원 장애가 허위 경보였음을 나타내는 적절한 시간이 경과할 때까지 시스템은 리셋 상태로 유지될 필요가 있을 수 있다. 그 경우 리셋을 해제하고 일정한 지연 후 시스템을 다시 스타트업해야 한다. 여기서 제 2 타이머(220)는 이 로직 신호를 생성하기 위해 인버터(410)와 결합하여 사용된다. 전원 장애(power fail)가 발생할 때에는, 시스템이 3-방향 스위치(430)의 선택에 의해 인버터(410)의 출력 신호를 사용하여 마이크로컨트롤러를 리셋 상태로 유지하고, 이후 프로그램된 지연 후에 해제된다. 이 옵션은 기본적으로 정상 워치 독의 역 기능을 제공한다. 상태 머신은 상태 머신이 이 옵션을 선택할 수 있게 하는 전원 장애 입력부를 포함한다. 전원 장애 디바이스는, 타이머(220)에 의해 프로그램된 제 2 타임아웃이 전원 장애 이벤트와 관련하여 CLRWDT의 이벤트에서 타임 아웃될 때까지 인터럽트 또는 리셋을 생성 및 유지한다. 이 실시예에 따르면, 마이크로컨트롤러 코어는 리셋을 요구할 수 있고, 그리고 리셋은 상태 머신(440)의 입력부의 전원 장애 신호가 해제될 때까지(그 결과 리셋 신호가 해제됨) 또는 전원 장애(power failure)가 발생할 때까지(그 결과 파워 다운의 리셋 신호를 유지하는 브라운 아웃 리셋(brown out reset)이 초래됨) 유지된다.
대안적으로, 도 5에 도시된 바와 같이 다른 실시예들에 따르면, 워치독 타이머 주변기기(500)는 두 개 이상의 프리셋 레지스터들(520, 530)과 결합된 단일 타이머(510)를 포함할 수 있으며, 프리셋 레지스터들(520, 530)의 각각은 실제 워치독 타이머에 대해 서로 다른 리셋 값을 저장한다. 도 2 및 도 3과 유사하게 예를 들어 플립-플롭 또는 상태 머신(550)에 의해 제어되는 스위치(540)는 제 1 및 제 2 레지스터(520, 530) 중 어느 하나를 클록 신호(ClkT)에 의해 클록킹된 단일 타이머(510)와 결합시킬 수 있다. 따라서, 서로 다른 리셋 값들을 제 1 및 제 2 레지스터(520, 530)에 프로그래밍함으로써 서로 다른 시간 구간들이 생성될 수 있다. 워치독 타이머 유닛 또는 전원 온(on) 이벤트의 활성화는 제 1 레지스터(520)를 선택하고 제 1 레지스터(520)로부터의 리셋 값으로 타이머를 프리로드한다. 제 1 클리어 워치독 신호가 발생하면 워치독 타이머 주변기기(500)는 제 1 레지스터(520)로부터 제 2 레지스터(530)로 스위칭하고, 제 2 레지스터(530)에 저장된 값으로 타이머(510)를 프리로드한다. 각각의 후속 클리어 워치독 신호는 제 2 레지스터(530)를 이용하여 동작할 것이다. 2개보다 많은 레지스터가 존재하면, 서로 다른 규칙들이 적용될 수 있고 상태 머신이 레지스터들의 선택을 제어하는데 사용될 수 있다.
도 6에 도시된 바와 같이 다른 또 하나의 실시예에 따르면, 워치독 타이머 유닛(600)은 단일 타이머(620), 및 리셋 값을 저장하는 단일 레지스터(610)만을 포함할 수 있다. 그러나, 타이머(620)는 프리셋 레지스터를 우회하여(bypassing) 프리셋 카운터 값의 직접 설정을 가능케 하도록 설계될 수 있다. 제 1 시간 구간이 모든 후속 시간 구간들과는 다르기 때문에, 마이크로프로세서 코어 또는 구성 레지스터는 시스템의 스타트-업(파워-온)시에 직접 워치독 타이머(620)에 대한 초기 시작 값을 직접 기록할 수 있다. 매번, 파워-업 후에 클리어 워치독 신호가 수신되고, 레지스터(610)에 저장된 프리셋 값은 워치독 타이머로 전달되며, 이로써 워치독 타이머를 리셋할 것이다. 이 해결책은 하드웨어가 적게 필요하며, 여전히 제 1 시간 구간이 모든 후속 시간 구간들보다 길다는 것을 보장한다.
다른 또 하나의 실시예에 따르면, 단일 프리셋 레지스터를 갖는 워치독 타이머가 사용될 수 있으며, 여기서 워치독 타이머는 2개의 서로 다른 클록 신호들을 수신한다. 제 1 클록 신호(ClkT1)는, 디바이스를 초기화하는데 필요한 시간을 포함하는 긴 워치독 구간을 정의할 정도로 느릴 수 있다. 제 1 CLRWDT 신호를 수신하면, 시스템은 제 1 클록 신호(ClkT1)보다 빠른 제 2 클록 신호(ClkT2)로 스위칭되어 도 2 및 도 4 내지 도 6의 실시예와 유사한 시간 윈도우들을 생성한다.
워치독 타이머가 충분히 긴 제 1 구간을 정의할 수 있으면, 단일 워치독 타이머와 2개의 정의된 시간 구간들을 이용하여 개시된 해결책들 중 모든 해결책이 사용될 수 있다. 단일 워치독 타이머가 제 1 시간 구간을 생성하도록 동작될 수 없는 경우, 2개의 타이머를 이용한 해결책이 바람직할 수 있는데, 여기서 제 1 타이머는 예를 들어 제 2 워치독 타이머보다 느린 클록 신호로 클로킹될 수 있다.
마이크로컨트롤러에 사용되는 워치독 타이머 주변기기는 일부 실시예들에 따라 항상 활성이 되도록 설계될 수 있다. 따라서, 상술된 바와 같은 특정 설계는 모든 유형의 초기 구성에 적합한 제 1 긴 시간 윈도우를 가능케 한다. 이후에 두 번째 이후의 워치독 리셋들은 정의된 제 2 윈도우 내에서 수행되어야 한다. 워치독 타이머가 비활성화되지 않을 수 있다는 사실은 예를 들어 소프트웨어 오작동으로 인해 워치독 주변기기를 비활성화시킬 수 있는 모든 우발적인 덮어쓰기의 가능성을 배제한다.

Claims (32)

  1. 제 1 워치독 시간 구간과 제 2 워치독 시간 구간을 정의하도록 구성된 워치독 타이머 유닛으로서,
    상기 워치독 타이머 유닛의 활성화 이후에, 상기 워치독 타이머 유닛은 제 1 클리어 워치독 신호가 수신될 때까지 상기 제 1 워치독 시간 구간을 자동으로 선택하도록 구성되고, 상기 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머 유닛은 상기 제 2 워치독 시간 구간으로 스위칭되는, 워치독 타이머 유닛.
  2. 제 1 항에 있어서,
    상기 제 1 워치독 시간 구간은 무한한, 워치독 타이머 유닛.
  3. 제 1 항 또는 제 2 항에 있어서,
    플립-플롭을 더 포함하고,
    상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 타이머와 로직 1 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는, 워치독 타이머 유닛.
  4. 제 1 항 또는 제 3 항에 있어서,
    상기 제 1 워치독 시간 구간은 제 1 타이머에 의해 정의되고, 상기 제 2 워치독 시간 구간은 제 2 타이머에 의해 정의되고, 제 1 클리어 워치독 신호는 상기 워치독 타이머 유닛을 상기 제 1 타이머로부터 상기 제 2 타이머로 스위칭하는, 워치독 타이머 유닛.
  5. 제 1 항, 제 2 항 및 제 4 항 중 어느 한 항에 있어서,
    플립-플롭을 더 포함하고,
    상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 상기 제 1 타이머와 상기 제 2 타이머 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는, 워치독 타이머 유닛.
  6. 제 1 항, 제 2 항 및 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 워치독 시간 구간은 제 1 레지스터에 저장된 제 1 프리셋 값에 의해 정의되고, 상기 제 2 워치독 시간 구간은 제 2 레지스터에 저장된 제 2 프리셋 값에 의해 정의되고,
    상기 워치독 타이머 유닛의 활성화시, 상기 제 1 레지스터는 워치독 타이머를 프리셋하기 위해 스위치를 통해 선택되고, 제 1 클리어 워치독 신호는 상기 스위치를 상기 제 2 프리셋 값을 상기 워치독 타이머에 제공하는 상기 제 2 레지스터로 스위칭하는, 워치독 타이머 유닛.
  7. 제 1 항, 제 3 항 및 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 1 클록 신호에 의해 정의되고, 상기 제 2 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 2 클록 신호에 의해 정의되고,
    상기 워치독 타이머 유닛의 활성화시, 상기 제 1 클록 신호는 워치독 타이머를 클록킹하도록 선택되고, 제 1 클리어 워치독 신호는 상기 제 2 클록 신호가 상기 워치독 타이머를 클록킹하는 선택을 일으키는, 워치독 타이머 유닛.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    제 1 모드에서는 프리셋 레지스터를 통해 프리셋되거나 또는 제 2 모드에서는 직접 프리셋되어 상기 프리셋 레지스터를 바이패스하도록 구성된 타이머를 포함하고,
    상기 워치독 타이머 유닛의 활성화시 상기 타이머는 제 1 프리셋 값으로 직접 프리셋되고, 모든 후속 클리어 워치독 신호의 수신시 상기 타이머는 상기 프리셋 레지스터를 통해 프리셋되는, 워치독 타이머 유닛.
  9. 제 8 항에 있어서,
    상기 타이머는 중앙 처리 장치를 통해 직접 프리셋되는, 워치독 타이머 유닛.
  10. 제 8 항에 있어서,
    상기 타이머는 스타트-업(start-up) 구성 레지스터를 통해 직접 프리셋되는, 워치독 타이머 유닛.
  11. 마이크로컨트롤러로서,
    시스템 버스를 통해 복수의 주변 디바이스들과 결합된 중앙 처리 장치; 및
    클리어 워치독 신호를 수신하고, 그리고 상기 마이크로컨트롤러를 리셋하기 위해 워치독 타임아웃 신호를 발생시키도록 구성되는 워치독 타이머 유닛을 포함하고,
    상기 워치독 타이머 유닛은 제 1 타이머와 제 2 타이머를 통해 각각 제 1 워치독 타임아웃 구간과 제 2 워치독 타임아웃 구간을 정의하도록 더 구성되고, 상기 제 1 타이머 또는 상기 제 2 타이머를 선택하기 위한 로직을 더 포함하고, 상기 클리어 워치독 신호는 상기 제 1 및 제 2 타이머를 리셋하는, 마이크로컨트롤러.
  12. 제 11 항에 있어서,
    상기 마이크로컨트롤러가 파워 업될 때 상기 워치독 타이머 유닛의 활성화는 자동으로 수행되고 이로써 상기 제 1 타이머를 선택하고, 상기 제 1 타이머에 의해 발생된 제 1 워치독 타이머 타임아웃 신호의 수신 이후에 상기 워치독 타이머 유닛은 상기 제 2 타이머로 스위칭되도록 구성되는, 마이크로컨트롤러.
  13. 제 11 항 또는 제 12 항에 있어서,
    상기 제 2 타이머의 출력부에 결합된 인버터를 더 포함하고,
    상기 워치독 타이머 유닛은 전원 장애(power fail) 신호를 더 수신하고, 상기 로직은 상기 제 1 타이머, 상기 제 2 타이머 및 상기 인버터의 출력부 사이를 선택하도록 더 구성되고, 상기 워치독 타이머 유닛은 클리어 워치독 신호와 전원 장애 신호가 수신될 때 상기 인버터의 출력부를 선택하는, 마이크로컨트롤러.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 제 1 워치독 시간 구간은 무한한, 마이크로컨트롤러.
  15. 제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
    플립-플롭을 더 포함하고,
    상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 타이머와 로직 1 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는, 마이크로컨트롤러.
  16. 제 11 항, 제 12 항, 제 13 항 및 제 15 항 중 어느 한 항에 있어서,
    상기 제 1 워치독 시간 구간은 제 1 타이머에 의해 정의되고, 상기 제 2 워치독 시간 구간은 제 2 타이머에 의해 정의되고, 제 1 클리어 워치독 신호는 상기 워치독 타이머 유닛을 상기 제 1 타이머로부터 상기 제 2 타이머로 스위칭하는, 마이크로컨트롤러.
  17. 제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
    상기 제 1 타이머에 공급되는 제 1 클록 및 상기 제 2 타이머에 공급되는 제 2 클록을 발생시키도록 구성된 클록 생성 유닛을 더 포함하는 마이크로컨트롤러.
  18. 제 11 항 내지 제 17 항 중 어느 한 항에 있어서,
    플립-플롭을 더 포함하고,
    상기 플립-플롭은 상기 클리어 워치독 신호에 의해 제어되고, 그리고 상기 워치독 타이머 유닛의 리셋 출력부를 상기 제 1 타이머와 상기 제 2 타이머 중 어느 하나의 출력부와 결합시키는 스위치를 제어하는 출력부를 갖는, 마이크로컨트롤러.
  19. 제 11 항 내지 제 13 항 및 제 15 항 내지 제 18 항 중 어느 한 항에 있어서,
    상기 제 1 워치독 시간 구간은 제 1 레지스터에 저장된 제 1 프리셋 값에 의해 정의되고, 상기 제 2 워치독 시간 구간은 제 2 레지스터에 저장된 제 2 프리셋 값에 의해 정의되고,
    상기 워치독 타이머 유닛의 활성화시, 상기 제 1 레지스터는 워치독 타이머를 프리셋하기 위해 스위치를 통해 선택되고, 제 1 클리어 워치독 신호는 상기 스위치를 상기 제 2 프리셋 값을 상기 워치독 타이머에 제공하는 상기 제 2 레지스터로 스위칭하는, 마이크로컨트롤러.
  20. 제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
    제 1 클록 신호와 제 2 클록 신호를 발생시키도록 구성된 클록 생성 유닛을 포함하고,
    상기 제 1 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 상기 제 1 클록 신호에 의해 정의되고, 상기 제 2 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 상기 제 2 클록 신호에 의해 정의되고,
    상기 워치독 타이머 유닛의 활성화시, 상기 제 1 클록 신호는 워치독 타이머를 클록킹하도록 선택되고, 제 1 클리어 워치독 신호는 상기 제 2 클록 신호가 상기 워치독 타이머를 클록킹하는 선택을 일으키는, 마이크로컨트롤러.
  21. 제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
    제 1 모드에서는 프리셋 레지스터를 통해 프리셋되거나 또는 제 2 모드에서는 직접 프리셋되어 상기 프리셋 레지스터를 바이패스하도록 구성된 타이머를 포함하고,
    상기 워치독 타이머 유닛의 활성화시 상기 타이머는 제 1 프리셋 값으로 직접 프리셋되고, 모든 후속 클리어 워치독 신호의 수신시 상기 타이머는 상기 프리셋 레지스터를 통해 프리셋되는, 마이크로컨트롤러.
  22. 제 21 항에 있어서,
    상기 타이머는 상기 중앙 처리 장치를 통해 직접 프리셋되는, 마이크로컨트롤러.
  23. 제 21 항에 있어서,
    상기 타이머는 상기 마이크로컨트롤러의 스타트-업 구성 레지스터를 통해 직접 프리셋되는, 마이크로컨트롤러.
  24. 만료 후 상기 마이크로컨트롤러를 리셋하는 시간 구간을 정의하는 워치독 타이머 유닛을 통해 마이크로컨트롤러 내의 프로그램의 실행을 모니터링하기 위한 방법으로서,
    상기 시간 구간의 만료는 상기 워치독 타이머 유닛을 주기적으로 리셋함으로써 방지되고,
    상기 방법은:
    상기 워치독 타이머 유닛의 활성화 이후에, 제 1 클리어 워치독 신호가 수신될 때까지 상기 워치독 타이머 유닛이 제 1 워치독 시간 구간을 자동으로 시작하는 것;
    상기 마이크로컨트롤러의 중앙 처리 장치에 의해 제 1 워치독 리셋 신호를 발생시키는 것; 그리고
    상기 제 1 클리어 워치독 신호 및 다음의 워치독 리셋 신호들의 수신시, 상기 워치독 타이머 유닛이 상기 제 1 워치독 시간 구간과는 다른 제 2 워치독 시간 구간을 자동으로 시작하는 것을 포함하는, 방법.
  25. 제 24 항에 있어서,
    상기 마이크로컨트롤러의 파워-업은 상기 워치독 타이머 유닛을 자동으로 활성화하는, 방법.
  26. 제 24 항 또는 제 25 항에 있어서,
    상기 제 1 워치독 시간 구간은 무한한, 방법.
  27. 제 24 항 또는 제 25 항에 있어서,
    상기 제 1 워치독 시간 구간은 제 1 타이머에 의해 정의되고, 상기 제 2 워치독 시간 구간은 제 2 타이머에 의해 정의되고,
    상기 방법은 상기 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머 유닛을 상기 제 1 타이머로부터 상기 제 2 타이머로 스위칭하는 단계를 포함하는, 방법.
  28. 제 24 항 또는 제 25 항에 있어서,
    상기 제 1 워치독 시간 구간은 제 1 레지스터에 저장된 제 1 프리셋 값에 의해 정의되고, 상기 제 2 워치독 시간 구간은 제 2 레지스터에 저장된 제 2 프리셋 값에 의해 정의되고,
    상기 방법은 상기 워치독 타이머 유닛의 활성화시, 워치독 타이머를 프리셋하도록 상기 제 1 레지스터를 선택하고, 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머를 프리셋하도록 상기 제 2 레지스터를 선택하는 단계를 포함하는, 방법.
  29. 제 24 항 또는 제 25 항에 있어서,
    상기 제 1 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 1 클록 신호에 의해 정의되고, 상기 제 2 워치독 시간 구간은 상기 워치독 타이머 유닛에 공급된 제 2 클록 신호에 의해 정의되고,
    상기 방법은 상기 워치독 타이머 유닛의 활성화시, 워치독 타이머를 클록킹하도록 상기 제 1 클록 신호를 선택하고, 제 1 클리어 워치독 신호의 수신시 상기 워치독 타이머를 클록킹하도록 상기 제 2 클록 신호를 선택하는 단계를 포함하는, 방법.
  30. 제 24 항 또는 제 25 항에 있어서,
    상기 워치독 타이머 유닛의 활성화시 워치독 타이머는 제 1 프리셋 값으로 직접 프리셋되고, 제 1 클리어 워치독 신호 및 모든 후속 클리어 워치독 신호들의 수신시 프리셋 레지스터에 저장된 제 2 프리셋 값을 통해 상기 타이머를 프리셋하는, 방법.
  31. 제 24 항 내지 제 30 항 중 어느 한 항에 있어서,
    클리어 워치독 신호와 전원 장애 신호의 수신시, 상기 워치독 타이머 유닛이 소정 시간 구간 동안 리셋 신호를 유지하도록 구성되는 것을 더 포함하는 방법.
  32. 제 31 항에 있어서,
    상기 소정 시간 구간은 상기 제 2 워치독 시간 구간에 의해 정의되는, 방법.
KR1020177016581A 2015-02-27 2016-02-26 워치독 타이머 KR20170120559A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562121780P 2015-02-27 2015-02-27
US62/121,780 2015-02-27
US15/053,504 US10089164B2 (en) 2015-02-27 2016-02-25 Watchdog timer
US15/053,504 2016-02-25
PCT/US2016/019813 WO2016138401A1 (en) 2015-02-27 2016-02-26 Watchdog timer

Publications (1)

Publication Number Publication Date
KR20170120559A true KR20170120559A (ko) 2017-10-31

Family

ID=55538615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177016581A KR20170120559A (ko) 2015-02-27 2016-02-26 워치독 타이머

Country Status (6)

Country Link
US (1) US10089164B2 (ko)
EP (1) EP3262507B1 (ko)
KR (1) KR20170120559A (ko)
CN (1) CN107111526A (ko)
TW (1) TW201633124A (ko)
WO (1) WO2016138401A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213254B1 (ko) 2019-10-02 2021-02-19 주식회사 현대케피코 단일 와치독 장치를 이용한 복수 개의 마이컴 에러 검출 방법 및 단일 와치독 장치

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946600B2 (en) * 2016-02-03 2018-04-17 Mitac Computing Technology Corporation Method of detecting power reset of a server, a baseboard management controller, and a server
US10296434B2 (en) * 2017-01-17 2019-05-21 Quanta Computer Inc. Bus hang detection and find out
CN109491823B (zh) * 2018-11-12 2022-01-04 积成电子股份有限公司 一种不可逆的看门狗切换电路及其切换方法
US10928446B2 (en) 2018-12-05 2021-02-23 Hamilton Sunstrand Corporation Watchdog built in test (BIT) circuit for fast system readiness
EP3822789B1 (en) * 2019-11-18 2022-08-10 ABB Schweiz AG Functional safety software concept for motor drives
JP7548709B2 (ja) * 2020-02-28 2024-09-10 ラピスセミコンダクタ株式会社 半導体装置および計測処理システム
US11442800B2 (en) 2020-03-17 2022-09-13 Hamilton Sundstrand Corporation Watchdog circuit systems
US11520654B2 (en) 2021-02-03 2022-12-06 Semiconductor Components Industries, Llc System watchdog timer for a data processing system
CN116249968A (zh) * 2021-02-08 2023-06-09 三垦电气株式会社 看门狗定时器装置
CN113791927B (zh) * 2021-09-22 2023-05-05 日立楼宇技术(广州)有限公司 看门狗控制电路、电子设备以及看门狗控制方法
CN113886123B (zh) * 2021-09-30 2023-06-30 蜂巢能源科技有限公司 一种看门狗喂狗方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59114652A (ja) * 1982-12-21 1984-07-02 Nissan Motor Co Ltd ウォッチドッグ・タイマ回路
EP0205163B1 (en) * 1985-06-11 1992-10-28 Nec Corporation Watchdog timer circuit suited for use in microcomputer
GB9603519D0 (en) 1996-02-20 1996-04-17 Int Computers Ltd Watchdog circuit
US5961622A (en) * 1997-10-23 1999-10-05 Motorola, Inc. System and method for recovering a microprocessor from a locked bus state
US6260162B1 (en) * 1998-10-31 2001-07-10 Advanced Micro Devices, Inc. Test mode programmable reset for a watchdog timer
US7003775B2 (en) * 2001-08-17 2006-02-21 Hewlett-Packard Development Company, L.P. Hardware implementation of an application-level watchdog timer
US7689875B2 (en) * 2002-04-25 2010-03-30 Microsoft Corporation Watchdog timer using a high precision event timer
FR2844892B1 (fr) * 2002-09-24 2005-05-27 St Microelectronics Sa Horloge de surveillance de microcontroleur
JP2008225858A (ja) * 2007-03-13 2008-09-25 Nec Corp Biosストール障害時の復旧装置、その方法及びそのプログラム
US7774648B2 (en) * 2007-05-02 2010-08-10 Honeywell International Inc. Microprocessor supervision in a special purpose computer system
CN101510165B (zh) * 2009-02-25 2010-10-27 华为技术有限公司 看门狗电路的喂狗方法、装置和单板
US8375258B1 (en) * 2009-08-26 2013-02-12 Cypress Semiconductor Corporation Watchdog timer with mode dependent time out
US8458533B2 (en) * 2010-11-03 2013-06-04 Texas Instruments Incorporated Watch dog timer and counter with multiple timeout periods
JP5126393B2 (ja) * 2011-06-29 2013-01-23 日本精工株式会社 車載電子制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102213254B1 (ko) 2019-10-02 2021-02-19 주식회사 현대케피코 단일 와치독 장치를 이용한 복수 개의 마이컴 에러 검출 방법 및 단일 와치독 장치

Also Published As

Publication number Publication date
US20160253233A1 (en) 2016-09-01
CN107111526A (zh) 2017-08-29
EP3262507A1 (en) 2018-01-03
US10089164B2 (en) 2018-10-02
WO2016138401A1 (en) 2016-09-01
EP3262507B1 (en) 2022-05-11
TW201633124A (zh) 2016-09-16

Similar Documents

Publication Publication Date Title
KR20170120559A (ko) 워치독 타이머
US8909995B2 (en) Microcomputer with watchdog timer generating internal and external reset signals
US9612893B2 (en) Peripheral watchdog timer
CN107589825B (zh) 看门狗电路、功率ic和看门狗监视系统
CA2147568C (en) Reset circuit of electronic device
US10387260B2 (en) Reboot system and reboot method
JP6853162B2 (ja) 半導体装置
US10719331B2 (en) Stand-by mode of an electronic circuit
WO2012107546A1 (en) Motor vehicle and method of controlling a motor vehicle
US6085332A (en) Reset design for redundant raid controllers
JP4294503B2 (ja) 動作モード制御回路、動作モード制御回路を含むマイクロコンピュータ及びそのマイクロコンピュータを利用した制御システム
TWI228218B (en) Circuit for detection of internal microprocessor watchdog device execution and method for resetting microprocessor system
EP0920661A1 (en) Slave dsp reboots stalled master cpu
CN103713960A (zh) 用于嵌入式系统的看门狗电路
US20190250685A1 (en) Computer system, operational method for a microcontroller, and computer program product
JPH11259340A (ja) コンピュータの再起動制御回路
JP4126849B2 (ja) マルチcpuシステムの監視方式
JP2003067220A (ja) コンピュータシステム
JP2006276947A (ja) 電源制御装置および電源制御方法
JPH05233374A (ja) ウオッチドッグタイマ装置
JP2005063295A (ja) 制御装置
JP2003067221A (ja) ウォッチドッグタイマの制御回路
KR0155045B1 (ko) 무인경비시스템의 워치독 타이머 구현 방법
JPH09212201A (ja) 生産設備用制御回路
JPH06131218A (ja) Cpu制御方式