آموزش میکروکنترلر XMEGA
در سری جدید مجموعه مقالات باعنوان آموزش میکروکنترلر XMEGA قصد داریم میکروکنترلر XMEGA که قابلیتهای بسیاری دارد را آموزشدهیم. در مجموعه آموزش میکروکنترلر XMEGA با ما همراه باشید. در این قسمت مقدمهای از میکروکنترلر XMEGA بیان میکنیم.
مقدمه
باتوجهبه قابلیتهای قدرتمند و توانمندی که در XMEGA وجود دارد و علیرغماینکه CPU موجود در XMEGA همان CPU موجود در AVR است، اما کلاک آن تا حد ۳۲MHZ افزایش پیداکرده و استفادهاز آن مرسومشدهاست. دربعضیاز کاربردها تا دوبرابر این مقدار، قابلیت OVER CLOCK تجربهشدهاست و مسئله مهمتر اضافهکردن دو قابلیت DMA و EVEN SYSTEM است، که معنایدیگری به کلاک ۳۲MHZ میبخشد و توانمندی XMEGA را افزایش میدهد. در ادامه بهصورتعملی این موضوع را پیگیری میکنیم تا مشخصشود که DMA و EVEN SYSTEM می توانند چه نقشی در کمکردن بار پردازشی CPU بازی کنند. در چنین شرایطی بههمراه سختافزارهای جانبی و قابلیتهای قدرتمندی که در XMEGA پیشبینی شدهاست که بعضاً در خیلیاز موارد حتی با رقبایی از خانوادههای بالاتر و دارای CPUهای ۳۲b یا حتی فراتر از آنها رقابت میکنند. در چنینشرایطی ما این انگیزه را پیدا میکنیم که با XMEGA فعالیتکنیم. بهدلیل قابلیتهای توانمندی که در آن XMEGA وجود دارد، جوابگوی بسیاری از پروژههای صنعتی که در آینده انجام میدهیم است. از قابلیتهای XMEGA میتوانیم به مواردزیر اشارهکنیم:
- در بخش آنالوگ ADC 12b با حداکثر ۲میلیون سمپلبرثانیه و DAC 12b با حداکثر ۱میلیون سمپلآنالوگبرثانیه در خروجی
- قابلیت آپدیت آنالوگ در خروجی 1میلیون بار درثانیه
- دارای حداکثر 4 خروجی DAC
- دارای چهار مقایسهکننده آنالوگ
- در بخش دیجیتال قابلیتهای بسیارخوبی ازجمله TIMER COUNTER ها را دارد، که تایمر کانترهای غنی با خروجیهای PW متعدد و امکان اضافهکردن واحدهای دیگر در سرراه تایمر را میتوان در کاربردهای کنترل موتور و سوئیچینگ مورداستفاده قرارداد.
- امکان افزایش فرکانس کلاک PWM برای دقتهای بالای PWM تا حد 256MHZ (ازطریق واحد HIGH RESOLOTION EXTENTION)
- ماژولهای SPI و TWI و USART که تا ۱۲SPI درحالت مستر ،۴SPI درحالتSLAVE ،۴TWI ،۸USART
- قابلیت پشتیبانی سختافزاری از انکودرها و شفت انکودرها و… باتوجهبه این تواناییها و قابلیتها، میتوان از XMEGA بهطورمستقیم در صنعت استفادهکرد.
چهارچوب آموزش براساس برنامهنویسی C و در محیط برنامهنویسی ATMEL STUDIO است، به ایندلیل که شرکت ATMEL آنرا بهصورترایگان دراختیار برنامهنویسان قراردادهاست و از شمارههای جدید نیز پشتیبانی میکند و دیگر نیازیبه استفادهاز نرمافزارهای کرکشده نیست. سختافزار مورد آموزش، برد آموزشی است که در سایت www.knowledgeplus.ir قرار گرفتهاست و میتوان PCB و مدار آن را ساخت. پروگرامر اصلی AVR ASPMK۲ است که بهدلیل پشتیبانی شرکت ATMEL و قابلیت update در نسخههای بالاتر میتواند گزینهی مناسبی باشد. درحالحاضر هیچگونه کتاب و منبعمرجعی درمورد آموزش XMEGA بهجز دیتاشیتها و manualها وجود ندارد. سعیداریم با این مقالات بتوانیم اطلاعاتمفیدی دراختیار کسانیکه مایلبه آموزش XMEGA هستند قراردهیم. برایشروع درمورد خانواده XMEGA، شمارههای این IC را موردبررسی قرارمیدهیم: در ابتدای تمام ICهای XMEGA ،ATXMEGA و در مرحلهی بعد ظرفیت فلش برحسب کیلوبایت نوشتهشدهاست. برایمثال ATMEGA۳۲ بهاینمعنا است که ۳۲کیلوبایت حافظهفلش دارد. درحالحاضر ظرفیت موجود برای این فلش از ۸کیلوبایت تا ۳۸۴کیلوبایت است. (َATXMEGA ۸ الی ATXMEGA۳۸۴). زیرخانوادههای این IC شامل A,B,C,D,E,AU هستند که درادامه ظرفیت فلش میآید و در ادامه آن اعداد ۱,۳,۴,۵ که نشاندهنده تعداد پینهای IC است. براینمونه بهمثالزیر توجهکنید: ATXMEGA۱۲۸A۱ اگر بعد عدد،کلمه U قرار بگیرد یعنی IC از سری AU است برایمثال: ATXMEGA۱۲۸A۱U تعداد پینها براساس عدد قرارگرفته بهصورتزیر است: ۱=۱۰۰ ۳=۶۴ ۴=۴۴ ۵=۳۲ البته باید توجهداشتهباشیم که برای همه این ترکیبات IC وجود ندارد. برای اطلاعاز موجودبودن این ترکیبات باید به سایت ATMEL مراجعهنمود و از فهرست تمام ICهای موجود مطلعشد. دو شماره استثنایی بهصورتزیر وجود دارد: ATXMEGA۲۵۶A۳B که از سری A هست ولی از ورژنی هست که یک پین مخصوص برای باطری BACK UP و فعالبودن RTC درصورت قطعبودن تغذیه دارد. ATXMEGA۲۵۶A۳BU که از سری AU هست و دارای ۲۵۶KB حافظه فلش، ۶۴پین و همچنین باطری BACK UP است. درادامه ممکناست حروفی وجودداشتهباشد که نشاندهنده نوع پکیج IC باشد. مثل –AU زیرا همه شمارههای XMEGA ازنوع TQFP نیستند. لازمبهذکر هست که همه شمارهها و همهی سریهای XMEGA بهصورتSMD هستند و ازنوع DIP وجود ندارند. مبنایکار در این آموزش ATMEGA۶۴A۳ است، که در برد آموزشی نامبرده از آن استفادهشدهاست و البته قابلتعویض با ATMEGA۶۴A۳U ،ATMEGA۱۲۸A۱ و ATMEGA۱۲۸ A۱ نیز هست. ولی بهدلیل راحتی و فاصله پایه کافی مبنای کار را ATMEGA۶۴A۳ قرار میدهیم.
در قسمت دوم آموزش میکروکنترلر XMEGA یکسری مباحث کلی درمورد این خانواده را بیان خواهیمکرد. با ما همراه باشید.
منبع: سیسوگ