اطلاعیه

Collapse
No announcement yet.

برخی مشخصات ویژه XMEGA

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : بحث در رابطه با Slew-Rate

    نوشته اصلی توسط رضا حاجی زاده
    در document های
    - AVR1313: Using the XMEGA IO Pins and External Interrupts
    - XMEGA A MANUAL
    نگاه کردم همه این فایل ها برای این موضوع گفتن که به دیتا شیت مراجعه بشه در حالیکه وقتی برای نمونه به دیتا شیت ATXMEGA32A4 مراجعه کردم اطلاعات تکمیلی رو ندیدم. :question:

    بعد از نوشتن این پست چواب رو در تاپیک زیر دیدم
    http://www.eca.ir/forum2/index.php?topic=45775.msg275992#msg275992
    منم اول همین کار رو کردم که به اینجا رسید
    یه سوال:پس از مفدار دهی رجیستر CCP گفته شده به مدت 4 سیکل وقفه ها غیر فعال میشن چجوری از چه طریقی؟NMI هم غبر فعال میشه؟
    یه چیز دیگه NMI میتونه که زیر برنامه داشته باشه نه؟

    دیدگاه


      پاسخ : برخی مشخصات ویژه XMEGA

      غیر فعال شدن وقفه ها بصورت خودکار و سخت افزاری انجام می شود. در مورد CCP تاکید شده که تمام وقفه ها غیر فعال می شوند و قیدی درباره maskable یا nonmaskable بودن آن آورده نشده است. همچنین وقفه NMI دارای بردار وقفه است و در صورت فعالسازی failure monitor باید حتما روتین وقفه آن هم نوشته شود.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        پاسخ : برخی مشخصات ویژه XMEGA

        سلام چه مزیتی داره که وقفه ها را از قسمت application به قسمت boot ببریم؟

        دیدگاه


          پاسخ : برخی مشخصات ویژه XMEGA

          نوشته اصلی توسط شهریار رجب زاده
          سلام چه مزیتی داره که وقفه ها را از قسمت application به قسمت boot ببریم؟
          برای صرفه جویی در زمان، پاسخ سوال خود را می توانید در ابتدای صفحه 4 از متن AVR1305 مطالعه کنید.
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه


            پاسخ : برخی مشخصات ویژه XMEGA

            سلام من از دیروز تا حالا هر کار کردم از رجیستر PMIC_INTPRI و مقدار دهی بهش جواب نگرفتم
            مشکل از کجا میتونه باشه؟
            ببینم برای اینکه به میکرو بگیم آخرین وقفه ای که صدا زده شده مثلا وقفه 0 پورت C بوده باید مقدار 0x04 رو بدیم به این رجیستر؟

            دیدگاه


              پاسخ : برخی مشخصات ویژه XMEGA

              رجیستر مورد نظر تنها برای وقفه های همزمان با اولویت پائین و با فعال بودن وضعیت Round-Robin مورد استفاده دارد. حال شما چه جوابی می خواهید بگیرید و چطور شرایط وقوع دو یا چند وقفه همزمان را ایجاد کرده اید که به مشکل برخورده اید؟
              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه


                پاسخ : برخی مشخصات ویژه XMEGA

                سلام روی round-robin تست کردم
                رجیستر INTPRI بعد از اجرای وقفه 0 پورت C مقدار 0x02 رو بیرون داد و بعد از اجرای وقفه 1 پورت C مقدار 0x03 رو نشون داد
                جالا چند تا سوال:
                1- این مقادیر از کجا اومدند
                2- فکر کنم طبق دیتاشیت باید بعد از وقفه 0 پورت C عدد 0x04 بعد از وقفه 1 پورت C عدد 0x06 رو بده که اینطور نیست
                دوستان یه بررسی بکنند نتیجه رو به اطلاع برسونند

                دیدگاه


                  پاسخ : برخی مشخصات ویژه XMEGA

                  سلام
                  من تمام آزمایش هام رو با XMEGA16A4 انجام میدم
                  مسئله جالب تر شد
                  با پورت B آزمایش کردم
                  وقفه 0 پورت B آزمایش:0x22 دیتاشیت:0x44
                  وقفه 1 پورت B آزمایش:0x23 دیتاشیت:0x46
                  مثل اینکه مقادیر تو دیتاشیت رو باید تقسیم بر 2 کنیم
                  ببینم همچین چیزی رو تو دیتاشیت نوشتن؟ oo:
                  نوشته اصلی توسط طراح
                  رجیستر مورد نظر تنها برای وقفه های همزمان با اولویت پائین و با فعال بودن وضعیت Round-Robin مورد استفاده دارد. حال شما چه جوابی می خواهید بگیرید و چطور شرایط وقوع دو یا چند وقفه همزمان را ایجاد کرده اید که به مشکل برخورده اید؟
                  دیگه اینقدر هم بیسواد نیستیم قبلش حتما دیتاشیت رو میخونیم :mrgreen:

                  دیدگاه


                    پاسخ : برخی مشخصات ویژه XMEGA

                    در IAR آدرس وقفه ها به دلیل اشاره به محل بایت بجای word دو برابر در نظر گرفته شده است. اما آنچه در Datasheet وجود دارد درست است و با توجه به عدم دسترسی به نمونه کد و روش آزمایش شما، در مورد صحت وسقم نتیجه این آزمایش نمی توانم اظهار نظر کنم.
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


                      پاسخ : برخی مشخصات ویژه XMEGA

                      نوشته اصلی توسط طراح
                      در IAR آدرس وقفه ها به دلیل اشاره به محل بایت بجای word دو برابر در نظر گرفته شده است. اما آنچه در Datasheet وجود دارد درست است و با توجه به عدم دسترسی به نمونه کد و روش آزمایش شما، در مورد صحت وسقم نتیجه این آزمایش نمی توانم اظهار نظر کنم.
                      کد:
                      #include<ioavr.h>
                      #include<intrinsics.h>
                      int main(void){
                       PMIC_CTRL=0X83;
                       PORTC_DIR=0XFC;
                       PORTC_INTCTRL=0X05;
                       PORTC_INT1MASK=0X02;
                       PORTC_INT0MASK=0X01;
                       PORTC_PIN0CTRL=0X01;
                       PORTC_PIN1CTRL=0X01;
                       PORTD_DIR=0XFF;
                       PORTB_INTCTRL=0x05;
                       PORTB_INT1MASK=0X08;
                       PORTB_INT0MASK=0X04;
                       PORTB_PIN2CTRL=0X01;
                       PORTB_PIN3CTRL=0X01;
                       PMIC_INTPRI=0X02;
                       __enable_interrupt();
                       while(1)
                       {}
                      }
                       #pragma vector= PORTC_INT0_vect
                        
                        __interrupt void PORTC_INT0(void)
                         {PORTC_OUTTGL=0x04;
                         PORTD_OUT=PMIC_INTPRI;
                         __delay_cycles(6000000);
                         PORTC_OUTTGL=0X04;
                         }  
                       #pragma vector= PORTC_INT1_vect
                        
                        __interrupt void PORTC_INT1(void)
                        {PORTC_OUTTGL=0x08;
                        PORTD_OUT=PMIC_INTPRI;
                         __delay_cycles(6000000);
                         PORTC_OUTTGL=0X08;
                         }  
                       #pragma vector= PORTB_INT0_vect
                        
                        __interrupt void PORTB_INT0(void)
                        {PORTC_OUTTGL=0x10;
                        PORTD_OUT=PMIC_INTPRI;
                         __delay_cycles(6000000);
                         PORTC_OUTTGL=0X10;
                         } 
                       #pragma vector= PORTB_INT1_vect
                        
                        __interrupt void PORTB_INT1(void)
                        {PORTC_OUTTGL=0x20;
                        PORTD_OUT=PMIC_INTPRI;
                         __delay_cycles(6000000);
                         PORTC_OUTTGL=0X20;
                         }
                      فکر کنم همین بود
                      نتیجه روی پورت D مشخصه
                      ببخشید نمایشگر LCD نداشتیم ولی به جاش از LED استفاده میکنیم!!!

                      دیدگاه


                        پاسخ : برخی مشخصات ویژه XMEGA

                        در برنامه شما بیت های 0 و 1 از PORTC دارای سطح وقفه medium و حساس به لبه بالارونده و بیت های 2 و 3 از PORTB دارای سطح وقفه low و باز حساس به لبه بالارونده انتخاب شده اند و بیت وضعیت Round robin هم فعال است. برای هر پورت هم 2 وقفه مختلف فعال شده است. حال توضیح دهید که با این شرایط و با توجه به Float بودن پین ها دقیقا چه آزمایشی انجام دادید.
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه


                          پاسخ : برخی مشخصات ویژه XMEGA

                          نوشته اصلی توسط طراح
                          در برنامه شما بیت های 0 و 1 از PORTC دارای سطح وقفه medium و حساس به لبه بالارونده و بیت های 2 و 3 از PORTB دارای سطح وقفه low و باز حساس به لبه بالارونده انتخاب شده اند و بیت وضعیت Round robin هم فعال است. برای هر پورت هم 2 وقفه مختلف فعال شده است. حال توضیح دهید که با این شرایط و با توجه به Float بودن پین ها دقیقا چه آزمایشی انجام دادید.
                          خوب به تک تکش یک کلید که یه سرش به Vcc وصله همراه با یک مقاومت پایین کش متصل کردم
                          راستی یه اشتباه کردم
                          کد:
                          PORTC_INTCTRL=0x05;

                          دیدگاه


                            پاسخ : برخی مشخصات ویژه XMEGA

                            LED ها را چک کنید که درست متصل کرده باشید و یک Shift در اتصال آن بوجود نیامده باشد. در صورت درست بودن اتصال باید صبر کنید تا در فرصتی بصورت عملی در این مورد آزمایش و نتیجه را اعلام کنم.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


                              پاسخ : برخی مشخصات ویژه XMEGA

                              یه قسمت توی دیتاشیت هست مربوط میشه به مدCapture و ارتباطش با رجیستر PER بیت 15 من کلا اون قسمت رو نفهمیدم میشه توضیح بدید
                              راستی ورودی Capture حتما باید Event باشه؟

                              دیدگاه


                                پاسخ : برخی مشخصات ویژه XMEGA

                                نوشته اصلی توسط شهریار رجب زاده
                                یه قسمت توی دیتاشیت هست مربوط میشه به مدCapture و ارتباطش با رجیستر PER بیت 15 من کلا اون قسمت رو نفهمیدم میشه توضیح بدید
                                اگر بیت MSB (بیت شماره 15) از رجیستر PER برابر صفر باشد، علامت لبه ایجاد کننده Capture در این بیت ذخیره می شود. اگر لبه بالارونده عامل ایجاد capture باشد، این بیت یک و برای لبه پائین رونده این بیت صفر خواهد شد.

                                نوشته اصلی توسط شهریار رجب زاده
                                راستی ورودی Capture حتما باید Event باشه؟
                                عامل انجام عملیات capture، یکی از کانال های event system است.
                                اوژن: به معنای افکننده و شکست دهنده است
                                دانایی، توانایی است-Knowledge is POWER
                                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                                دیدگاه

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