اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام
    از چه کامپایلری استفاده کنیم که بشه از حداکثر ظرفیتهای xmega استفاده کرد

    دیدگاه


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

      نوشته اصلی توسط AFSHARAN
      سلام
      از چه کامپایلری استفاده کنیم که بشه از حداکثر ظرفیتهای xmega استفاده کرد
      به غیر از برنامه نویسی به زبان اسمبلی که مبحث جداگانه ای است و در تاپیک دیگری در مورد آن بحث شده، کامپایلر های IAR و AVR-GCC گزینه های قابل قبولی هستند (AVR_GCC به عنوان کامپایلر winavr عمل می کند). حتی اکثر مثال های شرکت Atmel هم با IAR نوشته شده که نشان از اهمیت این کامپایلر دارد. مثال هایی هم که در این انجمن به زبان C نوشته شده، همگی با IAR هستند.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


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

        EEPROM

        EEPROM در XMEGA در دو وضعیت I/O mapped و Memory mapped عمل می کند. در روش اول این فضا برای خود دارای آدرس مستقلی است و خواندن و نوشتن آن تنها از طریق NVM Controller میسر است. در روش دوم این نوع حافظه از آدرس 0x1000 تعریف می شود و برای خواندن آن مانند سایر نقاط SRAM عمل می شود، اما نوشتن به آن همچنان مستلزم کار با NVM Controller و البته به شیوه ای غیر از وضعیت اول است. کار با EEPROM مستلزم رعایت نکات زیادی است و از این نظر از AVR های معمولی پیچیده تر است. نوشتن به EEPROM اصولا از طریق یک بافر انجام می شود و ابتدا باید نقاط مورد نظر در این بافر پر شود و بعد یک page بصورت همزمان نوشته شود. نکته مهم این است که نقاطی از page مذکور می توانند نوشته یا پاک شوند که یکبار در بافر مذکور تغییر کرده باشند و سایر نقاط در همان page بدون تغییر باقی می مانند. طول page برای شماره های مختلف می تواند متفاوت باشد.
        عملیات پاک کردن هر نقطه منجر به پر شدن 0xff در آن می شود و با نوشتن می توان تنها یک ها را به صفر تبدیل کرد و صفر را نمی توان با نوشتن به یک تبدیل کرد. دو نوع نوشتن در این خانواده پیش بینی شده که در نوع اول نقاط حافظه همزمان پاک و مجددا نوشته می شود و در نوع دوم با فرض اینکه حافظه قبلا پاک شده، فقط عملیات نوشتن انجام می شود.از آنجایی که روش دوم به اندازه نصف روش اول زمان می برد، یک مزیت آن صرفه جویی در زمان لازم برای نوشتن است. به این ترتیب که یکبار عملیات پاک کردن صفحه بصورت همزمان انجام می شود و در حین اجرای برنامه، در هر لحظه که لازم باشد فقط عملیات نوشتن انجام می شود.در مورد نوشتن مکرر در یک آدرس از بافر، دو مطلب متناقض در متون Atmel آورده شده است. در یکجا ذکر شده که این عمل منجر به از بین رفتن اطلاعات صفحه می شود و در متن دیگری ذکر شده که بین مقدار فعلی و مقدار قبلی یک عملیات And انجام می شود. همین مطلب در سایت AVRFreaks مطرح شد و کسی اطلاعاتی در مورد آن نداشت. البته در عمل نباید چنین کاری انجام شود اما اگر لازم باشد با انجام آزمایشی می توان به صحت هریک از دو وجه مطرح شده، پی برد.
        از جمله موارد مهم درباره EEPROM این است که در برخی شماره های XMEGA، نوشتن در آن منجر به مختل شدن روند برنامه می شود. شرکت Atmel برای حل این مشکل پیشنهادی را ارائه کرده به این ترتیب که بعد از نوشتن اطلاعات و در کمتر از 2.5 میکروثانیه، میکروکنترلر در وضعیت Idle قرار بگیرد و برنامه به گونه ای نوشته شود که با فعال شدن وقفه EEPROM Ready، میکروکنترلر از این وضعیت خارج شود. برای اجرای این مسئله یک Application note و کد نمونه آن در سال 2010 منتشر شده که در سایت Atmel موجود است. قبل از آن هم نمونه کدهای کاملتری برای خواندن و نوشتن در دسترس بود که برای این شماره های به خصوص قابل استفاده نیست. کاری که بصورت عملی انجام شد، این بود که کدهای کاملتر قبلی با راه کارهای ارائه شده توسط Atmel تغییر داده شد و مشاهده شد که مشکل مذکور برطرف گردیده است. در نرم افزار IAR هم می توان با تعریف متغیر بصورت eeprom__ به محتویات این ناحیه دسترسی پیدا کرد و فقط باید بررسی شود که در آخرین نسخه این نرم افزار آیا اشکال ذکر شده لحاظ شده است یا خیر. تا نسخه 5.20 که این اشکال وجود دارد و نمی توان از نوع eeprom__ برای تمام شماره های XMEGA استفاده کرد.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


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

          لینک آموزش xmega به زبان فارسی:

          http://*****tarashe.com/site/index.php?option=com_content&view=category&amp ;id=14:xmega&Itemid=34&layout=default

          دیدگاه


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

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

            دیدگاه


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

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

              فقط 313 نفر...

              دیدگاه


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

                Event system - بخش دوم

                همانطور که قبلا توضیح داده شد، Event system یک ارتباط بین سخت افزاری در XMEGA می باشد که نیاز به دخالت CPU را برای انجام بسیاری از وظایف برطرف می کند. در این سیستم وقوع یک اتفاق یا Event می تواند به عنوان فرمان انجام عملی در یک بخش دیگر تعریف شود. 8 کانال مختلف برای این وظایف قابل تعریف هستند که منابع زیر می توانند به عنوان یک Event برای هر یک از این کانال ها تعریف شوند:
                - RTC
                - مقایسه کننده های آنالوگ
                - کانال های ADC
                - وضعیت پورت های A تا F
                - کلاک وسایل جانبی تقسیم بر یک ضریب قابل تعیین
                - سرریز شدن تایمرها
                - وضعیت خطا در تایمرها
                - عملیات Capture در تایمرها
                - عملیات Compare در تایمرها
                - ایجاد Event بصورت نرم افزاری

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

                دیدگاه


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

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

                  فقط 313 نفر...

                  دیدگاه


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

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

                    دیدگاه


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

                      یعنی مثل fpga بین هر سل یه سری شبکه هست که ما اونا رو به دلخواه بهم وصل میکنیم
                      درست گفتم؟

                      دیدگاه


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

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

                        دیدگاه


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

                          Event system - بخش سوم

                          در توضیح بیشتر عملکرد Event system مثال هایی ذکر می شود. مثال اول در مورد عملیات Capture یک تایمر است. هنگامی که تایمری مشغول شمارش است، برای نمونه برداری صحیح از مقدار آن (که دائما در حال تغییر است) از قابلیت Capture در میکروکنترلرها استفاده می شود. این عملیات را می توان به عکس گرفتن از یک جسم متحرک تشبیه کرد و تحت یک فرمان مشخص، نمونه برداری صحیحی از مقدار تایمر انجام می شود. در میکروکنترلرهای مختلف معمولا این فرمان توسط یک یا چند پین خارجی معین انجام می شود و در مواردی مانند mega64 این قابلیت وجود دارد که این فرمان توسط خروجی مقایسه کننده آنالوگ هم صادر شود.
                          اما در XMEGA فرمان Capture از یکی از کانال های 8 گانه Event system صادر می شود و هر منبعی که به عنوان ایجاد کننده Event تعریف شده باشد، می تواند فرمان مورد نظر را صادر کند. به این ترتیب تمام پین های پورت های A تا F قابلیت ایجاد فرمان Capture را پیدا می کنند و این امر به پین خاصی محدود نمی شود. و یا از طریق سایر منابع مانند مقایسه کننده آنالوگ یا ADC یا RTC و کلاک وسایل جانبی و سایر تایمرها و حتی بصورت نرم افزاری می توان فرمان Capture را ایجاد کرد.
                          به عنوان مثال های دیگری برای تایمر می توان ایجاد فرمان کلاک یا Restart شدن تایمر و حتی اندازه گیری زمان بین دو Event را از طریق منابع مختلف قابل تعریف در Event system ذکر کرد که قابلیت های فوق العاده ای را در استفاده از تایمرها ایجاد می کند.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


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

                            Clock - بخش دوم

                            کلاک اعمال شده به CPU و وسایل جانبی داخلی از 7 منبع می تواند تامین شود:

                            1- اسیلاتور داخلی 2 مگاهرتز
                            2- اسیلاتور داخلی 32 مگاهرتز
                            3- اسیلاتور داخلی 32.768 کیلو هرتز
                            4- کریستال و رزوناتور در محدوده 0.4 تا 16 مگاهرتز
                            5- کلاک خارجی
                            6- کریستال خارجی فرکانس پائین 32 کیلوهرتز
                            7- خروجی PLL داخلی

                            ورودی PLL داخلی از 4 منبع می تواند تامین شود:

                            1- اسیلاتور داخلی 2 مگاهرتز
                            2- اسیلاتور داخلی 32 مگاهرتز تقسیم بر 4
                            3- کریستال و رزوناتور در محدوده 0.4 تا 16 مگاهرتز
                            4- کلاک خارجی

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

                            دیدگاه


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

                              پورت ها – بخش دوم

                              هر پین یک پورت به عنوان ورودی می تواند در 4 وضعیت قرار داشته باشد:

                              1- High impedance
                              2- فعال شدن Pull up
                              3- فعال شدن Pull down
                              4- وضعیت Bus keeper که به معنای فعال سازی خودکار Pull up یا Pull down برای حفظ وضعیت پورت متناسب با حالت خروجی آن است.

                              از نظر خروجی 5 وضعیت قابل فعال شدن هستند:

                              1- Totem pole: در این حالت پین خروجی برای هردو وضعیت High و Low بصورت مناسب درایو می شود.
                              2- Wired AND+Pull up: این خروجی ها قابل وصل کردن به یکدیگر هستند. خروجی هایی که High هستند تاثیری در خروجی مشترک پین ها ندارند و خروجی هایی که Low هستند خود را به وضعیت پین های خروجی تحمیل می کنند. اگر حتی یک خروجی Low باشد، پین خروجی صفر می شود. مقاومت Pull up بصورت داخلی فعال است.
                              3- Wired AND: مانند وضعیت قبل و بدون فعال بودن مقاومت Pull up داخلی.
                              4- Wired OR + Pull down: این خروجی ها قابل وصل کردن به یکدیگر هستند.خروجی هایی که Low هستند تاثیری در خروجی مشترک پین ها ندارند و خروجی هایی که High هستند خود را به وضعیت پین های خروجی تحمیل می کنند. اگر حتی یک خروجی High باشد، پین خروجی یک می شود. Pull down بصورت داخلی فعال است.
                              5- Wired OR: مانند وضعیت قبل و بدون فعال بودن مقاومت Pull down داخلی.

                              از جمله امکانات دیگر در پورت ها امکان محدود کردن Slew Rate یا شیب تغییرات خروجی پورت ها است. این امکان برای [glow=red,2,300]کاهش نویز[/glow] ناشی از تغییرات سریع خروجی پورت ها قابل فعال کردن است. Not کردن منطق هر پین یک پورت و ایجاد وقفه از طریق تمام پین ها هم از جمله امکانات دیگری است که قبلا به آن اشاره شده است. همچنین پورتهای A تا F می توانند به عنوان تولید کننده Event و PC7 و PD7 و PE7 به عنوان مصرف کننده Event مورد استفاده قرار بگیرند.
                              برای صرفه جویی در مصرف انرژی کلی میکروکنترلر، این امکان وجود دارد که بافر ورودی پین هایی که مورد استفاده قرار نمی گیرند و یا فقط به عنوان ورودی آنالوگ استفاده می شوند، غیر فعال شود (پورتهای A تا F).
                              نکته آخر اینکه تغییرات روی پورتها می تواند موجب خروج از وضعیت SLEEP و تولید وقفه شود که ویژگی خاصی در این مورد برای پین شماره 2 از هر پورت وجود دارد و می تواند این عملیات را بصورت آسنکرون و بدون حضور کلاک وسایل جانبی داخلی انجام دهد.
                              اوژن: به معنای افکننده و شکست دهنده است
                              دانایی، توانایی است-Knowledge is POWER
                              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                              دیدگاه


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

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

                                فقط 313 نفر...

                                دیدگاه

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