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





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2010/10/28
    12
    13

    تایمر سگ نگهبان! یا watchdog timer

    سلام خدمت دوستان عزیز
    مقدمه: همانطور که می دانید میکروهای stm32 دارای دو واچ داگ هستند. که یکی ساده (iwdg) و دیگری پیشرفته تر(wwdg) میباشد. و البته هرکدام مزایای خودشان را دارند، از جمله اینکه واچ داگ ساده دارای اسیلاتور مجزا از اسیلاتور اصلی میکرو هست و این باعث میشه در صورت fail شدن اسیلاتور میکرو بر روی این واچ داگ تاثیری نداشته باشد. از طرف دیگر واچ داگ پیشرفته امکاناتی دارد مثلاً دارای بازه زمانی (window) برای ریست کردن هست و یا دارای امکان گرفتن وقفه می باشد.
    حال با توجه به مطالب بالا سوالات من از قرار زیر می باشند.
    1- همانطور که اطلاع دارید بایستی در زمان مناسب کانتر واچ داگ را دوباره با مقدار مناسب لودکنیم تا از ریست شدن میکرو جلوگیری شود. اما به نظر من این کار وقتی برنامه پیچیده می شود سخت است. مثلا فرض کنید در while(1); برنامه، چند تابع فراخوانی شود. در هر کدام از این تابع ها بایستی محاسبه کنیم که چه زمانی کانتر را دوباره لود کنیم. این کار موقعی پیچیده تر میشود که قرار باشه از wwdg استفاده کنیم (چرا که حد بالا و پایین دارد و اگر زودتر از موعد لود کنیم هم موجب ریست میکرو می شود). حالا تازه بعد از این همه محاسبه و داستان فرض کنید بعداً قرار باشه که تغییری در برنامه رخ دهد. همه این محاسبات به هم میریزه و باید دوباره همه جا تغییراتی در خصوص زمان لود کردن کانتر ایجاد کنیم. برای این منظور راه حلی هست؟ یا همینه که هست؟
    البته این رو هم بگم که می دونم برای واچ داگ wwdg در رفرنس منوال گفته می تونید از وقفه اش برای لود کانتر استفاده کنید و با این کار خیلی کار راحت میشه و دیگه نباید نگران زمان بندی بود. اما این کار اصولی نیست و ممکنه حتی با اینکه میکرو هنگ کرده وقفه هنوز فعال باشه و دائم ریلود بشه و مانع از ریست میکرو بشه.
    2- سوال دیگری که برای من پیش اومده اینه که ظاهراً هنگامی که مقدار کانتر از 80 به 79 تغییر می کند ریست رخ می دهد و قبل از این ریست یعنی وقتی که به 80 می رسد وقفه اتفاق می افتد. حالا سوال من اینه که وقتی به وقفه می رود کانتر واچ داگ می ایستد و وقتی که خارج شد شروع به کم شدن دوباره می کند یا اینکه در حین وقفه هم کانتر کار خود را می کند ولی چون سرعتش از سرعت میکرو کمتر است عملاً اتفاقات درون زیربرنامه وقفه بسیار سریع اجرا می شوند.
    3- یکی از کاربردهای وقفه در واچ داگ ها رو این ذکر می کنند که با استفاده از آن می توان دیتا لاگینگ انجام داد تا متوجه شویم ایراد از کجاست و چه چیز باعث این شده که میکرو هنگ کند. منظور از دیتا لاگینگ ذخیره چه نوع اطلاعاتی است؟ آیا میشه با استفاده از آن متوجه شد که در کدام قسمت برنامه این مشکل به وجود اومده -مثلاً در چه تابعی به مشکل برخوردیم-؟
    پی نوشت:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    و از مطالب مطرح شده تو اون تاپیک خیلی استفاده کردم -بخشی از مواردی که بالا گفتم هم از اونجا یاد گرفتم- رو همین حساب :
    Roholamin: 1+ for good question
    ویرایش توسط phoenix2000 : 2016/08/16 در ساعت 06:24
  2. #2
    2015/09/03
    13
    5

    پاسخ : تایمر سگ نگهبان! یا watchdog timer

    من در حدی که به سوال شما جواب بدم بلد نیستم، اما فلسفه تعریف سگ نگهبان همین هست که تایمر معکوسی مدام بشمره و اگه ریلود نشه، فرمان ریست بده
    در مورد WWDG شخصی به نام Robert Thomas توی یوتیوب توضیح داده که البته من چون کارم با همین IWDG راه میفته چندان دقیق دنبالش نکردم
    کد HTML:
    https://www.youtube.com/user/BR549DBH/videos?view=0&sort=dd&live_view=500&flow=grid
    ویرایش توسط روح الامین : 2016/08/20 در ساعت 07:47
  3. #3
    2009/05/20
    772
    24

    پاسخ : تایمر سگ نگهبان! یا watchdog timer

    سلام چرا در ورژن2078بیسکام

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    رو ارور میگیره؟اپدیت کردم از دم تمام برنامه هایی که

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    داره رو ارور میگیره و کمپایل نمیکنه
نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. تایمر سگ نگهبان(WDT )
    توسط cpld در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2015/11/27, 00:50
  2. WDT – Watchdog Timer XMEGA
    توسط mehdi210 در انجمن XMEGA
    پاسخ: 7
    آخرين نوشته: 2014/05/29, 01:07
  3. تایمر WWDG"Window WatchDog Timer"در STM32
    توسط fatemehjml در انجمن STM
    پاسخ: 2
    آخرين نوشته: 2014/01/20, 14:55
  4. کار با watchdog timer
    توسط akshaaksha در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2013/08/22, 00:27
  5. Watchdog Timer m88
    توسط esmaeil21 در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2012/03/07, 10:57

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •