اطلاعیه

Collapse
No announcement yet.

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

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

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

    به دلیل کمبود منابع در مورد خانواده XMEGA و تفاوتهای بارزی که بین عملکرد این خانواده با AVR های معمول مانند سری MEGA و TINY وجود دارد، در این تاپیک به برخی از تفاوتها اشاره می شود که البته موارد متعددی را شامل می شود:

    (فیلم سمینار توانمندی های خانواده XMEGA)

    Clock - بخش اول
    از جمله اولین نکات این خانواده این است که تا 32 مگاهرتز کلاک را قبول می کنند که در مقایسه با حداکثر 20 مگاهرتزی AVR های معمول، تقریبا دوبرابر سرعت را تامین میکنند و همچنین این کلاک 32 مگاهرتز می تواند بصورت اسیلاتور داخلی و بدون نیاز به هیچ کریستالی تامین شود. همچنین برای تنظیم کلاک احتیاج به تغییر فیوزبیت نیست و این کار از طریق تغییر رجیسترهای داخلی انجام می شود. همیشه در ابتدای شروع به کار آی سی ابتدا بصورت خودکار کلاک داخلی 2مگاهرتز انتخاب می شود و سپس بوسیله کدهای نوشته شده، نوع کلاک، قابل تغییر است.
    یک مکانیزم بسیار جالب در این آی سی قابل فعال سازی است که حتی در صورتی که کلاک خارجی فعال باشد و به هر دلیلی عمل نکند،CPU بصورت اتوماتیک روی کلاک داخلی سوئیچ کند. بنابراین کلیه مشکلاتی که در AVR های معمولی به دلیل تنظیم غلط فیوزبیت ها و یا از کار افتادن کریستال یا اسیلاتور خارجی بوجود می آید، در مورد این آی سی می تواند موضوعیت نداشته باشد.
    وجود PLL داخلی هم از ویژگی های دیگر این خانواده است که بوسیله آن می توان انواع کلاک ها را از یک منبع ثابت بدست آوردو همچنین یک مکانیزم( DFLL(Digital Frequency Locked Loop هم قابل فعال سازی است که اسیلاتور دائما مقدار خود را تصحیح می کند و پایداری و صحت کلاک بهبود می یابد.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

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

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

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

    دیدگاه


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

      پورت ها - بخش اول

      عملکرد پورتها در خانواده XMEGA بسیار کاملتر از AVR های معمولی است. همانگونه که اطلاع دارید، پورتهای AVR یا خروجی هستند که دو وضعیت LOW و HIGH را میتوانند داشته باشند و یا ورودی هستند که pull up داخلی می تواند فعال یا غیر فعال باشد. اما در XMEGA هم pull up و هم pull down قابلیت فعال شدن در ورودی و خروجی را دارند و همچنین وضعیت های totem pole، BUS Keeper، ٌWired-OR، Wired-AND برای پورتها قابل تعریف است. هر یک از این حالت ها، امکانات مجزایی را برای کار با پورتها در اختیار قرار می دهند که بیشتر آنها در پورتهای AVR عادی قابل پیاده سازی نیست. مثلا اگر چند خروجی در وضعیت ٌWired-OR قرار داده شوند، این امکان وجود دارد که تمام این پین ها با وجودی که خروجی هستند، به یکدیگر متصل شوند و با قرار دادن pull down خارجی یا فعال سازی pull down داخلی، هر خروجی که high باشد، تعیین کننده وضعیت خروجی کل باشد و سایر خروجی هایی که low هستند در این وضعیت بی تاثیر باشند.
      همچنین این امکان وجود دارد که یک منطق NOT برای ورودی یا خروجی فعال شود که مثلا برای وضعیت ورودی، هر منطقی که به پین ورودی اعمال شود به صورت معکوس خوانده شود.
      یک امکان دیگر پورتهای XMEGA وجود پورتهای مجازی یا virtual port است که توضیح آن در این مقال نمی گنجد. اما به طور خلاصه به این معناست که یکسری پورت مجازی را به پورتها واقعی نسبت می دهیم و هر عملی که روی پورت مجازی انجام شود، روی پورت معادل آن تاثیر خواهد گذاشت و 4 پورت مجازی در سری XMEGA وجود دارد.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


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

        امکان تعیین اولویت(priority) وقفه ها

        یکی از اشکالات بسیار بزرگ خانواده AVR که از این نظر حتی از سری 8051 هم ضعیف تر می باشد، عدم امکان تعریف اولویت(priority) وقفه هاست. در این خانواده تنها یک اولویت از نوع ابتدایی بین وقفه ها وجود دارد به این معنی که هرگاه دو وقفه با هم از CPU تقاضا شوند، وقفه ای که از نظر آدرس بردار وقفه دارای مقدار کوچکتری است، ابتدا مورد پاسخگویی قرار می گیرد. اما آن شکلی از تعریف اولویت که در میکروکنترلرهایی مانند 8051 وجود دارد، که به CPU این اجازه را می دهد که در وسط اجرای روتین یک وقفه با اولویت پائین تر، به وقفه با اولویت بالاتر پاسخ دهد در AVR های معمولی وجود ندارد. این موضوع ضعف و خلاء بسیار بزرگی برای AVR محسوب می شود که در برنامه نویسی حرفه ای می تواند بسیار مشکل ساز باشد.
        اما تمام این مسائل در سری XMEGA حل شده است و به غیر از اینکه 3 سطح اولویت برای وقفه ها قابل تعریف است، یک وقفه( NMI(Non Maskable Interrupt هم وجود دارد که اصولا توسط وقفه های دیگر قابل disable شدن نیست و برای عملیات حساسی مانند از کار افتادن اسیلاتور کریستالی و مانند آن مورد استفاده قرار می گیرد. بنابراین سیستم مدیریت وقفه در خانواده XMEGA بسیار قوی تر از سری های AVR است و از این نظر بسیار کاراتر و توانمندتر عمل می کند.

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

        دیدگاه


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

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

          لینک به صفحهٔ ویکی :
          http://www.eca.ir/wiki/index.php?title=Xmega
          چگونه هوشمندانه بپرسیم

          دیدگاه


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

            با تشکر از شما که وقت گذاشتید .میشه در مورد وضعیت های totem pole، BUS Keeper، ٌWired-OR، Wired-AND و virtual port و Event ها توضیح کامل بدید.

            دیدگاه


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

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

              نوشته اصلی توسط iman4web
              میشه در مورد وضعیت های totem pole، BUS Keeper، ٌWired-OR، Wired-AND و virtual port و Event ها توضیح کامل بدید.
              بصورت خلاصه می توان توضیحات زیر را در موارد مطرح شده ارائه کرد:

              Totem pole: این وضعیت شبیه عملکرد پورت های AVR های عادی است. به این ترتیب که اگر پورت به عنوان خروجی تعریف شود، LOW و HIGH از یک درایور خروجی تامین می شوند که چه بصورت source و چه بصورت sink، جریان را تامین می کند. در وضعیت ورودی هم اگر pull up فعال نباشد، ورودی حالت float دارد.

              Wired-AND: این وضعیت تا حدودی شبیه پورت های 8051 است. به این معنی که در صورت صفر کردن خروجی، یک سوئیچ نیمه هادی روشن می شود و خروجی را low می کند و در صورت یک شدن آن، باید مقاومت pull up لازم در خروجی سوئیچ نیمه هادی قرار داشته باشد تا وضعیت high را ایجاد کند. این مقاومت می تواند بصورت داخلی فعال شود و یا در خارج IC قرار بگیرد. خروجی هایی که در وضعییت Wired-AND قرار داده شوند، قابلیت وصل شدن به یکدیگر را دارند و آن خروجی یا خروجی هایی که low باشند، خود را به بقیه تحمیل می کنند.

              Wired-OR: عکس عملکرد وضعیت قبل را دارد و در صورت یک کردن خروجی، یک سوئیچ نیمه هادی روشن می شود و خروجی را high می کند و در صورت صفر شدن آن، باید مقاومت pull down لازم در خروجی سوئیچ نیمه هادی قرار داشته باشد تا وضعیت low را ایجاد کند.

              Bus-keeper: با قرار گرفتن پورت در این وضعیت، این امکان بوجود می آید که وضعیت قبلی پورت زمانی که بصورت خروجی است، در تغییر وضعیت پورت به وضعیت ورودی از نظر low و high بودن همچنان حفظ شود. این کار از طریق فعال سازی هوشمند pull up و pull down بصورت خودکار انجام می شود. به این معنی که اگر وضعیت قبلی خروجی low بوده، pull down را فعال می کند و اگر هم high بوده که pull up را فعال می کند. بنابراین وضعیت پورت از نظر high و low بودن همچنان حفظ می شود.

              Virtual port به دلیل نظام خاص آدرس دهی XMEGA و اینکه بتوان دستوراتی مانند IN و OUT را در مورد پورتها بکار برد، تعبیه شده است. برای درک بهتر این نوع پورتها باید به جزئیات آدرس دهی رجیسترهای داخلی XMEGA مراجعه کنید و خواهید دید که آدرس پورتها در خارج از فضای I/O memory space قرار دارند. بنابراین با map کردن پورتهای واقعی به مجازی و دانستن این موضوع که پورتهای مجازی در فضای I/O memory space قرار دارند، دلیل وجود آنها روشن تر خواهد شد.

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

              دیدگاه


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

                Event system - بخش اول

                Event System، مجموعه ای از ارتباط بین اجزای داخلی است که قدرت و انعطاف زیادی را برای استفاده از امکانات داخلی XMEGA ایجاد می کند. با استفاده از این سیستم می توان بدون درگیر کردن CPU و یا ایجاد هرگونه وقفه ای، تغییرات یک بخش را به عنوان فرمان تغییر و Trigger بخش دیگر به کار گرفت.
                تایمرها، ADC، مقایسه کننده آنالوگ، RTC، پورتها و کلاک سیستم و فرمان های نرم افزاری می توانند به عنوان منابع ایجاد Event تعریف شوند. همچنین تایمرها، ADC، DAC، DMA و پورتها و ماژول ارتباط IR می توانند از منبع Event مورد نظر برای تغییرات خود فرمان بگیرند.
                به عنوان چند مثال از طریق استفاده از همین سیستم می توان overflow شدن یک تایمر 16 بیتی را به عنوان فرمان clock یک تایمر 16 بیتی دیگر تعریف کرد و بدون استفاده از هر وقفه ای، یک تایمر 32 بیتی ساخت. یا مثلا می توان سیستم را طوری تنظیم کرد که در مقدار مشخصی از RTC، فرمان تبدیل ADC انجام شود. یا با تغییراتی در یک پین ورودی، خروجی DAC در مقدار جدید قرار بگیرد.
                در این خانواده 8 کانال Event در دسترس است که شامل 8 multiplexer است که با تنظیم آنها می توان هر Event را به عنوان منبع trigger مقصد مورد نظر هدایت کرد. هر کانال Event شامل یک فیلتر دیجیتال است که این امکان را به وجود می آورد که محدوده ای بین 1 تا 8 sample را برای پایدار بودن اجباری Event مورد نظر تعریف کنیم تا وجود آن موثر واقع شود.
                البته این بحث بسیار گسترده است و نمی توان انتظار داشت که تمام ابعاد آن در اینجا روشن شود. اما بصورت خلاصه وجود Event System باعث ایجاد یک ارتباط سخت افزاری از طریق برنامه نویسی بین اجزای مختلف XMEGA می شود، بصورتی که به عنوان یک مجموعه به هم پیوسته و واحد عمل کنند و این امکان برای یک برنامه نویس توانمند، فرصت مغتنمی محسوب می شود تا بتواند کاربرد های پیچیده و پیشرفته ای را با XMEGA پیاده سازی کند که انجام آن با AVR های عادی مقدور نباشد.

                QDEC

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

                دیدگاه


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

                  یک سوال شاید یکم مبتدیانه باشه.
                  اینکه ولتاژ Vcc بین 1.6 تا 3.6 است مشکلی ایجاد نمیکنه؟منظورم اینه که وقتی در یک پین از پورت مقدار 1 را میریزیم اگر با مولتی متر مقدار پین رو بخوانیم چه ولتاژی رو نشون میده؟


                  با تشکر

                  دیدگاه


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

                    نوشته اصلی توسط nanocycle
                    یک سوال شاید یکم مبتدیانه باشه.
                    اینکه ولتاژ Vcc بین 1.6 تا 3.6 است مشکلی ایجاد نمیکنه؟
                    این سوال، سوال بسیار خوبی است و اصلا هم مبتدیانه نیست. البته بحث محدوده Vcc قرار نبود در این مرحله ذکر شود. اما با عنایت به این سوال در همین مرحله گفته می شود:

                    محدوده تغذیه

                    مقدار Vcc مجاز برای XMEGA بین 1.6ولت تا 3.6ولت است. اما فرکانس کلاک 32 مگاهرتز تنها از تغذیه 2.7ولت به بالا قابل دستیابی است. در محدوده1.8 ولت تا 2.7ولت حداکثر فرکانس کلاک مجاز بصورت خطی کاهش می یابد و در مقدار Vcc=1.8v این عدد به حداکثر 12MHz می رسد.در محدوده بین 1.6ولت تا 1.8 ولت هم مقدار حداکثر همان 12MHz باقی می ماند.
                    به دلیل کمتر بودن Vcc از مقدار معمول 5 ولت، محدودیت هایی در مقادیر پورت ها در وضعیت های ورودی و خروجی بوجود می آید. در وضعیت ورودی، حداکثر مقدار مجاز برای اعمال به عنوان ورودی نباید بیشتر از Vcc+0.5v باشد. بنابراین اگر از یک رگولاتور 3.3 ولتی برای تغذیه IC استفاده شود، حداکثر مقدار مجاز برابر 3.8 ولت است و متصل کردن یک خروجی با مقدار 5 ولت به ورودی XMEGA، می تواند منجر به آسیب وارد شدن به آن شود. ساده ترین راه برای حل این مشکل استفاده از یک تقسیم مقاومتی و یا در شرایط پیشرفته تر استفاده از IC های Level converter است.
                    در وضعیت خروجی هم مطابق منحنی های ارائه شده برای XMEGA از طرف کارخانه سازنده و در صورتی که جریانی از خروجی کشیده نشود، مقدار high خروجی پورت برابر Vcc و مقدار Low آن برابر صفر خواهد بود. در صورت جریان کشی هم مقدار high کمتر از Vcc ومقدار Low بیشتر از صفر خواهد شد(مطابق منحنی های ارائه شده ). کمتر بودن مقدار خروجی high از 5 ولت در اتصال به IC های جانبی، در صورتی که از تغذیه ای مانند 3.3 ولت استفاده شود، در اکثر موارد مشکلی بوجود نمی آورد. زیرا اکثر IC هایی که با تغذیه 5 ولت کار می کنند، 3.3 ولت را به عنوان high می شناسند. اما در غیر این صورت و همچنین در صورت استفاده از مقادیر پائین تر Vcc، استفاده از Level converter اجتناب ناپذیر است.
                    اوژن: به معنای افکننده و شکست دهنده است
                    دانایی، توانایی است-Knowledge is POWER
                    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                    دیدگاه


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

                      تایمرها

                      در خانواده AVR های معمولی، در شماره های ضعیف تر مانندtiny13 فقط یک تایمرهای 8 بیتی وجود دارد و در شماره های توانمندتر مانند mega128 هم حداکثر 2 تایمر 16 بیتی و 2 تایمر 8بیتی وجود دارد و حداکثر ظرفیت AVR هم وجود 4 تایمر 16 بیتی و 2 تایمر 8 بیتی در شماره هایی مانند mega2560 است.اما تایمر های XMEGA همگی 16بیتی هستند و تعداد آنها هم از 4 عدد تا 8 عدد متغیر است. این درحالی است که با استفاده از ظرفیت Event system که قبلا به آن اشاره شد، می توان به تایمرهایی بزرگتر از 16 بیت هم بدون استفاده از وقفه ها دست پیدا کرد.
                      نکته دیگر اینکه در AVR، کنترلی روی جهت شمارش تایمر وجود ندارد و تایمر در وضعیتهای Normal و CTC و Fast-PWM بصورت افزایشی و در مدهای Phase corret PWM و Phase-frequency correct PWM هم بصورت افزایشی و کاهشی متوالی عمل می کند. اما جهت شمارش تایمر های XMEGA بصورت دلخواه توسط یک بیت کنترلی قابل تغییر است و این امکان بسیار خوبی محسوب می شود.
                      نکته بسیار مهم دیگر وجود تعداد قابل توجهی خروجی PWM در خانواده XMEGA است که بین 14 تا 24 خروجی PWM را در شماره های فعلی این خانواده شامل می شود. وجود این خروجی های PWM به علاوه امکان دیگری به نام (AWEX(Advanced Waveform Extension که بعدا توضیح داده می شود، خانواده XMEGA را به ابزار بسیار قدرتمندی برای کاربردهایی مانند کنترل موتور و رباتیک و نظایر آن تبدیل می کند و این در حالی است که تعداد خروجی های PWM در AVR های معمولی بسیار کمتر از این تعداد است ( 4 عدد در mega32 و 8 عدد در mega128 و 16 عدد در mega2560 که حداکثر تعداد در AVR است). ضمن اینکه امکانات کنترل و مدیریت PWM هم در XMEGA قوی تر و کاراتر می باشد.
                      از جمله کاربردهای این تایمرها، وجود امکان اندازه گیری فرکانس و اندازه گیری عرض پالس بصورت سخت افزاری است که در فرکانس مترها و اندازه گیری های دقیق زمانی بکار می رود و کاربردهای متعدد دیگر که مستلزم آشنایی دقیق با ساختار تایمرهای XMEGA است.
                      اوژن: به معنای افکننده و شکست دهنده است
                      دانایی، توانایی است-Knowledge is POWER
                      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                      دیدگاه


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

                        AWeX

                        (AWeX(Advanced Waveform Extension یک واحد سخت افزاری طراحی شده برای پیاده سازی عملیات کنترل دور موتور و درایورهای قدرت است. وجود 3 توانایی سخت افزاری Dead time insertion، Pattern generation وFault protection برای کاربردهای کنترل موتور و مانند آن پیش بینی شده و کارکردن با آن مستلزم آشنایی کامل با مبانی عملکرد درایورهای قدرت می باشد.
                        در مورد Dead time insertion می توان این توضیح را ارائه کرد که در یک پل (Bridge) تشکیل شده از سوئیچ های قدرت مانند Mosfet یا IGBT، بین خاموش شدن هر سوئیچ قدرت و روشن شدن سوئیچ دومی که در همان بازو قرار دارد، باید یک زمان حداقل در حد میکروثانیه تاخیر وجود داشته باشد. در غیر اینصورت قبل از اینکه جریان سوئیچ روشن به صفر برسد، سوئیچ دوم هم روشن خواهد شد و یک جریان بسیار شدید بین ولتاژ مثبت و منفی پل ایجاد می شود و در یک لحظه باعث از بین رفتن سوئیچ های قدرت خواهد شد( به این جریان shoot through هم گفته می شود). به این زمان تاخیر به اصطلاح Dead time گفته می شود که یک منبع تولید فرمان برای درایور، باید بتواند آنرا بصورت سخت افزاری تامین کند. در واحد AWeX خانواده XMEGA، چنین امکانی پیش بینی شده که مقدار Dead time بصورت نرم افزاری و توسط رجیسترهای کنترلی یکبار تعریف و به سخت افزار اعمال شود.
                        Pattern generation برای تولید یک Bit Pattern مشخص روی پورت خروجی و برای کنترل موتورهایی مانند BLDC و استپر موتور کاربرد دارد و باید بصورت یک بحث مستقل و کاملا تخصصی در آینده مطرح شود.
                        Fault protection هم یک واحد پیش بینی شده برای درایورهای قدرت و در جهت واکنش سریع و مشخص در شرایط وقوع fault می باشد. برای کنترل کاربردهای قدرت لازم است این امکان بصورت سخت افزاری پیش بینی شود که در هنگام وقوع fault و خطا، واکنش سریع و از قبل معینی انجام شود و مثلا فرمان خروجی به سوئیچ های قدرت به سرعت قطع شوند و این امر نباید معطل اجرای نرم افزار بماند. چرا که در غیر اینصورت ممکن است به علت جریان کشی بیش از حد به از بین رفتن سوئیچ های قدرت و مواردی از این دست منجر شود. بنابراین واحدی که تحت برنامه ریزی قبلی نرم افزار بصورت سخت افزاری به شرایط خطا پاسخ دهد، از جمله امکاناتی است که در XMEGA پیش بینی شده و امکان استفاده از آن را به عنوان یک کنترل کننده و نظارت کننده بر پروسه های در محدوده زمانی میکروثانیه و کمتر، بوجود می آورد.
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه


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

                          ADC

                          تفاتهای زیادی بین ADC داخلی خانواده XMEGA با AVR های معمولی وجود دارد که شاخص ترین آن دقت و سرعت تبدیل آن است. دقت ADC این خانواده 12 بیت است و قابلیت نمونه برداری تا 2 میلیون نمونه در ثانیه (2MSPS) را دارد. از نظر تعداد ورودی آنالوگ هم بین گروه های مختلف XMEGA تفاوت وجود دارد و در گروهی که با پسوند A4 نوشته می شوند،یک کانال با 12 ورودی و در گروه های A3 و A1 هم 2 کانال مستقل با 8 ورودی وجود دارند (درگروههای D4 و D3 هم 1x12 و 1x16 ورودی وجود دارند).
                          از جمله نکات دیگر این ADC قابلیت تبدیل 4 سیگنال آنالوگ بصورت همزمان و با روش Pipeline است و به همین دلیل 4 سری رجیستر داخلی برای ذخیره سازی این 4 گروه نتیجه دارد.
                          از نظر ولتاژ مرجع (Reference)، چند امکان برای انتخاب وجود دارد که شامل ولتاژ دقیق 1 ولت داخلی، Vcc/1.6 و ولتاژ مرجع خارجی است. در گروه های A1 و A3 دو ورودی مختلف به عنوان ولتاژمرجع اختصاص داده شده است.
                          امکان خواندن ورودی ها بصورت تفاضلی، اعمال بهره تقویت 1 تا 64، و امکان محاسبه مقدار ورودی بصورت علامت دار، از دیگر امکانات ADC این خانواده است.
                          یکی از موارد مهم قابل ذکر، وجود سنسور دمای داخلی در XMEGA است که نیاز به قرار دادن سنسور دما در خارج از IC را برای سنجش دما برطرف می کند. این امکان وجود دارد که خروجی این سنسور بصورت داخلی به ورودی ADC متصل و مقدار آن محاسبه شود. همچنین امکان اندازه گیری Vcc اعمال شده به IC و خروجی DAC و ولتاژ مرجع داخلی هم از طریق ADC وجود دارد.
                          در عملکرد خانواده XMEGA، یک ساختار Compare function وجود دارد به این معنی که مقدار ADC بصورت دائمی با یک رجیستر از پیش تعیین شده 12 بیتی مقایسه می شود و می توان وقفه یا Event را در صورت کوچکتر یا بزرگتر بودن از این رجیستر فعال کرد.
                          و بالاخره اینکه امکان انتقال نتایج عملیات ADC توسط DMA( که بعدا توضیح داده می شود)در حافظه قابل فعال کردن است و این روش برای درگیر نکردن CPU و ذخیره سازی سریع اطلاعات در تبدیلات متوالی می تواند بکار برده شود.
                          اوژن: به معنای افکننده و شکست دهنده است
                          دانایی، توانایی است-Knowledge is POWER
                          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                          دیدگاه


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

                            DAC

                            وجود مبدل دیجیتال به آنالوگ 12 بیتی و با سرعت حداکثر 1 میلیون تبدیل در ثانیه، از جمله مزیت هایی در خانواده XMEGA است که در خانواده AVR های معمولی به کلی وجود ندارد و زمینه را برای انجام عملیاتی که با تولید سیگنال های آنالوگ سر و کار دارند، فراهم می کند. در اینجا ذکر یک توضیح فنی لازم است که هرچند با قرار دادن یک فیلتر پائین گذر در خروجی PWM می توان سیگنال های آنالوگ را تولید کرد. اما حداکثر فرکانس این سیگنال آنالوگ باید تفاوت قابل توجهی با فرکانس PWM داشته باشد تا بتواند توسط فیلتر پائین گذر و با دقت بالا، جداسازی شود. حداکثر فرکانس PWM قابل حصول برای AVR در مد fast PWM و با فرض کلاک 20 مگاهرتز و 8 بیتی بودن PWM، برابر 78.125 کیلوهرتز است. بنابراین تغیییرات سیگنال آنالوگ تولید شده توسط PWM باید بسیار کمتر از این باشد تا بتواند به خوبی جدا شود. اما وجود DAC ، زمینه را برای کاربردهایی مانند تولید صدای خروجی بصورت استریو و یا تولید سیگنال های آنالوگ با فرکانس نسبتا بالا را برای XMEGA فراهم می کند.
                            هر واحد DAC دارای دو خروجی مستقل آنالوگ است که هریک رجیستر دیتای خاص خود را دارند. در گروه با پسوند A3 و A4 یک واحد DAC و در گروه A1 دو واحد DAC(یعنی 4 خروجی مستقل آنالوگ) وجود دارند.
                            برای تبدیلات DAC یک ولتاژ مرجع قابل تعیین است که می تواند از Vcc یا ولتاژ مرجع داخلی و یا ولتاژ دلخواه متصل به پایه تعریف شده برای این کار، تامین شود.
                            خروجی انالوگ DAC بصورت نرم افزاری قابل کالیبره کردن و تغییر Offset خروجی است و این کار می تواند به کمک اتصال داخلی خروجی DAC به ورودی ADC و خواندن مقدار آن و یا قرائت خروجی آنالوگ از بیرون انجام شود.
                            خروجی DAC همچنین می تواند بصورت داخلی به مقایسه کننده آنالوگ موجود در XMEGA متصل و ولتاژ آن با ولتاژهای دیگری مقایسه شود که این امکان برای برخی کاربردهای کنترل جریان و درایورهای قدرت، امکان فوق العاده ای محسوب می شود.
                            برای تولید سیگنال های آنالوگ با فرکانس نسبتا بالا از طریق قرار دادن متوالی دیتا در ورودی DAC، امکان بهره گیری از DMA داخلی XMEGA وجود دارد و در این شرایط بدون مشغول کردن بیجهت CPU، عملیات تولید سیگنال آنالوگ به خوبی انجام می شود. همچنین عملیات به روز سازی خروجی آنالوگ می تواند تحت مدیریت Event system انجام شود و بدون ایجاد بار نرم افزاری برای CPU و ایجاد هرگونه وقفه ای، وقوع Event تعیین شده، باعث به روز سازی و ایجاد تغییر مقدار در خروجی آنالوگ مورد نظر گردد.
                            اوژن: به معنای افکننده و شکست دهنده است
                            دانایی، توانایی است-Knowledge is POWER
                            برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                            وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                            قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                            اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                            ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                            دیدگاه


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

                              DMA controller

                              کنترل کننده( DMA(Direct Memory Access برای انتقال اطلاعات بین نواحی مختلف حافظه و رجیسترهای داخلی بکار می رود و بکارگیری صحیح آن، باعث کاهش بار پردازشی است که می تواند برای انتقال این اطلاعات به CPU تحمیل شود. وجود امکاناتی نظیر DMA و Event system در داخل XMEGA سبب می شود که کارایی و سرعت انجام عملیات در مقایسه با AVR های معمولی به شکل چشمگیری افزایش پیدا کند و در شرایطی که در AVR، انجام هر عملی باید با دخالت مستقیم CPU انجام شود، در XMEGA عملیات مختلف می توانند بصورت کاملا موازی و بدون مشغول کردن CPU به انجام برسند. بنابراین راندمان اجرای نرم افزار با کمک سخت افزار بسیار بالا می رود و شاید بتوان مثال هایی را مطرح کرد که برای یک XMEGA با کلاک 20 مگاهرتز قابل انجام باشد ولی انجام آن در همان زمان برای یک AVR معمولی، اگر بجای 20 مگاهرتز مثلا 100 مگاهرتز هم کلاک قابل اعمال کردن بود، مقدور نباشد.
                              4 کانال DMA مستقل در XMEGA وجود دارد که می توانند اطلاعات را در بلوک هایی با سایز قابل تعریف جابجا کنند و امکان تعریف اولویت (priority) هم بین این کانال ها وجود دارد.
                              بخش DMA از بخش های نسبتا پیچیده XMEGA از نظر نرم افزاری محسوب می شود و کار کردن با آن مستلزم تبحر و تسلط کافی به سایر بخش هایی است که DMA روی آن عمل می کند و برای کار با DMA باید یک شناخت جامع از اکثر بخش های XMEGA که با مسئله DMA ارتباط پیدا می کنند، وجود داشته باشد.

                              ( EBI(External Bus interface

                              (EBI(External Bus interface، واحد سخت افزاری اتصال به وسایل جانبی آدرس پذیر است که بطور خاص تا 16 مگا بایت SRAM و 128 مگابیت SDRAM را ساپورت می کند. این واحد عملیات Refresh کردن SDRAM را تحت کنترل نرم افزار به عهده می گیرد و از انواع 4 و 8 بیتی آن پشتیبانی می کند. یکی از نکاتی که تاکنون ذکر نشده این مطلب است که در ساختار داخلی XMEGA، دو کلاک 2 برابر و 4 برابر کلاک CPU وجود دارد که برای بعضی واحدهای داخلی استفاده می شود. EBI بطور خاص از کلاک دو برابر استفاده می کند و بنابراین تا کلاک حداکثر 64 مگاهرتز را پشتیبانی می کند.
                              در پیکر بندی های مختلف واحد EBI ،دو یا سه یا چهار پورت بکار گرفته می شوند. در نوع اول با قرار دادن دو Latch در خروجی پورت J، از این پورت سیگنال های 8 خط دیتا و 16 خط آدرس ساخته می شود و خطوط کنترل هم از پورت H تامین می شوند.
                              در پیکر بندی با استفاده از 3 پورت، امکان تولید 16 و 24 بیت آدرس با استفاده از یک یا دو Latch وجود دارد و امکان اتصال به SDRAM هم در حالت دیتای 4 بیتی و بدون استفاده از هر گونه Latch فراهم است.
                              در پیکر بندی با استفاده از 4 پورت هم امکان تولید 24 بیت آدرس با استفاده از یک Latch و امکان اتصال به SDRAM هم در حالت دیتای 8 بیتی بدون Latch فراهم است.
                              به غیر از حافظه ها، سایر وسایل جانبی که دارای Address Bus، Data Bus و سیگنال های کنترلی Read Enable و Write Enable و Chip select هستند (مانند LCDها، PPI و ... )، قابلیت اتصال به XMEGA از طریق EBI را دارند.
                              اوژن: به معنای افکننده و شکست دهنده است
                              دانایی، توانایی است-Knowledge is POWER
                              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                              دیدگاه

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