|
به نظر می رسد که شما عضو سایت نیستید و یا وارد نشده اید, امکان ارسال مطلب و دانلود فایل و همچنین دسترسی به انجمن هایی که فقط اعضا ثبت نام شده امکان دسترسی به آن را دارند از امتیازات ثبت نام در سایت میباشد. لطفا از طریق این لینک برای ثبت نام اقدام نمایید. |
|
| جدیدترین موضوعات انجمنها | |
|
|
||||||||
![]() |
|
|
LinkBack | ابزارهای موضوع | نحوه نمایش |
|
|
#1 |
|
مدیر بخش
![]() |
سلام.این ریست مخصوص PIC نیست و ریستی کلی است برای همه میکروکنترلرها که در مواقعی رخ می دهد.
WDT چیست : WDT مخفف Watch Dog Timer است که به معنای سگ نگهبان می باشد . WDT یکی از قابلیت های مفید و کاربردی در تراشه های میکروکنترلر است که با کمک آن می توان بر روی عملکرد میکروکنترلر نظارت داشت و در صورتی که تراشه به هر علتی قادر به اجرای برنامه نبود (هنگ کرد) ، آنرا ریست کرد . فرض کنید در در محیطی صنعتی و نویز پذیر از میکروکنترلر استفاده می کنید . در این صورت بسته به نوع مدار و همچنین میکروکنترلر ، درصدی احتمال برای اثر گذاری نویز بر روی تراشه وجود دارد که در صورت وقوع این وضعیت ، میکروکنترلر هنگ می کند و دیگر قادر به اجرای برنامه نیست . در این شرایط لازم است که برای اجرای برنامه ، تراشه ریست شود که این عمل مستلزم نظارت کاربری بر مدار است تا در صورت هنگ کردن ، از این موضوع اطلاع حاصل کند . در حالت عادی این ریست باید توسط کاربر انجام پذیرد که با بالا رفتن تعداد مدارات به کار گرفته شده در محیط مذکور و یا کار کردن دائمی مدارها ، نظارت توسط کاربر سخت ، هزینه بر و در مواردی غیر ممکن خواهد بود . اما در میکروکنترلرهایی که مجهز به WDT هستند ، وظیفهء کاربر نظارت کننده را WDT بر عهده دارد و آنرا به خوبی انجام می دهد . WDT این امکان را دارد که پس از شمارش صعودی و سر ریز شدن تایمر ، میکروکنترلر را ریست کند . WDT در اکثر موارد از یک شبکه RC داخلی برای تامین کلاک مورد نظر خود استفاده می کند که در این حالت حتی اگر کلاک اصلی میکروکنترلر نیز قطع شود ، باز هم WDT به کارش ادامه خواهد داد . همچنین امکان تعیین پرسکالر (پیش مقسم فرکانسی) بر روی کلاک اعمالی به WDT نیز وجود دارد که با کمک آن می توان زمان های سرریز WDT را تغییر داد . WDT در تراشه های در حالت کلی به صورت یکسان عمل می کند ، اما در حالت جزئی ممکن است تفاوتهایی در عملکرد WDT در بین انواع میکروکنترلر باشد . ادامه دارد. |
|
|
|
| اين کاربران از mohamad.nasr به خاطر این مطلب مفید تشکر کرده اند |
|
|
#2 |
|
مدیر بخش
![]() |
چگونگی کار با Wdt :
ابتدا با توجه به مقدار پرسکالر اعمالی و فرکانس کلاک Wdt ، زمان سر ریز را محاسبه کرده ، سپس با فعال سازی Wdt ، عمل نظارت آغاز می شود . برنامه کاری باید به نحوی نوشته شده باشد که قبل از اینکه Wdt ریست شود ، مقدار آن توسط میکروکنترلر 0 شود . در این شرایط اگر میکروکنترلر در حالت کار عادی خود باشد ، قبل از سر ریز شدن Wdt ، مقدار آنرا ریست می کند (جلوگیری از سر ریز تایمر) و به این ترتیب Wdt سر ریز نشده و نمی تواند سیستم را ریست کند (مدار در حالت عادی به کار خود ادامه می دهد ) ؛ ولی اگر میکرو کنترلر به هر دلیلی هنگ کند و قادر به اجرای برنامه نباشد ، دیگر نمی تواند Wdt را قبل از سر ریز شدن ریست کند و بنابراین Wdt سر ریز شده و تراشه را ریست می کند و به این ترتیب از هنگ ماندن تراشه جلوگیری می کند و سریع آنرا از حالت هنگ خارج می کند . نکته : ریست مربوط به Wdt در انواع مختلف میکروکنترلر ، متفاوت است ؛ به صورتی که در برخی از میکروکنترلر ها ریست شدن توسط Wdt همانند ریست خارجی است که تمامی مقادیر رجیستر ها ، متغیرها و .. را ریست می کند ، اما در برخی دیگر هم ریست شدن توسط Wdt تنها بر روی برخی از رجیستر ها تاثیر می گذارد . با تشکر از آقای حامد مظاهری |
|
|
|
|
|
#3 |
|
مدیر بخش
![]() |
سلام.این مطلبی کلی راجع به ریست ها در pic ها است.از خود میکروچیپ هم هست!
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try saeebrobotic.blogfa.com ________________________ We Are OpenSource |
|
|
|
![]() |
| علاقه مندی ها (Bookmarks) |
| ابزارهای موضوع | |
| نحوه نمایش | |
|