اطلاعیه

Collapse
No announcement yet.

یه سوال درباره watch dog ؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    یه سوال درباره watch dog ؟

    سلام به همگی
    راستش یه توضیحی درباره timer watchdog می خواستم .
    یعنی چطور به صورت نرم افزاری میشه ازش تو برنامه استفاده کرد ؟ اگه با مثال لطف کنید توضیح بدین ممنون میشم(code vision )
    و یه سوال : روشهای ریست کردن میکرو رو غیر از timer watch dog ؟؟؟
    ذكات علم ياد دادنه ....

    #2
    پاسخ : یه سوال درباره watch dog ؟

    سلام
    این تایمر یکی از بهترین امکان AVR در مقابله با نویز است چون منبع کلاک آن جدای از منبع کلاک بقیه واحد هاست. بدین صورت است که شما میای رجیستر WTCR را تنظیم میکنی و میگی که مثلا هر 1 ثانیه یه پالس تریگر واسه واحد سگ نگهبان فرستاده بشه و میدونی که برنامه ات زیر 1 ثانیه اجرا میشه,حالا وقتی برنامه اجرا میشه در آخر یه پالس هم واسه این واحد ارسال میکنه واونو ریست مکنهوحالا اگر به هر دلیلی مثل هنگ کردنومیکرو نتونست این پالس را واسه سگ نگهبان بفرسته و تایمر این واحد سرریز کرد پالسی واسه واحد Reset ارسال میکنه و میکرو را ریست میکنه.برنامه اش هم خیلی سادست مثلا اگه تو مگا 32 بخواهی رو 2.2 ثانیه تنظیم کنی
    WDTCR=0b00001111;
    فرزندم در راه است

    دیدگاه


      #3
      پاسخ : یه سوال درباره watch dog ؟

      سلام علی اقا
      انشا ا... که حالتون خوب باشه :rolleyes:
      یه سوال این نکته که فرمودین :
      هر 1 ثانیه یه پالس تریگر واسه واحد سگ نگهبان فرستاده بشه و میدونی که برنامه ات زیر 1 ثانیه اجرا میشه
      چطور میشه مدت زمان برنامه ای رو که نویشتیم به دست اورد ایا از روی محاسبه مدت delay ها و یا از روی تایمر هایی که فعال هستن یا روش دیگه ایی داره لطف مکنید یه توضیحی روش بدین؟
      در ضمن من با code vizard وقتی تایمر watch dog رو فعال کردم به این شکل شد میشه



      ایا همین برای فعال کردن تایمر کافیه یا بازم باید دستوری به برنامه اضافه بشه؟
      با سپاس
      ذكات علم ياد دادنه ....

      دیدگاه


        #4
        پاسخ : یه سوال درباره watch dog ؟

        در مورد سوال اولت که میخوای مدت زمان اجرای برنامه رو بفهمی، باید عرض کنم که اصلا لازم نیست که بدونی دقیقا اجرای برنامه ات چقدر طول می کشه تا از Watch Dog استفاده کنی. فرض کن تو برنامه ات مجموعا 50 میلی ثانیه تاخیر داری، بقیه برنامه رو هم بذار 20 میلی ثانیه. چون سرعت اجرای دستورات خیلی زیاده و در حد دهم میکرو ثانیه است. پس اگه Watch Dog هر یک دهم ثانیه میکرو رو ریست کنه، عالیه. یعنی در کل، اکثریت مدت اجرای برنامه تو تاخیرها و تایمرهاست، اجرای بقیه برنامه چیزی طول نمی کشه.

        در مورد سوال دومت هم باید عرض کنم که من با Bascom کار می کنم
        عمر گران میگذرد خواهی نخواهی سعی بر آن کن نرود رو به تباهی
        مطلب دل را طلب از سوی خدا کن زآنکه بود رحمت او لا یتناهی

        دیدگاه


          #5
          پاسخ : یه سوال درباره watch dog ؟

          اگه بخوای مدت زمان برنامه ای رو که نویشتی به دست بیاری. میتونی برنامه که نوشتی را در avr stadio بگذاری بعد اجراش کنی
          آن وقت میتونی زمان اجرا را ببینی

          دیدگاه


            #6
            پاسخ : یه سوال درباره watch dog ؟

            دوستان از پاسختون ممنونم

            راستش یه روشی بود درباره تایمر watchdog تستش کردم ولی جواب نداد دوستان اگه روشی برای استفاده از watchdog به صورت نرم افزاری در برنامه دارن ؟؟؟
            لطف کنند منو کمک کنند :cry2:
            این روشی که میگم اینجوری بودش که چنتا پرچم(flag ) تو برنامه تعریف میکردو تو هر قسمت از برنامه قرارش میداد مثل توابع حلقه ها...
            بعد در هنگام اجرای برنامه این پرچم ها 1 میشدن و در اخر میکرو این پرچم ها رو چک میکنه اگه همگی برابر 1 باشند میکرو با دستور ("asm ("wdr #
            تایمرو Reset میکنه و بعد همه پرچم هارو 0 میکنه
            من این روشو تو برنامم اجرا کردم ولی به نتیجه ایی نرسیدم :angry:
            شاید من اشتباه استفاده کرده باشم

            ذكات علم ياد دادنه ....

            دیدگاه


              #7
              پاسخ : یه سوال درباره watch dog ؟

              نوشته اصلی توسط majid.4206
              سلام علی اقا
              انشا ا... که حالتون خوب باشه :rolleyes:
              یه سوال این نکته که فرمودین :
              هر 1 ثانیه یه پالس تریگر واسه واحد سگ نگهبان فرستاده بشه و میدونی که برنامه ات زیر 1 ثانیه اجرا میشه
              چطور میشه مدت زمان برنامه ای رو که نویشتیم به دست اورد ایا از روی محاسبه مدت delay ها و یا از روی تایمر هایی که فعال هستن یا روش دیگه ایی داره لطف مکنید یه توضیحی روش بدین؟
              در ضمن من با code vizard وقتی تایمر watch dog رو فعال کردم به این شکل شد میشه



              ایا همین برای فعال کردن تایمر کافیه یا بازم باید دستوری به برنامه اضافه بشه؟
              با سپاس
              سلام ببخشید دیر شد راستش من در مورد اون فلش ها چیزی نمیدونم چون با Code Wizard کار نمیکنم
              در مورد مقدار رجیستر WDTCR باید عرض کنم که اگه 0x1f باشه تایمر مدار سگ نگهبان خاموش است و اگه 0x0f باشه این واحد روشن میشه و پس از 2.2 ثانیه در صورت نیامدن پالس تمدید زمان,میکرو ریست خواهد شد.ملا حظه بفرمایید:
              فرزندم در راه است

              دیدگاه


                #8
                پاسخ : یه سوال درباره watch dog ؟

                علی اقا ممنونم
                دوستان کسه دیگه نظری نداره؟؟؟
                ذكات علم ياد دادنه ....

                دیدگاه


                  #9
                  پاسخ : یه سوال درباره watch dog ؟

                  :nice:؟؟
                  ذكات علم ياد دادنه ....

                  دیدگاه


                    #10
                    پاسخ : یه سوال درباره watch dog ؟

                    یعنی یه نفر هم نیست که با تایمر watch dog کار کرده باشه
                    دوستان کمک کنید واقعا نیاز دارم :cry2:
                    ذكات علم ياد دادنه ....

                    دیدگاه


                      #11
                      پاسخ : یه سوال درباره watch dog ؟

                      سلام دوستان این چیزایی که گفتید رو میشه تو بیسکام هم توضیح بدید ومثال بزنید
                      مرسی

                      دیدگاه


                        #12
                        پاسخ : یه سوال درباره watch dog ؟

                        اینم در مورد watch dog
                        با با توضیح رجیستری و مثال
                        و توضیح تنظیمات آن با codevision

                        http://www.4shared.com/file/98653404/7132787f/watch_dog.html

                        دیدگاه


                          #13
                          پاسخ : یه سوال درباره watch dog ؟

                          اینم در مورد watch dog
                          با با توضیح رجیستری و مثال
                          و توضیح تنظیمات آن با codevision
                          دوست عزیز ممنونم مفید بود
                          ولی من هر کاری کردم با این روش هایی که گفته بود نتونستم راش بندازم شما تو برنامه از watch dog استفاده کردین؟ میشه یه نمونه بزارین؟
                          در ضمن من تو code vizard تایمر watch dog رو osc/16 گذاشتم یعنی هر 17ms ریست بشه تو برنامه به این شکل بود
                          مثل همون عکس بالایی...
                          // Watchdog Timer initialization
                          // Watchdog Timer Prescaler: OSC/1024k
                          #pragma optsize-
                          WDTCR=0x18;
                          WDTCR=0x08;
                          #ifdef _OPTIMIZE_SIZE_
                          #pragma optsize+
                          #endif
                          با این کار دیگه میکرو هنگ نمیکرد ولی وقتی که زمانشو زیاد میکردم مثلا WDTCR=0x0E میکرو بازم هنگ میکرد (برای اینکه میکر رو به هنگ ببرم برقشو قطع و وصل میکردم :mrgreen: رو lcd هم سطره بالایی روشن میشد)
                          ذكات علم ياد دادنه ....

                          دیدگاه


                            #14
                            پاسخ : یه سوال درباره watch dog ؟

                            watch dog بیسکام
                            :cry2: :cry2: :cry2:

                            دیدگاه


                              #15
                              پاسخ : یه سوال درباره watch dog ؟

                              نوشته اصلی توسط asmasm
                              watch dog بیسکام
                              :cry2: :cry2: :cry2:

                              با دستورات

                              config WATCHDOG

                              START WATCHDOG , STOP WATCHDOG , RESET WATCHDOG

                              http://avrhelp.mcselec.com/bascom-avr.html




                              دیدگاه

                              لطفا صبر کنید...
                              X