Tin tức
Tin tức xem nhiều
xem thêm >188 máy tính công nghiệp NISE3800E và NISE3900E triển khai trong ứng dụng chuyên dụng
Máy tính công nghiệp lắp đặt trên các phương tiện...
Tích hợp máy tính chuyên dụng trong hệ thống giám sát trạm quạt thông gió ở hầm lò khai thác than
Hiện nay, nhiều mỏ than hầm lò ở Việt Nam...
Máy tính công nghiệp có quạt có thực sự lọc được hết bụi với thiết kế AirFilters?
Máy tính công nghiệp có quạt là thuật ngữ dùng...
Giải pháp demo
xem thêm >
Mạng mở rộng 5G cấp độ nhà khai thác
NEXCOM bắt tay vào sự phát triển các giải pháp...
21/12/2021
Lượt xem 15903
Watchdog là gì và chúng có vai trò như thế nào với PC công nghiệp?
Watchdog là gì?
Watchdog là một bộ đếm thời gian điện tử cho phép thiết lập lại hệ thống trong trường hợp máy tính bị trục trặc và khôi phục từ nó.
Watchdog bao gồm một bộ đếm thời gian giảm dần, khi bộ đếm thời gian đạt đến 0, hệ thống sẽ đặt lại. Sau đó, bạn luôn phải làm mới Watchdog.
Bộ đếm thời gian Watchdog Timer (WDT) sẽ đặt lại CPU hoặc tạo ra một ngắt nếu quá trình xử lý thuộc về Watchdog bị đình trệ vì bất kỳ lý do gì. Tính năng này giúp đảm bảo độ tin cậy của hệ thống trong môi trường độc lập hoặc không cần người giám sát trong công nghiệp. Dịch vụ đặt lại hoặc ngắt có thể đánh thức ứng dụng nếu nó đi vào vòng lặp vô tận mà không có phản hồi.

Thông thường có 2 đầu vào và 1 đầu ra trong WDT:
I1: Cài đặt khoảng thời gian (hoặc đi kèm với công tắc Kích hoạt / Bật)
I2: Đếm
O1: Kích hoạt "đặt lại hệ thống" hoặc "ngắt"
Khách hàng phải viết chương trình WDT dưới dạng dịch vụ thuộc "bên trong" chương trình ứng dụng công nghiệp, hoặc một chương trình cá nhân khác có hệ điều hành chạy nền. Sau khi bật dịch vụ WDT, chương trình đó cần "thường xuyên xóa" bộ đếm thời gian của chip WDT để chip WDT không gửi kích hoạt ra ngoài. Khi phần mềm còn hoạt động, WDT luôn được xóa để bắt đầu lại từ đầu (ví dụ: 63 giây) sau đó đếm ngược.
Nếu CPU bị treo làm cho nó không thể thực hiện tốt chương trình, chip WDT không thể nhận được tín hiệu rõ ràng nên nó tiếp tục đếm ngược về "0". Đó là thời điểm để gửi tín hiệu kích hoạt để thiết lập lại toàn bộ hệ thống hoặc gửi IRQ. Tính năng này được sử dụng để đánh thức hệ thống máy tính, sau đó thực thi các chương trình ứng dụng chuyên dụng.
Các lý do có thể khiến CPU không thể phản hồi như sau:
1. Trục trặc phần cứng.
2. CPU bị kẹt do các vấn đề phần mềm không xác định (ví dụ: vi rút tấn công, hết thời gian phản hồi trong chương trình ứng dụng làm kẹt quá trình xử lý của CPU ...).
Vai trò của Watchdog với máy tính công nghiệp
Đối với những hệ thống nhúng không thể được con người theo dõi liên tục như Máy tính công nghiệp, Watchdog Timer có thể là giải pháp. Hầu hết các hệ thống nhúng cần phải tự chủ. Thông thường, không thể đợi ai đó khởi động lại nếu phần mềm bị treo. Một số thiết kế nhúng, chẳng hạn như thăm dò không gian, chỉ đơn giản là không thể tiếp cận được với người vận hành. Nếu phần mềm của họ bị treo, các hệ thống đó sẽ bị vô hiệu hóa vĩnh viễn. Trong các trường hợp khác, tốc độ mà người vận hành có thể thiết lập lại hệ thống sẽ quá chậm để đáp ứng các yêu cầu về thời gian hoạt động của sản phẩm.
Bộ đếm thời gian WDT là một phần cứng có thể được sử dụng để tự động phát hiện các bất thường của phần mềm và đặt lại bộ xử lý nếu có. Nói chung, một bộ WDT dựa trên một bộ đếm đếm ngược từ một số giá trị ban đầu đến 0. Phần mềm nhúng sẽ chọn giá trị ban đầu của bộ đếm và định kỳ khởi động lại nó. Nếu bộ đếm về 0 trước khi phần mềm khởi động lại, phần mềm được coi là đang hoạt động sai và tín hiệu đặt lại của bộ xử lý được khẳng định. Bộ xử lý (và phần mềm nhúng mà nó đang chạy) sẽ được khởi động lại như thể người vận hành đã ngắt nguồn.
Hình 1 cho thấy một cách sắp xếp điển hình. Như đã trình bày, bộ đếm thời gian của cơ quan giám sát là một con chip bên ngoài bộ xử lý. Tuy nhiên, nó cũng có thể được bao gồm trong cùng một con chip với CPU. Điều này được thực hiện trong nhiều bộ vi điều khiển. Trong cả hai trường hợp, đầu ra từ bộ đếm thời gian của cơ quan giám sát được gắn trực tiếp với tín hiệu đặt lại của bộ xử lý.

Kicking the dog
Quá trình khởi động lại bộ đếm thời gian của Watchdog đôi khi được gọi là "đá chó". Hình ảnh ẩn dụ thích hợp là hình ảnh một người đàn ông bị một con chó hung ác tấn công. Nếu anh ta tiếp tục đá con chó, nó không bao giờ có thể cắn anh ta. Nhưng anh ta phải tiếp tục đá con chó đều đặn để tránh bị cắn. Tương tự, phần mềm phải khởi động lại bộ đếm thời gian của cơ quan giám sát với tốc độ thường xuyên, hoặc có nguy cơ bị khởi động lại.
Một ví dụ đơn giản được hiển thị trong Hình 1. Ở đây chúng ta có một vòng lặp vô hạn duy nhất điều khiển toàn bộ hành vi của hệ thống. Kiến trúc phần mềm này phổ biến trong nhiều hệ thống nhúng với các bộ xử lý cấp thấp và các hành vi dựa trên một tần số hoạt động duy nhất. Việc triển khai phần cứng của cơ quan giám sát này cho phép đặt giá trị bộ đếm thông qua một thanh ghi ánh xạ bộ nhớ.

NHÀ PHÂN PHỐI