User Manual for MICROCHIP models including: dsPIC33 PIC24, DMT Deadman Timer Module, dsPIC33 PIC24 DMT Deadman Timer Module, Deadman Timer Module, Timer Module

dsPIC33/PIC24 FRM, Deadman Timer (DMT)

dsPIC33, PIC24, Deadman Timer, DMT

dsPIC33;, PIC24;, Deadman, Timer;, DMT

Microchip Technology Inc.

Download


File Info : application/pdf, 20 Pages, 237.91KB

PDF preview unavailable. Download the PDF instead.

dsPIC33-PIC24-FRM-Deadman-Timer-DMT-70005155
Deadman Timer (DMT)

HIGHLIGHTS

This section of the manual contains the following major topics:

1.0 Introduction ....................................................................................................................... 2 2.0 DMT Registers .................................................................................................................. 4 3.0 DMT Operation ............................................................................................................... 13 4.0 Related Application Notes............................................................................................... 17 5.0 Revision History .............................................................................................................. 18

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 1

dsPIC33/PIC24 Family Reference Manual

Note:

This family reference manual section is meant to serve as a complement to device data sheets. Depending on the device variant, this manual section may not apply to all dsPIC33/PIC24 devices.
Please consult the note at the beginning of the "Deadman Timer (DMT)" chapter in the current device data sheet to check whether this document supports the device you are using.
Device data sheets and family reference manual sections are available for download from the Microchip Worldwide Website at: http://www.microchip.com.

1.0 INTRODUCTION
The Deadman Timer (DMT) module is designed to enable users to monitor the health of their application software by requiring periodic timer interrupts within a user-specified timing window. The DMT module is a synchronous counter and when enabled, counts instruction fetches, and is able to cause a soft trap/interrupt. Refer to the "Interrupt Controller" chapter in the current device data sheet to check whether the DMT event is a soft trap or interrupt if the DMT counter is not cleared within a set number of instructions. The DMT is typically connected to the system clock that drives the processor (TCY). The user specifies the timer time-out value and a mask value that specifies the range of the window, which is the range of counts that is not considered for the comparison event.
Some of the key features of this module are:
· Configuration or software enable controlled · User-configurable time-out period or instruction count · Two instruction sequences to clear timer · 32-bit configurable window to clear timer
Figure 1-1 shows a block diagram of the Deadman Timer module.

Figure 1-1:

Deadman Timer Module Block Diagram

DMT Enable(1) Instruction Fetched
Strobe(2)
System Clock

32-Bit DMT Counter

BAD1(3) BAD2(3)
Counter = DMT Max Count(4)

Improper Sequence Flag
DMT Event(5)

Note 1: 2:
3: 4: 5:

The DMT can be enabled either in the Configuration register, FDMT, or in the Special Function Register (SFR), DMTCON. The DMT is clocked whenever the instructions are fetched by the processor using a system clock. For example, after executing a GOTO instruction (which uses four instruction cycles), the DMT counter will be incremented only once. BAD1 and BAD2 are the improper sequence flags. For more information, refer to Section 3.5 "Resetting the DMT". The DMT Max Count is controlled by the initial value of the FDMTCNL and FDMTCNH registers. A DMT event is a non-maskable soft trap or interrupt.

DS70005155B-page 2

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)

Figure 1-2:

Figure 1-2 shows the timing diagram of a Deadman Timer event. Deadman Timer Event

DMT Enable TCY
Counter Reset

DMTCNT

0

DMT Max Count

1

N-2

N-1

N

DMT Event

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 3

dsPIC33/PIC24 Family Reference Manual

2.0 DMT REGISTERS
Note: Each dsPIC33/PIC24 family device variant may have one or more DMT modules. Refer to the specific device data sheets for more details.
The DMT module consists of the following Special Function Registers (SFRs):
· DMTCON: Deadman Timer Control Register This register is used to enable or disable the Deadman Timer. · DMTPRECLR: Deadman Timer Preclear Register This register is used to write a preclear keyword to eventually clear the Deadman Timer. · DMTCLR: Deadman Timer Clear Register This register is used to write a clear keyword after a preclear word has been written to the DMTPRECLR register. The Deadman Timer will be cleared following a clear keyword write. · DMTSTAT: Deadman Timer Status Register This register provides status for incorrect keyword values or sequences, or Deadman Timer events and whether or not the DMT clear window is open. · DMTCNTL: Deadman Timer Count Register Low and
DMTCNTH: Deadman Timer Count Register High These lower and higher count registers, together as a 32-bit counter register, allow user software to read the contents of the DMT counter. · DMTPSCNTL: Post Status Configure DMT Count Status Register Low and
DMTPSCNTH: Post Status Configure DMT Count Status Register High These lower and higher registers provide the value of the DMTCNTx Configuration bits in the FDMTCNTL and FDMTCNTH registers, respectively. · DMTPSINTVL: Post Status Configure DMT Interval Status Register Low and
DMTPSINTVH: Post Status Configure DMT Interval Status Register High These lower and higher registers provide the value of the DMTIVTx Configuration bits in the FDMTIVTL and FDMTIVTH registers, respectively. · DMTHOLDREG: DMT Hold Register This register holds the last read value of the DMTCNTH register when the DMTCNTH and DMTCNTL registers are read.

Table 2-1:

Fuse Configuration Registers that Affect Deadman Timer Module

Register Name

Description

FDMT FDMTCNTL and FDMTCNTH
FDMTIVTL and FDMTIVTH

Setting the DMTEN bit in this register enables the DMT module and if this bit is clear, DMT can be enabled in software through the DMTCON register.
Lower (DMTCNT[15:0]) and upper (DMTCNT[31:16]) 16 bits configure the 32-bit DMT instruction count time-out value. The value written to these registers is the total number of instructions that are required for a DMT event.
Lower (DMTIVT[15:0]) and upper (DMTIVT[31:16]) 16 bits configure the 32-bit DMT window interval. The value written to these registers is the minimum number of instructions that are required to clear the DMT.

DS70005155B-page 4

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 5

 2014-2022 Microchip Technology Inc. and its subsidiaries

2.1 Register Map

A summary of the registers associated with the Deadman Timer (DMT) module is provided in Table 2-2.

Table 2-2:

. DMT Register Map

SFR Name

Bit 15

Bit 14

Bit 13

Bit 12

Bit 11

Bit 10

Bit 9

Bit 8

Bit 7 Bit 6

DMTCON

ON

--

--

--

--

--

DMTPRECLR

STEP1[7:0]

DMTCLR

--

--

--

--

--

--

DMTSTAT

--

--

--

--

--

--

DMTCNTL

DMTCNTH

DMTHOLDREG

DMTPSCNTL

DMTPSCNTH

DMTPSINTVL

DMTPSINTVH

Legend: -- = unimplemented, read as `0'. Reset values are shown in hexadecimal.

--

--

--

--

--

--

--

--

--

--

BAD1 BAD2

COUNTER[15:0]

COUNTER[31:16]

UPRCNT[15:0]

PSCNT[15:0]

PSCNT[31:16]

PSINTV[15:0]

PSINTV[31:16]

Bit 5 -- --
DMTEVENT

Bit 4

Bit 3

--

--

--

--

STEP2[7:0]

--

--

Bit 2 -- --
--

Bit 1 -- --

Bit 0 -- --

--

WINOPN

Deadman Timer (DMT)

dsPIC33/PIC24 Family Reference Manual

2.2 DMT Control Register

Register 2-1:

DMTCON: Deadman Timer Control Register

R/W-0

U-0

U-0

U-0

U-0

U-0

ON(1,2)

--

--

--

--

--

bit 15

U-0

U-0

--

--

bit 8

U-0

U-0

U-0

U-0

U-0

U-0

U-0

U-0

--

--

--

--

--

--

--

--

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15 bit 14-0

ON: Deadman Timer Module Enable bit(1,2) 1 = Deadman Timer module is enabled 0 = Deadman Timer module is not enabled
Unimplemented: Read as `0'

Note 1: This bit has control only when DMTEN = 0 in the FDMT register. 2: DMT cannot be disabled in software. Writing `0' to this bit has no effect.

Register 2-2: R/W-0
bit 15

DMTPRECLR: Deadman Timer Preclear Register

R/W-0

R/W-0

R/W-0

R/W-0

STEP1[7:0](1)

R/W-0

R/W-0

R/W-0 bit 8

U-0

U-0

U-0

U-0

U-0

U-0

U-0

U-0

--

--

--

--

--

--

--

--

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-8 bit 7-0

STEP1[7:0]: DMT Preclear Enable bits(1)

01000000 =

Enables the Deadman Timer preclear (Step 1)

All Other Write Patterns = Sets the BAD1 flag.

Unimplemented: Read as `0'

Note 1: Bits[15:8] are cleared when the DMT counter is reset by writing a correct sequence of STEP1 and STEP2.

DS70005155B-page 6

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)

Register 2-3:

DMTCLR: Deadman Timer Clear Register

U-0

U-0

U-0

U-0

U-0

U-0

U-0

U-0

--

--

--

--

--

--

--

--

bit 15

bit 8

R/W-0 bit 7

R/W-0

R/W-0

R/W-0

R/W-0

STEP2[7:0](1)

R/W-0

R/W-0

R/W-0 bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-8 bit 7-0

Unimplemented: Read as `0'

STEP2[7:0]: DMT Clear Timer bits(1)

00001000 =

Clears STEP1[7:0], STEP2[7:0] and the Deadman Timer if preceded by the

correct loading of the STEP1[7:0] bits in the correct sequence. The write to

these bits may be verified by reading the DMTCNT register and observing

the counter being reset.

All Other Write Patterns = Sets the BAD2 flag. The value of STEP1[7:0] will remain unchanged and the

new value being written by STEP2[7:0] will be captured.

Note 1: Bits[7:0] are cleared when the DMT counter is reset by writing a correct sequence of STEP1 and STEP2.

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 7

dsPIC33/PIC24 Family Reference Manual

Register 2-4:

DMTSTAT: Deadman Timer Status Register

U-0

U-0

U-0

--

--

--

bit 15

U-0

U-0

U-0

U-0

U-0

--

--

--

--

--

bit 8

R-0

R-0

R-0

U-0

U-0

U-0

U-0

R-0

BAD1(1)

BAD2(1) DMTEVENT(1)

--

--

--

--

WINOPN

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-8 bit 7
bit 6
bit 5
bit 4-1 bit 0

Unimplemented: Read as `0' BAD1: Bad STEP1[7:0] Value Detect bit(1) 1 = Incorrect STEP1[7:0] value was detected 0 = Incorrect STEP1[7:0] value was not detected BAD2: Bad STEP2[7:0] Value Detect bit(1) 1 = Incorrect STEP2[7:0] value was detected 0 = Incorrect STEP2[7:0] value was not detected DMTEVENT: Deadman Timer Event bit(1) 1 = Deadman Timer event was detected (counter expired, or incorrect STEP1[7:0] or STEP2[7:0]
value was entered prior to counter increment) 0 = Deadman Timer event was not detected
Unimplemented: Read as `0'
WINOPN: Deadman Timer Clear Window bit 1 = Deadman Timer clear window is open 0 = Deadman Timer clear window is not open

Note 1: BAD1, BAD2 and DMTEVENT bits are cleared only on a Reset.

DS70005155B-page 8

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)

Register 2-5: R-0
bit 15

DMTCNTL: Deadman Timer Count Register Low

R-0

R-0

R-0

R-0

R-0

COUNTER[15:8]

R-0

R-0

bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

COUNTER[7:0]

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

COUNTER[15:0]: Read Current Contents of Lower DMT Counter bits

Register 2-6: R-0
bit 15

DMTCNTH: Deadman Timer Count Register High

R-0

R-0

R-0

R-0

R-0

COUNTER[31:24]

R-0

R-0

bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

COUNTER[23:16]

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

COUNTER[31:16]: Read Current Contents of Higher DMT Counter bits

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 9

dsPIC33/PIC24 Family Reference Manual

Register 2-7: R-0
bit 15

DMTPSCNTL: Post Status Configure DMT Count Status Register Low

R-0

R-0

R-0

R-0

R-0

R-0

PSCNT[15:8]

R-0 bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

PSCNT[7:0]

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

PSCNT[15:0]: Lower DMT Instruction Count Value Configuration Status bits This is always the value of the FDMTCNTL Configuration register.

Register 2-8: R-0
bit 15

DMTPSCNTH: Post Status Configure DMT Count Status Register High

R-0

R-0

R-0

R-0

R-0

R-0

PSCNT[31:24]

R-0 bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

PSCNT[23:16]

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

PSCNT[31:16]: Higher DMT Instruction Count Value Configuration Status bits This is always the value of the FDMTCNTH Configuration register.

DS70005155B-page 10

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)

Register 2-9: R-0
bit 15

DMTPSINTVL: Post Status Configure DMT Interval Status Register Low

R-0

R-0

R-0

R-0

R-0

R-0

PSINTV[15:8]

R-0 bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

PSINTV[7:0]

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

PSINTV[15:0]: Lower DMT Window Interval Configuration Status bits This is always the value of the FDMTIVTL Configuration register.

Register 2-10: R-0
bit 15

DMTPSINTVH: Post Status Configure DMT Interval Status Register High

R-0

R-0

R-0

R-0

R-0

R-0

PSINTV[31:24]

R-0 bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

PSINTV[23:16]

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

PSINTV[31:16]: Higher DMT Window Interval Configuration Status bits This is always the value of the FDMTIVTH Configuration register.

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 11

dsPIC33/PIC24 Family Reference Manual

Register 2-11:

DMTHOLDREG: DMT Hold Register

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

UPRCNT[15:8](1)

bit 15

bit 8

R-0

R-0

R-0

R-0

R-0

R-0

R-0

R-0

UPRCNT[7:0](1)

bit 7

bit 0

Legend: R = Readable bit -n = Value at POR

W = Writable bit `1' = Bit is set

U = Unimplemented bit, read as `0'

`0' = Bit is cleared

x = Bit is unknown

bit 15-0

UPRCNT[15:0]: Contains Value of the DMTCNTH Register When DMTCNTL and DMTCNTH Registers were Last Read bits(1)

Note 1: The DMTHOLDREG register is initialized to `0' on Reset, and is only loaded when the DMTCNTL and DMTCNTH registers are read.

DS70005155B-page 12

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)
3.0 DMT OPERATION
3.1 Modes of Operation
The primary function of the Deadman Timer (DMT) module is to interrupt the processor in the event of a software malfunction. The DMT module, which works on the system clock, is a freerunning instruction fetch timer, which is clocked whenever an instruction fetch occurs until a count match occurs. The instructions are not fetched when the processor is in Sleep mode. The DMT module consists of a 32-bit counter, the read-only DMTCNTL and DMTCNTH registers with a time-out count match value, as specified by the two external, 16-bit Configuration Fuse registers, FDMTCNTL and FDMTCNTH. Whenever the count match occurs, a DMT event will occur, which is nothing but a soft trap/interrupt. Refer to the "Interrupt Controller" chapter in the current device data sheet to check whether the DMT event is a soft trap or interrupt. A DMT module is typically used in mission-critical and safety-critical applications, where any failure of the software functionality and sequencing must be detected.
3.2 Enabling and Disabling the DMT Module
The DMT module can be enabled or disabled by the device configuration or it can be enabled through software by writing to the DMTCON register. If the DMTEN Configuration bit in the FDMT register is set, the DMT is always enabled. The ON control bit (DMTCON[15]) will reflect this by reading a `1'. In this mode, the ON bit cannot be cleared in software. To disable the DMT, the configuration must be rewritten to the device. If DMTEN is set to `0' in the fuse, then the DMT is disabled in hardware. Software can enable the DMT by setting the ON bit in the Deadman Timer Control (DMTCON) register. However, for software control, the DMTEN Configuration bit in the FDMT register should be set to `0'. Once enabled, disabling the DMT in software is not possible.
3.3 DMT Count Windowed Interval
The DMT module has a Windowed Operation mode. The DMTIVT[15:0] and DMTIVT[31:16] Configuration bits in the FDMTIVTL and FDMTIVTH registers, respectively, set the window interval value. In Windowed mode, software can clear the DMT only when the counter is in its final window before a count match occurs. That is, if the DMT counter value is greater than or equal to the value written to the window interval value, then only the clear sequence can be inserted into the DMT module. If the DMT is cleared before the allowed window, a Deadman Timer soft trap or interrupt is immediately generated.
3.4 DMT Operation in Power-Saving Modes
As the DMT module is only incremented by instruction fetches, the count value will not change when the core is inactive. The DMT module remains inactive in Sleep and Idle modes. As soon as the device wakes up from Sleep or Idle, the DMT counter again starts incrementing.

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 13

dsPIC33/PIC24 Family Reference Manual
3.5 Resetting the DMT
The DMT can be reset in two ways: one way is using a system Reset and another way is by writing an ordered sequence to the DMTPRECLR and DMTCLR registers. Clearing the DMT counter value requires a special sequence of operations:
1. The STEP1[7:0] bits in the DMTPRECLR register must be written as `01000000' (0x40): · If any value other than 0x40 is written to the STEP1x bits, the BAD1 bit in the DMTSTAT register will be set and it causes a DMT event to occur. · If Step 2 is not preceded by Step 1, BAD1 and DMTEVENT Flags are set. BAD1 and DMTEVENT flags gets cleared only on a device Reset.
2. The STEP2[7:0] bits in the DMTCLR register must be written as `00001000' (0x08). This can only be done if preceded by Step 1 and the DMT is in the open window interval. Once correct values are written, the DMT counter will be cleared to zero. The DMTPRECLR, DMTCLR and DMTSTAT registers' value will also be cleared zero. · If any value other than 0x08 is written to the STEP2x bits, the BAD2 bit in the DMTSTAT register will be set and causes a DMT event to occur. · Step 2 is not carried out in the open window interval; it causes the BAD2 flag to be set. A DMT event immediately occurs. · Writing back-to-back preclear sequences (0x40) also causes the BAD2 flag to be set and causes a DMT event.
Note: After an invalid preclear/clear sequence, it takes at least two cycles to set the BAD1/ BAD2 flag and three cycles at least to set the DMTEVENT.
The BAD2 and DMTEVENT flags gets cleared only on a device Reset. Refer to the flowchart as shown in Figure 3-1.

DS70005155B-page 14

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)

Figure 3-1:

Flowchart for DMT Event
Start
(Note 1)
DMT Enabled

INIT
DMTSTAT = 0 STEP1 = 0 STEP2 = 0
DMTEVENT = 0

Valid CLEAR Sequence in Open Window Interval

System Reset(2)

RUN
Counter Enabled
DMTEVENT = 0

Insert PRECLEAR Sequence

STEP 1 ­ PRECLEAR

Insert CLEAR Sequence

STEP 2 ­ CLEAR

DMT Counter Clear Sequence

DMT Counter Overflow
DMT_EVENT
DMTEVENT = 1

Invalid Preclear Sequence(3)
BAD1 ­
BAD1 (DMTSTAT[7]) = 1

Invalid Clear Sequence(4)
BAD2 ­
BAD2 (DMTSTAT[6]) = 1

On Counter Increment

Note 1: 2:
3:
4:

DMT is enabled (ON (DMTCON[15]) as qualified by FDMT in the Configuration Fuses.
DMT counter can be reset after the counter expiry or BAD1/BAD2 occurrences only by device Reset.
STEP2x before STEP1x (DMTCLEAR written before DMTPRECLEAR) or BAD_STEP1 (DMTPRECLEAR written with value not equal to 0x40).
STEP1x (DMTPRECLEAR written again after STEP1x), or BAD_STEP2 (DMTCLR written with value not equal to 0x08) or window interval is not open.

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 15

dsPIC33/PIC24 Family Reference Manual
3.6 DMT Count Selection
The Deadman Timer count is set by the DMTCNTL[15:0] and DMTCNTH[31:16] register bits in the FDMTCNTL and FDMTCNTH registers, respectively. The current DMT count value can be obtained by reading the lower and higher Deadman Timer Count registers, DMTCNTL and DMTCNTH.
The PSCNT[15:0] and PSCNT[31:16] bits in the DMTPSCNTL and DMTPSCNTH registers, respectively, allow the software to read the maximum count selected for the Deadman Timer. That means these PSCNTx bit values are nothing but the values that are initially written to the DMTCNTx bits in the Configuration Fuse registers, FDMTCNTL and FDMTCNTH. Whenever the DMT event occurs, the user can always compare to see whether the current counter value in the DMTCNTL and DMTCNTH registers is equal to the value of the DMTPSCNTL and DMTPSCNTH registers, which hold the maximum count value.
The PSINTV[15:0] and PSINTV[31:16] bits in the DMTPSINTVL and DMTPSINTVH registers, respectively, allow the software to read the DMT window interval value. That means these registers read the value which is written to the FDMTIVTL and FDMTIVTH registers. So whenever the DMT current counter value in DMTCNTL and DMTCNTH reaches the value of the DMTPSINTVL and DMTPSINTVH registers, the window interval opens so that the user can insert the clear sequence to the STEP2x bits, which causes the DMT to reset.
The UPRCNT[15:0] bits in the DMTHOLDREG register hold the value of the last read of the DMT upper count values (DMTCNTH) whenever DMTCNTL and DMTCNTH are read.

DS70005155B-page 16

 2014-2022 Microchip Technology Inc. and its subsidiaries

Deadman Timer (DMT)

4.0

RELATED APPLICATION NOTES

This section lists application notes that are related to this section of the manual. These application notes may not be written specifically for the dsPIC33/PIC24 product families, but the concepts are pertinent and could be used with modification and possible limitations. The current application notes related to the Deadman Timer (DMT) are:

Title No related application notes at this time.

Application Note #

Note: Please visit the Microchip website (www.microchip.com) for additional Application Notes and code examples for the dsPIC33/PIC24 family of devices.

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 17

dsPIC33/PIC24 Family Reference Manual
5.0 REVISION HISTORY
Revision A (February 2014)
This is the initial released version of this document.
Revision B (March 2022)
Updates Figure 1-1 and Figure 3-1. Updates Register 2-1, Register 2-2, Register 2-3, Register 2-4, Register 2-9 and Register 2-10. Updates Table 2-1 and Table 2-2. Updates Section 1.0 "Introduction", Section 2.0 "DMT Registers", Section 3.1 "Modes of Operation", Section 3.2 "Enabling and Disabling the DMT Module", Section 3.3 "DMT Count Windowed Interval", Section 3.5 "Resetting the DMT" and Section 3.6 "DMT Count Selection". Moves the Register Map to Section 2.0 "DMT Registers".

DS70005155B-page 18

 2014-2022 Microchip Technology Inc. and its subsidiaries

Note the following details of the code protection feature on Microchip products: · Microchip products meet the specifications contained in their particular Microchip Data Sheet.
· Microchip believes that its family of products is secure when used in the intended manner, within operating specifications, and under normal conditions.
· Microchip values and aggressively protects its intellectual property rights. Attempts to breach the code protection features of Microchip product is strictly prohibited and may violate the Digital Millennium Copyright Act.
· Neither Microchip nor any other semiconductor manufacturer can guarantee the security of its code. Code protection does not mean that we are guaranteeing the product is "unbreakable". Code protection is constantly evolving. Microchip is committed to continuously improving the code protection features of our products.

This publication and the information herein may be used only with Microchip products, including to design, test, and integrate Microchip products with your application. Use of this information in any other manner violates these terms. Information regarding device applications is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. Contact your local Microchip sales office for additional support or, obtain additional support at https:// www.microchip.com/en-us/support/design-help/client-supportservices.
THIS INFORMATION IS PROVIDED BY MICROCHIP "AS IS". MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, OR WARRANTIES RELATED TO ITS CONDITION, QUALITY, OR PERFORMANCE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL, OR CONSEQUENTIAL LOSS, DAMAGE, COST, OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE INFORMATION OR ITS USE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THE INFORMATION OR ITS USE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THE INFORMATION.
Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless otherwise stated.
For information regarding Microchip's Quality Management Systems, please visit www.microchip.com/quality.

Trademarks The Microchip name and logo, the Microchip logo, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
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 logo, QuietWire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, Symmcom, and Trusted Time are registered trademarks of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.
© 2014-2022, Microchip Technology Incorporated and its subsidiaries.
All Rights Reserved.
ISBN: 978-1-6683-0063-3

 2014-2022 Microchip Technology Inc. and its subsidiaries

DS70005155B-page 19

AMERICAS
Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://www.microchip.com/ support Web Address: www.microchip.com
Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455
Austin, TX Tel: 512-257-3370
Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088
Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075
Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924
Detroit Novi, MI Tel: 248-848-4000
Houston, TX Tel: 281-894-5983
Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380
Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800
Raleigh, NC Tel: 919-844-7510
New York, NY Tel: 631-435-6000
San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270
Canada - Toronto Tel: 905-695-1980 Fax: 905-695-2078

Worldwide Sales and Service

ASIA/PACIFIC
Australia - Sydney Tel: 61-2-9868-6733
China - Beijing Tel: 86-10-8569-7000
China - Chengdu Tel: 86-28-8665-5511
China - Chongqing Tel: 86-23-8980-9588
China - Dongguan Tel: 86-769-8702-9880
China - Guangzhou Tel: 86-20-8755-8029
China - Hangzhou Tel: 86-571-8792-8115
China - Hong Kong SAR Tel: 852-2943-5100
China - Nanjing Tel: 86-25-8473-2460
China - Qingdao Tel: 86-532-8502-7355
China - Shanghai Tel: 86-21-3326-8000
China - Shenyang Tel: 86-24-2334-2829
China - Shenzhen Tel: 86-755-8864-2200
China - Suzhou Tel: 86-186-6233-1526
China - Wuhan Tel: 86-27-5980-5300
China - Xian Tel: 86-29-8833-7252
China - Xiamen Tel: 86-592-2388138
China - Zhuhai Tel: 86-756-3210040

ASIA/PACIFIC
India - Bangalore Tel: 91-80-3090-4444
India - New Delhi Tel: 91-11-4160-8631
India - Pune Tel: 91-20-4121-0141
Japan - Osaka Tel: 81-6-6152-7160
Japan - Tokyo Tel: 81-3-6880- 3770
Korea - Daegu Tel: 82-53-744-4301
Korea - Seoul Tel: 82-2-554-7200
Malaysia - Kuala Lumpur Tel: 60-3-7651-7906
Malaysia - Penang Tel: 60-4-227-8870
Philippines - Manila Tel: 63-2-634-9065
Singapore Tel: 65-6334-8870
Taiwan - Hsin Chu Tel: 886-3-577-8366
Taiwan - Kaohsiung Tel: 886-7-213-7830
Taiwan - Taipei Tel: 886-2-2508-8600
Thailand - Bangkok Tel: 66-2-694-1351
Vietnam - Ho Chi Minh Tel: 84-28-5448-2100

EUROPE
Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393
Denmark - Copenhagen Tel: 45-4485-5910 Fax: 45-4485-2829
Finland - Espoo Tel: 358-9-4520-820
France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Germany - Garching Tel: 49-8931-9700
Germany - Haan Tel: 49-2129-3766400
Germany - Heilbronn Tel: 49-7131-72400
Germany - Karlsruhe Tel: 49-721-625370
Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44
Germany - Rosenheim Tel: 49-8031-354-560
Israel - Ra'anana Tel: 972-9-744-7705
Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781
Italy - Padova Tel: 39-049-7625286
Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340
Norway - Trondheim Tel: 47-7288-4388
Poland - Warsaw Tel: 48-22-3325737
Romania - Bucharest Tel: 40-21-407-87-50
Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91
Sweden - Gothenberg Tel: 46-31-704-60-40
Sweden - Stockholm Tel: 46-8-5090-4654
UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820

DS70005155B-page 20

 2014-2022 Microchip Technology Inc. and its subsidiaries 09/14/21



References

Acrobat Distiller 21.0 (Windows)