قسمت پانزدهم : تایمر نگهبان محدوده ای (WWDG)

قسمت پانزدهم : تایمر نگهبان محدوده ای (WWDG)

قسمت پانزدهم : تایمر نگهبان محدوده ای (WWDG)
قسمت پانزدهم : تایمر نگهبان محدوده ای (WWDG)

سیسوگ در قسمت چهاردهم آموزش میکروکنترلر STM8  تایمر نگهبان (IWDG) را که در اکثر میکروکنترلرها وجود دارد آموزش داد و اجرای برنامه آن‌ را روی STM8 با هم مشاهده کردیم. در این قسمت از مجموعه مقالات آموزش میکروکنترلر STM8  قصد دارد تایمر نگهبان محدوده ای (WWDG) را به شما آموزش دهد.

 

تایمر نگهبان محدوده ای (WWDG)

WWDG یک تایمر نگهبان پیشرفته است. برخلاف تایمر نگهبان (IWDG) در اینجا اگر شمارنده از یک محدوده زمانی از پیش تعیین شده بالاتر یا پایین تر برود فرمان ریست صادر می‌شود. این نوع تایمر بیشتر در میکروکنترلرهای پیشرفته مانند ARM ، ATXMEGA و میکروپروسسورهای اخیر دیده می‌شود. وقتی چنین ویژگی‌هایی را بررسی می‌کنیم مشاهده می‌شود که STM8s در مقایسه با دیگر میکروکنترلرهای 8 بیتی مقرون به صرفه‌تر است.

بلوک دیاگرام WWDG در STM8

WWDG با مقایسه مقادیر شمارنده معکوس در یک محدوده زمانی کار می‌کند. این شمارنده تنها زمانی که مقدار آن بزرگتر از 0x7F  و یا کمتر از مقدار تعیین شده محدوده باشد می‌تواند رفرش شود. اگر شمارنده به 0x7F برسد فرمان ریست سیستم صادر می‌شود. برنامه‌نویس باید در زمان مناسب شمارنده را رفرش کند. توجه داشته باشید که برخلاف IWDG، در اینجا WWDG به کلاک اصلی وابسته است.

نمودار WWDG در STM8

 

با استفاده از فرمول زیر می توان وقفه WWDG را محاسبه کرد. tWWDG بر اساس ms است:

فرمول وقفه WWDG

TCPU کلاک داخلی سیستم و بر اساس ms است.

 

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

اتصالات سخت افزاری WWDG در STM8

نمونه کد WWDG

در اینجا نمونه کد برای مشاهده عملکرد WWDG را نشان داده می‌شود. برای این تست به LED روی برد و پاور سوئیچ نیاز داریم. زمانی که کد شروع به اجرا می کند، LED به آرامی چشمک می‌زند که نشان دهنده شروع برنامه است. هنگامی که برنامه حلقه اصلی را اجرا می‌کند، LED به سرعت چشمک می‌زند که اجرای حلقه اصلی را نشان می‌دهد. اگر به صورت تصادفی سوئیچ فشرده شود، میکروکنترلر ریست می‌شود زیرا شمارنده خارج از محدوده مجاز رفرش شده است. گاهی ممکن است که میکروکنترلر ریست نشود که این نشان می‌دهد شمارنده در محدوده مجاز بوده است. به همین دلیل به این نوع تایمر، تایمر نگهبان محدوده ای گفته می شود.

 

 

توضیحات

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

 

برای WWDG، فقط باید مقدار شمارنده معکوس و محدوده پنجره را تنظیم کنیم.

ما باید روی WWDG نظارت کنیم تا در زمان مناسب شمارنده را رفرش کنیم.

به یاد داشته باشید که رفرش کردن در زمان نامناسب باعث ریست شدن میکروکنترلر می‌شود. در واقع میکروکنترلر خارج از محدوده تعیین شده ریست می‌شود.

 

تایمر نگهبان محدوده ای

 

در قسمت شانزدهم آموزش میکروکنترلر STM8 سیسوگ قصد دارد اصول اولیه تایمرها را بیان کند. همچنان سیسوگ را همراهی کنید.

منبع

لینک‌های دانلود

مطالب مرتبط

 

 

حمایت از electronic girl

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

electronic girl
electronic girl

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

دیدگاه ها

10 دیدگاه

  • Amin
    ۱۹ مهر ۱۳۹۷

    با سلام؛ به نظرتون کپی کردن مطالب دیگران بدون ذکر منبع کار درستیه؟؟

    • Zeus ‌
      زئوس Zeus
      ۱۹ مهر ۱۳۹۷

      سلام
      قطعا کار ناپسندی است و به شدت محکوم میکنیم !
      تمام مطالب سایت سیسوگ در صورت وجود منبع ؛ حتما منبع انها ذکر میشه ؛ اگر منظورتون این مطلبه ، همین مطلب هم منبعش ذکر شده اخر پست رو ببینید.

  • آشودرما
    ۱۹ مهر ۱۳۹۷

    سلام
    روزتون بخیر می خواستم بدونم 0x3F رو از کجا آوردین ؟
    if((GPIO_ReadInputPin(GPIOB, GPIO_PIN_7) == FALSE)
    و
    GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
    توی آخرین قسمت برنامه اشتباه چاپ شده 7و0
    توی برنامه اصلی درسته.
    دوست گرامی واقعا بابت این همه تلاش خالصانتون برای آموزش آدم های تازه کاری مثل ما ممنونیم . خدا هواتونو داشته باشه !

    • Zeus ‌
      زئوس Zeus
      ۲۰ مهر ۱۳۹۷

      عدد 3F اشتباه تایپ شده و در واقع 7ّF باید باشه چون کانتر 7 بیتی است.
      قسمت دوم هم اصلاح شده ؛
      متشکر از شما دوست عزیز برای دقت و تذکر 🙂

    • آشودرما
      ۲۰ مهر ۱۳۹۷

      موفق باشین!

  • سروش
    ۱۹ مهر ۱۳۹۷

    با سلام و احترام
    بابت این آموزش خیلی خیلی ممنون . مفهوم WWDG رو نمی فهمیدم حالا کاملا برام روشن شد.
    انشالله همواره موفق باشید.

    • Nasim Hematian
      electronic girl
      ۱۹ مهر ۱۳۹۷

      سلام
      باعث خوشحالیه که آموزش های سیسوگ تونسته ابهامات شما را بر طرف کنه.
      موفق باشید.

  • علی کریمی
    ۱۸ مهر ۱۳۹۷

    سلام و خسته نباشید
    قیمت میکروهای stm8 در مقایسه با سری stm32f0 چندان جذاب نیست و 32 بیتی هاارزانتر هم هستند
    اینجور که دیدم stm8 زیر 10هزار تومن نیست ولی سری stm32f0 از 6 تومن شروع میشه
    من لزوم کار با این میکروها را نمیفهمم
    به نظرم بجای این اموزش اگر زیر و بم stm32 کامل اموزش داده بشه خیلی بهتره
    در هر صورت بابت مطالب اموزنده و تجارب ارزشمندتون خیلی ممنونم

    • Nasim Hematian
      electronic girl
      ۱۹ مهر ۱۳۹۷

      سلام دوست عزیز
      در حال حاضر مجموعه آموزش میکروکنترلر STM32 به صورت هفتگی در سایت متشر میشه و احتمالا در آینده مجموعه آموزشی دیگری هم برای این میکروکنترلر داشته باشیم.
      موفق باشید.

    • Zeus ‌
      زئوس Zeus
      ۱۹ مهر ۱۳۹۷

      دوست عزیز ؛ همیشه قیمت ملاک نیست ! میکروکنترلرهایی هستند که خیلی خیلی ارزان تر هم هستند ! ولی مساله مهم اینه که باید در نظر داشته باشیم هر میکروکنترلری برای پوشش نیازی خاص تولید میشه و نمیشه گفت وقتی ARM سی و دو بیتی هست چرا کسی میره سراغ AVR !
      سری دوم STM32 هم توی راه هست و به زودی با اتمام این سری ؛ شروع خواهد شد.

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک