Lưu trữ cho 'STM8' Chuyên mục
«Cu hơn mục
Window Watchdog
Thứ Bảy 5 tháng 7, năm 2014
nhà kiểm soát cửa sổ cung cấp một cơ chế để phát hiện phần mềm thất bại trong hai cách, trước hết là một thiết lập lại đầu của cơ quan giám sát và thứ hai là một thất bại để thiết lập lại cơ quan giám sát trong thời gian. Trong bài này chúng tôi điều tra như thế nào cơ quan giám sát cửa sổ có thể được sử dụng và minh họa một số ví dụ. Phần cứng Window Watchdog ghi điều khiển - WWDG_CR đăng ký này có hai thành phần, bộ đếm giờ và bit cho phép (WWDG_CR_WDGA - xem dưới đây). Vi điều khiển sẽ được thiết lập lại khi một trong hai điều kiện có thể: Các thiết bị chuyển mạch truy cập từ 0 × 40 đến 0x3F (tức là bit 6 trong những thay đổi truy cập 1-0) Các truy cập được thiết lập lại khi giá trị truy cập lớn hơn cửa sổ cơ quan giám sát đăng ký Viết 0 đến bit 6 sẽ gây ra các vi điều khiển được thiết lập lại ngay lập tức. Giả sử WWDG_WR chứa giá trị thiết lập lại mặc định thì thời gian ra khoảng thời gian (trong mili giây) được định nghĩa như sau: tWWDG = tCPU * 12288 * (WWDG_CR & 0x3F) nơi tCPU = 1 / fmaster Trên STM8S chạy ở 16MHz giá trị 0 × 40 đại diện cho một số tương đương với 0.768ms. Vì vậy, tại 16MHz thời gian ra thời gian là: tWWDG = 0,768 * (WWDG_CR & 0x3F) Window Watchdog Kích hoạt Đăng ký - WWDG_CR_WDGA Chuyển cửa sổ Watchdog trên (các thiết lập để 1) hoặc tắt (thiết lập để 0). Window Watchdog cửa sổ Đăng ký - WWDG_WR đăng ký này xác định một khoảng thời gian mà các cơ quan giám sát truy cập không nên được đặt lại. Nếu truy cập (WWDG_CR) được thiết lập lại khi giá trị truy cập lớn hơn giá trị trong đăng ký này vi điều khiển sẽ được thiết lập lại. Điều này có thể được minh họa như sau: Trình tự Watchdog Watchdog chuỗi Chúng ta có thể tính giá trị của tWindowStart và ttimeout như sau (giả sử một đồng hồ 16MHz): tWindowStart = 0,768 * ((WWDG_CRinitial & 0x3F) - WWDG_WR) và ttimeout = 0,768 * (WWDG_CR & 0x3F) nơi WWDG_CRinitial là giá trị ban đầu vào sổ đăng ký WWDG_CR. Giá trị thiết lập lại mặc định cho đăng ký này là 0x7f có nghĩa là truy cập có thể được thiết lập lại bất cứ lúc nào. Trong trường hợp này, một thiết lập lại sẽ chỉ được tạo ra nếu giảm xuống xuống dưới 0 × 40. Một điểm quan trọng cần lưu ý là khi đăng ký cửa sổ được sử dụng giá trị bằng văn bản cho truy cập (WWDG_CR) phải từ 0xC0 và 0x7f. Điều này làm cho truy cập được thiết lập lại và giá trị truy cập được thiết lập lại cùng một lúc.
đang được dịch, vui lòng đợi..
