1. Watchdog timer là gì?
Hình 1. Watchdog timer là gì?
Đầu tiên, chúng ta hiểu rằng Timer/Counter là một bộ đếm, đếm xung nhịp (xung clock), là một trong những ngoại vi thông dụng mà bất cứ dòng vi điều khiển nào cũng có. Timer là bộ đếm định thời, sẽ thực hiện một tác vụ nào đó trong khoảng thời gian xác lập trước. Watchdog timer là bộ đếm thời gian hoạt động liên tục nhằm tự động thực hiện một nhiệm vụ nào đó. Sau một khoảng thời gian được định trước nếu bộ đếm không được dừng hoặc refresh nó sẽ kích hoạt tác vụ đã được định sẵn ví dụ như reset thiết bị, tắt màn hình, phát tín hiệu cảnh báo,...
Hay có thể hiểu Watchdog timer là bộ đếm thời gian hoạt động liên tục nhằm tự động thực hiện một nhiệm vụ nào đó. Sau một khoảng thời gian được định trước nếu bộ đếm không được dừng hoặc refresh nó sẽ kích hoạt tác vụ đã được định sẵn ví dụ như reset thiết bị, tắt màn hình, phát tín hiệu cảnh báo, ... Trong quá trình đếm nếu bộ đếm được refresh nó cứ thế tự động đếm tiếp nhưng bắt đầu lại với thời gian là 0.
Thông thường Watchdog timer được nhắc đến như một sự hỗ trợ mang tính phần cứng, được sử dụng bởi phần mềm qua các trình điều khiển, tuy nhiên ở đây tôi muốn nhìn nhận nó một cách tổng quát mang tính khái niệm, vì vậy Watchdog timer cũng dễ dàng được triển khai trên cơ sở phần mềm.
2. Ứng dụng của Watchdog timer
Hiểu một cách đơn giản, ứng dụng chủ yếu của Watchdog Timer là khởi động lại vi điều khiển sau một khoảng thời gian xác lập. Như vậy, chúng ta hoàn toàn có thể sử dụng tính năng hữu ích này của Watchdog Timer vào các ứng dụng giám sát, điều khiển công nghiệp. Bởi các vi xử lý làm việc trong thời gian lâu sẽ gặp các vấn đề về tràn bộ nhớ, bị treo do nhiễu tín hiệu. Khi đó, nếu chúng ta sử dụng Watchdog Timer một cách hợp lý, nó sẽ giúp chúng ta khởi động (reset) lại mạch, qua đó giải quyết được các vấn đề nêu trên.
Như vậy, về cơ bản chúng ta đã ứng dụng Watchdog Timer để thay cho công việc của người nhân viên vận hành đã đề cập ở trên. Kết quả thực nghiệm và kết luận sau quá trình nghiên cứu và thử nghiệm, hệ thống phần mềm kiểm thử nhiệt độ tủ lạnh đã hoạt động tốt trong môi trường công nghiệp. Được lắp đặt thử nghiệm cho một số đơn vị sản xuất tủ lạnh trên thị trường. Nhờ ứng dụng Watchdog Timer, hệ thống hoạt động ổn định, có thể tự xử lý lỗi trong quá trình hoạt động mà không cần can thiệp từ người công nhân vận hành. Qua đó, tăng độ tin cậy của hệ thống. Việc khởi động lại thiết bị nhúng trong quá trình hoạt động giúp cho thiết bị chạy lại ở điều kiện ban đầu giống như thời điểm khởi động hệ thống. Qua đó, giúp ta giải quyết được một số vấn đề về tràn bộ nhớ, xung đột ô nhớ trong vi xử lý. Không chỉ hiệu quả trong các hệ thống giám sát, tính năng này còn được sử dụng rộng rãi trong các mạch điều khiển. Từ ý tưởng đó, nhóm đã tích hợp thành công trong mạch điều khiển máy lọc nước, chạy 24/7, đảm bảo độ tin cậy cho mạch điều khiển máy lọc nước.
3. Quy trình hoạt động
3.1 Cơ quan giám sát khởi động lại
Trong Watchdog timer thì hành động khởi động lại bộ đếm thời gian theo dõi, thường được gọi là "kicking" cơ quan giám sát, thường được thực hiện bằng cách ghi vào cổng điều khiển của bộ giám sát. Trong các máy tính đang chạy hệ điều hành,thiết lập lại watchdog thường được gọi thông qua trình điều khiển thiết bị. Trình điều khiển thiết bị, phục vụ để trừu tượng phần cứng watchdog khỏi các chương trình không gian người dùng, cũng được sử dụng để định cấu hình thời gian chờ, bắt đầu và dừng bộ hẹn giờ.
Hình 1. Lưu đồ thuật toán sử dụng Watchdog timer
3.2 Cơ quan giám sát một giai đoạn
Với cơ quan giám sát một giai đoạn của Watchdog timer thì đồng hồ bấm giờ có nhiều cấu hình và cho phép thay đổi cấu hình của chúng. Vi điều khiển thường bao gồm một cơ quan giám sát tích cực trên chip. Trong các máy tính khác, bộ giám sát có thể nằm trong một con chip gần đó kết nối trực tiếp với CPU hoặc có thể đặt trên thẻ mở rộng bên trong khung máy tính. Bộ giám sát và CPU có thể chia sẻ tín hiệu đồng hồ chung, như thể hiện trong sơ đồ khối bên dưới, hoặc chúng có tín hiệu đồng hồ độc lập.
Hình 3. Cơ quan giám sát gián đoạn của Watchdog timer
3.3 Cơ quan giám sát nhiều tầng
Watchdog timer dùng cơ quan giám sát nhiều tầng, hai hoặc nhiều bộ định thời đôi khi được xếp tầng để tạo thành bộ đếm thời gian theo dõi nhiều tầng, trong đó mỗi bộ định thời được gọi là giai đoạn hẹn giờ hoặc đơn giản là một giai đoạn.
Ví dụ, sơ đồ khối bên dưới hiển thị một cơ quan giám sát ba giai đoạn. Trong một cơ quan giám sát nhiều tầng, chỉ có giai đoạn đầu tiên mới được xử lý bởi bộ xử lý. Khi hết thời gian đầu, một hành động khắc phục được tiến hành và giai đoạn tiếp theo trong dòng thông tin được bắt đầu. Khi mỗi giai đoạn kết thúc (hết thời gian) thì nó sẽ kích hoạt hành động khắc phục và bắt đầu cho một giai đoạn mới, cho tới giai đoạn cuối cùng
Thông thường, bộ định thời giám sát một giai đoạn được sử dụng để khởi động lại máy tính, trong khi đó bộ định thời giám sát nhiều tầng sẽ kích hoạt tuần tự một loạt các hành động khắc phục, với giai đoạn cuối sẽ kích hoạt khởi động lại máy tính.
Hình 4. Cơ quan giám sát nhiều tầng của Watchdog timer
Nếu bạn muốn tìm hiểu về Tự động hóa trong nhà máy, hãy liên hệ với chúng tôi qua baoanjsc@gmail.com. Với phương châm làm việc chuyên nghiệp, tận tâm Bảo An Automation luôn cam kết mang tới cho khách hàng sản phẩm với chất lượng tốt nhất với giá thành hợp lý và đảm bảo giao hàng đúng tiến độ.