Modulo timer Deadman DMT MICROCHIP dsPIC33/PIC24

Nota: Questa sezione del manuale di riferimento della famiglia ha lo scopo di fungere da complemento alle schede tecniche del dispositivo. A seconda della variante del dispositivo, questa sezione del manuale potrebbe non essere applicabile a tutti i dispositivi dsPIC33/PIC24.
Si prega di consultare la nota all'inizio del capitolo "Deadman Timer (DMT)" nella scheda tecnica del dispositivo corrente per verificare se questo documento supporta il dispositivo che si sta utilizzando.
Le schede tecniche del dispositivo e le sezioni del manuale di riferimento della famiglia sono disponibili per il download da Microchip Worldwide Websito a: http://www.microchip.com.
INTRODUZIONE
Il modulo Deadman Timer (DMT) è progettato per consentire agli utenti di monitorare lo stato del proprio software applicativo richiedendo interruzioni periodiche del timer all'interno di una finestra di temporizzazione specificata dall'utente. Il modulo DMT è un contatore sincrono e, quando abilitato, conta i recuperi delle istruzioni ed è in grado di causare un soft trap/interrupt. Fare riferimento al capitolo "Interrupt Controller" nella scheda tecnica del dispositivo corrente per verificare se l'evento DMT è un soft trap o un interrupt se il contatore DMT non viene azzerato entro un determinato numero di istruzioni. Il DMT è in genere collegato all'orologio di sistema che guida il processore (TCY). L'utente specifica il valore di timeout del timer e un valore di maschera che specifica l'intervallo della finestra, ovvero l'intervallo di conteggi non considerato per l'evento di confronto.
Alcune delle caratteristiche principali di questo modulo sono:
- Configurazione o abilitazione software controllata
- Periodo di timeout configurabile dall'utente o conteggio delle istruzioni
- Due sequenze di istruzioni per cancellare il timer
- Finestra configurabile a 32 bit per cancellare il timer
La Figura 1-1 mostra uno schema a blocchi del modulo Deadman Timer.
Figura 1-1: Diagramma a blocchi del modulo timer Deadman
Nota
- Il DMT può essere abilitato nel registro di configurazione, FDMT, o nel registro delle funzioni speciali (SFR), DMTCON.
- Il DMT viene sincronizzato ogni volta che le istruzioni vengono recuperate dal processore utilizzando un orologio di sistema. Per esample, dopo aver eseguito un'istruzione GOTO (che utilizza quattro cicli di istruzione), il contatore DMT verrà incrementato solo una volta.
- BAD1 e BAD2 sono i flag di sequenza impropria. Per ulteriori informazioni, fare riferimento alla Sezione 3.5 “Ripristino del DMT”.
- Il DMT Max Count è controllato dal valore iniziale dei registri FDMTCNL e FDMTCNH.
- Un evento DMT è un soft trap o interrupt non mascherabile.
La Figura 1-2 mostra il diagramma temporale di un evento Deadman Timer.
Figura 1-2: Evento timer Deadman
REGISTRI DMT
Nota: Ogni variante del dispositivo della famiglia dsPIC33/PIC24 può avere uno o più moduli DMT.
Per maggiori dettagli fare riferimento alle schede tecniche specifiche del dispositivo.
Il modulo DMT è costituito dai seguenti registri di funzioni speciali (SFR):
- DMTCON: Registro di controllo del timer uomo presente
Questo registro viene utilizzato per abilitare o disabilitare il Deadman Timer. - DMTPRECLR: Registro preclear del timer Deadman
Questo registro viene utilizzato per scrivere una parola chiave preclear per cancellare eventualmente il Deadman Timer. - DMTCLR: Deadman Timer Cancella registro
Questo registro viene utilizzato per scrivere una parola chiave clear dopo che una parola preclear è stata scritta nel registro DMTPRECLR. Il Deadman Timer verrà cancellato in seguito alla scrittura di una parola chiave clear. - DMTSTAT: Registro stato timer uomo presente
Questo registro fornisce lo stato per valori o sequenze di parole chiave errati o eventi Deadman Timer e se la finestra di cancellazione DMT è aperta o meno. - DMTCNTL: Registro conteggio timer uomo morto Basso e
DMTCNTH: registro conteggio timer uomo morto alto
Questi registri di conteggio inferiore e superiore, insieme come registro contatore a 32 bit, consentono al software utente di leggere il contenuto del contatore DMT.
- DMTPSCNTL: Stato post Configura stato conteggio DMT Registro basso e DMTPSCNTH: Stato post Configura stato conteggio DMT Registro alto
Questi registri inferiore e superiore forniscono il valore dei bit di configurazione DMTCNTx rispettivamente nei registri FDMTCNTL e FDMTCNTH.
- DMTPSINTVL: Post Status Configura registro stato intervallo DMT basso e DMTPSINTVH: Post Status Configura registro stato intervallo DMT alto
Questi registri inferiore e superiore forniscono il valore dei bit di configurazione DMTIVTx rispettivamente nei registri FDMTIVTL e FDMTIVTH.
- REGOLAZIONE DMT: Registro di attesa DMT
Questo registro contiene l'ultimo valore letto del registro DMTCNTH quando vengono letti i registri DMTCNTH e DMTCNTL.
Tabella 2-1: Registri di configurazione dei fusibili che influenzano il modulo del timer Deadman
| Nome registro | Descrizione |
| FDMT | L'impostazione del bit DMTEN in questo registro abilita il modulo DMT e se questo bit è azzerato, DMT può essere abilitato nel software tramite il registro DMTCON. |
| FDMTCNTL e FDMTCNTH | Inferiore (DMTCNT[15:0]) e superiore (DMTCNT[31:16])
16 bit configurano il valore di timeout del conteggio dell'istruzione DMT a 32 bit. Il valore scritto in questi registri è il numero totale di istruzioni richieste per un evento DMT. |
| FDMTIVTL e FDMTIVTH | Inferiore (DMTIVT[15:0]) e superiore (DMTIVT[31:16])
16 bit configurano l'intervallo della finestra DMT a 32 bit. Il valore scritto in questi registri è il numero minimo di istruzioni necessarie per cancellare il DMT. |
Registrati Mappa
Un riepilogo dei registri associati al modulo Deadman Timer (DMT) è fornito nella Tabella 2-2.
Tabella 2-2: Mappa del registro DMT
| SFR Nome | Parte 15 | Parte 14 | Parte 13 | Parte 12 | Parte 11 | Parte 10 | Parte 9 | Parte 8 | Parte 7 | Parte 6 | Parte 5 | Parte 4 | Parte 3 | Parte 2 | Parte 1 | Parte 0 |
| DMTCON | ON | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| DMTPRECLR | PASSO1[7:0] | — | — | — | — | — | — | — | — | |||||||
| DMTCLR | — | — | — | — | — | — | — | — | PASSO2[7:0] | |||||||
| DMTSTAT | — | — | — | — | — | — | — | — | CATTIVO1 | CATTIVO2 | DMTEVENT | — | — | — | — | WINOP |
| DMTCNTL | CONTATORE[15:0] | |||||||||||||||
| DMTCNTH | CONTATORE[31:16] | |||||||||||||||
| DMTHOLDREG | UPRCNT[15:0] | |||||||||||||||
| DMTPSCNTL | PSNT[15:0] | |||||||||||||||
| DMTPSCNTH | PSNT[31:16] | |||||||||||||||
| DMTPSINTVL | PSINTTV[15:0] | |||||||||||||||
| DMTPSINTVH | PSINTTV[31:16] | |||||||||||||||
Leggenda: = non implementato, letto come '0'. I valori di reset sono mostrati in esadecimale.
Registro di controllo DMT
Registro 2-1: DMTCON: Registro di controllo del timer Deadman
| R/W-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| ON(1,2) | — | — | — | — | — | — | — |
| bit 15 | bit 8 |
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bit 7 | bit 0 |
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
bit 15
ON: Bit di abilitazione del modulo Deadman Timer (1,2) 1 = Il modulo Deadman Timer è abilitato
0 = Il modulo Deadman Timer non è abilitato
pezzo 14-0 Non implementato: letto come '0'
Nota
- Questo bit ha il controllo solo quando DMTEN = 0 nel registro FDMT.
- DMT non può essere disabilitato nel software. Scrivere '0' in questo bit non ha effetto.
Registro 2-2: DMTPRECLR: registro preclear del timer morto
| R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
| PASSO1[7:0](1) | |||||||
| bit 15 | bit 8 | ||||||
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bit 7 | bit 0 |
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-8 STEP1[7:0]: Bit di abilitazione preclear DMT (1)
01000000 = Abilita il preclear del timer Deadman (passaggio 1)
pezzo 7-0 Tutti gli altri modelli di scrittura = Imposta il flag BAD1. Non implementato: letto come '0'
Nota 1: I bit[15:8] vengono azzerati quando il contatore DMT viene azzerato scrivendo una sequenza corretta di STEP1 e STEP2.
Registro 2-3: DMTCLR: registro di cancellazione del timer uomo morto
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bit 15 | bit 8 |
| R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
| PASSO2[7:0](1) | |||||||
| bit 7 | bit 0 | ||||||
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-8 Non implementato: letto come '0'
pezzo 7-0 STEP2[7:0]: Bit del timer di cancellazione DMT (1)
00001000 = Cancella STEP1[7:0], STEP2[7:0] e il Deadman Timer se preceduto dal caricamento corretto dei bit STEP1[7:0] nella sequenza corretta. La scrittura su questi bit può essere verificata leggendo il registro DMTCNT e osservando il reset del contatore.
Tutti gli altri modelli di scrittura = Imposta il flag BAD2. Il valore di STEP1[7:0] rimarrà invariato e il nuovo valore scritto da STEP2[7:0] verrà catturato.
Nota 1: I bit[7:0] vengono azzerati quando il contatore DMT viene azzerato scrivendo una sequenza corretta di STEP1 e STEP2.
Registro 2-4: DMTSTAT: registro stato timer uomo presente
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bit 15 | bit 8 |
| R-0 | R-0 | R-0 | U-0 | U-0 | U-0 | U-0 | R-0 |
| CATTIVO1(1) | CATTIVO2(1) | DMTEVENT(1) | — | — | — | — | WINOP |
| bit 7 | bit 0 | ||||||
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-8 Non implementato: letto come '0'
bit 7 BAD1: Bit di rilevamento del valore STEP1[7:0] non valido (1)
1 = È stato rilevato un valore STEP1[7:0] non corretto
0 = Valore STEP1[7:0] non rilevato
bit 6 BAD2: Bit di rilevamento del valore STEP2[7:0] non valido (1)
1 = È stato rilevato un valore STEP2[7:0] non corretto
0 = Valore STEP2[7:0] non rilevato
bit 5 DMTEVENT: bit evento timer Deadman (1)
1 = È stato rilevato un evento Deadman Timer (contatore scaduto o valore STEP1[7:0] o STEP2[7:0] errato immesso prima dell'incremento del contatore)
0 = L'evento Deadman Timer non è stato rilevato
pezzo 4-1 Non implementato: letto come '0'
bit 0 WINOPN: Bit di cancellazione della finestra del timer Deadman
1 = La finestra di cancellazione del timer Deadman è aperta
0 = La finestra di cancellazione del timer Deadman non è aperta
Nota 1: I bit BAD1, BAD2 e DMTEVENT vengono cancellati solo con un reset.
Registro 2-5: DMTCNTL: registro conteggio timer uomo morto basso
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| CONTATORE[15:8] |
| bit 15 bit 8 |
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| CONTATORE[7:0] |
| bit 7 bit 0 |
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 COUNTER[15:0]: Legge il contenuto corrente dei bit del contatore DMT inferiore
Registro 2-6: DMTCNTH: registro conteggio timer uomo morto alto
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| CONTATORE[31:24] |
| bit 15 bit 8 |
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| CONTATORE[23:16] |
| bit 7 bit 0 |
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 COUNTER[31:16]: Legge il contenuto corrente dei bit contatore DMT più alti
Registro 2-7: DMTPSCNTL: Stato post Configura registro stato conteggio DMT basso
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSNT[15:8] | |||||||
| bit 15 | bit 8 | ||||||
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSNT[7:0] |
| bit 7 bit 0 |
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 PSCNT[15:0]: bit di stato di configurazione del valore di conteggio delle istruzioni DMT inferiori
Questo è sempre il valore del registro di configurazione FDMTCNTL.
Registro 2-8: DMTPSCNTH: Stato post Configura registro stato conteggio DMT alto
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSNT[31:24] | |||||||
| bit 15 | bit 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSNT[23:16] | |||||||
| bit 7 | bit 0 | ||||||
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 PSCNT[31:16]: bit di stato di configurazione del valore di conteggio delle istruzioni DMT più elevato
Questo è sempre il valore del registro di configurazione FDMTCNTH.
Registro 2-9: DMTPSINTVL: stato post configura registro stato intervallo DMT basso
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSINTTV[15:8] |
| bit 15 bit 8 |
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSINTTV[7:0] |
| bit 7 bit 0 |
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 PSINTV[15:0]: Bit di stato di configurazione dell'intervallo della finestra DMT inferiore
Questo è sempre il valore del registro di configurazione FDMTIVTL.
Registro 2-10: DMTPSINTVH: Stato post Configura registro stato intervallo DMT alto
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSINTTV[31:24] | |||||||
| bit 15 | bit 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSINTTV[23:16] | |||||||
| bit 7 | bit 0 | ||||||
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 PSINTV[31:16]: Bit di stato di configurazione dell'intervallo della finestra DMT più elevato
Questo è sempre il valore del registro di configurazione FDMTIVTH.
Registro 2-11: DMTHOLDREG: registro di attesa DMT
| 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 | ||||||
| Leggenda:
R = Bit leggibile W = Bit scrivibile U = Bit non implementato, letto come '0' -n = Valore in POR '1' = Bit impostato '0' = Bit cancellato x = Bit sconosciuto |
pezzo 15-0 UPRCNT[15:0]: contiene il valore del registro DMTCNTH quando i registri DMTCNTL e DMTCNTH erano gli ultimi bit letti(1)
Nota 1: Il registro DMTHOLDREG viene inizializzato a '0' al Reset e viene caricato solo quando vengono letti i registri DMTCNTL e DMTCNTH.
FUNZIONAMENTO DMT
Modalità di funzionamento
La funzione principale del modulo Deadman Timer (DMT) è di interrompere il processore in caso di malfunzionamento del software. Il modulo DMT, che funziona sull'orologio di sistema, è un timer di recupero delle istruzioni a esecuzione libera, che viene cronometrato ogni volta che si verifica un recupero di istruzioni fino a quando non si verifica una corrispondenza di conteggio. Le istruzioni non vengono recuperate quando il processore è in modalità Sleep.
Il modulo DMT è costituito da un contatore a 32 bit, i registri DMTCNTL e DMTCNTH di sola lettura con un valore di timeout count match, come specificato dai due registri Configuration Fuse esterni a 16 bit, FDMTCNTL e FDMTCNTH. Ogni volta che si verifica il count match, si verificherà un evento DMT, che non è altro che un soft trap/interrupt. Fare riferimento al capitolo "Interrupt Controller" nel data sheet del dispositivo corrente per verificare se l'evento DMT è un soft trap o un interrupt.
Un modulo DMT viene solitamente utilizzato in applicazioni mission-critical e di sicurezza critica, in cui è necessario rilevare qualsiasi guasto della funzionalità e del sequenziamento del software.
Abilitazione e disabilitazione del modulo DMT
Il modulo DMT può essere abilitato o disabilitato dalla configurazione del dispositivo oppure può essere abilitato tramite software scrivendo nel registro DMTCON.
Se il bit di configurazione DMTEN nel registro FDMT è impostato, il DMT è sempre abilitato. Il bit di controllo ON (DMTCON[15]) rifletterà ciò leggendo un '1'. In questa modalità, il bit ON non può essere azzerato nel software. Per disabilitare il DMT, la configurazione deve essere riscritta nel dispositivo. Se DMTEN è impostato su "0" nel fusibile, il DMT è disabilitato nell'hardware.
Il software può abilitare il DMT impostando il bit ON nel registro Deadman Timer Control (DMTCON). Tuttavia, per il controllo software, il bit di configurazione DMTEN nel registro FDMT deve essere impostato su '0'. Una volta abilitato, non è possibile disabilitare il DMT nel software.
Intervallo finestra conteggio DMT
Il modulo DMT dispone di una modalità operativa in finestra. I bit di configurazione DMTIVT[15:0] e DMTIVT[31:16] nei registri FDMTIVTL e FDMTIVTH, rispettivamente, impostano il valore dell'intervallo della finestra. In modalità Finestra, il software può cancellare il DMT solo quando il contatore si trova nella sua finestra finale prima che si verifichi una corrispondenza di conteggio. Cioè, se il valore del contatore DMT è maggiore o uguale al valore scritto nel valore dell'intervallo di finestra, allora solo la sequenza di cancellazione può essere inserita nel modulo DMT. Se il DMT viene cancellato prima della finestra consentita, viene immediatamente generato un soft trap o un interrupt Deadman Timer.
Funzionamento DMT in modalità di risparmio energetico
Poiché il modulo DMT viene incrementato solo dai recuperi delle istruzioni, il valore del conteggio non cambierà quando il core è inattivo. Il modulo DMT rimane inattivo nelle modalità Sleep e Idle. Non appena il dispositivo si riattiva dalla sospensione o dall'inattività, il contatore DMT ricomincia a incrementare.
Azzeramento del DMT
Il DMT può essere resettato in due modi: un modo è usare un reset di sistema e un altro modo è scrivendo una sequenza ordinata nei registri DMTPRECLR e DMTCLR. La cancellazione del valore del contatore DMT richiede una speciale sequenza di operazioni:
- I bit STEP1[7:0] nel registro DMTPRECLR devono essere scritti come '01000000' (0x40):
- Se nei bit STEP0x viene scritto un valore diverso da 40x1, verrà impostato il bit BAD1 nel registro DMTSTAT e ciò causerà il verificarsi di un evento DMT.
- Se il passaggio 2 non è preceduto dal passaggio 1, vengono impostati i flag BAD1 e DMTEVENT. I flag BAD1 e DMTEVENT vengono cancellati solo su un reset del dispositivo.
- I bit STEP2[7:0] nel registro DMTCLR devono essere scritti come '00001000' (0x08). Questo può essere fatto solo se preceduto dal passaggio 1 e il DMT si trova nell'intervallo della finestra aperta. Una volta scritti i valori corretti, il contatore DMT verrà azzerato. Anche il valore dei registri DMTPRECLR, DMTCLR e DMTSTAT verrà azzerato.
- Se nei bit STEP0x viene scritto un valore diverso da 08x2, verrà impostato il bit BAD2 nel registro DMTSTAT e causerà il verificarsi di un evento DMT.
- Il passaggio 2 non viene eseguito nell'intervallo di finestra aperta; provoca l'impostazione del flag BAD2. Si verifica immediatamente un evento DMT.
- Anche la scrittura di sequenze preclear back-to-back (0x40) provoca l'impostazione del flag BAD2 e provoca un evento DMT.
Nota: Dopo una sequenza preclear/clear non valida, occorrono almeno due cicli per impostare il flag BAD1/BAD2 e almeno tre cicli per impostare DMTEVENT.
I flag BAD2 e DMTEVENT vengono cancellati solo su un reset del dispositivo. Fare riferimento al diagramma di flusso mostrato nella Figura 3-1.
Figura 3-1: Diagramma di flusso per l'evento DMT
Nota
- DMT è abilitato (ON (DMTCON[15]) come qualificato da FDMT nei fusibili di configurazione.
- Il contatore DMT può essere azzerato dopo la scadenza del contatore o dopo che si sono verificati BAD1/BAD2 solo tramite Reset del dispositivo.
- STEP2x prima di STEP1x (DMTPRECLEAR scritto prima di DMTPRECLEAR) o BAD_STEP1 (DMTPRECLEAR scritto con valore diverso da 0x40).
- STEP1x (DMTPRECLEAR riscritto dopo STEP1x), oppure BAD_STEP2 (DMTCLR scritto con valore diverso da 0x08) oppure window interval non aperto.
Selezione conteggio DMT
Il conteggio del Deadman Timer è impostato dai bit di registro DMTCNTL[15:0] e DMTCNTH[31:16] nei registri FDMTCNTL e FDMTCNTH, rispettivamente. Il valore di conteggio DMT corrente può essere ottenuto leggendo i registri Deadman Timer Count inferiore e superiore, DMTCNTL e DMTCNTH.
I bit PSCNT[15:0] e PSCNT[31:16] nei registri DMTPSCNTL e DMTPSCNTH, rispettivamente, consentono al software di leggere il conteggio massimo selezionato per il Deadman Timer. Ciò significa che questi valori di bit PSCNTx non sono altro che i valori inizialmente scritti nei bit DMTCNTx nei registri dei fusibili di configurazione, FDMTCNTL e FDMTCNTH. Ogni volta che si verifica l'evento DMT, l'utente può sempre confrontare per vedere se il valore del contatore corrente nei registri DMTCNTL e DMTCNTH è uguale al valore dei registri DMTPSCNTL e DMTPSCNTH, che contengono il valore di conteggio massimo.
I bit PSINTV[15:0] e PSINTV[31:16] nei registri DMTPSINTVL e DMTPSINTVH, rispettivamente, consentono al software di leggere il valore dell'intervallo della finestra DMT. Ciò significa che questi registri leggono il valore che viene scritto nei registri FDMTIVTL e FDMTIVTH. Pertanto, ogni volta che il valore del contatore corrente DMT in DMTCNTL e DMTCNTH raggiunge il valore dei registri DMTPSINTVL e DMTPSINTVH, l'intervallo di finestra si apre in modo che l'utente possa inserire la sequenza di cancellazione nei bit STEP2x, che provoca il ripristino del DMT.
I bit UPRCNT[15:0] nel registro DMTHOLDREG conservano il valore dell'ultima lettura dei valori di conteggio superiore DMT (DMTCNTH) ogni volta che vengono letti DMTCNTL e DMTCNTH.
NOTE APPLICATIVE RELATIVE
Questa sezione elenca le note applicative relative a questa sezione del manuale. Queste note applicative potrebbero non essere scritte specificamente per le famiglie di prodotti dsPIC33/PIC24, ma i concetti sono pertinenti e potrebbero essere utilizzati con modifiche e possibili limitazioni. Le attuali note applicative relative al Deadman Timer (DMT) sono:
Titolo
Nessuna nota applicativa correlata in questo momento.
Nota: Si prega di visitare il Microchip webposto (www.microchip.com) per ulteriori Application Notes e codice example per la famiglia di dispositivi dsPIC33/PIC24.
CRONOLOGIA DELLE REVISIONI
Revisione A (febbraio 2014)
Questa è la versione iniziale rilasciata di questo documento.
Revisione B (marzo 2022)
Aggiorna la Figura 1-1 e la Figura 3-1.
Aggiorna Registro 2-1, Registro 2-2, Registro 2-3, Registro 2-4, Registro 2-9 e Registro 2-10. Aggiorna la tabella 2-1 e la tabella 2-2.
Aggiornamenti Sezione 1.0 “Introduzione”, Sezione 2.0 “Registri DMT”, Sezione 3.1 “Modalità di funzionamento”, Sezione 3.2 “Abilitazione e disabilitazione del modulo DMT”, Sezione 3.3 “Intervallo finestrato conteggio DMT”, Sezione 3.5 “Reimpostazione DMT” e Sezione 3.6 “Selezione conteggio DMT”.
Sposta la mappa dei registri nella sezione 2.0 "Registri DMT".
Si noti quanto segue in merito alla funzionalità di protezione del codice sui prodotti Microchip:
- I prodotti Microchip soddisfano le specifiche contenute nella rispettiva scheda tecnica Microchip.
- Microchip ritiene che la sua famiglia di prodotti sia sicura se utilizzata nel modo previsto, nel rispetto delle specifiche operative e in condizioni normali.
- Microchip apprezza e protegge in modo aggressivo i suoi diritti di proprietà intellettuale. I tentativi di violare le funzionalità di protezione del codice del prodotto Microchip sono severamente vietati e possono violare il Digital Millennium Copyright Act.
- Né Microchip né alcun altro produttore di semiconduttori può garantire la sicurezza del suo codice. La protezione del codice non significa che stiamo garantendo che il prodotto sia "indistruttibile". La protezione del codice è in continua evoluzione. Microchip si impegna a migliorare costantemente le funzionalità di protezione del codice dei nostri prodotti.
Questa pubblicazione e le informazioni in essa contenute possono essere utilizzate solo con prodotti Microchip, incluso per progettare, testare e integrare i prodotti Microchip con la tua applicazione. L'uso di queste informazioni in qualsiasi altro modo viola questi termini. Le informazioni relative alle applicazioni dei dispositivi sono fornite solo per tua comodità e possono essere sostituite da aggiornamenti. È tua responsabilità assicurarti che la tua applicazione soddisfi le tue specifiche. Contatta l'ufficio vendite Microchip locale per ulteriore supporto o ottieni ulteriore supporto all'indirizzo https://www.microchip.com/en-us/support/design-help/client-support-services.
QUESTE INFORMAZIONI SONO FORNITE DA MICROCHIP "COSÌ COME SONO". MICROCHIP NON RILASCIA ALCUNA DICHIARAZIONE O GARANZIA DI ALCUN TIPO, SIA ESSE ESPRESSE O IMPLICITE, SCRITTE O ORALI, STATUTARIE O ALTRO, RELATIVE ALLE INFORMAZIONI, INCLUSE, SENZA LIMITAZIONE, QUALSIASI GARANZIA IMPLICITA DI NON VIOLAZIONE, COMMERCIABILITÀ E IDONEITÀ PER UNO SCOPO PARTICOLARE, O GARANZIE RELATIVE ALLA SUA CONDIZIONE, QUALITÀ O PRESTAZIONI.
IN NESSUN CASO MICROCHIP SARÀ RITENUTA RESPONSABILE PER QUALSIASI PERDITA, DANNO, COSTO O SPESA INDIRETTA, SPECIALE, PUNITIVA, ACCIDENTALE O CONSEGUENTE DI QUALSIASI TIPO CORRELATA ALLE INFORMAZIONI O AL SUO UTILIZZO, COMUNQUE CAUSATA, ANCHE SE MICROCHIP È STATA INFORMATA DELLA POSSIBILITÀ O SE I DANNI SONO PREVEDIBILI. NELLA MISURA MASSIMA CONSENTITA DALLA LEGGE, LA RESPONSABILITÀ TOTALE DI MICROCHIP PER TUTTI I RECLAMI IN QUALSIASI MODO CORRELATI ALLE INFORMAZIONI O AL SUO UTILIZZO NON SUPERERÀ L'IMPORTO DELLE COMMISSIONI, SE PRESENTI, CHE AVETE PAGATO DIRETTAMENTE A MICROCHIP PER LE INFORMAZIONI.
L'uso dei dispositivi Microchip in applicazioni di supporto vitale e/o di sicurezza è interamente a rischio dell'acquirente, il quale accetta di difendere, indennizzare e tenere indenne Microchip da qualsiasi danno, reclamo, causa o spesa risultante da tale uso. Nessuna licenza viene trasferita, implicitamente o in altro modo, in base ai diritti di proprietà intellettuale di Microchip, salvo diversamente specificato.
Per informazioni sui sistemi di gestione della qualità di Microchip, visitare www.microchip.com/qualità.
Marchi
Il nome e il logo di Microchip, il logo di Microchip, Adaptec, AnyRate, AVR, il logo AVR, 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 e XMEGA sono marchi registrati di Microchip Technology Incorporated negli Stati Uniti e in altri paesi.
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, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath e ZL sono marchi registrati di Microchip Technology Incorporated negli Stati Uniti
Soppressione della chiave adiacente, 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, logo certificato MPLAB, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, generazione di codice onnisciente, 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-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect e ZENA sono marchi registrati di Microchip Technology Incorporated negli Stati Uniti e in altri paesi.
SQTP è un marchio di servizio di Microchip Technology Incorporated negli USA
Il logo Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom e Trusted Time sono marchi registrati di Microchip Technology Inc. in altri paesi.
GestIC è un marchio registrato di Microchip Technology Germany II GmbH & Co. KG, una sussidiaria di Microchip Technology Inc., in altri paesi.
Tutti gli altri marchi qui menzionati sono di proprietà delle rispettive aziende.
© 2014-2022, Microchip Technology Incorporated e le sue sussidiarie.
Tutti i diritti riservati.
ISBN: 978-1-6683-0063-3
Servizio
AMERICHE
Sede aziendale
2355 West Chandler Boulevard. Chandler, Arizona 85224-6199 Tel: Numero di telefono: 480-792-7200
Fax: Numero di telefono: 480-792-7277
Supporto tecnico: http://www.microchip.com/support
Web Indirizzo:
www.microchip.com
Atlanta
Duluth, Georgia
Tel: Numero di telefono: 678-957-9614
Fax: Numero di telefono: 678-957-1455
Austin, Texas
Tel: Numero di telefono: 512-257-3370
Boston
Westborough, MA
Tel: Numero di telefono: 774-760-0087
Fax: Numero di telefono: 774-760-0088
Chicago
Itasca, IL
Tel: Numero di telefono: 630-285-0071
Fax: Numero di telefono: 630-285-0075
Los Angeles
Missione Viejo, California
Tel: Numero di telefono: 949-462-9523
Fax: Numero di telefono: 949-462-9608
Tel: Numero di telefono: 951-273-7800
New York,
Tel. NY: Numero di telefono: 631-435-6000
Canada – Toronto
Tel: Numero di telefono: 905-695-1980
Fax: Numero di telefono: 905-695-2078
Documenti / Risorse
![]() |
Modulo timer Deadman DMT MICROCHIP dsPIC33/PIC24 [pdf] Manuale d'uso dsPIC33 PIC24, Modulo timer Deadman DMT, dsPIC33 PIC24 Modulo timer Deadman DMT, Modulo timer Deadman, Modulo timer |





