MICROCHIP dsPIC33 듀얼 워치독 타이머

소개

이 섹션에서는 dsPIC33/PIC24 이중 감시 타이머(WDT)에 대해 설명합니다. 그림 1- 참조
1 WDT의 블록 다이어그램.
활성화된 경우 WDT는 내부 저전력 RC(LPRC) 발진기 클록 소스 또는 실행 모드에서 선택 가능한 클록 소스에서 작동합니다. WDT는 소프트웨어에서 WDT가 주기적으로 삭제되지 않는 경우 장치를 재설정하여 시스템 소프트웨어 오작동을 감지하는 데 사용할 수 있습니다. WDT는 Window 모드 또는 Non-Window 모드에서 구성할 수 있습니다. WDT 포스트 스케일러를 사용하여 다양한 WDT 타임아웃 기간을 선택할 수 있습니다. WDT는 절전 또는 유휴 모드(절전 모드)에서 장치를 깨우는 데에도 사용할 수 있습니다.
다음은 WDT 모듈의 주요 기능 중 일부입니다.

  • 구성 또는 소프트웨어 제어
  • 실행 및 절전/유휴 모드에 대해 사용자가 구성할 수 있는 별도의 시간 초과 기간
  • 절전 또는 유휴 모드에서 장치를 깨울 수 있습니다.
  • Run 모드에서 사용자가 선택할 수 있는 클럭 소스
  • 절전/유휴 모드에서 LPRC에서 작동

워치독 타이머 블록 다이어그램

메모

  1. 특정 클럭 스위치 이벤트 이후의 WDT 재설정 동작은 장치에 따라 다릅니다. WDT를 지우는 클록 스위치 이벤트에 대한 설명은 특정 장치 데이터 시트의 "Watchdog Timer" 섹션을 참조하십시오.
  2. 사용 가능한 클럭 소스는 장치에 따라 다릅니다.

워치독 타이머 컨트롤 레지스터

WDT 모듈은 다음과 같은 특수 기능 레지스터(SFR)로 구성됩니다.

  • WDTCONL: 감시 타이머 제어 레지스터
    이 레지스터는 Watchdog Timer를 활성화 또는 비활성화하고 윈도우 모드를 활성화 또는 비활성화하는 데 사용됩니다.
  • WDTCONH: 감시 타이머 키 레지스터
    이 레지스터는 시간 초과를 방지하기 위해 WDT를 지우는 데 사용됩니다.
  • RCON: 리셋 컨트롤 레지스터(2)
    이 레지스터는 리셋의 원인을 나타냅니다.
지도 등록

표 2-1은 관련 WDT 모듈 레지스터에 대한 간략한 요약을 제공합니다. 요약 뒤에 해당 레지스터가 표시되고 각 레지스터에 대한 자세한 설명이 이어집니다.

표 2-1: 워치독 타이머 레지스터 맵

이름 비트 범위 비트
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDTCONL 15시 0분 ON(3) 룬디프[4:0](2) CLKSEL[1:0](2) SLPDIV[4:0](2) WDTWINEN(3)
WDTCONH 15시 0분 WDTCLR키[15:0]
알콘(4, 5) 15시 0분 함정(1) IOPUWR(1) CM(1) VREGS(1) 추출(1) 조도수(1) WDTO 게으른(1) 보르(1) (1)

범례: — = 구현되지 않음, '0'으로 읽음

메모

  1. 이 비트는 WDT 모듈과 관련이 없습니다.
  2. 이러한 비트는 읽기 전용이며 구성 비트의 값을 반영합니다.
  3. 이러한 비트는 설정된 경우 구성 비트의 상태를 반영합니다. 비트가 지워지면 값은 소프트웨어에 의해 제어됩니다.
  4. WDTEN[1:0] 구성 비트가 '11'(프로그래밍되지 않음)인 경우 WDT는 ON(WDTCONL[15]) 비트 설정에 관계없이 항상 활성화됩니다.
  5. 모든 재설정 상태 비트는 소프트웨어에서 설정하거나 지울 수 있습니다. 소프트웨어에서 이러한 비트 중 하나를 설정해도 장치 재설정이 발생하지 않습니다.

레지스터 2-1: WDTCONL: 감시 타이머 제어 레지스터

R/W-0 유-0 유-0 라이 라이 라이 라이 라이
ON( 1 ,2 ) 룬디프[4:0](3)
비트 15     비트 8
라이 라이 라이 라이 라이 라이 라이 R/W/HS-0
CLKSEL[1:0](3, 4) SLPDIV[4:0](3) WDTWINEN(1)
비트 7     비트 0
  • bit 15 ON: 와치독 타이머 활성화 비트(1,2)
    1 = 장치 구성에 의해 활성화되지 않은 경우 Watchdog 타이머를 활성화합니다.
    0 = 소프트웨어에서 활성화된 경우 감시 타이머를 비활성화합니다.
  • 비트 14-13 미구현: '0'으로 읽음
  • bit 12-8 RUNDIV[4:0]: WDT 실행 모드 포스트스케일러 상태 비트(3)
  • bit 7-6 CLKSEL[1:0]: WDT 실행 모드 클럭 선택 상태 비트(3,4)
    11 = LPRC 발진기
    10 = FRC 발진기
    01 = 예약됨
    00 = SYSCLK
  • bit 5-1 SLPDIV[4:0]: 슬립 및 유휴 모드 WDT 포스트스케일러 상태 비트(3)
  • bit 0 WDTWINEN: 와치독 타이머 창 활성화 비트(1)
    1 = 창 모드 활성화
    0 = 창 모드 비활성화

메모

  1. 이러한 비트는 비트가 설정된 경우 구성 비트의 상태를 반영합니다. 비트가 지워지면 값은 소프트웨어에 의해 제어됩니다.
  2. 사용자 소프트웨어는 모듈의 ON 비트를 지우는 명령 직후에 SYSCLK 주기에서 주변 장치의 SFR을 읽거나 쓰지 않아야 합니다.
  3. 이러한 비트는 읽기 전용이며 구성 비트의 값을 반영합니다.
  4. 사용 가능한 클럭 소스는 장치에 따라 다릅니다. 사용 가능 여부는 특정 장치 데이터 시트의 "Watchdog Timer" 장을 참조하십시오.

레지스터 2-2: WDTCONH: 감시 타이머 키 레지스터

W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0
WDTCLR키[15:8]
비트 15 비트 8
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0
WDTCLR키[7:0]
비트 7 비트 0

전설

R = 읽기 가능 비트 W = 쓰기 가능 비트 U = 구현되지 않은 비트, '0'으로 읽음
-n = POR '1'의 값 = 비트가 '0'으로 설정됨 = 비트가 지워짐 x = 알 수 없는 비트

  • bit 15-0 WDTCLRKEY[15:0]: 워치독 타이머 지우기 키 비트
    시간 초과를 방지하기 위해 감시 타이머를 지우려면 소프트웨어는 단일 0비트 쓰기를 사용하여 이 위치에 값 5743x16을 써야 합니다.

레지스터 2-3: RCON: 리셋 컨트롤 레지스터(2)

R/W-0 R/W-0 유-0 유-0 R/W-0 유-0 R/W-0 R/W-0
함정(1) IOPUWR(1) VREGSF(1) CM(1) VREGS(1)
비트 15   비트 8
R/W-0 R/W-0 유-0 R/W-0 R/W-0 R/W-0 R/W-1 R/W-1
추출(1) 조도수(1) WDTO 게으른(1) 보르(1) (1)
비트 7   비트 0

전설

R = 읽기 가능 비트 W = 쓰기 가능 비트 U = 구현되지 않은 비트, '0'으로 읽음
-n = POR '1'의 값 = 비트가 '0'으로 설정됨 = 비트가 지워짐 x = 알 수 없는 비트

  • bit 15 TRAPR: 트랩 재설정 플래그 비트(1)
    1 = 트랩 충돌 재설정이 발생했습니다.
    0 = 트랩 충돌 재설정이 발생하지 않음
  • bit 14 IOPUWR: 잘못된 Opcode 또는 초기화되지 않은 W 레지스터 액세스 리셋 플래그 비트(1)
    1 = 잘못된 opcode 감지, 잘못된 주소 모드 또는 주소 포인터로 사용된 초기화되지 않은 W 레지스터로 인해 재설정이 발생했습니다.
    0 = 잘못된 opcode 또는 초기화되지 않은 W 레지스터 재설정이 발생하지 않았습니다.
  • 비트 13-12 미구현: '0'으로 읽음
  • 비트 11 VREGSF: 플래시 볼륨tage 수면 중 조절기 대기 비트(1)
    1 = 플래시 볼륨tage 레귤레이터는 수면 중에 활성화됩니다.
    0 = 플래시 볼륨tag전자 조절기는 절전 중에 대기 모드로 들어갑니다.
  • 비트 10 미구현: '0'으로 읽음
  • bit 9 CM: 구성 불일치 플래그 비트(1)
    1 = 구성 불일치 재설정이 발생했습니다.
    0 = 구성 불일치 재설정이 발생하지 않음
  • 비트 8 VREGS: 볼륨tage 수면 중 조절기 대기 비트(1)
    1 = 볼륨tage 레귤레이터는 수면 중에 활성화됩니다.
    0 = 볼륨tag전자 조절기는 절전 중에 대기 모드로 들어갑니다.
  • bit 7 EXTR: 외부 리셋(MCLR) 핀 비트(1)
    1 = 마스터 지우기(핀) 재설정이 발생했습니다.
    0 = 마스터 지우기(핀) 재설정이 발생하지 않음
  • bit 6 SWR: 소프트웨어 RESET(명령) 플래그 비트(1)
    1 = RESET 명령이 실행됨
    0 = RESET 명령이 실행되지 않았습니다.
  • 비트 5 미구현: '0'으로 읽음
  • 비트 4 WDTO: 워치독 타이머 타임아웃 플래그 비트
    1 = WDT 타임아웃 발생
    0 = WDT 타임아웃이 발생하지 않음
  • bit 3 SLEEP: 슬립 플래그 비트에서 웨이크업
    1 = 장치가 절전 모드에 있음
    0 = 장치가 절전 모드에 있지 않음

메모

  1. 이 비트는 WDT 모듈과 관련이 없습니다.
  2. 모든 재설정 상태 비트는 소프트웨어에서 설정하거나 지울 수 있습니다. 소프트웨어에서 이러한 비트 중 하나를 설정해도 장치 재설정이 발생하지 않습니다.

레지스터 2-3: RCON: 리셋 컨트롤 레지스터(2)

  • bit 2 IDLE: 유휴 플래그에서 깨어남 bit(1)
    1 = 장치가 유휴 모드에 있음
    0 = 장치가 유휴 모드에 있지 않음
  • 비트 1 BOR: 브라운아웃 리셋 플래그 비트(1)
    1 = 브라운아웃 리셋이 발생했습니다.
    0 = 브라운아웃 리셋이 발생하지 않음
  • 비트 0 POR: 파워-온 리셋 플래그 비트(1)
    1 = 파워온 리셋이 발생했습니다.
    0 = 파워온 리셋이 발생하지 않음

메모

  1. 이 비트는 WDT 모듈과 관련이 없습니다.
  2. 모든 재설정 상태 비트는 소프트웨어에서 설정하거나 지울 수 있습니다. 소프트웨어에서 이러한 비트 중 하나를 설정해도 장치 재설정이 발생하지 않습니다.

워치독 타이머 작동

WDT(Watchdog Timer)의 주요 기능은 소프트웨어 오작동 시 프로세서를 재설정하거나 절전 또는 유휴 상태에서 시간 초과 시 프로세서를 깨우는 것입니다.
WDT는 두 개의 독립적인 타이머로 구성되어 있는데, 하나는 실행 모드에서 작동하고 다른 하나는 절전 모드에서 작동합니다. 실행 모드 WDT의 클럭 소스는 사용자가 선택할 수 있습니다.
각 타이머에는 사용자가 프로그래밍할 수 있는 독립적인 포스트스케일러가 있습니다. 두 타이머 모두 단일 ON 비트를 통해 제어됩니다. 독립적으로 작동할 수 없습니다.
WDT가 활성화되면 적절한 WDT 카운터는 오버플로 또는 "시간 초과"될 때까지 증가합니다.
실행 모드에서 WDT 시간 초과는 장치 재설정을 생성합니다. 실행 모드에서 WDT 타임아웃 재설정을 방지하려면 사용자 애플리케이션이 주기적으로 WDT를 서비스해야 합니다. 절전 모드에서 시간이 초과되면 장치가 깨어납니다.

메모: LPRC 오실레이터는 WDT 클럭 소스로 사용되고 WDT가 활성화될 때마다 자동으로 활성화됩니다.

작동 모드

WDT에는 Non-Window 모드와 Programmable Window 모드의 두 가지 작동 모드가 있습니다. Non-Window 모드에서 소프트웨어는 WDT 재설정을 방지하기 위해 WDT 주기보다 짧은 시간에 WDT를 주기적으로 지워야 합니다(그림 3-1). Non-Window 모드는 WDTWINEN(Watchdog Timer Window Enable) 비트(WDTCONL[0])를 해제하여 선택합니다.
프로그래밍 가능한 창 모드에서 소프트웨어는 시간 초과가 발생하기 전에 카운터가 최종 창에 있는 경우에만 WDT를 지울 수 있습니다. 이 창 밖에서 WDT를 지우면 장치 재설정이 발생합니다(그림 3-2). 총 WDT 기간의 25%, 37.5%, 50% 및 75%의 네 가지 창 크기 옵션이 있습니다. 창 크기는 장치 구성에서 설정됩니다. 절전 모드에서는 프로그래밍 가능한 창 모드를 적용할 수 없습니다.
그림 3-1: Non-Window WDT 모드

그림 3-2: 프로그래밍 가능한 창 WDT 모드

워치독 타이머 프로그래밍 가능 창

창 크기는 구성 비트 WDTWIN[1:0] 및 RWDTPS[4:0]에 의해 결정됩니다. 프로그래밍 가능 창 모드(WDTWINEN = 1)에서 WDT는 창 크기 구성 비트 WDTWIN[1:0]의 설정에 따라 지워야 합니다(그림 3-2 참조). 이러한 비트 설정은 다음과 같습니다.

  • 11 = WDT 창은 WDT 기간의 25%입니다.
  • 10 = WDT 창은 WDT 기간의 37.5%입니다.
  • 01 = WDT 창은 WDT 기간의 50%입니다.
  • 00 = WDT 창은 WDT 기간의 75%입니다.

허용된 기간 전에 WDT가 지워지거나 WDT가 시간 초과되도록 허용된 경우 장치 재설정이 발생합니다. 창 모드는 코드의 중요한 부분이 예기치 않게 빠르거나 느리게 실행되는 동안 장치를 재설정하는 데 유용합니다. 윈도우 동작은 WDT Run 모드에만 적용됩니다. WDT Sleep 모드는 항상 Non-Window 모드로 동작합니다.

WDT 활성화 및 비활성화

WDT는 장치 구성에 의해 활성화 또는 비활성화되거나 ON 비트(WDTCONL[1])에 '15'을 기록하여 소프트웨어를 통해 제어됩니다. 자세한 내용은 레지스터 2-1을 참조하십시오.

장치 구성 제어 WDT

FWDTEN 구성 비트가 설정되면 WDT는 항상 활성화됩니다. ON 제어 비트(WDTCONL[15])는 '1'을 읽어 이를 반영합니다. 이 모드에서는 소프트웨어에서 ON 비트를 지울 수 없습니다. FWDTEN 구성 비트는 어떤 형태의 리셋으로도 지워지지 않습니다. WDT를 비활성화하려면 장치에 구성을 다시 작성해야 합니다. WINDIS 구성 비트를 지우면 창 모드가 활성화됩니다.

메모: WDT는 프로그래밍되지 않은 장치에서 기본적으로 활성화됩니다.

소프트웨어 제어 WDT

FWDTEN 구성 비트가 '0'이면 WDT 모듈은 소프트웨어에 의해 활성화 또는 비활성화(기본 조건)될 수 있습니다. 이 모드에서 ON 비트(WDTCONL[15])는 소프트웨어 제어 하에 있는 WDT의 상태를 반영합니다. '1'은 WDT 모듈이 활성화되었음을 나타내고 '0'은 비활성화됨을 나타냅니다.

WDT 포스트스케일러

WDT에는 두 개의 사용자 프로그래밍 가능 포스트스케일러가 있습니다. 하나는 실행 모드용이고 다른 하나는 절전 모드용입니다. RWDTPS[4:0] 구성 비트는 실행 모드 포스트스케일러를 설정하고 SWDTPS[4:0] 구성 비트는 절전 모드 포스트스케일러를 설정합니다.

메모: 포스트스케일러 값의 구성 비트 이름은 다를 수 있습니다. 자세한 내용은 특정 장치 데이터 시트를 참조하십시오.

장치 구성 제어 창 모드

구성 비트 WINDIS를 삭제하여 창 모드를 활성화할 수 있습니다. 장치 구성에 의해 WDT 창 모드가 활성화되면 WDTWINEN 비트(WDTCONL[0])가 설정되며 소프트웨어로 지울 수 없습니다.

소프트웨어 제어 창 모드

WINDIS 구성 비트가 '1'이면 WDT 프로그램 가능 창 모드는 WDTWINEN 비트(WDTCONL[0])에 의해 활성화 또는 비활성화될 수 있습니다. '1'은 프로그래밍 가능한 창 모드가 활성화되었음을 나타내고 '0'은 프로그래밍 가능한 창 모드가 비활성화되었음을 나타냅니다.

WDT Postscaler 및 기간 선택

WDT에는 5개의 독립적인 1비트 포스트스케일러가 있습니다. 하나는 실행 모드용이고 다른 하나는 절전 모드용으로 다양한 타임아웃 기간을 생성합니다. 포스트스케일러는 1:1에서 2,147,483,647:3 분할기 비율을 제공합니다(표 1-3 참조). 포스트스케일러 설정은 장치 구성을 사용하여 선택됩니다. WDT 타임아웃 기간은 WDT 클럭 소스와 포스트스케일러의 조합으로 선택됩니다. WDT 주기 계산은 식 1-XNUMX 참조

방정식 3-1: WDT 타임아웃 기간 계산

WDT Time-out Period = (WDT Clock Period) • 2Postscaler

슬립 모드에서 WDT 클록 소스는 LPRC이고 타임아웃 기간은 SLPDIV[4:0] 비트 설정에 의해 결정됩니다. 공칭 주파수가 32kHz인 LPRC는 포스트스케일러가 최소값일 때 1밀리초의 WDT에 대한 공칭 타임아웃 기간을 생성합니다.
실행 모드에서 WDT 클럭 소스를 선택할 수 있습니다. 타임아웃 기간은 WDT 클록 소스 주파수와 RUNDIV[4:0] 비트 설정에 의해 결정됩니다.

메모: WDT 모듈 타임아웃 기간은 WDT 클럭 소스의 주파수와 직접적인 관련이 있습니다. 클록 소스의 공칭 주파수는 장치에 따라 다릅니다. 주파수는 장치 작동 용량에 따라 달라질 수 있습니다.tag전자 및 온도. 클록 주파수 사양은 특정 장치 데이터 시트를 참조하십시오. 실행 모드에 사용 가능한 클럭 소스는 장치에 따라 다릅니다. 사용 가능한 소스는 특정 장치 데이터 시트의 "Watchdog Timer" 장을 참조하십시오.

실행 모드에서 WDT 작동

WDT가 만료되거나 Window 모드에서 창 외부에서 지워지면 NMI 카운터가 만료될 때 장치 재설정이 생성됩니다.

WDT 클록 소스

WDT 실행 모드 클럭 소스는 사용자가 선택할 수 있습니다. 클럭 소스는 RCLKSEL[1:0](FWDT[6:5]) 장치 비트에 의해 선택됩니다. WDT 절전 모드는 LPRC를 클럭 소스로 사용합니다.

WDT 재설정(1)

실행 모드 WDT 카운터는 다음 중 하나에 의해 지워집니다.

  • 모든 장치 재설정
  • DEBUG 명령 실행
  • WDTCLRKEYx 비트(WDTCONH[0:5743])에 올바른 쓰기 값(15x0) 감지(Ex 참조)amp레 3-1)
  • 시계 스위치:(2)
  • 펌웨어 시작 클록 스위치
  • XNUMX단 속도 시동
  • FSCM(Fail-Safe Clock Monitor) 이벤트
  • 오실레이터 구성으로 인해 자동 클록 전환이 발생하고 장치 구성에 의해 XNUMX단 속도 시동이 활성화된 경우 슬립 모드에서 깨어난 후 클록 전환
    Sleep 모드 WDT 카운터는 Sleep 모드로 들어가면 재설정됩니다.

메모

  1. Run 모드 WDT는 장치가 절전 모드로 들어갈 때 재설정되지 않습니다.
  2. 특정 클럭 스위치 이벤트 이후의 WDT 재설정 동작은 장치에 따라 다릅니다. WDT를 지우는 클록 스위치 이벤트에 대한 설명은 특정 장치 데이터 시트의 "Watchdog Timer" 섹션을 참조하십시오.

Examp3-1절: SampWDT를 지우는 코드

표 3-1: WDT 타임아웃 기간 설정

포스트스케일러 값 WDT 클럭에 따른 타임아웃 기간
32kHz 8MHz 25MHz
00000 1밀리초 4마이크로초 1.28마이크로초
00001 2밀리초 8마이크로초 2.56마이크로초
00010 4밀리초 16마이크로초 5.12마이크로초
00011 8밀리초 32마이크로초 10.24마이크로초
00100 16밀리초 64마이크로초 20.48마이크로초
00101 32밀리초 128마이크로초 40.96마이크로초
00110 64밀리초 256마이크로초 81.92마이크로초
00111 128밀리초 512마이크로초 163.84마이크로초
01000 256밀리초 1.024밀리초 327.68마이크로초
01001 512밀리초 2.048밀리초 655.36마이크로초
01010 1.024초 4.096밀리초 1.31072밀리초
01011 2.048초 8.192밀리초 2.62144밀리초
01100 4.096초 16.384밀리초 5.24288밀리초
01101 8.192초 32.768밀리초 10.48576밀리초
01110 16.384초 65.536밀리초 20.97152밀리초
01111 32.768초 131.072밀리초 41.94304밀리초
10000 0:01:06 흠 262.144밀리초 83.88608밀리초
10001 0:02:11 흠 524.288밀리초 167.77216밀리초
10010 0:04:22 흠 1.048576초 335.54432밀리초
10011 0:08:44 흠 2.097152초 671.08864밀리초
10100 0:17:29 흠 4.194304초 1.34217728초
10101 0:34:57 흠 8.388608초 2.68435456초
10110 1:09:54 흠 16.777216초 5.36870912초
10111 2:19:49 흠 33.554432초 10.73741824초
11000 4:39:37 흠 0:01:07 흠 21.47483648초
11001 9:19:14 흠 0:02:14 흠 42.94967296초
11010 18:38:29 흠 0:04:28 흠 0:01:26 흠
11011 1일 13시 16분 58초 0:08:57 흠 0:02:52 흠
11100 3일 오전 2시 33분 55초 0:17:54 흠 0:05:44 흠
11101 6일 오전 5시 07분 51초 0:35:47 흠 0:11:27 흠
11110 12일 오전 10시 15분 42초 1:11:35 흠 0:22:54 흠
11111 24일 오전 20시 31분 24초 2:23:10 흠 0:45:49 흠

인터럽트 및 리셋 생성

실행 모드에서 WDT 시간 초과

실행 모드에서 WDT가 시간 초과되면 장치 재설정이 생성됩니다.
펌웨어는 WDTO 비트(RCON[4])를 테스트하여 리셋의 원인이 실행 모드에서 WDT 시간 초과인지 확인할 수 있습니다.

메모: 특정 장치 데이터 시트의 "재설정" 및 "인터럽트 컨트롤러" 장을 참조하십시오. 또한 자세한 내용은 "dsPIC39712/PIC70000600 제품군 참조 설명서"의 "재설정"(DS33) 및 "인터럽트"(DS24) 섹션을 참조하십시오.

절전 모드에서 WDT 시간 초과

절전 모드에서 WDT 모듈이 시간 초과되면 장치를 깨우고 WDT 실행 모드가 카운트를 재개합니다.
WDT 웨이크업을 감지하기 위해 WDTO 비트(RCON[4]), SLEEP 비트(RCON[3]) 및 IDLE 비트(RCON[2])를 테스트할 수 있습니다. WDTO 비트가 '1'이면 이벤트는 절전 모드에서 WDT 시간 초과로 인한 것입니다. 그런 다음 SLEEP 및 IDLE 비트를 테스트하여 디바이스가 깨어 있는 동안 WDT 이벤트가 발생했는지 또는 슬립 또는 유휴 모드에 있는지 여부를 결정할 수 있습니다.

메모: 특정 장치 데이터 시트의 "재설정" 및 "인터럽트 컨트롤러" 장을 참조하십시오. 또한 자세한 내용은 "dsPIC39712/PIC70000600 제품군 참조 설명서"의 "재설정"(DS33) 및 "인터럽트"(DS24) 섹션을 참조하십시오.

비 WDT 이벤트에 의한 절전 모드 해제

장치가 비 WDT NMI 인터럽트에 의해 절전 모드에서 깨어날 때 절전 모드 WDT는 리셋 상태로 유지되고 WDT 실행 모드는 사전 절전 카운트 값부터 계속 카운트합니다.

리셋 원인과 결과

재설정 원인 확인

WDT 재설정이 발생했는지 확인하기 위해 WDTO 비트(RCON[4])를 테스트할 수 있습니다. WDTO 비트가 '1'이면 리셋은 실행 모드에서 WDT 타임아웃으로 인한 것입니다. 소프트웨어는 WDTO 비트를 클리어하여 후속 리셋 소스를 올바르게 결정할 수 있도록 해야 합니다.

다양한 재설정의 효과

모든 형태의 장치 재설정은 WDT를 지웁니다. 재설정은 WDTCONH/L 레지스터를 기본값으로 되돌리고 WDT는 장치 구성에 의해 활성화되지 않는 한 비활성화됩니다.

메모: 장치 재설정 후 WDT ON 비트(WDTCONL[15])는 FWDTEN 비트(FWDT[15])의 상태를 반영합니다.

디버그 및 절전 모드에서 작동

절전 모드에서 WDT 작동

활성화된 경우 WDT는 절전 모드 또는 유휴 모드에서 계속 작동하며 장치를 깨우는 데 사용할 수 있습니다. 이렇게 하면 WDT가 만료되거나 다른 인터럽트가 장치를 깨울 때까지 장치가 절전 또는 유휴 모드를 유지할 수 있습니다. 장치가 웨이크업 후 슬립 또는 유휴 모드로 다시 들어가지 않으면 WDT 실행 모드 NMI를 방지하기 위해 WDT를 비활성화하거나 주기적으로 서비스해야 합니다.

절전 모드에서 WDT 작동

WDT 모듈은 장치를 절전 모드에서 깨우는 데 사용할 수 있습니다. 절전 모드에 들어가면 WDT 실행 모드 카운터는 카운트를 중지하고 절전 모드 WDT는 시간이 초과되거나 장치가 인터럽트에 의해 깨어날 때까지 리셋 상태부터 카운트를 시작합니다. WDT가 절전 모드에서 시간 초과되면 장치가 깨어나서 코드 실행을 재개하고 WDTO 비트(RCON[4])를 설정하고 실행 모드 WDT를 재개합니다.

유휴 모드에서 WDT 작동

WDT 모듈은 장치를 유휴 모드에서 깨우는 데 사용할 수 있습니다. 유휴 모드에 들어갈 때 WDT 실행 모드 카운터는 카운트를 중지하고 절전 모드 WDT는 시간이 초과되거나 장치가 인터럽트에 의해 깨어날 때까지 리셋 상태부터 카운트를 시작합니다. 장치가 깨어나 코드 실행을 재개하고 WDTO 비트(RCON[4])를 설정하고 실행 모드 WDT를 재개합니다.

깨우는 동안 시간 지연

절전 상태의 WDT 이벤트와 코드 실행 시작 사이에 시간 지연이 있습니다. 이 지연 시간은 사용 중인 오실레이터의 시작 시간으로 구성됩니다. 절전 모드에서 깨우는 것과 달리 유휴 모드에서 깨우는 것과 관련된 시간 지연이 없습니다. 유휴 모드에서는 시스템 시계가 실행됩니다. 따라서 웨이크업 시 시동 지연이 필요하지 않습니다.

절전 모드의 WDT 클록 소스

절전 모드용 WDT 클럭 소스는 사용자가 선택할 수 없습니다. 클럭 소스는 LPRC입니다.

디버그 모드에서 WDT 작동

시간 초과를 방지하려면 디버그 모드에서 WDT를 비활성화해야 합니다.

관련 애플리케이션 노트

이 섹션에는 설명서의 이 섹션과 관련된 애플리케이션 노트가 나열되어 있습니다. 이러한 애플리케이션 노트는 dsPIC33/PIC24 디바이스 제품군을 위해 특별히 작성되지 않았을 수 있지만 개념은 적절하며 수정 및 가능한 제한과 함께 사용될 수 있습니다. Dual Watchdog Timer 모듈과 관련된 현재 애플리케이션 노트는 다음과 같습니다.

메모: 마이크로칩 방문 web사이트 (www.마이크로칩닷컴) 추가 애플리케이션 노트 및 코드 예ampdsPIC33/PIC24 장치 제품군용 파일.

개정 내역

개정판 A(2016년 XNUMX월)
이것은 이 문서의 초기 버전입니다.
개정 B(2018년 XNUMX월)
장치 제품군 이름을 dsPIC33/PIC24로 변경합니다.
페이지 바닥글에서 고급 정보 워터마크를 제거합니다.
개정 C(2022년 XNUMX월)
업데이트 표 2-1 및 표 3-1.
업데이트 레지스터 2-1.
업데이트 섹션 3.1 "작동 모드", 섹션 3.2 "감시 타이머 프로그래밍 가능 창", 섹션 3.3 "WDT 활성화 및 비활성화", 섹션 3.4.1 "장치
구성 제어 윈도우 모드”, 섹션 3.4.2 “소프트웨어 제어 윈도우 모드”, 섹션 3.7 “WDT 클럭 소스” 및 섹션 6.1.2 “유휴 모드에서 WDT 작동”.
Watchdog Timer 표준은 "마스터" 및 "슬레이브"라는 용어를 사용합니다. 이 문서에서 사용되는 동등한 Microchip 용어는 각각 "주요" 및 "보조"입니다.

Microchip 제품의 코드 보호 기능에 대한 자세한 내용은 다음과 같습니다.

  • 마이크로칩 제품은 해당 마이크로칩 데이터 시트에 포함된 사양을 충족합니다.
  • Microchip은 자사 제품군이 의도된 방식으로, 작동 사양 내에서, 정상적인 조건에서 사용될 경우 안전하다고 믿습니다.
  • Microchip은 지적 재산권을 소중히 여기고 적극적으로 보호합니다. Microchip 제품의 코드 보호 기능을 위반하려는 시도는 엄격히 금지되며 디지털 밀레니엄 저작권법을 위반할 수 있습니다.
  • Microchip이나 다른 반도체 제조업체는 코드의 보안을 보장할 수 없습니다. 코드 보호는 제품이 "깨지지 않는다"는 것을 보장한다는 것을 의미하지 않습니다. 코드 보호는 끊임없이 진화하고 있습니다. Microchip은 제품의 코드 보호 기능을 지속적으로 개선하기 위해 최선을 다하고 있습니다.

이 간행물과 여기에 있는 정보는 Microchip 제품을 설계, 테스트 및 응용 프로그램과 통합하는 것을 포함하여 Microchip 제품에만 사용할 수 있습니다. 이 정보를 다른 방식으로 사용하는 것은 이 약관을 위반하는 것입니다. 장치 응용 프로그램에 관한 정보는 귀하의 편의를 위해서만 제공되며 업데이트로 대체될 수 있습니다. 애플리케이션이 사양을 충족하는지 확인하는 것은 귀하의 책임입니다. 추가 지원이 필요한 경우 지역 Microchip 영업 사무소에 문의하거나 다음에서 추가 지원을 받으십시오.
https://www.microchip.com/en-us/support/design-help/client-supportservices.
이 정보는 MICROCHIP에서 "있는 그대로" 제공합니다. MICROCHIP은 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하되 이에 국한되지 않는 정보와 관련하여 명시적이든 묵시적이든, 서면이든 구두든, 법적이든 기타 어떤 종류의 진술이나 보증도 하지 않습니다. 상태, 품질 또는 성능.

어떠한 경우에도 MICROCHIP은 정보 또는 그 사용과 관련된 간접적, 특수적, 징벌적, 우발적 또는 결과적 손실, 피해, 비용 또는 경비에 대해 어떠한 원인으로 발생하든, MICROCHIP이 가능성을 통보받았거나 피해가 예측 가능한 경우에도 책임을 지지 않습니다. 법률에서 허용하는 최대 범위 내에서 정보 또는 그 사용과 관련된 모든 청구에 대한 MICROCHIP의 총 책임은 귀하가 정보에 대해 MICROCHIP에 직접 지불한 수수료 금액을 초과하지 않습니다(있는 경우).
생명 유지 및/또는 안전 애플리케이션에서 Microchip 장치를 사용하는 것은 전적으로 구매자의 위험이며, 구매자는 그러한 사용으로 인해 발생하는 모든 손해, 청구, 소송 또는 비용으로부터 Microchip을 방어, 보상하고 무해하게 보호하는 데 동의합니다. 달리 명시되지 않는 한, Microchip 지적 재산권에 따라 묵시적 또는 기타 방식으로 라이선스가 양도되지 않습니다.

상표

Microchip 이름 및 로고, Microchip 로고, Adaptec, AnyRate, AVR, AVR 로고, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi 로고, MOST, MOST 로고, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 로고, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST 로고, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron 및 XMEGA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 등록 상표입니다. AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus 로고, QuietWire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath 및 ZL은 미국에서 Microchip Technology Incorporated의 등록 상표입니다. Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, 증강 스위칭, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, 동적 평균 매칭, DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 회로 내 직렬 프로그래밍, ICSP, INICnet, 지능형 병렬화, 칩 간 연결, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB 인증 로고, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient 코드 생성, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE , 리플 차단기, RTAX, RTG4, SAM-ICE, 직렬 쿼드 I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, 전체 내구성, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect 및 ZENA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 상표입니다.

SQTP는 미국 Microchip Technology Incorporated의 서비스 상표입니다.
Adaptec 로고, Frequency on Demand, Silicon Storage Technology, Symmcom 및 Trusted Time은 기타 국가에서 Microchip Technology Inc.의 등록 상표입니다. GestIC는 다른 국가에서 Microchip Technology Inc.의 자회사인 Microchip Technology Germany II GmbH & Co. KG의 등록 상표입니다.
여기에 언급된 다른 모든 상표는 해당 회사의 자산입니다.
© 2016-2022, Microchip Technology Incorporated 및 그
자회사.
모든 권리는 보호됩니다.
ISBN: 978-1-5224-9893-3

전세계 판매 및 서비스

아메리카
회사 사무실
2355 웨스트 챈들러 대로
챈들러, AZ 85224-6199
전화: 480-792-7200
팩스: 480-792-7277
기술 지원:
http://www.microchip.com/support
Web 주소: www.마이크로칩닷컴

문서 / 리소스

MICROCHIP dsPIC33 듀얼 워치독 타이머 [PDF 파일] 사용자 가이드
dsPIC33 이중 감시 타이머, dsPIC33, 이중 감시 타이머, 감시 타이머

참고문헌

댓글을 남겨주세요

이메일 주소는 공개되지 않습니다. 필수 항목은 표시되어 있습니다. *