اطلاعیه

Collapse
No announcement yet.

[آموزش] فیلم های آموزش XMEGA

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

    #61
    پاسخ : [آموزش] فیلم های آموزش XMEGA

    .

    دیدگاه


      #62
      پاسخ : [آموزش] فیلم های آموزش XMEGA

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

      دیدگاه


        #63
        پاسخ : [آموزش] فیلم های آموزش XMEGA

        فیلم های اموزشی جدید XMEGA از بخش چهل و چهارم به بعد توسط استاد کی نژاد تهیه شدند.این فیلم ها در سایت اپارات قرار داده شدند و منبع سایت knowledgeplus.ir هست.

        بخش چهل و چهارم( تحلیل کد تولید SPWM سه فاز )+ سورس برنامه


        بخش چهل و پنجم( نمونه کد راه اندازی Pattern generation و توزیع شکل موج روی پین ها ) + سورس برنامه


        بخش چهل و ششم( توضیح DAC )


        بخش چهل و هفتم ( ادامه توضیح DAC )


        بخش چهل و هشتم( ادامه توضیح DAC )


        بخش چهل و نهم( تکمیل مبحث DAC ) + سورس برنامه


        بخش پنجاه و یکم( ادامه توضیح ADC )


        بخش پنجاه و دوم( ادامه توضیح ADC )


        بخش پنجاه و سوم ( ادامه توضیح ADC )


        بخش پنجاه و چهارم( ادامه توضیح ADC )


        بخش پنجاه و پنجم( ادامه توضیح ADC )


        بخش پنجاه و ششم ( ادامه توضیح ADC )


        بخش پنجاه و هفتم( ادامه توضیح ADC )


        بخش پنجاه و هشتم( ادامه توضیح ADC )


        بخش پنجاه و نهم ( ادامه توضیح ADC )


        جدیدترین ویرایش توسط amin tal; ۰۰:۱۰ ۱۳۹۵/۰۵/۰۷.

        دیدگاه


          #64
          پاسخ : [آموزش] فیلم های آموزش XMEGA

          درمد Frequency generation درست است که فقط محتوای CCA در فرکانس خروجی کانال ها موثر است و مقادیر CCB و CCC و CCD در فرکانس کانال ها تاثیری ندارد ولی مقادیر CCB و CCC و CCD در ایجاد اختلاف فاز بین خروجی ها تاثیر دارند و میتوان چهار خروجی با فرکانس برابر و اختلاف فازهای مختلف داشت که در Manual ها احتمالا اشاره ای نشده است ولی در عمل برای سه برنامه زیر تست و شکل موج خروجی را میتوان مشاهده نمود:برنامه شماره 1-
          #include <avr/io.h>
          int main(void)
          {
          PORTC_DIRSET=PIN1_bm|PIN0_bm;
          TCC0_CCA=999;
          TCC0_CTRLB|=TC0_CCBEN_bm|TC0_CCAEN_bm|TC_WGMODE_FR Q_gc;
          TCC0_CTRLA=TC_CLKSEL_DIV1_gc;
          while (1);
          }
          2-
          #include <avr/io.h>
          int main(void)
          {
          PORTC_DIRSET=PIN1_bm|PIN0_bm;
          TCC0_CCA=999;
          TCC0_CCB=999;
          TCC0_CTRLB|=TC0_CCBEN_bm|TC0_CCAEN_bm|TC_WGMODE_FR Q_gc;
          TCC0_CTRLA=TC_CLKSEL_DIV1_gc;
          while (1);
          }
          برنامه شماره 3-#include <avr/io.h>
          int main(void)
          {
          PORTC_DIRSET=PIN1_bm|PIN0_bm;
          TCC0_CCA=999;
          TCC0_CCB=499;
          TCC0_CTRLB|=TC0_CCBEN_bm|TC0_CCAEN_bm|TC_WGMODE_FR Q_gc;
          TCC0_CTRLA=TC_CLKSEL_DIV1_gc;
          while (1);
          }
          در برنامه شماره 1 دو شکل موج 180 درجه اختلاف فاز دارند.
          در برنامه شماره 2 دو شکل موج 0 درجه اختلاف فاز دارند. ( همفازند )
          در برنامه شماره 3 دو شکل موج 90 درجه اختلاف فاز دارند.

          امکان ارسال عکسهای گرفته شده از شکل موج ها در اسیلوسکوپ در صورت نیاز میباشد.
          میکروکنترلر تست شده : XMEGA 128 A1



          جدیدترین ویرایش توسط behzadsalamy; ۱۵:۳۳ ۱۳۹۵/۰۹/۰۸.

          دیدگاه


            #65
            پاسخ : [آموزش] فیلم های آموزش XMEGA

            نوشته اصلی توسط behzadsalamy نمایش پست ها
            درمد Frequency generation درست است که فقط محتوای CCA در فرکانس خروجی کانال ها موثر است و مقادیر CCB و CCC و CCD در فرکانس کانال ها تاثیری ندارد ولی مقادیر CCB و CCC و CCD در ایجاد اختلاف فاز بین خروجی ها تاثیر دارند و میتوان چهار خروجی با فرکانس برابر و اختلاف فازهای مختلف داشت که در Manual ها احتمالا اشاره ای نشده است ولی در عمل برای سه برنامه زیر تست و شکل موج خروجی را میتوان مشاهده نمود
            در صورت وجود چنین عملکردی، این خود می تواند به نوعی یک اشکال سخت افزاری محسوب شود. اگر دسترسی دارید با سری AU هم این آزمایش را انجام دهید. من هم در صورت وجود فرصت این مورد را بررسی می کنم.
            اوژن: به معنای افکننده و شکست دهنده است
            دانایی، توانایی است-Knowledge is POWER
            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

            دیدگاه


              #66
              پاسخ : [آموزش] فیلم های آموزش XMEGA

              حتما تست میکنم
              ولی به نظر میاید که چهار خروجی همفاز و هم فرکانس روی چهار پین مختلف میکرو کاربرد خاصی نداشته باشد و امکان دادن اختلاف فاز به خروجی ها کاربرد های بیشتری داشته باشد و یا حداقل یک مزیت باشد و اگر اشکال سخت افزاری هم باشد اصلاح نشود و در manual به آن اشاره شود بهتر است.

              دیدگاه


                #67
                پاسخ : [آموزش] فیلم های آموزش XMEGA

                با سلام
                در XMEGA 128 A3U-AU هم همین شرایط برقرار میباشد.

                دیدگاه


                  #68
                  پاسخ : [آموزش] فیلم های آموزش XMEGA

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

                  دلیل: ادغام دو پست برای جلوگیری از اسپم

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

                  دیدگاه


                    #69
                    پاسخ : [آموزش] فیلم های آموزش XMEGA

                    باسلام
                    در جلسه 63 آموزش Xmega مثال دوم ADC و امکان Sweep به نظر میاید بجای گدهای
                    ADCB_EVCTRL=ADC_SWEEP_0123_gc|ADC_EVSEL_0123_gc|AD C_EVACT_SWEEP_gc;
                    EVSYS_CH0MUX=EVSYS_CHMUX_TCC0_OVF_gc;
                    کدهای
                    ADCB_EVCTRL=ADC_SWEEP_0123_gc|ADC_EVSEL_7_gc|ADC_E VACT_SWEEP_gc;
                    EVSYS_CH7MUX=EVSYS_CHMUX_TCC0_OVF_gc;
                    همان کار را بجای استفاده از چهار کانال Event فقط با استفاده از یک کانال Event انجام میدهد.

                    دیدگاه


                      #70
                      پاسخ : [آموزش] فیلم های آموزش XMEGA

                      نوشته اصلی توسط behzadsalamy نمایش پست ها
                      باسلام
                      در جلسه 63 آموزش Xmega مثال دوم ADC و امکان Sweep به نظر میاید بجای گدهای
                      ADCB_EVCTRL=ADC_SWEEP_0123_gc|ADC_EVSEL_0123_gc|AD C_EVACT_SWEEP_gc;
                      EVSYS_CH0MUX=EVSYS_CHMUX_TCC0_OVF_gc;
                      کدهای
                      ADCB_EVCTRL=ADC_SWEEP_0123_gc|ADC_EVSEL_7_gc|ADC_E VACT_SWEEP_gc;
                      EVSYS_CH7MUX=EVSYS_CHMUX_TCC0_OVF_gc;
                      همان کار را بجای استفاده از چهار کانال Event فقط با استفاده از یک کانال Event انجام میدهد.
                      این سوال نشان می دهد که یا شما فیلم آموزشی را ندیده اید و یا احتمالا به جزییات توضیحات ارائه شده توجه نکرده اید. همانطور که در متن فیلم هم اشاره می شود در مد sweep از یک کانال Event system برای تریگر چند کانال ADC استفاده می شود که در نمونه کد مورد تحلیل هم از کانال 0 برای تریگر هر 4 کانال ADCB استفاده شده و از 4 کانال Event system استفاده نشده است. البته صرف نظر از توضیحات فیلم آموزشی این خاصیت مد sweep است و با دیدن نمونه کد هم این مورد قابل تشخیص است که فقط از یک کانال Event system در این مثال استفاده شده است.
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


                        #71
                        پاسخ : [آموزش] فیلم های آموزش XMEGA

                        از طریق کانال تلگرام استاد کی نژاد مطلع شدیم که ایشان سری جدیدی از اموزش های Xmega رو تهیه کردند و بر روی سایت اپارات قرار دادند. دوستان می توانند از طریق لینک سایت شخصی ایشان که در زیر اورده شده به تمامی اموزش ها دسترسی داشته باشند. همچنین پی سی بی برد مدار اموزشی سری xmega که یک نمونه ی تجاری هست و ساخت خود ایشان نیز هست به رایگان بر روی این سایت قرار داده شده. آرزوی سلامتی و شادی برای استاد کی نژاد دارم و از زحمات ایشان تقدیر و تشکر می کنم.
                        گویند سنگ لعل شود در مقام صبر اری شود ولی به خون جگر شود
                        همیشه آخر همه چیز خوبه، اگر هم هنوز خوب نشده پس هنوز آخرش نشده(چارلی چاپلین)

                        دیدگاه


                          #72
                          پاسخ : [آموزش] فیلم های آموزش XMEGA

                          با سلام و عرض ادب خدمت استاد محترم جناب آقای کی نژاد عزیز و ادای احترام به ایشان ، نه به خاطر روحیه کاوش عمیق و نگاه علمی تیزبین ایشان بلکه به دلیل گشاده دستی و گذاشتن وقت و علم و تجربه خود در جهت با لا بردن سطح علمی نوآموزان و صنعتگران کشور عزیزمان ایران ، بنده پیرامون کار با DMA در XMEGA یک سوال داشتم و آن اینکه آیا استاد محترم از زمان اجرای دستور در این واحد و نحوه اجرای کد در آن اطلاعی دارند ، بعنوان مثال اجرای یک انتقال داده از واحد خروجی به حافظه داخلی و امثالهم چقدر زمان میبرد ؟ و آیا سیکل دستور در DMA به اندازه CPU است ؟ و ضمنا این انتقال چند سیکل در DMA را شامل میشود ؟ این را از آن لحظ میپرسم که فی المثل شما در تولید موج سینوسی زمان را 2 میکرو ثانیه قرار دادید حال اگر بخواهیم زمان را کم کنیم نیاز داریم زمان اجرای دستور DMA را بدانیم چون در غیر اینصورت ظاهرا OVERLAP در DMA اتفاق خواهد افتاد. با تشکر فراوان ، خدا قوت

                          دیدگاه


                            #73
                            پاسخ : [آموزش] فیلم های آموزش XMEGA

                            نوشته اصلی توسط babak118 نمایش پست ها
                            با سلام و عرض ادب خدمت استاد محترم جناب آقای کی نژاد عزیز و ادای احترام به ایشان ، نه به خاطر روحیه کاوش عمیق و نگاه علمی تیزبین ایشان بلکه به دلیل گشاده دستی و گذاشتن وقت و علم و تجربه خود در جهت با لا بردن سطح علمی نوآموزان و صنعتگران کشور عزیزمان ایران ، بنده پیرامون کار با DMA در XMEGA یک سوال داشتم و آن اینکه آیا استاد محترم از زمان اجرای دستور در این واحد و نحوه اجرای کد در آن اطلاعی دارند ، بعنوان مثال اجرای یک انتقال داده از واحد خروجی به حافظه داخلی و امثالهم چقدر زمان میبرد ؟ و آیا سیکل دستور در DMA به اندازه CPU است ؟ و ضمنا این انتقال چند سیکل در DMA را شامل میشود ؟ این را از آن لحظ میپرسم که فی المثل شما در تولید موج سینوسی زمان را 2 میکرو ثانیه قرار دادید حال اگر بخواهیم زمان را کم کنیم نیاز داریم زمان اجرای دستور DMA را بدانیم چون در غیر اینصورت ظاهرا OVERLAP در DMA اتفاق خواهد افتاد. با تشکر فراوان ، خدا قوت
                            توضیحی که در این مورد در منوال داده شده در همین حد است که وقتی CPU دستوراتی را اجرا می کند که به نواحی sram یا IO یا eeprom یا حافظه خارجی دسترسی پیدا میکند، اولویت دسترسی CPU به باس داده نسبت به DMA بالاتر است. و مورد دیگر اینکه وقتی DMA باس را در اختیار گرفت تا ارسال کامل یک Burst باس را از دست نخواهد داد. برای بررسی دقیق تر در مورد این زمان بندی من دو برنامه را تست کردم که در یکی از طریق ارسال مقدار 0x01 به رجیستر OUTTGL یکی از پورت ها، مقدار پورت بصورت مداوم متمم شود و سایز بلاک 65535 بایت و تکرار هم 255 بار در نظر گرفته شد که 16535255 بار عملیات Toggle کردن پورت با حداکثر سرعت ممکن انجام می شود و زمان بین هر تغییر با اسیلوسکوپ قابل مشاهده و اندازه گیری است. در این شرایط با کلاک 2MHz در هر 2.5 میکرو ثانیه پورت تغییر می کرد که معادل هر 5 کلاک یک بار است. سایز Burst در این آزمایش 1 بایت بود. اما در آزمایش دیگری سایز Burst بجای 1 بایت روی 4 بایت قرار داده شد و یک آرایه با 4 عضو با مقادیر 0x01 به همان رجیستر ارسال شد که در این وضعیت جدید تغییرات پورت به میزان 4 سیکل در هر 0.5 میکرو ثانیه انجام می شد که معادل با سرعت تغییرات کلاک میکروکنترلر است. اما بعد از این 4 سیکل تغییرات باز هم 2.5 میکرو ثانیه فاصله زمانی تا تغییرات بعدی وجود داشت. تمام این موارد در شرایطی بود که CPU دسترسی به باس داده نداشت و حتی با ورود به مد Idle هم تغییری در نتیجه مشاهده نشد.با استفاده از نتیجه این آزمایش ها می توان نتیجه گرفت که وقتی DMA باس را در اختیار می گیرد با سرعتی معادل با فرکانس کلاک CPU انتقال داده را انجام می دهد. اما در اختیار قرار گرفتن باس توسط DMA در فواصل زمانی بزرگتر نسبت به پریود کلاک CPU اتفاق می افتد.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


                              #74
                              پاسخ : [آموزش] فیلم های آموزش XMEGA

                              با سلام و تشکر از توضیحات بسیار خوب و کاملتون .
                              در پناه حق باشید .

                              دیدگاه


                                #75
                                پاسخ : [آموزش] فیلم های آموزش XMEGA

                                با عرض سلام و خسته نباشید خدمت استاد گرامی ، سوالی در مورد بخش ADC در ایکسمگا از خدمتتون داشتم. مثالی رو که توی آموزشهاتون برای بخش ADC آوردین روی XMEGA32A4U اجرا کردم و نتایج رو توسط دیباگر ATMEL ICE بصورت زنده در داخل میکرو مشاهده کردم .فرکانس کاری 24MHz است. در حالت اول بعد از اتمام تبدیل وارد روتین اینتراپت میشیم و بعد از خوندن مقدار دوباره درخواست تبدیل مجدد میدیم ، نتیجه حاصل در این حالت عددی در حدود 689 بود. بدون تغییر پتانسیومتر عملیات رو در حالت فری رانینگ قرار دادم و اینبار درخواست تبدیل رو از روتین اینتراپت حذف کردم تا تبدیل پشت سر هم انجام بشه. نتیجه حاصل در این حالت عدد 654 بود. سوال من از خدمتتون اینه که دلیل این تفاوت در اعداد چی هستش؟
                                لطفا برای بررسی بیشتر موضوع تصاویر پیوست رو مشاهده کنید.
                                ممنون

                                [IMG][/IMG]

                                [IMG][/IMG]

                                [IMG][/IMG]
                                جدیدترین ویرایش توسط ommid_eb; ۲۱:۱۲ ۱۳۹۶/۰۷/۲۹.

                                دیدگاه

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