اطلاعیه

Collapse
No announcement yet.

بحث راجع به فیوز بیتهای میکروکنترلر AVR

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

    #76
    پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

    آیا امکانش هست که یک مقدار رو برای همیشه در متغیری درون نرم افزار ذخیره کرد ( با خاموش و روشن شدن از بین نره ) و محتوای این متغیر رو در صورت نیاز به شکل ( نرم افزاری ) به بیرون از میکروکنترلر هدایت کرد ؟ ( گفتنی است که از Flash مذکور به شکل کامل حفاظت می شود . )

    و اینکه آیا بیت های قفل می توانند از اعمال تغییر بر روی محتوای این متغیر بدست افرادی که قصد تغییر در میکرو کنترلر را داشته باشند ، جلوگیری کند ؟

    اگر در جمله های من نشان از نادانی دیگری هم هست لطف کنید در اون زمینه هم به من اطلاع بدید .

    دیدگاه


      #77
      پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

      بله دوست عزیز
      همونطور که گفتم با قفل کردن حافظه شما فقط نمی توانید از اطلاعات آن کپی بگیرید ولی با خود میکرو میشه اطلاعات اون روخوند و یا با RS232 یاSPI یا I2C یا هر ارتباط دیگه توسط خود میکرو به بیرون فرستاد و حتی با خود میکرو(برنامه ای که قبل از قفل کردن روی میکرو ریخته اید ) تغییر بدید
      برایه اینکه اطلاعات یا به عبارتی متغیرها با قطع برق پاک نشوند باید اونارو روی حافظه EEPROM میکرو بریزید و از همونجا بخونید
      در مورد سوال دوم دو حالت ممکنه وجود داشته باشه:
      1- مثلا شما برنامه ای نوشته اید که اطلاعاتی که از صفحه کلید بگیره روی EEPROM ذخیره بشه و EEPROM محافظت شده است ، چون خود برنامه میکرو این کار رو انجام میده خوب معلومه که میشه و مشکلی وجود نداره
      2- شخصی بخواد با کامپیوتر اطلاعات رو بخونه یا بنویسه که خوب چون خود میکرو(برنامه ای که شما نوشته اید)این کار رو انجام نمیده پس بنابراین امکان نداره

      فقط در صورتی میشه قفل میکرو رو باز کرد که حافظه میکرو ERASE بشه که دراین صورت کل برنامه و حتی EEPROM هم پاک میشه(البته این قابلیت ERASE شدن فقط در بعضی از انواع میکرو قفلها رو باز میکنه)

      نتیجه:برنامه فقط برای کابر قفل میشود نه برایه خود میکرو
      البته این مطالب فقط ازروی تجربه بنده بدست اومده و ممکنه اشتباه هم داشته باشه
      پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

      دیدگاه


        #78
        پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

        سپاس از توجه تون دوست عزیز .

        atmega16 اگه بخواد 200 متغیر رو در نرم افزارش مقداری دهی کنه چقدر زمان نیاز داره ؟( تقریبی یا دقیق مهم نیست خیلی )

        لطف می کنید !

        دیدگاه


          #79
          پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

          شرمنده این رو دیگه نمیدونم
          ولی تا اونجایی که من میدونم بستگی به سرعت کریستالت داره ، AVR هر دستور رو در یک کلاک سیکل انجام میده
          پس 200 متغیر 200 دستور میشه بنابراین 200 کلاک سیکل باید طول بکشه که با کریستال 16M فکر میکنم بشه حدود 13 میکرو ثانیه
          البته اگر بخوایی روی EEPROM بریزی بیشتر طول میکشه چون ریختن اطلاعات روی EEPROM زمان بره ولی بازم از چند میلی ثانیه تجواز نمیکنه
          پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

          دیدگاه


            #80
            پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

            این سوال خیلی کلیه

            منبع دادتون کجاست بقول دوستمون اگه از روی eeprom که هوارتا طول میکشه

            اگه مثلا میخوای داده ها رو از رم ببری توی یه جای دیگه از رم که این سریعترین وضعیته

            به شکل اسمبلی میشه: توی این مثال 200 بایت از a به بعد میره توی b به بعد کپی میشه (a و b رو دو تا آرایه حساب کنید)



            ldi zl,low(a)
            ldi zh,high(a)

            ldi xl,low(b)
            ldi xh,high(b)

            ldi r16,200

            loop1:
            ld r17,Z
            st X,r17
            adiw x,1
            adiw z,1
            subi r16,1
            brne loop1



            و فکر میکنم از این ساده تر توی هیچ کامپایلر سطح بالایی پیاده سازی نمیشه

            کلاک:
            ldi=1
            ld=2
            adiw=2
            st=2
            subi=1
            و شرط brne اگه شرط صدق کنه 2 کلاک و اگه صدق نکنه 1 کلاک

            حالا حساب کنید چقدر طول میکشه :mrgreen:

            خودم حساب کردم

            اگه اشتباه نکرده باشم شد 2206 کلاک

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

            دیدگاه


              #81
              پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

              سلام
              آقا نحوه کار با فیوز بیت های رو تو محیط بسکام بگین ؟؟؟؟
              من پروگرامرم stk500 هستش
              متشکر میشم

              دیدگاه


                #82
                پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                سلام
                من یک میکروی atmega16 رو با پروگرمر stk200/300 که بصورت آماده بود رو برای بار اول (با فیوز بیت های پیش فرض) پروگرم کردم.برای بار دوم نیاز بود که از یک کریستال خارجی استفاده کنم به همین خاطر فیوز بیتهارو با توجه به datasheet میکرو تغییر دادم و میکرو و فیوز بیت هارو پروگرم کردم.اما حالا که میخوام دوباره میکرورو پروگرم کنم(با استفاده از codevision) برنامه اصلا پروگرمرو نمیشناسه .البته اینم بگم که روی بورد پروگرمر یک کریستال 6.000 برای پایه های xtal1 , xtal2 قرار داده شده ودو خازن 27 پیکو فارادم از این پایه ها به زمین وصل شده اما با این وجود بازم error میده و کلا پروگرمرو نمیشناسه.
                لطفا بگین من چکار باید کنم.

                دیدگاه


                  #83
                  پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                  سلام
                  اینکه میکروتون رو پروگرمر نمیشناسه کلا مربوط به زمانی که کلاک میکرو روی کریستال خارجی هستش و ببرای راه اندازیش باید کریستال رو به پایه های xtal ببندید
                  حالا شما مطمئنی که کریستال وصله؟
                  صدایی از قلب آذربایجان

                  Ya$a odlar yurdum AZERBAICANIM

                  دیدگاه


                    #84
                    پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                    بله مطمئنم .
                    من حتی پروگرمرو خودم با یک بافر 74244 و یک پرت پارالل ساختم و اونجاهم از یک کریستال 8MHz و دو تا خازن 33PF هم استفاده کردم که کریستالو به پایه های xtal1,xtal2 زدم و خازنارو بعد از وصل کردن به هر کدوم از پایه ها به GND زدم اما بازم جواب نگرفتم .
                    حسابی گیج شدم خواهشا کمک کنید.

                    دیدگاه


                      #85
                      پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                      ببخشید شما نمیتونید پروگرمرو بشناسید یا میکرو رو؟
                      یا همین پروگرمر یه میکرویه دیگه رو امتحان کنید و همان میکرو رو یه پروگرمر دیگه
                      صدایی از قلب آذربایجان

                      Ya$a odlar yurdum AZERBAICANIM

                      دیدگاه


                        #86
                        پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                        من با ارور زیر مواجه میشم سه تا مورد اول که مطمئنم نیست. یعنی ممکنه که میکرو سوخته باشه؟؟؟؟




                        Communication error, please check the following:
                        - the Programmer's power supply is on
                        - the Programmer type is correctly set in the Settings|Programmer menu
                        - the Printer Port address is correctly set in the Settings|Programmer menu
                        - the AVR chip is not damaged.

                        دیدگاه


                          #87
                          پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                          من هم واسه همین خاطر میگم که تستشون کن
                          اون بالا نوشته که منبع تفذیه میکرو و پروگرمر وصل باشه ، وصله دیگه؟
                          چیز خاصی به ذهنم نمیرسه فکر کنم بهتره لااقل با یه میکرو دیگه امتحان کنی؟
                          صدایی از قلب آذربایجان

                          Ya$a odlar yurdum AZERBAICANIM

                          دیدگاه


                            #88
                            پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                            سلام
                            برنامه روی دمیکرو اجرا میشه یا نه؟
                            اگه اجرا میشه احتمال زیاد پرو گرمرت ایراد داره و یا احتمال ضعیف پایه ریست میکروت از کار افتاده (امتحان کن ببین میکرو ریست میشه؟)
                            اگه اجرا نمیشه احتمالا اشتبا ها به جای کریستال کلاک سیستم رو روی چیز دیگری قرار دادی مثل کلاک خارجی یا اوسیلاتور خارجی بازم میتونی امتحان کنی
                            پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

                            دیدگاه


                              #89
                              پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                              با سلام خدمت اساتید
                              می خواستم بپرسم موقعی که قرار است میکرو رو برای کریستال ساعت 32768kh تنظیم
                              کنیم وکلاک نوشته شده در برنامه 8mhاستوقراراست هر دو کریستال به میکرو وصل بشه
                              تنظیم فیوز بیت ها چه طوری است
                              ویا در m8که پایه های کریستال با کریستال ساعت یکی هست چه کار باید بکنیم
                              امید وارم منظورم رو درست رسونده باشم
                              ممنون میشم کمک کنید

                              دیدگاه


                                #90
                                پاسخ : بحث راجع به فیوز بیتهای میکروکنترلر AVR

                                نوشته اصلی توسط mahan110
                                با سلام خدمت اساتید
                                می خواستم بپرسم موقعی که قرار است میکرو رو برای کریستال ساعت 32768kh تنظیم
                                کنیم وکلاک نوشته شده در برنامه 8mhاستوقراراست هر دو کریستال به میکرو وصل بشه
                                تنظیم فیوز بیت ها چه طوری است
                                ویا در m8که پایه های کریستال با کریستال ساعت یکی هست چه کار باید بکنیم
                                امید وارم منظورم رو درست رسونده باشم
                                ممنون میشم کمک کنید
                                نیازی به تعریف کریستال ساعت نیست فقط باید تایمر رو بر روی کلاک غیر هم زمان (آسنکرون) تعریف کنی ---- تنظیمات فیوزبیت کریستال هم که معمولیه. هیچ تغییری لازم نداره
                                در مورد مگا 8 هم خوب فکر کنم نمیتونی از کریستال خارجی استفاده کنی(وقتی که تایمر در حالت آسنکرون تنظیم شده) و فقط میتونی از کریستال ساعت استفاده کنی
                                پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

                                دیدگاه

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