توضیحات
واچ داگ چیست؟
تایمر واچ داگ یا همون سگ نگهبان کارش اینه که وقتی میکرو هنگ کرد، میکرو رو ریست می کند. مثلاً دمای محیط رو روی ۲۵ درجه باید نگه بداریم، ولی میکرو هنگ کرده و میکرو نمیتونه به دستگاه خنک کننده دستور دهد تا محیط رو خنک کند در واقع دستوراتی که به میکرو می دهیم احرا نمی شود. حالا اگر از تایمر نگهبان استفاده کنیم، در واقع از یک زمان مشخصی که خودمون می دونیم بیشتر کرده و می گیم اگر این تایمر بیشتر از حد مشخص ما شد میکرو ریست شود.
دو نکته در مورد Watchdog Timer:
۱- فرکانس کاری رو از یه اسیلاتور داخلی می گیرد و لذا از فرکانس اصلی میکرو تغذیه نمی کند.
۲- برای تعیین زمان ریست کردن میکرو توسط واچ داگ در دو ولتاژ ۳ و ۵ ولت استفاده می شود.
حال در این آموزش خواهیم دید که چگونه از IWDG (Independent Watchdog) و WWDG(Window Watchdog) در STM32 استفاده کنیم. هر دوی این واچ داگ ها برای اهداف مشابه استفاده می شوند ، اما تفاوت در اجرای آنها است. تفاوت عمده این دو در این است که Independent Watchdog را می توان در هر زمان قبل از وقوع timeout مجدداً تنظیم کرد ، اما Windd Watchdog فقط در یک پنجره خاص از زمان قابل تنظیم می توان ریست کرد.
این آموزش به دو نیمه تقسیم می شود. نیمه اول IWDG را پوشش می دهد ، و نیمه دوم WWDG را پوشش می دهد. بیایید اکنون با اولین مورد شروع کنیم:
-
IWDG