MICROCHIP dsPIC33 Timer Pengawas Ganda
PERKENALAN
DsPIC33/PIC24 Dual Watchdog Timer (WDT) dijelaskan di bagian ini. Lihat Gambar 1-
1 untuk diagram blok WDT.
WDT, ketika diaktifkan, beroperasi dari sumber clock Oscillator RC (LPRC) Daya Rendah internal atau sumber clock yang dapat dipilih dalam mode Jalankan. WDT dapat digunakan untuk mendeteksi malfungsi perangkat lunak sistem dengan menyetel ulang perangkat jika WDT tidak dihapus secara berkala dalam perangkat lunak. WDT dapat dikonfigurasi dalam mode Window atau mode Non-Window. Berbagai periode time-out WDT dapat dipilih menggunakan post scaler WDT. WDT juga dapat digunakan untuk membangunkan perangkat dari mode Tidur atau Idle (mode Hemat Daya).
Berikut ini adalah beberapa fitur utama dari modul WDT:
- Konfigurasi atau perangkat lunak dikendalikan
- Pisahkan periode batas waktu yang dapat dikonfigurasi pengguna untuk mode Run dan Sleep/Idle
- Dapat membangunkan perangkat dari mode Tidur atau Idle
- Sumber jam yang dapat dipilih pengguna dalam mode Jalankan
- Beroperasi dari LPRC dalam mode Tidur/Idle
Diagram Blok Pengatur Waktu Pengawas
Catatan
- Perilaku Reset WDT setelah peristiwa sakelar jam tertentu bergantung pada perangkat. Lihat bagian "Watchdog Timer" di lembar data perangkat khusus untuk deskripsi peristiwa sakelar jam yang menghapus WDT.
- Sumber jam yang tersedia bergantung pada perangkat.
DAFTAR KONTROL TIMER PENGAWAS
Modul WDT terdiri dari Register Fungsi Khusus (SFR) berikut:
- WDTCONL: Daftar Kontrol Timer Watchdog
Register ini digunakan untuk mengaktifkan atau menonaktifkan Watchdog Timer dan mengaktifkan atau menonaktifkan operasi berjendela. - WDTCONH: Daftar Kunci Pengatur Waktu Watchdog
Register ini digunakan untuk menghapus WDT untuk mencegah time-out. - RCON: Atur Ulang Daftar Kontrol (2)
Register ini menunjukkan penyebab Reset.
Daftar Peta
Tabel 2-1 memberikan ringkasan singkat tentang register modul WDT terkait. Register yang sesuai muncul setelah ringkasan, diikuti dengan penjelasan rinci dari setiap register.
Tabel 2-1: Peta Register Watchdog Timer
Nama | Kisaran Bit | Sedikit | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
WDTCONL | 15:0 | ON(3) | — | — | RUNDIV[4:0](2) | CLKSEL[1:0](2) | SLPDIV[4:0](2) | WDTWINEN(3) | |||||||||
WDTCONH | 15:0 | WDTCLRKEY[15:0] | |||||||||||||||
RCON(4, 5) | 15:0 | PERANGKAP(1) | IOPUWR(1) | — | — | — | — | CM(1) | VREG(1) | EKSTRA(1) | SWR(1) | — | WDTO | TIDUR | MENGANGGUR(1) | BOR(1) | POR(1) |
Keterangan: — = tidak diterapkan, dibaca sebagai '0'
Catatan
- Bit-bit ini tidak terkait dengan modul WDT.
- Bit-bit ini bersifat read-only dan mencerminkan nilai bit-bit Konfigurasi.
- Bit-bit ini mencerminkan status bit Konfigurasi jika disetel. Jika bitnya jelas, nilainya dikendalikan oleh perangkat lunak.
- Jika bit Konfigurasi WDTEN[1:0] adalah '11' (tidak terprogram), WDT selalu diaktifkan, terlepas dari pengaturan bit AKTIF (WDTCONL[15]).
- Semua bit status Reset dapat diatur atau dihapus dalam perangkat lunak. Menyetel salah satu bit ini dalam perangkat lunak tidak menyebabkan Reset perangkat.
Daftarkan 2-1: WDTCONL: Daftar Kontrol Timer Watchdog
R/W-0 | U-0 | U-0 | Ry | Ry | Ry | Ry | Ry |
ON( 1 ,2 ) | — | — | RUNDIV[4:0](3) | ||||
sedikit 15 | sedikit 8 |
Ry | Ry | Ry | Ry | Ry | Ry | Ry | R/W/HS-0 |
CLKSEL[1:0](3, 4) | SLPDIV[4:0](3) | WDTWINEN(1) | |||||
sedikit 7 | sedikit 0 |
- bit 15 ON: Watchdog Timer Aktifkan bit(1,2)
1 = Mengaktifkan Watchdog Timer jika tidak diaktifkan oleh konfigurasi perangkat
0 = Menonaktifkan Watchdog Timer jika diaktifkan di perangkat lunak - bit 14-13 Tidak diimplementasikan: Dibaca sebagai '0'
- bit 12-8 RUNDIV[4:0]: WDT Run Mode Postscaler Status bit(3)
- bit 7-6 CLKSEL[1:0]: WDT Run Mode Jam Pilih Status bit(3,4)
11 = Osilator LPRC
10 = Osilator FRC
01 = Dipesan
00 = SYSCLK - bit 5-1 SLPDIV[4:0]: Mode Tidur dan Idle Status Postscaler WDT bit(3)
- bit 0 WDTWINEN: Watchdog Timer Window Aktifkan bit(1)
1 = Mengaktifkan mode Jendela
0 = Menonaktifkan mode Jendela
Catatan
- Bit-bit ini mencerminkan status bit Konfigurasi jika bit tersebut disetel. Jika bit dihapus, nilainya dikendalikan oleh perangkat lunak.
- Perangkat lunak pengguna tidak boleh membaca atau menulis SFR periferal dalam siklus SYSCLK segera setelah instruksi yang menghapus bit ON modul.
- Bit-bit ini bersifat read-only dan mencerminkan nilai bit-bit Konfigurasi.
- Sumber jam yang tersedia bergantung pada perangkat. Silakan merujuk ke bab "Pengatur Waktu Watchdog" di lembar data perangkat khusus untuk ketersediaan.
Daftar 2-2: WDTCONH: Daftar Kunci Pengatur Waktu Watchdog
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0 |
WDTCLRKEY[15:8] |
sedikit 15 sedikit 8 |
W-0 W-0 W-0 W-0 W-0 W-0 W-0 W-0 |
WDTCLRKEY[7:0] |
sedikit 7 sedikit 0 |
Legenda
R = Bit yang dapat dibaca W = Bit yang dapat ditulis U = Bit yang tidak diimplementasikan, dibaca sebagai '0'
-n = Nilai pada POR '1' = Bit disetel '0' = Bit dihapus x = Bit tidak diketahui
- bit 15-0 WDTCLRKEY[15:0]: Pengatur Waktu Pengawas Hapus Bit Kunci
Untuk menghapus Watchdog Timer untuk mencegah waktu habis, perangkat lunak harus menulis nilai, 0x5743, ke lokasi ini menggunakan penulisan 16-bit tunggal.
Daftarkan 2-3: RCON: Atur Ulang Daftar Kontrol (2)
R/W-0 | R/W-0 | U-0 | U-0 | R/W-0 | U-0 | R/W-0 | R/W-0 |
PERANGKAP(1) | IOPUWR(1) | — | — | VREGSF(1) | — | CM(1) | VREG(1) |
sedikit 15 | sedikit 8 |
R/W-0 | R/W-0 | U-0 | R/W-0 | R/W-0 | R/W-0 | R/W-1 | R/W-1 |
EKSTRA(1) | SWR(1) | — | WDTO | TIDUR | MENGANGGUR(1) | BOR(1) | POR(1) |
sedikit 7 | sedikit 0 |
Legenda
R = Bit yang dapat dibaca W = Bit yang dapat ditulis U = Bit yang tidak diimplementasikan, dibaca sebagai '0'
-n = Nilai pada POR '1' = Bit disetel '0' = Bit dihapus x = Bit tidak diketahui
- bit 15 TRAPR: Trap Reset Bendera bit (1)
1 = Reset Konflik Jebakan telah terjadi
0 = Reset Konflik Jebakan belum terjadi - bit 14 IOPUWR: Illegal Opcode atau W Register Access Reset Flag yang tidak diinisialisasi bit(1)
1 = Deteksi opcode ilegal, mode alamat ilegal atau register W yang tidak diinisialisasi digunakan sebagai Penunjuk Alamat menyebabkan Reset
0 = Opcode ilegal atau Reset register W yang tidak diinisialisasi belum terjadi - bit 13-12 Tidak diimplementasikan: Dibaca sebagai '0'
- bit 11 VREGSF: Flash Voltage Pengatur Siaga Selama Tidur bit(1)
1 = Kilat voltage regulator aktif selama Tidur
0 = Kilat voltage regulator beralih ke mode Siaga selama Tidur - bit 10 Tidak diimplementasikan: Dibaca sebagai '0'
- bit 9 CM: Bendera Ketidakcocokan Konfigurasi bit(1)
1 = Reset Ketidakcocokan Konfigurasi telah terjadi
0 = Reset Ketidakcocokan Konfigurasi belum terjadi - bit 8 VREG: Jiltage Pengatur Siaga Selama Tidur bit(1)
1 = Jiltage regulator aktif selama Tidur
0 = Jiltage regulator beralih ke mode Siaga selama Tidur - bit 7 EKSTR: Reset Eksternal (MCLR) Pin bit(1)
1 = Master Clear (pin) Reset telah terjadi
0 = Master Clear (pin) Reset belum terjadi - bit 6 SWR: Software RESET (Instruksi) Flag bit(1)
1 = Instruksi RESET telah dijalankan
0 = Instruksi RESET belum dijalankan - bit 5 Tidak diimplementasikan: Dibaca sebagai '0'
- bit 4 WDTO: Bit Bendera Batas Waktu Pengawas
1 = Waktu habis WDT telah terjadi
0 = Waktu habis WDT belum terjadi - bit 3 SLEEP: Bangun dari Sleep Flag bit
1 = Perangkat telah dalam mode Tidur
0 = Perangkat belum dalam mode Tidur
Catatan
- Bit-bit ini tidak terkait dengan modul WDT.
- Semua bit status Reset dapat diatur atau dihapus dalam perangkat lunak. Menyetel salah satu bit ini dalam perangkat lunak tidak menyebabkan Reset perangkat.
Daftarkan 2-3: RCON: Atur Ulang Daftar Kontrol (2)
- bit 2 IDLE: Bangun dari Idle Flag bit(1)
1 = Perangkat dalam mode Idle
0 = Perangkat belum dalam mode Idle - bit 1 BOR: Bit Bendera Reset Brown-out (1)
1 = Reset Brown-out telah terjadi
0 = Reset Brown-out belum terjadi - bit 0 POR: Pengaktifan Reset Bit bendera(1)
1 = Power-on Reset telah terjadi
0 = Power-on Reset belum terjadi
Catatan
- Bit-bit ini tidak terkait dengan modul WDT.
- Semua bit status Reset dapat diatur atau dihapus dalam perangkat lunak. Menyetel salah satu bit ini dalam perangkat lunak tidak menyebabkan Reset perangkat.
PENGOPERASIAN TIMER PENGAWAS
Fungsi utama Watchdog Timer (WDT) adalah untuk mengatur ulang prosesor jika terjadi kegagalan fungsi perangkat lunak, atau membangunkan prosesor jika waktu habis saat berada dalam mode Tidur atau Idle.
WDT terdiri dari dua pengatur waktu independen, satu untuk pengoperasian dalam mode Jalankan dan yang lainnya untuk pengoperasian dalam mode Hemat Daya. Sumber jam untuk mode Jalankan WDT dapat dipilih pengguna.
Setiap pengatur waktu memiliki postscaler independen yang dapat diprogram pengguna. Kedua pengatur waktu dikontrol melalui satu bit ON; mereka tidak dapat dioperasikan secara mandiri.
Jika WDT diaktifkan, penghitung WDT yang sesuai akan bertambah hingga meluap atau “time out”.
Waktu habis WDT dalam mode Jalankan akan menghasilkan Reset perangkat. Untuk mencegah WDT Time-out Reset dalam mode Run, aplikasi pengguna harus secara berkala melayani WDT. Waktu habis dalam mode Hemat Daya akan membangunkan perangkat.
Catatan: Osilator LPRC diaktifkan secara otomatis setiap kali digunakan sebagai sumber jam WDT dan WDT diaktifkan.
Mode Operasi
WDT memiliki dua mode operasi: mode Non-Window dan mode Programmable Window. Dalam mode Non-Jendela, perangkat lunak harus menghapus WDT secara berkala setiap saat kurang dari periode WDT untuk mencegah Reset WDT (Gambar 3-1). Mode Non-Jendela dipilih dengan mengosongkan bit Watchdog Timer Window Enable (WDTWINEN) (WDTCONL[0]).
Dalam mode Jendela yang Dapat Diprogram, perangkat lunak dapat menghapus WDT hanya ketika penghitung berada di jendela terakhirnya sebelum batas waktu habis. Menghapus WDT di luar jendela ini akan menyebabkan Reset perangkat (Gambar 3-2). Ada empat opsi ukuran jendela: 25%, 37.5%, 50% dan 75% dari total periode WDT. Ukuran jendela diatur dalam konfigurasi perangkat. Mode Programmable Window tidak berlaku saat dalam mode Power Save.
Gambar 3-1: Mode WDT Non-Jendela
Gambar 3-2: Mode WDT Jendela yang Dapat Diprogram
Jendela Pengatur Waktu Pengawas yang Dapat Diprogram
Ukuran jendela ditentukan oleh bit Konfigurasi, WDTWIN[1:0] dan RWDTPS[4:0]. Dalam mode Programmable Window (WDTWINEN = 1), WDT harus dihapus berdasarkan pengaturan bit Konfigurasi Ukuran Jendela, WDTWIN[1:0] (lihat Gambar 3-2). Pengaturan bit ini adalah:
- 11 = Jendela WDT adalah 25% dari periode WDT
- 10 = Jendela WDT adalah 37.5% dari periode WDT
- 01 = Jendela WDT adalah 50% dari periode WDT
- 00 = Jendela WDT adalah 75% dari periode WDT
Jika WDT dihapus sebelum jendela yang diizinkan, atau jika WDT diizinkan untuk habis waktu, Reset perangkat akan terjadi. Mode Jendela berguna untuk mengatur ulang perangkat selama eksekusi cepat atau lambat yang tidak terduga dari bagian penting kode. Operasi jendela hanya berlaku untuk mode Run WDT. Mode Tidur WDT selalu beroperasi dalam mode Non-Jendela.
Mengaktifkan dan Menonaktifkan WDT
WDT diaktifkan atau dinonaktifkan oleh konfigurasi perangkat, atau dikontrol melalui perangkat lunak dengan menulis '1' ke bit ON (WDTCONL[15]). Lihat Daftar 2-1 untuk detail lebih lanjut.
KONFIGURASI PERANGKAT WDT YANG DIKENDALIKAN
Jika bit Konfigurasi FWDTEN diatur, WDT selalu diaktifkan. Bit kontrol ON (WDTCONL[15]) akan merefleksikan ini dengan membaca '1'. Dalam mode ini, bit ON tidak dapat dihapus dalam perangkat lunak. Bit Konfigurasi FWDTEN tidak akan dihapus oleh segala bentuk Reset. Untuk menonaktifkan WDT, konfigurasi harus ditulis ulang ke perangkat. Mode jendela diaktifkan dengan menghapus bit Konfigurasi WINDIS.
Catatan: WDT diaktifkan secara default pada perangkat yang tidak diprogram.
WDT YANG DIKENDALIKAN PERANGKAT LUNAK
Jika bit Konfigurasi FWDTEN adalah '0', modul WDT dapat diaktifkan atau dinonaktifkan (kondisi default) oleh perangkat lunak. Dalam mode ini, bit ON (WDTCONL[15]) mencerminkan status WDT di bawah kendali perangkat lunak; '1' menunjukkan modul WDT diaktifkan dan '0' menunjukkan dinonaktifkan.
Postscaler WDT
WDT memiliki dua postscaler yang dapat diprogram pengguna: satu untuk mode Jalankan dan yang lainnya untuk mode Hemat Daya. Bit Konfigurasi RWDTPS[4:0] mengatur postscaler mode Jalankan dan bit Konfigurasi SWDTPS[4:0] mengatur postscaler mode Hemat Daya.
Catatan: Nama bit Konfigurasi untuk nilai postscaler mungkin berbeda. Lihat lembar data perangkat tertentu untuk detailnya.
KONFIGURASI PERANGKAT YANG DIKENDALIKAN MODE JENDELA
Mode jendela dapat diaktifkan dengan menghapus bit Konfigurasi, WINDIS. Ketika mode Jendela WDT diaktifkan oleh konfigurasi perangkat, bit WDTWINEN (WDTCONL[0]) akan diatur dan tidak dapat dihapus oleh perangkat lunak.
MODE JENDELA YANG DIKENDALIKAN PERANGKAT LUNAK
Jika bit Konfigurasi WINDIS adalah '1', mode WDT Programmable Window dapat diaktifkan atau dinonaktifkan oleh bit WDTWINEN (WDTCONL[0]). A '1' menunjukkan bahwa mode Programmable Window diaktifkan dan '0' menunjukkan bahwa mode Programmable Window dinonaktifkan.
Postscaler WDT dan Pemilihan Periode
WDT memiliki dua postscaler 5-bit independen, satu untuk mode Jalankan dan yang lainnya untuk mode Hemat Daya, untuk membuat berbagai periode waktu habis. Postscaler memberikan rasio pembagi 1:1 hingga 1:2,147,483,647 (lihat Tabel 3-1). Pengaturan postscaler dipilih menggunakan konfigurasi perangkat. Periode time-out WDT dipilih dengan kombinasi sumber clock WDT dan postscaler. Lihat Persamaan 3-1 untuk perhitungan periode WDT
Persamaan 3-1: Perhitungan Periode Time-out WDT
WDT Time-out Period = (WDT Clock Period) • 2Postscaler
Dalam mode Tidur, sumber jam WDT adalah LPRC dan periode waktu habis ditentukan oleh pengaturan bit SLPDIV[4:0]. LPRC, dengan frekuensi nominal 32 kHz, menciptakan periode waktu habis nominal untuk WDT sebesar 1 milidetik saat postscaler berada pada nilai minimum.
Dalam mode Jalankan, sumber jam WDT dapat dipilih. Periode time-out ditentukan oleh frekuensi sumber jam WDT dan pengaturan RUNDIV[4:0] bit.
Catatan: Periode time-out modul WDT berhubungan langsung dengan frekuensi sumber jam WDT. Frekuensi nominal sumber jam bergantung pada perangkat. Frekuensi dapat bervariasi sebagai fungsi dari pengoperasian perangkat voltage dan suhu. Silakan lihat lembar data perangkat khusus untuk spesifikasi frekuensi jam. Sumber jam yang tersedia untuk mode Jalankan bergantung pada perangkat. Lihat bab "Pengatur Waktu Watchdog" di lembar data perangkat khusus untuk sumber yang tersedia.
Operasi WDT dalam Mode Jalankan
Saat WDT kedaluwarsa atau dihapus di luar jendela dalam mode Window, Reset perangkat dibuat saat penghitung NMI kedaluwarsa.
Sumber Jam WDT
Sumber jam mode WDT Run dapat dipilih pengguna. Sumber clock dipilih oleh bit perangkat RCLKSEL[1:0] (FWDT[6:5]). Mode Hemat Daya WDT menggunakan LPRC sebagai sumber jam.
Menyetel ulang WDT(1)
Penghitung WDT mode Jalankan dihapus oleh salah satu dari berikut ini:
- Reset Perangkat Apa Pun
- Eksekusi Perintah DEBUG
- Deteksi Nilai Tulis yang Benar (0x5743) ke bit WDTCLRKEYx (WDTCONH[15:0]) (lihat Example 3-1)
- Sakelar Jam:(2)
- Sakelar jam yang dimulai firmware
- Pengaktifan Dua Kecepatan
- Acara Fail-Safe Clock Monitor (FSCM).
- Sakelar jam setelah bangun dari Tidur ketika sakelar jam otomatis terjadi karena konfigurasi osilator dan Penyalaan Dua Kecepatan diaktifkan oleh konfigurasi perangkat
Penghitung WDT mode Tidur diatur ulang saat masuk ke mode Tidur.
Catatan
- WDT mode Jalankan tidak diatur ulang saat perangkat memasuki mode Hemat Daya.
- Perilaku Reset WDT setelah peristiwa sakelar jam tertentu bergantung pada perangkat. Lihat bagian "Watchdog Timer" di lembar data perangkat khusus untuk deskripsi peristiwa sakelar jam yang menghapus WDT.
Example 3-1: Sample Kode untuk Menghapus WDT
Tabel 3-1: Pengaturan Periode Time-out WDT
Nilai Postscaler | Periode Time-out Berdasarkan Jam WDT | ||
frekuensi 32kHz | Frekuensi 8 MHz | Frekuensi 25 MHz | |
00000 | 1 md | 4 detik | 1.28 detik |
00001 | 2 md | 8 detik | 2.56 detik |
00010 | 4 md | 16 detik | 5.12 detik |
00011 | 8 md | 32 detik | 10.24 detik |
00100 | 16 md | 64 detik | 20.48 detik |
00101 | 32 md | 128 detik | 40.96 detik |
00110 | 64 md | 256 detik | 81.92 detik |
00111 | 128 md | 512 detik | 163.84 detik |
01000 | 256 md | 1.024 md | 327.68 detik |
01001 | 512 md | 2.048 md | 655.36 detik |
01010 | 1.024 detik | 4.096 md | 1.31072 md |
01011 | 2.048 detik | 8.192 md | 2.62144 md |
01100 | 4.096 detik | 16.384 md | 5.24288 md |
01101 | 8.192 detik | 32.768 md | 10.48576 md |
01110 | 16.384 detik | 65.536 md | 20.97152 md |
01111 | 32.768 detik | 131.072 md | 41.94304 md |
10000 | 0:01:06 hm | 262.144 md | 83.88608 md |
10001 | 0:02:11 hm | 524.288 md | 167.77216 md |
10010 | 0:04:22 hm | 1.048576 detik | 335.54432 md |
10011 | 0:08:44 hm | 2.097152 detik | 671.08864 md |
10100 | 0:17:29 hm | 4.194304 detik | 1.34217728 detik |
10101 | 0:34:57 hm | 8.388608 detik | 2.68435456 detik |
10110 | 1:09:54 hm | 16.777216 detik | 5.36870912 detik |
10111 | 2:19:49 hm | 33.554432 detik | 10.73741824 detik |
11000 | 4:39:37 hm | 0:01:07 hm | 21.47483648 detik |
11001 | 9:19:14 hm | 0:02:14 hm | 42.94967296 detik |
11010 | 18:38:29 hm | 0:04:28 hm | 0:01:26 hm |
11011 | 1 hari 13:16:58 jam | 0:08:57 hm | 0:02:52 hm |
11100 | 3 hari 2:33:55 jam | 0:17:54 hm | 0:05:44 hm |
11101 | 6 hari 5:07:51 jam | 0:35:47 hm | 0:11:27 hm |
11110 | 12 hari 10:15:42 jam | 1:11:35 hm | 0:22:54 hm |
11111 | 24 hari 20:31:24 jam | 2:23:10 hm | 0:45:49 hm |
GENERASI GANGGUAN DAN RESET
Waktu habis WDT dalam Mode Jalankan
Saat waktu WDT habis dalam mode Jalankan, Reset perangkat dibuat.
Firmware dapat menentukan apakah penyebab Reset adalah batas waktu WDT dalam mode Jalankan dengan menguji bit WDTO (RCON[4]).
Catatan: Lihat bab "Reset" dan "Interrupt Controller" di lembar data perangkat tertentu. Juga, lihat bagian "Reset" (DS39712) dan "Interrupt" (DS70000600) di "Panduan Referensi Keluarga dsPIC33/PIC24" untuk detailnya.
Waktu Habis WDT dalam Mode Hemat Daya
Saat waktu modul WDT habis dalam mode Hemat Daya, modul akan membangunkan perangkat dan mode WDT Run akan melanjutkan penghitungan.
Untuk mendeteksi bangun WDT, bit WDTO (RCON[4]), bit SLEEP (RCON[3]), dan bit IDLE (RCON[2]) dapat diuji. Jika bit WDTO adalah '1', peristiwa tersebut disebabkan oleh waktu habis WDT dalam mode Hemat Daya. Bit SLEEP dan IDLE kemudian dapat diuji untuk menentukan apakah peristiwa WDT terjadi saat perangkat terjaga atau dalam mode Tidur atau Diam.
Catatan: Lihat bab "Reset" dan "Interrupt Controller" di lembar data perangkat tertentu. Juga, lihat bagian "Reset" (DS39712) dan "Interrupt" (DS70000600) di "Panduan Referensi Keluarga dsPIC33/PIC24" untuk detailnya.
Bangun dari Mode Hemat Daya oleh Acara Non-WDT
Saat perangkat dibangunkan dari mode Hemat Daya oleh interupsi NMI non-WDT, mode Hemat Daya WDT ditahan di Atur Ulang dan mode Jalankan WDT terus menghitung dari nilai penghitungan pra-hemat daya.
RESET SEBAB DAN AKIBAT
Menentukan Penyebab Reset
Untuk menentukan apakah Reset WDT telah terjadi, bit WDTO (RCON[4]) dapat diuji. Jika bit WDTO adalah '1', Reset disebabkan oleh batas waktu WDT dalam mode Jalankan. Perangkat lunak harus menghapus bit WDTO untuk memungkinkan penentuan yang benar dari sumber Reset berikutnya.
Efek Berbagai Reset
Segala bentuk reset perangkat akan menghapus WDT. Reset akan mengembalikan register WDTCONH/L ke nilai default dan WDT akan dinonaktifkan kecuali diaktifkan oleh konfigurasi perangkat.
Catatan: Setelah Reset perangkat, bit WDT ON (WDTCONL[15]) akan mencerminkan status bit FWDTEN (FWDT[15]).
PENGOPERASIAN DALAM MODE DEBUG DAN HEMAT DAYA
Pengoperasian WDT dalam Mode Hemat Daya
WDT, jika diaktifkan, akan terus beroperasi dalam mode Tidur atau mode Idle dan dapat digunakan untuk membangunkan perangkat. Ini memungkinkan perangkat untuk tetap dalam mode Tidur atau Diam hingga WDT kedaluwarsa atau interupsi lain membangunkan perangkat. Jika perangkat tidak masuk kembali ke mode Tidur atau Diam setelah bangun, WDT harus dinonaktifkan atau diservis secara berkala untuk mencegah NMI mode Jalankan WDT.
PENGOPERASIAN WDT DALAM MODE TIDUR
Modul WDT dapat digunakan untuk membangunkan perangkat dari mode Tidur. Saat memasuki mode Tidur, penghitung mode Run WDT berhenti menghitung dan mode Hemat Daya WDT mulai menghitung dari status Reset, hingga waktu habis, atau perangkat dibangunkan oleh interupsi. Saat waktu WDT habis dalam mode Tidur, perangkat akan bangun dan melanjutkan eksekusi kode, menyetel bit WDTO (RCON[4]) dan melanjutkan WDT mode Jalankan.
OPERASI WDT DALAM MODE IDLE
Modul WDT dapat digunakan untuk membangunkan perangkat dari mode Idle. Saat memasuki mode Idle, penghitung mode Run WDT berhenti menghitung dan mode Hemat Daya WDT mulai menghitung dari status Reset, hingga waktu habis, atau perangkat dibangunkan oleh interupsi. Perangkat bangun dan melanjutkan eksekusi kode, menyetel bit WDTO (RCON[4]) dan melanjutkan WDT mode Jalankan.
Penundaan Waktu Saat Bangun
Akan ada jeda waktu antara kejadian WDT dalam Tidur dan awal eksekusi kode. Durasi penundaan ini terdiri dari waktu start-up osilator yang digunakan. Tidak seperti bangun dari mode Tidur, tidak ada penundaan waktu terkait dengan bangun dari mode Idle. Jam sistem berjalan selama mode Idle; oleh karena itu, tidak diperlukan penundaan start-up saat bangun.
Sumber Jam WDT dalam Mode Hemat Daya
Sumber jam WDT untuk mode Hemat Daya tidak dapat dipilih pengguna. Sumber jam adalah LPRC.
Operasi WDT dalam Mode Debug
WDT harus dinonaktifkan dalam mode Debug untuk mencegah waktu habis.
Bagian ini mencantumkan catatan aplikasi yang terkait dengan bagian manual ini. Catatan aplikasi ini mungkin tidak ditulis secara khusus untuk rangkaian perangkat dsPIC33/PIC24, tetapi konsepnya relevan dan dapat digunakan dengan modifikasi dan kemungkinan batasan. Catatan aplikasi saat ini terkait dengan modul Dual Watchdog Timer adalah:
Catatan: Kunjungi Microchip weblokasi (www.microchip.com) untuk catatan aplikasi tambahan dan kode example untuk rangkaian perangkat dsPIC33/PIC24.
RIWAYAT REVISI
Revisi A (Maret 2016)
Ini adalah versi awal dari dokumen ini.
Revisi B (Juni 2018)
Mengubah nama keluarga perangkat menjadi dsPIC33/PIC24.
Menghapus watermark Informasi Lanjutan dari footer halaman.
Revisi C (Februari 2022)
Pembaruan Tabel 2-1 dan Tabel 3-1.
Pembaruan Daftar 2-1.
Pembaruan Bagian 3.1 “Mode Operasi”, Bagian 3.2 “Jendela Watchdog Timer Programmable”, Bagian 3.3 “Mengaktifkan dan Menonaktifkan WDT”, Bagian 3.4.1 “Perangkat
Konfigurasi Mode Jendela Terkendali", Bagian 3.4.2 "Mode Jendela Terkendali Perangkat Lunak", Bagian 3.7 "Sumber Jam WDT" dan Bagian 6.1.2 "Operasi WDT dalam Mode Idle".
Standar Watchdog Timer menggunakan terminologi "Master" dan "Slave". Terminologi Microchip setara yang digunakan dalam dokumen ini adalah "Utama" dan "Sekunder".
Perhatikan rincian berikut mengenai fitur perlindungan kode pada produk Microchip:
- Produk mikrochip memenuhi spesifikasi yang tercantum dalam Lembar Data Mikrochip masing-masing.
- Microchip yakin bahwa rangkaian produknya aman jika digunakan sesuai tujuan, sesuai spesifikasi pengoperasian, dan dalam kondisi normal.
- Nilai-nilai microchip dan secara agresif melindungi hak kekayaan intelektualnya. Upaya untuk melanggar fitur perlindungan kode produk Microchip sangat dilarang dan dapat melanggar Digital Millennium Copyright Act.
- Baik Microchip maupun produsen semikonduktor lainnya tidak dapat menjamin keamanan kodenya. Perlindungan kode tidak berarti bahwa kami menjamin produk tersebut "tidak dapat dipecahkan". Perlindungan kode terus berkembang. Microchip berkomitmen untuk terus meningkatkan fitur perlindungan kode pada produk kami.
Publikasi ini dan informasi di sini hanya dapat digunakan dengan produk Microchip, termasuk untuk merancang, menguji, dan mengintegrasikan produk Microchip dengan aplikasi Anda. Penggunaan informasi ini dengan cara lain melanggar ketentuan ini. Informasi mengenai aplikasi perangkat disediakan hanya untuk kenyamanan Anda dan dapat digantikan oleh pembaruan. Anda bertanggung jawab untuk memastikan bahwa aplikasi Anda memenuhi spesifikasi Anda. Hubungi kantor penjualan Microchip setempat untuk dukungan tambahan atau, dapatkan dukungan tambahan di
https://www.microchip.com/en-us/support/design-help/client-supportservices.
INFORMASI INI DISEDIAKAN OLEH MICROCHIP "SEBAGAIMANA ADANYA". MICROCHIP TIDAK MEMBUAT PERNYATAAN ATAU JAMINAN APA PUN BAIK TERSURAT MAUPUN TERSIRAT, TERTULIS ATAU LISAN, HUKUM ATAU LAINNYA, TERKAIT DENGAN INFORMASI TERMASUK NAMUN TIDAK TERBATAS PADA JAMINAN TERSIRAT TENTANG KETIADAAN PELANGGARAN, KELAYAKAN DAGANG, DAN KESESUAIAN UNTUK TUJUAN TERTENTU, ATAU JAMINAN TERKAIT DENGAN KONDISI, KUALITAS, ATAU KINERJANYA.
DALAM KEADAAN APA PUN MICROCHIP TIDAK AKAN BERTANGGUNG JAWAB ATAS KERUGIAN, KERUSAKAN, BIAYA, ATAU PENGELUARAN TIDAK LANGSUNG, KHUSUS, HUKUMAN, INSIDENTAL, ATAU KONSEKUENSIAL DALAM BENTUK APA PUN YANG TERKAIT DENGAN INFORMASI ATAU PENGGUNAANNYA, BAGAIMANA PUN PENYEBABNYA, BAHKAN JIKA MICROCHIP TELAH DIBERITAHUKAN TENTANG KEMUNGKINAN TERSEBUT ATAU KERUSAKAN TERSEBUT DAPAT DIPREDIKSI. SEJAUH YANG DIIZINKAN OLEH HUKUM, TOTAL TANGGUNG JAWAB MICROCHIP ATAS SEMUA KLAIM DALAM CARA APA PUN YANG TERKAIT DENGAN INFORMASI ATAU PENGGUNAANNYA TIDAK AKAN MELEBIHI JUMLAH BIAYA, JIKA ADA, YANG TELAH ANDA BAYARKAN SECARA LANGSUNG KEPADA MICROCHIP UNTUK INFORMASI TERSEBUT.
Penggunaan perangkat Microchip dalam aplikasi pendukung kehidupan dan/atau keselamatan sepenuhnya menjadi risiko pembeli, dan pembeli setuju untuk membela, mengganti rugi, dan membebaskan Microchip dari segala kerusakan, klaim, tuntutan, atau biaya yang timbul akibat penggunaan tersebut. Tidak ada lisensi yang diberikan, secara tersirat atau sebaliknya, berdasarkan hak kekayaan intelektual Microchip kecuali dinyatakan sebaliknya.
Merek Dagang
Nama dan logo Microchip, logo Microchip, Adaptec, AnyRate, AVR, logo AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, logo Microsemi, PALING, logo PALING, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, logo PIC32, PolarFire, Desainer Prochip, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash , Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, dan XMEGA adalah merek dagang terdaftar dari Microchip Technology Incorporated di AS dan negara lain. AgileSwitch, APT, ClockWorks, Perusahaan Solusi Kontrol Tertanam, EtherSynch, Flashtec, Kontrol Kecepatan Hyper, Beban HyperLight, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, logo ProASIC Plus, QuietWire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime, WinPath, dan ZL adalah merek dagang terdaftar dari Microchip Technology Incorporated di USA 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, Pencocokan Rata-Rata Dinamis, DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, Pemrograman Serial Dalam Sirkuit, ICSP, INICnet, Paralel Cerdas, Konektivitas Antar-Chip, JitterBlocker, Knob-on-Display, maxCrypto, maksView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, NVM Express, NVMe, Pembuatan Kode Mahatahu, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE , Pemblokir Ripple, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, Sinkronisasi, Daya Tahan Total, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, dan ZENA adalah merek dagang Microchip Technology Incorporated di AS dan negara lain.
SQTP adalah merek layanan Microchip Technology Incorporated di Amerika Serikat
Logo Adaptec, Frequency on Demand, Silicon Storage Technology, Symmcom, dan Trusted Time adalah merek dagang terdaftar dari Microchip Technology Inc. di negara lain. GestIC adalah merek dagang terdaftar dari Microchip Technology Germany II GmbH & Co. KG, anak perusahaan dari Microchip Technology Inc., di negara lain.
Semua merek dagang lain yang disebutkan di sini adalah milik perusahaan masing-masing.
© 2016-2022, Microchip Technology Incorporated dan miliknya
anak perusahaan.
Hak Cipta Dilindungi Undang-Undang.
ISBN: 978-1-5224-9893-3
Penjualan dan Layanan di Seluruh Dunia
AMERIKA
Kantor Perusahaan
2355 Barat Chandler Blvd.
Chandler, AZ 85224-6199
Telp: Telepon: 480-792-7200
Fax: Telepon: 480-792-7277
Dukungan Teknis:
http://www.microchip.com/support
Web Alamat: www.microchip.com
Dokumen / Sumber Daya
![]() |
MICROCHIP dsPIC33 Timer Pengawas Ganda [Bahasa Indonesia:] Panduan Pengguna dsPIC33 Timer Pengawas Ganda, dsPIC33, Timer Pengawas Ganda, Timer Pengawas |