اطلاعیه

Collapse
No announcement yet.

مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

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

    مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

    سلام دوستان من قدیما یه Multi AVR Programmer از سایت خریدم. البته از این قدیمی ها که زیرش از این صفحه های مشکی رنگ داره
    با ChiliProg و PROGISP 1.7 حین پروگرام ارور می ده و یهنرم افزار eca programmer همراه با سی دی هست که باهاش به راحتی پروگرام می کنم.
    الان یه اتفاق عجیب برام افتاده که سه تا آی سی atmega32a رو پشت سر هم با شرایط یکسان پروگرام می کنم، برای تست مدار ساده چشمک زن رو روش نوشتم. در کمال تعجب سرعت چشمک سه تا آی سی با هم اختلاف فاحش داره یکی نیم ثانیه یکی چهار ثانیه و یکی هشت ثانیه!
    می شه بگید مشکل کار من از کجاست؟
    ممنون
    اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

    #2
    پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

    احتمالا فرکانس کلاک آنها با هم یکسان نیست. فیوز بیت cksel را بر روی فرکانس متناسب با تنظیمات کمپایلر تنظیم و پروگرام کنید.

    نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

    دیدگاه


      #3
      پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

      نوشته اصلی توسط lachini
      احتمالا فرکانس کلاک آنها با هم یکسان نیست. فیوز بیت cksel را بر روی فرکانس متناسب با تنظیمات کمپایلر تنظیم و پروگرام کنید.
      سلام بسیار ممنون از توجه شما
      تنظیمات کدویژن:
      کد:
      Chip type        : ATmega32A
      Program type      : Application
      AVR Core Clock frequency: 8/000000 MHz
      Memory model      : Small
      External RAM size    : 0
      Data Stack size     : 512
      و تنظیمات فیوز بیت ها:

      البته boot flash size رو به 512 هم تغییر دادم تاثیری نداشت
      اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

      دیدگاه


        #4
        پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

        اگر مطابق تصویر از دکمه Auto Operation استفاده میکند باید حتما تیک Prog Fuse را بزنید.

        یا اینکه دکمه Write Fuses را بزنید.

        قبل از پروگرام میکرو حتما از درستی تنظیمات فیوزبیت ها مطمئن شوید که در صورت تنظیم غلط CKSEL پروگرامر شما امکان تامین کلاک نداشته و میکرو غیر قابل شناسایی میشود. البته در تصویر تنظمیات درست هستند.

        نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

        دیدگاه


          #5
          پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

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

          دیدگاه


            #6
            پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

            نوشته اصلی توسط saeiddiod
            باید از کریستال خارجی استفاده کنی اگه میکرهات سرعت یکسان ندارن . اگه میکروی شما قبلا با کریستال خارجی کار میکرده برای برنامه ریزی مجدد باید حتما اسیلاتور خارجی بهش وصل کنید در غیر اینصورت جواب نمیگیرید.
            بعید هست مشکل مربوط به کریستال باشد. چون ظاهرا تنظیمات را بر مبنای اسیلاتور داخلی انجام داده اند. از طرف دیگر اگر فرض را بر طبق گفته شما بر این بگذاریم که قبلا با کریستال کار میکرده اکنون نمیتواند میکرو بدون کریستال کار کند! در حالیکه ظاهرا مدار ایشان کار میکند و مشکل در سرعت اجرا است.

            نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

            دیدگاه


              #7
              پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

              نوشته اصلی توسط lachini
              بر طبق گفته شما بر این بگذاریم که قبلا با کریستال کار میکرده اکنون نمیتواند میکرو بدون کریستال کار کند! در حالیکه ظاهرا مدار ایشان کار میکند و مشکل در سرعت اجرا است.
              من دقیقا همین مشکل رو داشتم و بعد از تلاشهای بی فایده فهمیدم که اگه قبلا با کریستال کار میکرده دیگه نمیتونه بدونه اسیلاتور خارجی میکرو رو برنامه ریزی کنه(طبق شرایط بالا البته).
              دلیل اختلاف سرعت هم همینه . حتی با تغییر فیوزبیت هم دردی دوا نمیشه و تنها راه فقط استفاده از کریستاله .

              دیدگاه


                #8
                پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های

                نوشته اصلی توسط saeiddiod
                من دقیقا همین مشکل رو داشتم و بعد از تلاشهای بی فایده فهمیدم که اگه قبلا با کریستال کار میکرده دیگه نمیتونه بدونه اسیلاتور خارجی میکرو رو برنامه ریزی کنه(طبق شرایط بالا البته).
                دلیل اختلاف سرعت هم همینه . حتی با تغییر فیوزبیت هم دردی دوا نمیشه و تنها راه فقط استفاده از کریستاله .
                اگر به متن اول پست دقت کنید صحبت کاربر Amirkhan_0o0 کار نکردن میکرو نیست. بلکه تفاوت در سرعت اجرا است با وجود اینکه یک برنامه ثابت در چند میکرو پروگرام شده است.

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

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

                متن زیر را یکبار دیگر مطالعه کنید :


                نوشته اصلی توسط Amirkhan_0o0
                سلام دوستان من قدیما یه Multi AVR Programmer از سایت خریدم. البته از این قدیمی ها که زیرش از این صفحه های مشکی رنگ داره
                با ChiliProg و PROGISP 1.7 حین پروگرام ارور می ده و یهنرم افزار eca programmer همراه با سی دی هست که باهاش به راحتی پروگرام می کنم.
                الان یه اتفاق عجیب برام افتاده که سه تا آی سی atmega32a رو پشت سر هم با شرایط یکسان پروگرام می کنم، برای تست مدار ساده چشمک زن رو روش نوشتم. در کمال تعجب سرعت چشمک سه تا آی سی با هم اختلاف فاحش داره یکی نیم ثانیه یکی چهار ثانیه و یکی هشت ثانیه!
                می شه بگید مشکل کار من از کجاست؟
                ممنون

                نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

                دیدگاه


                  #9
                  پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

                  نوشته اصلی توسط lachini
                  اگر مطابق تصویر از دکمه Auto Operation استفاده میکند باید حتما تیک Prog Fuse را بزنید.

                  یا اینکه دکمه Write Fuses را بزنید.

                  قبل از پروگرام میکرو حتما از درستی تنظیمات فیوزبیت ها مطمئن شوید که در صورت تنظیم غلط CKSEL پروگرامر شما امکان تامین کلاک نداشته و میکرو غیر قابل شناسایی میشود. البته در تصویر تنظمیات درست هستند.
                  ممنون از پاسخ هردو عزیز
                  تیک دار کردن prog fuse جواب نداد
                  گرچه من به نرم افزار مشکوکم، چرا که خود فروشگاه هم نرم افزار رو از پیشنهاداتش حذف کرده. البته chiliprog رو اضافه کرده که برای من جواب نمی ده
                  اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

                  دیدگاه


                    #10
                    پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

                    نوشته اصلی توسط lachini
                    تفاوت سرعت اجرا بسیار فاحش در حد دو و هشت برابر است.
                    منظور منم دقیقا همین مقدار خطا بود . منم مشکلم این بود که یک برنامه روی 2تا MEGA16 با هم اختلاف داشتن و میکروی اولی نمیتونست پا به پای میکروی دوم کار کنه. 250 میلی ثانیه رو حدود 1.5 تا 2ثانیه طول میکشید تا اجرا کنه.دلیل اصلیش عدم استفاده از کریستال خارجی موقع پروگرم کردن بود.
                    خودتون امتحان کنید . امتحانش که ضرر نداره

                    دیدگاه


                      #11
                      پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

                      نوشته اصلی توسط saeiddiod
                      منظور منم دقیقا همین مقدار خطا بود . منم مشکلم این بود که یک برنامه روی 2تا MEGA16 با هم اختلاف داشتن و میکروی اولی نمیتونست پا به پای میکروی دوم کار کنه. 250 میلی ثانیه رو حدود 1.5 تا 2ثانیه طول میکشید تا اجرا کنه.دلیل اصلیش عدم استفاده از کریستال خارجی موقع پروگرم کردن بود.
                      خودتون امتحان کنید . امتحانش که ضرر نداره
                      هنگام کار کردن هم باید از کریستال خارجی استفاده کنه؟
                      می شه راهنمایی کنید چجوری اینکار رو بکنم؟
                      ممنون
                      اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

                      دیدگاه


                        #12
                        پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

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

                        ببین دوست من شما اگه یه میکروی نو بخری کمپانی فرکانس اونو بصورت پیشفرض 1MHZ داخلی در نظر میگیره یعنی وقتی شما فیوزبیتها رو دستکاری نکنی و تو تنظیمات پروگرمرت همون RC 1MHZ باشه میکرو روی همون فرکانس کار میکنه . ولی وقتی اونو روی فرکانس خارجی پروگرم میکنی (مثلا 8MHZ خارجی) و کریستال بهش وصل میکنی میکروی شما روی 8MHZ خارجی شروع به کار میکنه . حالا اگه مجددا بخوای اونو از کریستال خارجی تغییر بدی و روی RC داخلی تنظیم کنی باید طبق معمول فیوزبیتها رو تنظیم کنی و حتما کریستال خارجی باید بهش وصل باشه چون اگه کریستال وصل نباشه پروگرمر میکرو رو نمیشناسه چون در عمل میکروی شما که روی اسیلاتور خارجی بوده منبع کلاک خودشو نداره تا بتونه فعال بشه و اماده پروگرم شدن بشه . مثل این میمونه که شما میکرو رو روی اسیلاتور خارجی تنظیم کنی ولی کریستال بهش وصل نکنی و توقع داشته باشی که شروع به کار کنه.

                        دیدگاه


                          #13
                          پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های

                          نوشته اصلی توسط saeiddiod
                          نه نیاز نیست.

                          ببین دوست من شما اگه یه میکروی نو بخری کمپانی فرکانس اونو بصورت پیشفرض 1MHZ داخلی در نظر میگیره یعنی وقتی شما فیوزبیتها رو دستکاری نکنی و تو تنظیمات پروگرمرت همون RC 1MHZ باشه میکرو روی همون فرکانس کار میکنه . ولی وقتی اونو روی فرکانس خارجی پروگرم میکنی (مثلا 8MHZ خارجی) و کریستال بهش وصل میکنی میکروی شما روی 8MHZ خارجی شروع به کار میکنه . حالا اگه مجددا بخوای اونو از کریستال خارجی تغییر بدی و روی RC داخلی تنظیم کنی باید طبق معمول فیوزبیتها رو تنظیم کنی و حتما کریستال خارجی باید بهش وصل باشه چون اگه کریستال وصل نباشه پروگرمر میکرو رو نمیشناسه چون در عمل میکروی شما که روی اسیلاتور خارجی بوده منبع کلاک خودشو نداره تا بتونه فعال بشه و اماده پروگرم شدن بشه . مثل این میمونه که شما میکرو رو روی اسیلاتور خارجی تنظیم کنی ولی کریستال بهش وصل نکنی و توقع داشته باشی که شروع به کار کنه.
                          به نظر من هم تست کریستال ضرری ندارد. اما اگر ایشان قبلا بر روی کریستال خارجی تنظیم کرده باشند. مدارشان نیز ظاهرا فاقد کریستال است در نتیجه مدار ایشان نباید کار کند.
                          چطور میکروهای شما با اینکه بر روی کریستال خارجی تنظیم شده بودند؛ بازهم بدون کریستال کار میکردند؟ این اتفاق بسیار بعید است. اگر واقعا چنین میکرویی دارید که حتی بدون کریستال هم در زمانی CKSEL بر روی کریستال خارجی تنظیم شده کار میکند؛ میکروی شما کاربران این سایت که چه عرض کنم؛ خود شرکت اتمل با قیمت بالایی میخرد.!!!

                          در نظر داشته باشید که حتی در صورتیکه ایشان میکرو را بر روی کریستال خارجی تنظیم کرده باشند و بدون کریستال به پروگرامر وصل کنند، بدلیل اینکه میکرو راه اندازی نمیشود؛ نخواهد توانست پاسخ پروگرامر را بدهد در نتیجه پروگرامر خطای chip enable program error میدهد. ولی ظاهرا شما بسادگی میتوانید پروگرام کنید و خطایی هم ظاهر نمیشود.

                          نوشته اصلی توسط Amirkhan_0o0
                          ممنون از پاسخ هردو عزیز
                          تیک دار کردن prog fuse جواب نداد
                          گرچه من به نرم افزار مشکوکم، چرا که خود فروشگاه هم نرم افزار رو از پیشنهاداتش حذف کرده. البته chiliprog رو اضافه کرده که برای من جواب نمی ده
                          اگر به نرم افزار هم مشکوک هستید با ProgIsp و یا حتی بسکام تست کنید. که برنامه هایی قابل اطمینان هستند. من هم با نرم افزاری که شما کار میکنید کار نکرده ام و به عملکرد آن اطمینانی ندارم.

                          نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

                          دیدگاه


                            #14
                            پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

                            دیشب نی دونم چیکار کردم که همین جناب chip enable program error برای من خودنمایی می کنه.
                            حالا باید با کریستال خارجی پروگرام کنم؟
                            یه چنتا کریستال 12مگ دارم. فقط مشکل اینجاست که پروگرامر جای کریستال خارجی نداره
                            باید روی برد بورد پیاده کنم؟
                            اين که تعداد تشکر هاي اهدايي يه کاربر زياده به اين معنا نيست. که چيزي بلد نيست؛ بلکه نشانه اينه که به تلاش بقيه بچه ها احترام مي گذاره

                            دیدگاه


                              #15
                              پاسخ : مشکل با Multi AVR Programmer: نتایج مختلف برای میکرو های یکسان بعد از پروگرام

                              خطای فوق با توجه به اینکه بر روی زیف سوکت میکرو را تست کردید میتواند به یکی از دلایل زیر رخ دهد :

                              1-- تنظیم فیوز بیت CKSEL بر روی گزینه هایی غیر از RC اسیلاتور داخلی :
                              در این حالت باید میکرو را بر روی برد قرار داده و با توجه به تنظیمی که انجام داده اید کلاک مناسب را تامین کرده و سپس از طریق کابل میکرو را به پروگرامر متصل کنید. تا شناسایی و پروگرام شود.
                              توجه داشته باشید که اگر فیوز بیت CKSEL بر روی کریستال خارجی تنظیم شده باشد میتوان با قرار دادن کریستال آنرا راه اندازی کرد و در صورتیکه RC خارجی و یا اسیلاتور خارجی را فعال کرده باشید. حتی با کریستال نیز میکرو راه اندازی نمی شود. در این مورد باید کلاک را جداگانه تهیه و به میکرو بدهید و یا اینکه از پروگرامری مثل سانا استفاده کنید که قابلیت تامین کلاک بر روی زیف و کابل را دارد.

                              2-- تداخل سیگنالی برنامه میکرو با پروگرامر بر روی زیف سوکت :
                              در این پروگرامر شما زیف سوکت به شکل درستی به پروگرامر اضافه نشده است. در واقع با اتصال کوتاه کردن پین های مختلف زیف به هم سعی به پوشش برخی از میکروها بر روی زیف شده است. در این حالت بخصوص در میکروهای 40 پایه احتمال تداخل سیگنالی بسیار بالاست و میکرو بعد از پروگرام قابل شناسایی نیست. تنها راه حل قرار دادن میکرو بر روی برد و پروگرام آن خارج از زیف سوکت است. یا اینکه از پروگرامر سانا که زیف سوکت را به شکل هوشمندانه استفاده میکند استفاده کنید.

                              3-- غیر فعال کردن فیوز بیت SPIEN :
                              در صورتیکه فیوز بیت فوق غیر فعال شود دیگز توسط پروگرامرهایی که از روش SPI برنامه ریزی میکنند قابل پروگرام نیست. و باید از مدار دکتر فیوز بیت و یا پروگرامرهایی مثل TNM استفاده کنید.

                              نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

                              دیدگاه

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