임베디드/[ Embedded ]

[ Embedded ] 02. WDT(워치독 타이머)란?

kim.svadoz 2020. 8. 12. 14:51
728x90
반응형

워치독 타이머(WDT)

Watchdog Timer

1. 고신뢰성 시스템을 위한, 워치독 타이머

가. WDT의 개념

  • 비정상, 무한루프 등에 빠진 경우 시스템 통제가 불가능한 상황에서 자동으로 시스템을 리셋하는 하드웨어 기능
  • 타임아웃이 되기 전 S/W명령으로 그 값을 clear시켜주지 않으면 MCU를 reset시켜 시스템을 정상적으로 동작하고 있는지 감시하고 지속적인 오동작을 방지 신뢰성 향상 기술

나. WDT의 필요성

  1. 제어 실패 방지 메커니즘 필요
    • 불필요한 반복 또는 제어 실패를 방지하는 메커니즘 필요
  2. 예상치 못한 실패 안전모드 필요
    • 시스템 일부가 예상 못한 제어 실패 시 안전모드로 전환 필요

2. WDT 개념도 및 구성요소

가. WDT 구성도

image-20200807170209219

나. WDT 구성요소

  • Clock : HW 디바이스를 동작시키는 외부 Clock Source
  • Clear(Res-tart/Kick) : HW 디바이스가 정상 동작함을 알려주는 주기적 Alive 신호
  • Timeout : 타이머가 종료되었음을 알려주는 Output신호
  • Reset : HW 디바이스를 초기화 할 수 있는 입력 시그널

다. WDT 동작방식

  • Watchdog 타이머는 HW를 주기적으로 감시하며 시간을 쟤는 계수 회로. 디바이스로부터 일정 시간동안 입력값을 받지 못 하는 경우 시스템의 오동작 상황으로 간주하고 초기화 수행

3. WDT 유형 및 사례

가. WDT의 유형

image-20200807170451892

  • 외부 워치독 타이머는 고가이므로 높은 신뢰성 요구하는 시스템에 주로 사용

나. WDT 구현 방법

image-20200807170528165

  • 워치독 타이머는 고정 또는 프로그래밍 가능한 시간 간격 가능, 다단계 워치독의 각 타이머는 각 다른 시간 간격 가능

4. WDT 하드웨어 내부구조

image-20200807170626944

  • Watchdog Control Register (WDCR)
    • 워치독을 컨트롤 하는 레지스터
    • 리셋 상태 설정, 사용여부, 로직 체크
  • Watchdog Counter Register (WDCNTR)
    • 워치독 카운터의 상태 레지스터
    • 현재까지 카운팅 된 값 확인 가능
  • Watchdog Reset Key Register (WDKEY)
    • 워치독 카운터를 Clear 하는 역할
  • System Control and Status Register(SCSR)
    • 워치독 카운터 출력 신호 결과를 리셋 / 인터럽트에 이용 여부 결정

5. WDT 소프트웨어

가. WDT SW 동작 방식

image-20200807170817579

  • 워치독 소프트웨어는 타이머 만료 시 작업 정의 및 하드웨어 타이머 시작 후 주기적 타이머 초기화 수행

나. WDT SW 사례

image-20200807171644205

728x90
반응형