تایمر نگهبان (IWDG) در STM8 | قسمت چهاردهم آموزش STM8

blog
۱۳۹۷-۰۷-۱۰
4 دقیقه

سیسوگ در قسمت سیزدهم آموزش میکروکنترلر STM8 به ویژگی کاربردی تایمر نگهبان آنالوگ (Analog Watchdog) پرداخت. در این قسمت از مجموعه مقالات آموزش میکروکنترلر STM8  قصد دارد تایمر نگهبانی را که در اکثر میکروکنترلرها وجود دارد به شما آموزش دهد. با سیسوگ همراه باشید تا تایمر نگهبان (IWDG) را فرا گیرید.

تایمر نگهبان (IWDG)

IWDG یک تایمر نگهبان معمولی است که در اکثر میکروکنترلرهای مدرن دیده می‌شود.  هدف این تایمر این است که از میکروکنترلر در مقابل رویدادهای غیرمنتظره که به دلایل غیر متعارف رخ می‌دهد محافظت کند. همان‌طور که از نام آن مشخص است، این تایمر چیزی را با سخت افزارهای جانبی داخلی به اشتراک نمی‌گذارد و تنها با فرکانس (LSI (128KHz کار می‌کند. بنابراین، با کلاک‌های اصلی (HSE یا HSI) کار نمی‌کند.

 

بلوک دیاگرام تایمر نگهبان IWDG

کلاک دیاگرام تایمر نگهبان IWDG

 

IWDG به صورت شمارش معکوس کار می‌کند. هنگامی که شمارنده به صفر برسد، فرمان ریست صادر می‌شود. معمولاً ما می‌خواهیم که فرمان ریست هرگز اتفاق نیفتد بنابراین شمارنده به صورت دوره‌ای به‌ روز می‌شود. اگر به هر دلیلی، شمارنده به روز نشود، ریست اتفاق می‌افتد و MCU را از یک وضعیت فاجعه بار! نجات می‌دهد.

پیکربندی IWDG با SPL بسیار ساده است. مراحل خاصی برای پیگیری وجود دارد، اما SPI آن‌ها را به صورت داخلی مدیرت می‌کند. نیاز داریم که IWDG را پیکربندی کنیم و قبل از اتمام زمان آن را مجدداً بارگیری کنیم.

فرمول مورد نیاز برای محاسبه وقفه در زیر داده شده است:

فرمول محاسبه وقفه تایمر نگهبان IWDG

 

مقادیر معمول از زمان وقفه در زیر نشان داده شده است:

 

زمان وقفه در تایمر نگهبان IWDG

اتصالات سخت افزاری

اتصالات سخت افزاری تایمر نگهبان IWDG

نمونه کد IWDG

توضیحات

در این مثال، به کلاک خارجی و کلاک CPU کاری نداریم چرا که IWDG به آن‌ها وابسته نیست.  می‌توانیم ببینیم که CPU با کلاک  500 کیلوهرتز کار می‌کند، در حالی‌که کلاک خارجی 2 مگاهرتز است.

برای راه اندازی IWDG ابتدا باید آن را فعال کرد و سپس Write Access Protection را اعمال نمود (0x55). فقط باید مقدار  precaler  و مقدار شمارنده را تنظیم کنیم. شمارنده معکوس از این شماره شروع می‌کند و تا صفر می‌شمارد، مگر اینکه در این بین رفرش شود. در این مثال، precaler روی مقدار 128 تنظیم شده و مقدار بارگذاری مجدد روی 153 (0x99) تنظیم شده است. بنابراین، ما زمانی حدود 300ms را دریافت می‌کنیم. پس از اینکه این مقادیر را وارد کردیم باید از تغییرات تصادفی در سیستم عامل جلوگیری کرد و بنابراین باید دسترسی به نوشتن غیرفعال شود.

در ابتدا قبل از اینکه IWDG پیکربندی شود، LED  روشن می‌شود که نشان دهنده شروع به کار سیستم عامل است. در حلقه اصلی، با یک تأخیر زمانی در حلقه “for” تغییر وضعیت می‌دهد. در داخل حلقه، وضعیت  کلید نیز مورد نظر است. اگر کلید پایین نگهداشته شود به معنای حالت منطقی پایین خواهد بود و IWDG  مجدداً بارگذاری می‌شود. اگر وضعیت به حالت منطقی بالا تغییر کند و  300ms سپری شود، ریست اتفاق می‌افتد.

توجه داشته باشید که ممکن است LSI  کالیبراسیون شود. البته این اتفاق به ندرت پیش می‌آید.

تایمر نگهبان IWDG

در قسمت پانزدهم آموزش میکروکنترلر STM8 سیسوگ قصد دارد تایمر نگهبان محدوده ای (WWDG) را آموزش دهد. با سیسوگ همراه باشید.

منبع

مطالب مرتبط

 

اطلاعات
4
0
لینک و اشتراک
profile

electronic girl

متخصص الکترونیک

دوستدار الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
محسن گفت :
۱۴۰۱-۱۲-۱۴ ۱۲:۴۱

ممنون
آیا امکانش هست پروژه های پیشرفته تری مثل کار با ماژول های مختلف رو با این میکرو آموزش بدید.

profile
Zeus ‌ گفت :
۱۴۰۲-۰۷-۰۷ ۱۶:۵۸

متاسفانه محدودیت زمان داریم

profile
محسن گفت :
۱۴۰۱-۱۰-۱۰ ۱۵:۴۱

سلام وقت بخیر
1. این کد در قسمت main قبل شروع حلقه while برای چه منظوری نوشته شده؟ for(t = 0; t < 60000; t++); همچین کدهایی رو زیاد استفاده می کنید ولی دلیلش رو نمیدونم.
2. در جدولی که عکسش رو گذاشتین لطفا در مورد نحوه محاسبه timeout یک توضیح مختصری بدید
ممنون

profile
Zeus ‌ گفت :
۱۴۰۱-۱۱-۰۳ ۰۹:۵۰

سلام دوست عزیز
۱. این کار برای ایجاد تاخیر هست
۲. فرمولش بالاتر هست – ببینید واچ داگ داخلی از نوسان ساز LSI که فرکانس ثابتی داره و معادل ۱۲۸ کیلوهرتز است تغزیه میشه و ما میتونیم این سورس کلاک رو به اعداد خاصی که توی دیتاشیت ذکر شده تقسیم کنیم، با تقسیم اون زمان های ذکر شده ایجاد خواهند شد.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله