Modul de cronometru MICROCHIP dsPIC33/PIC24 DMT Deadman

Nota: Această secțiune a manualului de referință pentru familie este menită să servească ca o completare a fișelor de date ale dispozitivului. În funcție de varianta dispozitivului, este posibil ca această secțiune a manualului să nu se aplice tuturor dispozitivelor dsPIC33/PIC24.
Vă rugăm să consultați nota de la începutul capitolului „Deadman Timer (DMT)” din fișa curentă a dispozitivului pentru a verifica dacă acest document acceptă dispozitivul pe care îl utilizați.
Fișele tehnice ale dispozitivului și secțiunile manuale de referință pentru familie sunt disponibile pentru descărcare de pe Microcip Worldwide Website la: http://www.microchip.com.
INTRODUCERE
Modulul Deadman Timer (DMT) este proiectat pentru a permite utilizatorilor să monitorizeze starea de sănătate a software-ului aplicației lor, solicitând întreruperi periodice ale temporizatorului într-o fereastră de sincronizare specificată de utilizator. Modulul DMT este un contor sincron și, atunci când este activat, contorizează preluările de instrucțiuni și este capabil să provoace o capcană/întrerupere soft. Consultați capitolul „Controler de întrerupere” din fișa de date a dispozitivului curent pentru a verifica dacă evenimentul DMT este o capcană soft sau o întrerupere dacă contorul DMT nu este șters într-un număr stabilit de instrucțiuni. DMT este de obicei conectat la ceasul de sistem care conduce procesorul (TCY). Utilizatorul specifică valoarea time-out-ului temporizatorului și o valoare a măștii care specifică intervalul ferestrei, care este intervalul de numărări care nu este luat în considerare pentru evenimentul de comparație.
Unele dintre caracteristicile cheie ale acestui modul sunt:
- Configurare sau activare software controlată
- Perioada de time-out configurabilă de utilizator sau numărul de instrucțiuni
- Două secvențe de instrucțiuni pentru a șterge temporizatorul
- Fereastra configurabilă pe 32 de biți pentru a șterge temporizatorul
Figura 1-1 prezintă o diagramă bloc a modulului Deadman Timer.
Figura 1-1: Diagrama bloc al modulului temporizator Deadman
Nota
- DMT poate fi activat fie în registrul de configurare, FDMT, fie în registrul de funcții speciale (SFR), DMTCON.
- DMT este tactat ori de câte ori instrucțiunile sunt preluate de procesor folosind un ceas de sistem. De exampdupă executarea unei instrucțiuni GOTO (care utilizează patru cicluri de instrucțiuni), contorul DMT va fi incrementat o singură dată.
- BAD1 și BAD2 sunt semnalizatoarele de secvență necorespunzătoare. Pentru mai multe informații, consultați Secțiunea 3.5 „Resetarea DMT”.
- Numărul maxim DMT este controlat de valoarea inițială a registrelor FDMTCNL și FDMTCNH.
- Un eveniment DMT este o capcană moale sau o întrerupere nemascabilă.
Figura 1-2 prezintă diagrama de timp a unui eveniment Deadman Timer.
Figura 1-2: Eveniment Deadman Timer
REGISTRE DMT
Nota: Fiecare variantă de dispozitiv din familia dsPIC33/PIC24 poate avea unul sau mai multe module DMT.
Consultați fișele tehnice ale dispozitivului pentru mai multe detalii.
Modulul DMT constă din următoarele registre de funcții speciale (SFR):
- DMTCON: Deadman Timer Control Register
Acest registru este folosit pentru a activa sau dezactiva cronometrul Deadman. - DMTPRECLR: Deadman Timer Preclear Register
Acest registru este folosit pentru a scrie un cuvânt cheie preclear pentru a șterge în cele din urmă Deadman Timer. - DMTCLR: Deadman Timer Clear Register
Acest registru este folosit pentru a scrie un cuvânt cheie clar după ce un cuvânt preclear a fost scris în registrul DMTPRECLR. Deadman Timer va fi ștearsă după o scriere clară a cuvântului cheie. - DMTSTAT: Deadman Timer Status Register
Acest registru furnizează starea valorilor sau secvențelor de cuvinte cheie incorecte sau a evenimentelor Deadman Timer și dacă fereastra de ștergere DMT este deschisă sau nu. - DMTCNTL: Deadman Timer Count Register Low and
DMTCNTH: Deadman Timer Count Register High
Aceste registre de numărare mai mici și mai mari, împreună ca un registru de contor de 32 de biți, permit software-ului utilizatorului să citească conținutul contorului DMT.
- DMTPSCNTL: Post Stare Configurați DMT Count Star Register Low și DMTPSCNTH: Post Stare Configurați DMT Count Star Register High
Aceste registre inferioare și superioare furnizează valoarea biților de configurare DMTCNTx în registrele FDMTCNTL și, respectiv, FDMTCNTH.
- DMPSINTVL: Post Stare Configurați DMT Interval Star Register Low și DMTPSINTVH: Post Stare Configurați DMT Interval Star Register High
Aceste registre inferioare și superioare furnizează valoarea biților de configurare DMTIVTx în registrele FDMTIVTL și, respectiv, FDMTIVTH.
- DMTHOLDREG: Registrul de reținere DMT
Acest registru deține ultima valoare citită a registrului DMTCNTH atunci când sunt citite registrele DMTCNTH și DMTCNTL.
Tabelul 2-1: Registre de configurare a siguranțelor care afectează modulul temporizator Deadman
| Nume de înregistrare | Descriere |
| FDMT | Setarea bitului DMTEN în acest registru activează modulul DMT și dacă acest bit este clar, DMT poate fi activat în software prin registrul DMTCON. |
| FDMTCNTL și FDMTCNTH | Inferioară (DMTCNT[15:0]) și superioară (DMTCNT[31:16])
16 biți configurează valoarea de expirare a numărului de instrucțiuni DMT pe 32 de biți. Valoarea scrisă în aceste registre este numărul total de instrucțiuni care sunt necesare pentru un eveniment DMT. |
| FDMTIVTL și FDMTIVTH | Inferioară (DMTIVT[15:0]) și superioară (DMTIVT[31:16])
16 biți configurează intervalul de fereastră DMT de 32 de biți. Valoarea scrisă în aceste registre este numărul minim de instrucțiuni care sunt necesare pentru a șterge DMT. |
Înregistrează Harta
Un rezumat al registrelor asociate cu modulul Deadman Timer (DMT) este furnizat în Tabelul 2-2.
Tabelul 2-2: Harta registrului DMT
| Nume SFR | Bit 15 | Bit 14 | Bit 13 | Bit 12 | Bit 11 | Bit 10 | Bit 9 | Bit 8 | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
| DMTCON | ON | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — |
| DMTPRECLR | PASUL 1[7:0] | — | — | — | — | — | — | — | — | |||||||
| DMTCLR | — | — | — | — | — | — | — | — | PASUL 2[7:0] | |||||||
| DMTSTAT | — | — | — | — | — | — | — | — | RĂU1 | RĂU2 | DMTEVENT | — | — | — | — | WINOPN |
| DMTCNTL | COUNTER[15:0] | |||||||||||||||
| DMTCNTH | COUNTER[31:16] | |||||||||||||||
| DMTHOLDREG | UPRCNT[15:0] | |||||||||||||||
| DMTPSCNTL | PSCNT[15:0] | |||||||||||||||
| DMTPSCNTH | PSCNT[31:16] | |||||||||||||||
| DMPSINTVL | PSINTV[15:0] | |||||||||||||||
| DMTPSINTVH | PSINTV[31:16] | |||||||||||||||
Legendă: = neimplementat, citit ca „0”. Valorile de resetare sunt afișate în hexazecimal.
Registrul de control DMT
Înregistrare 2-1: DMTCON: Deadman Timer Control Register
| R/W-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| ON(1,2) | — | — | — | — | — | — | — |
| bitul 15 | bitul 8 |
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bitul 7 | bitul 0 |
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15
ON: Deadman Timer Module Enable bit(1,2) 1 = Modulul Deadman Timer este activat
0 = Modulul Deadman Timer nu este activat
bitul 14-0 Neimplementat: citit ca „0”
Nota
- Acest bit are control numai când DMTEN = 0 în registrul FDMT.
- DMT nu poate fi dezactivat în software. Scrierea „0” la acest bit nu are efect.
Înregistrare 2-2: DMTPRECLR: Deadman Timer Preclear Register
| R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
| PASUL 1[7:0](1) | |||||||
| bitul 15 | bitul 8 | ||||||
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bitul 7 | bitul 0 |
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-8 PASUL 1[7:0]: biți de activare preclear DMT (1)
01000000 = Activează pre-clearul Deadman Timer (Pasul 1)
bitul 7-0 Toate celelalte modele de scriere = Setează steag-ul BAD1. Neimplementat: citit ca „0”
Nota 1: Biții [15:8] sunt șterși atunci când contorul DMT este resetat prin scrierea unei secvențe corecte a PASULUI 1 și PASUL 2.
Înregistrare 2-3: DMTCLR: Deadman Timer Clear Register
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bitul 15 | bitul 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 |
| PASUL 2[7:0](1) | |||||||
| bitul 7 | bitul 0 | ||||||
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-8 Neimplementat: citit ca „0”
bitul 7-0 PASUL 2[7:0]: DMT Clear Timer bits(1)
00001000 = Șterge STEP1[7:0], STEP2[7:0] și Deadman Timer dacă este precedat de încărcarea corectă a biților STEP1[7:0] în secvența corectă. Scrierea pe acești biți poate fi verificată citind registrul DMTCNT și observând resetarea contorului.
Toate celelalte modele de scriere = Setează steag-ul BAD2. Valoarea STEP1[7:0] va rămâne neschimbată și noua valoare scrisă de STEP2[7:0] va fi capturată.
Nota 1: Biții [7:0] sunt șterși atunci când contorul DMT este resetat prin scrierea unei secvențe corecte a PASULUI 1 și PASUL 2.
Înregistrare 2-4: DMTSTAT: Deadman Timer Status Register
| U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 | U-0 |
| — | — | — | — | — | — | — | — |
| bitul 15 | bitul 8 |
| R-0 | R-0 | R-0 | U-0 | U-0 | U-0 | U-0 | R-0 |
| RĂU1(1) | RĂU2(1) | DMTEVENT(1) | — | — | — | — | WINOPN |
| bitul 7 | bitul 0 | ||||||
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-8 Neimplementat: citit ca „0”
bitul 7 BAD1: Bad STEP1[7:0] Value Detect bit(1)
1 = Valoarea STEP1[7:0] incorectă a fost detectată
0 = Valoarea STEP1[7:0] incorectă nu a fost detectată
bitul 6 BAD2: Bad STEP2[7:0] Value Detect bit(1)
1 = Valoarea STEP2[7:0] incorectă a fost detectată
0 = Valoarea STEP2[7:0] incorectă nu a fost detectată
bitul 5 DMTEVENT: Deadman Timer Event bit(1)
1 = A fost detectat evenimentul Deadman Timer (contorul a expirat sau a fost introdusă valoarea STEP1[7:0] sau STEP2[7:0] incorectă înainte de creșterea contorului)
0 = evenimentul Deadman Timer nu a fost detectat
bitul 4-1 Neimplementat: citit ca „0”
bitul 0 WINOPN: Deadman Timer Clear Window Bit
1 = Fereastra de golire a temporizatorului Deadman este deschisă
0 = Fereastra de golire a cronometrului Deadman nu este deschisă
Nota 1: Biții BAD1, BAD2 și DMTEVENT sunt șterși numai la o resetare.
Înregistrare 2-5: DMTCNTL: Deadman Timer Count Register Low
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| COUNTER[15:8] |
| bit 15 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 = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 COUNTER[15:0]: Citiți conținutul curent al biților contorului DMT inferior
Înregistrare 2-6: DMTCNTH: Deadman Timer Count Register High
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| COUNTER[31:24] |
| bit 15 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 = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 COUNTER[31:16]: Citiți conținutul curent al biților de contor DMT superior
Înregistrare 2-7: DMTPSCNTL: Post Stare Configurați DMT Count Star Register Low
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSCNT[15:8] | |||||||
| bitul 15 | bitul 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 = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 PSCNT[15:0]: Biți de stare de configurare a valorii de număr de instrucțiuni DMT mai mic
Aceasta este întotdeauna valoarea registrului de configurare FDMTCNTL.
Înregistrare 2-8: DMTPSCNTH: Post Stare Configurați DMT Count Star Register High
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSCNT[31:24] | |||||||
| bitul 15 | bitul 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSCNT[23:16] | |||||||
| bitul 7 | bitul 0 | ||||||
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 PSCNT[31:16]: Biți de stare de configurare valoare mai mare a numărului de instrucțiuni DMT
Aceasta este întotdeauna valoarea registrului de configurare FDMTCNTH.
Înregistrare 2-9: DMPSINTVL: Post Stare Configurați DMT Interval Star Register Low
| R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0 |
| PSINTV[15:8] |
| bit 15 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 = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 PSINTV[15:0]: Biți de stare de configurare a intervalului de fereastră DMT inferior
Aceasta este întotdeauna valoarea registrului de configurare FDMTIVTL.
Înregistrare 2-10: DMTPSINTVH: Post Stare Configurați DMT Interval Star Register High
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSINTV[31:24] | |||||||
| bitul 15 | bitul 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| PSINTV[23:16] | |||||||
| bitul 7 | bitul 0 | ||||||
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 PSINTV[31:16]: Biți de stare de configurare a intervalului de fereastră DMT mai mare
Aceasta este întotdeauna valoarea registrului de configurare FDMTIVTH.
Înregistrare 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) | |||||||
| bitul 15 | bitul 8 | ||||||
| R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 | R-0 |
| UPRCNT[7:0](1) | |||||||
| bitul 7 | bitul 0 | ||||||
| Legendă:
R = bit citibil W = bit inscriptibil U = bit neimplementat, citit ca '0' -n = Valoarea la POR '1' = Bit este setat '0' = Bit este șters x = Bit este necunoscut |
bitul 15-0 UPRCNT[15:0]: Conține valoarea registrului DMTCNTH când registrele DMTCNTL și DMTCNTH erau biți de ultima citire (1)
Nota 1: Registrul DMTHOLDREG este inițializat la „0” la resetare și este încărcat numai când sunt citite registrele DMTCNTL și DMTCNTH.
OPERAREA DMT
Moduri de operare
Funcția principală a modulului Deadman Timer (DMT) este de a întrerupe procesorul în cazul unei defecțiuni software. Modulul DMT, care funcționează pe ceasul sistemului, este un temporizator de preluare a instrucțiunilor care rulează gratuit, care este tactat ori de câte ori are loc o preluare a instrucțiunii până când apare o potrivire de numărare. Instrucțiunile nu sunt preluate când procesorul este în modul Sleep.
Modulul DMT constă dintr-un contor de 32 de biți, registrele DMTCNTL și DMTCNTH numai pentru citire cu o valoare de potrivire a numărului de time-out, așa cum este specificată de cele două registre externe, pe 16 biți, FDMTCNTL și FDMTCNTH. Ori de câte ori are loc potrivirea numărării, va avea loc un eveniment DMT, care nu este altceva decât o capcană/întrerupere soft. Consultați capitolul „Controler de întrerupere” din fișa de date a dispozitivului curent pentru a verifica dacă evenimentul DMT este o capcană soft sau o întrerupere.
Un modul DMT este utilizat în mod obișnuit în aplicații critice pentru misiune și siguranță, unde trebuie detectată orice defecțiune a funcționalității software și a secvenței.
Activarea și dezactivarea modulului DMT
Modulul DMT poate fi activat sau dezactivat prin configurația dispozitivului sau poate fi activat prin software prin scrierea în registrul DMTCON.
Dacă bitul de configurare DMTEN din registrul FDMT este setat, DMT este întotdeauna activat. Bitul de control ON (DMTCON[15]) va reflecta acest lucru prin citirea unui „1”. În acest mod, bitul ON nu poate fi șters în software. Pentru a dezactiva DMT, configurația trebuie rescrisă pe dispozitiv. Dacă DMTEN este setat la „0” în siguranță, atunci DMT este dezactivat în hardware.
Software-ul poate activa DMT setând bitul ON în registrul Deadman Timer Control (DMTCON). Cu toate acestea, pentru controlul software, bitul de configurare DMTEN din registrul FDMT ar trebui setat la „0”. Odată activată, dezactivarea DMT în software nu este posibilă.
Interval fereastră de numărare DMT
Modulul DMT are un mod de operare în fereastră. Biții de configurare DMTIVT[15:0] și DMTIVT[31:16] din registrele FDMTIVTL și, respectiv, FDMTIVTH setează valoarea intervalului ferestrei. În modul Windowed, software-ul poate șterge DMT numai atunci când contorul se află în fereastra finală înainte de apariția unei potriviri de numărare. Adică, dacă valoarea contorului DMT este mai mare sau egală cu valoarea scrisă în valoarea intervalului de fereastră, atunci numai secvența clară poate fi inserată în modulul DMT. Dacă DMT este șters înainte de fereastra permisă, se generează imediat o capcană sau o întrerupere soft Deadman Timer.
Funcționare DMT în moduri de economisire a energiei
Deoarece modulul DMT este incrementat doar de preluarea instrucțiunilor, valoarea numărului nu se va schimba atunci când nucleul este inactiv. Modulul DMT rămâne inactiv în modurile Sleep și Idle. De îndată ce dispozitivul se trezește din Sleep sau Idle, contorul DMT începe din nou să crească.
Resetarea DMT
DMT poate fi resetat în două moduri: o modalitate este folosind o resetare a sistemului și alta modalitate este prin scrierea unei secvențe ordonate în registrele DMTPRECLR și DMTCLR. Ștergerea valorii contorului DMT necesită o secvență specială de operații:
- Biții STEP1[7:0] din registrul DMTPRECLR trebuie să fie scriși ca „01000000” (0x40):
- Dacă în biții STEP0x este scrisă orice altă valoare decât 40x1, bitul BAD1 din registrul DMTSTAT va fi setat și va produce un eveniment DMT.
- Dacă Pasul 2 nu este precedat de Pasul 1, sunt setate steaguri BAD1 și DMTEVENT. Semnalele BAD1 și DMTEVENT sunt șterse numai pe o resetare a dispozitivului.
- Biții STEP2[7:0] din registrul DMTCLR trebuie să fie scriși ca „00001000” (0x08). Acest lucru se poate face numai dacă este precedat de Pasul 1 și DMT este în intervalul ferestrei deschise. Odată ce valorile corecte sunt scrise, contorul DMT va fi șters la zero. Valoarea registrelor DMTPRECLR, DMTCLR și DMTSTAT va fi, de asemenea, ștersă la zero.
- Dacă orice altă valoare decât 0x08 este scrisă în biții STEP2x, bitul BAD2 din registrul DMTSTAT va fi setat și va produce un eveniment DMT.
- Pasul 2 nu se efectuează în intervalul ferestrei deschise; determină setarea steagului BAD2. Un eveniment DMT are loc imediat.
- Scrierea secvențelor de preclear back-to-back (0x40) determină, de asemenea, setarea indicatorului BAD2 și determină un eveniment DMT.
Nota: După o secvență de preclear/clear nevalidă, este nevoie de cel puțin două cicluri pentru a seta indicatorul BAD1/BAD2 și cel puțin trei cicluri pentru a seta DMTEVENT.
Indicatoarele BAD2 și DMTEVENT sunt șterse numai la resetarea dispozitivului. Consultați diagrama de flux așa cum se arată în Figura 3-1.
Figura 3-1: Diagramă pentru evenimentul DMT
Nota
- DMT este activat (ON (DMTCON[15]) după cum este calificat de FDMT în Siguranțele de configurare.
- Contorul DMT poate fi resetat după expirarea contorului sau aparițiile BAD1/BAD2 numai prin resetarea dispozitivului.
- STEP2x înainte de STEP1x (DMTPRECLEAR scris înainte de DMTPRECLEAR) sau BAD_STEP1 (DMTPRECLEAR scris cu valoare diferită de 0x40).
- STEP1x (DMTPRECLEAR scris din nou după STEP1x) sau BAD_STEP2 (DMTCLR scris cu o valoare diferită de 0x08) sau intervalul de fereastră nu este deschis.
Selecția numărului DMT
Numărul de temporizator Deadman este setat de biții de registru DMTCNTL[15:0] și DMTCNTH[31:16] din registrele FDMTCNTL și, respectiv, FDMTCNTH. Valoarea curentă a numărului DMT poate fi obținută prin citirea registrelor Deadman Timer Count mai mici și mai mari, DMTCNTL și DMTCNTH.
Biții PSCNT[15:0] și PSCNT[31:16] din registrele DMTPSCNTL și, respectiv, DMTPSCNTH, permit software-ului să citească numărul maxim selectat pentru Deadman Timer. Aceasta înseamnă că aceste valori de biți PSCNTx nu sunt altceva decât valorile care sunt inițial scrise în biții DMTCNTx din registrele Configuration Fuse, FDMTCNTL și FDMTCNTH. Ori de câte ori are loc evenimentul DMT, utilizatorul poate întotdeauna compara pentru a vedea dacă valoarea curentă a contorului din registrele DMTCNTL și DMTCNTH este egală cu valoarea registrelor DMTPSCNTL și DMTPSCNTH, care dețin valoarea maximă a numărului.
Biții PSINTV[15:0] și PSINTV[31:16] din registrele DMTPSINTVL și, respectiv, DMTPSINTVH, permit software-ului să citească valoarea intervalului ferestrei DMT. Aceasta înseamnă că aceste registre citesc valoarea care este scrisă în registrele FDMTIVTL și FDMTIVTH. Deci, oricând valoarea contorului curent DMT în DMTCNTL și DMTCNTH atinge valoarea registrelor DMTPSINTVL și DMTPSINTVH, se deschide intervalul de fereastră, astfel încât utilizatorul să poată introduce secvența clară în biții STEP2x, ceea ce determină resetarea DMT.
Biții UPRCNT[15:0] din registrul DMTHOLDREG rețin valoarea ultimei citiri a valorilor de numărare superioară DMT (DMTCNTH) ori de câte ori sunt citite DMTCNTL și DMTCNTH.
NOTE DE APLICARE AFERATE
Această secțiune listează note de aplicație care sunt legate de această secțiune a manualului. Este posibil ca aceste note de aplicare să nu fie scrise special pentru familiile de produse dsPIC33/PIC24, dar conceptele sunt pertinente și pot fi utilizate cu modificări și posibile limitări. Notele actuale ale aplicației legate de Deadman Timer (DMT) sunt:
Titlu
Nu există note legate de aplicație în acest moment.
Nota: Vă rugăm să vizitați Microcipul website (www.microchip.com) pentru Note de aplicare suplimentare și codul exampfișiere pentru familia de dispozitive dsPIC33/PIC24.
ISTORIC REVIZIILOR
Revizia A (februarie 2014)
Aceasta este versiunea inițială lansată a acestui document.
Revizia B (martie 2022)
Actualizează Figura 1-1 și Figura 3-1.
Actualizări Register 2-1, Register 2-2, Register 2-3, Register 2-4, Register 2-9 și Register 2-10. Actualizează Tabelul 2-1 și Tabelul 2-2.
Actualizează Secțiunea 1.0 „Introducere”, Secțiunea 2.0 „Registre DMT”, Secțiunea 3.1 „Moduri de operare”, Secțiunea 3.2 „Activarea și dezactivarea modulului DMT”, Secțiunea 3.3 „Interval în fereastră de numărare DMT”, Secțiunea 3.5 „Resetarea DMT” și Secțiunea 3.6 „Selectarea numărului DMT”.
Mută harta registrului la Secțiunea 2.0 „Registre DMT”.
Rețineți următoarele detalii despre caracteristica de protecție a codului de pe produsele Microcip:
- Produsele cu microcip îndeplinesc specificațiile conținute în fișa lor specială pentru microcip.
- Microchip consideră că familia sa de produse este sigură atunci când este utilizată în modul prevăzut, în cadrul specificațiilor de funcționare și în condiții normale.
- Microcipul apreciază și își protejează în mod agresiv drepturile de proprietate intelectuală. Încercările de încălcare a caracteristicilor de protecție prin cod ale produsului Microchip sunt strict interzise și pot încălca Digital Millennium Copyright Act.
- Nici Microcip și nici alt producător de semiconductori nu poate garanta securitatea codului său. Protecția prin cod nu înseamnă că garantăm că produsul este „incasibil”. Protecția prin cod este în continuă evoluție. Microchip se angajează să îmbunătățească continuu caracteristicile de protecție prin cod ale produselor noastre.
Această publicație și informațiile de aici pot fi utilizate numai cu produsele Microchip, inclusiv pentru a proiecta, testa și integra produsele Microchip cu aplicația dumneavoastră. Utilizarea acestor informații în orice alt mod încalcă acești termeni. Informațiile referitoare la aplicațiile dispozitivului sunt furnizate numai pentru confortul dvs. și pot fi înlocuite de actualizări. Este responsabilitatea dumneavoastră să vă asigurați că aplicația dumneavoastră corespunde specificațiilor dumneavoastră. Contactați biroul local de vânzări Microchip pentru asistență suplimentară sau obțineți asistență suplimentară la https://www.microchip.com/en-us/support/design-help/client-support-services.
ACESTE INFORMAȚII ESTE FURNIZATE DE MICROCHIP „CA AȘA ESTE”. MICROCHIP NU OFERĂ DECLARAȚII SAU GARANȚII DE NICIUN FEL, EXPRESE SAU IMPLICITE, SCRISE SAU ORALE, LEGALE SAU DE ALTE ALTE, LEGATE DE INFORMAȚII INCLUSIVĂ, DAR FĂRĂ A SE LIMITA LA NICIO GARANȚIE IMPLICITĂ DE NEÎNCĂLCARE, COMERCIALITATE ȘI PARTICIBILITATE, PENTRU O PUBLICABILITATE. GARANȚII LEGATE DE STARE, CALITATE SAU PERFORMANȚĂ.
MICROCHIP NU VA FI RESPONSABIL ÎN NICIUN CAZ PENTRU PIERDERI INDIRECTE, SPECIALE, PUNITIVE, INCIDENTALE SAU CONSECUȚIONALE, DAUNE, COST SAU CHELTUIELI DE NICIUN FEL LEGATE DE INFORMAȚII SAU DE UTILIZAREA ACESTELOR, ORICARE CAUZATE, CHIAR DACĂ FUN ADOPTII. POSIBILITATE SAU DAUNELE SUNT PREVIZIBILE. ÎN MĂSURA TOTALĂ PERMISĂ DE LEGE, RESPONSABILITATEA TOTALĂ A MICROCHIP PENTRU TOATE RECLAMAȚIILE ÎN ORICE MOD LEGATE DE INFORMAȚII SAU DE UTILIZAREA EI NU VA DEPĂȘI SUMA TAXEI PE CARE LE-AȚI PLATIT DIRECT LA MICROCHIP PENTRU INFORMAȚII, DACĂ CARE ESTE.
Utilizarea dispozitivelor Microcip în aplicații de susținere a vieții și/sau de siguranță este în întregime pe riscul cumpărătorului, iar cumpărătorul este de acord să apere, să despăgubească și să țină inofensiv Microcipul de orice daune, pretenții, procese sau cheltuieli care rezultă dintr-o astfel de utilizare. Nicio licență nu este transmisă, implicit sau în alt mod, în baza niciunui drept de proprietate intelectuală Microchip, cu excepția cazului în care se specifică altfel.
Pentru informații despre sistemele de management al calității Microchip, vă rugăm să vizitați www.microchip.com/quality.
Mărci comerciale
Numele și sigla Microcipului, sigla Microcipului, Adaptec, AnyRate, AVR, sigla AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheckSty, LinkMDs, maXlu maXTouch, MediaLB, megaAVR, Microsemi, sigla Microsemi, MOST, sigla MOST, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, sigla PIC32, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron și XMEGA sunt mărci comerciale înregistrate ale Microchip Technology Incorporated în SUA și în alte țări.
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, logo-ul ProASIC Plus, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath și ZL sunt mărci comerciale înregistrate ale Microchip Technology Incorporated în SUA
Suprimarea tastelor 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, Programare serială în circuit, ICSP, INICnet, Paralela inteligentă, Conectivitate între cipuri, JitterBlocker, Knob-on-Display, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, sigla MPLAB Certified, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REALICE , 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 și ZENA sunt mărci comerciale ale Microchip Technology Incorporated în SUA și în alte țări.
SQTP este o marcă de serviciu a Microchip Technology Incorporated din SUA
Sigla Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom și Trusted Time sunt mărci comerciale înregistrate ale Microchip Technology Inc. în alte țări.
GestIC este o marcă înregistrată a Microchip Technology Germany II GmbH & Co. KG, o subsidiară a Microchip Technology Inc., în alte țări.
Toate celelalte mărci comerciale menționate aici sunt proprietatea companiilor respective.
© 2014-2022, Microchip Technology Incorporated și filialele sale.
Toate drepturile rezervate.
ISBN: 978-1-6683-0063-3
Serviciu
AMERICII
Biroul Corporativ
2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200
Fax: 480-792-7277
Suport tehnic: http://www.microchip.com/support
Web Adresa:
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
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Tel: 951-273-7800
New York,
NY Tel: 631-435-6000
Canada – Toronto
Tel: 905-695-1980
Fax: 905-695-2078
Documente/Resurse
![]() |
Modul de cronometru MICROCHIP dsPIC33/PIC24 DMT Deadman [pdfManual de utilizare dsPIC33 PIC24, DMT Deadman Timer Module, dsPIC33 PIC24 DMT Deadman Timer Module, Deadman Timer Module, Timer Module |





