Independent Watchdog

Một phần của tài liệu Kiến trúc cơ bản của STM32 ARM Cortex m3 (Trang 102 - 104)

Mặc dù Independent Watchdog ñược thiết kế nằm trên hệ thống chính, nhưng nó có bộ dao ñộng riêng tách biệt với nguồn dao ñộng của hệ thống chính. Independent Watchdog cũng ñược ñặt trong miền ñiện ap VDD , là miền mà vẫn

Independent Watchdog là một ñịnh thời ñếm xuống 12 bit, và sẽ phát sinh hiệu lệnh Reset cho hệ thống khi giá trị ñạt dưới ngưỡng. Nó ñược cấp xung nhịp từ dao ñộng nội tốc ñộ thấp thông qua một bộ chia 8 bit. Bộ tạo dao ñộng LSI có một tần số danh nghĩa là 32kHz, nhưng trong thực tế nó có thể thay ñổi giữa 30 KHz ñến 60 KHz. Independent Watchdog ñược khởi ñộng bằng cách, ñầu tiên thiết lập thanh ghi Prescaler, khi qua bộ chia Prescaler dao ñộng sẽ có giá trị trong khoảng từ 4 ñến 256. Khoảng thời gian chờ tối thiểu cho Independent Watchdog là 0mSec và tối ña chỉ trên 26 giây. Thời gian chờ ñược lập trình trực tiếp vào thanh ghi nạp lại (reload register).

Các byte tùy chọn trong bộ nhớ Flash khối thông tin nhỏ có thể ñược dùng ñể

cấu hình Independent Watchdog ñể bắt ñầu sau khi reset, hoặc bằng lệnh phần mềm. Nếu theo phần mềm kiểm soát, Independent Watchdog có thể ñược bắt

ñầu bằng cách ghi 0xCCCC vào thanh ghi khóa. Independent Watchdog sẽ ñếm xuống từ một giá trị ban ñầu 0xFFF. Giá tri 0xAAAA phải ñược ghi vào thanh ghi khóa ñể làm tươi watchdog. Điều này làm cho giá trị nạp lại ñược nạp vào thanh ghi ñếm xuống, làm mới giá trị ñếm.

Rất khó ñể gỡ lỗi chương trình ở các dòng vi ñiều khiển nhỏ nếu Watchdog ñã

ñược kích hoạt. Ngay sau khi CPU ngưng hoạt ñộng, watchdog không thểñược cập nhật. Nó sẽ chờ thời gian tới hạn(timeout) và sau ñó sẽ phát sinh ra ngắt, khi ñó toàn bộ hệ thống khởi ñộng lại xóa ñi trạng thái lỗi cần mà người dùng cần gỡ. Bình thường, một Watchdog phải ñược vô hiệu hoá ñể nó không gây rối loạn các trình gỡ lỗi. Nếu vậy thì lại khó khăn trong việc ñánh giá cấu hình thời gian kiểm tra của Watchdog là tối ưu hay chưa. Trong thanh ghi MCUDBG STM32 có thể cấu hình cả hai Independent Watchdog và Window Watchdog dừng hoạt ñộng khi Cortex-M3 CPU nằm dưới sự kiểm soát của hệ

thống gỡ lỗi CoreSight. Điều này cho phép người dùng gỡ lỗi ngay cả khi hai khối Watchdogs ñược kích hoạt.

Một phần của tài liệu Kiến trúc cơ bản của STM32 ARM Cortex m3 (Trang 102 - 104)

Tải bản đầy đủ (PDF)

(112 trang)