آموزش میکروکنترلر XMEGA
در قسمت اول آموزش میکروکنترلر XMEGA مقدمهای دربارهی قابلیتهای میکروکنترلر XMEGA صحبت کردیم. در این قسمت از آموزش میکروکنترلر XMEGA به مباحثکلی درمورد این خانواده ازجمله محدوده دما و تغذیه و کلاک میپردازیم.
خانواده XMEGA :
دمای مجاز برای خانواده XMEGA،در محدوده -۴۰ تا +۸۵ درجهسانتیگراد است و محدوده مجاز تغذیه خانواده XMEGE از ۱.۶ولت تا ۳.۶ولت است.
باتوجهبه نمودارزیر میتوانیم دریابیم که در تغذیه ۱.۶ تا ۱.۸ولت حداکثر فرکانس کلاک برای CPU، برابر ۱۲مگاهرتز است. همچنین حداکثر فرکانس کلاک برای CPU در تغذیههای کمتر از ۲.۷ولت بهصورت خطی بین ۱۲مگاهرتز تا ۳۲مگاهرتز تغییر میکند. این محدوده یک محدوده ایمن برای تغذیه است و محدوده فرکانسی که ازطرف شرکت گارانتیشدهاست درهمین رنج قرار دارد.
ظرفیت SRAM داخلی باتوجهبه شماره استفادهشده از ۱کیلوبایت تا ۳۲کیلوبایت قابلتغییر است، همچنین حاقظه EEPROM در محدوده ۵۱۲بایت تا ۴کیلوبایت است. برای اطلاعاز ظرفیتهای موجود باید به دیتاشیت مربوطه مراجعهشود. اطلاعات XMEGA به دوصورت MANUAL و DATA SHEET وجود دارد. در manual توضیحاتکلی درخصوص رجیسترها و عملکردها دادهشدهاست. اطلاعات در data sheet بهصورتمختصر است و بیشتر درمورد ظرفیت حافظهها نظیرFLASH , EEPROM و… و عملکرد پینها در شمارههای مختلف بحثشدهاست. همچنین یکسری application noteهایی هم منتشرشدهاست که مثلا برای تایمر کانترها، ADC ،DAC و … بهصورتمجزا وجود دارد. پس باتوجهبه توضیحاتبالا مبنای مطالعه ما در درجه اول باید MANUALها باشند مثلا برای سری A باید XMEGA A MANUAL یا برای سری AU باید XMEGA AU MANUAL مطالعهشود. پس اساسکار ما براساس MANUALهای هر خانواده هستند که در این آموزش سریهای A و AU هستند، که ازلحاظ امکانات و موجودبودن در بازار قویترینند. برای مشاهده این MANUALها میتوان به سایت ATMELمراجعهنمود و آنها را دانلود کرد.
منابع کلاک:
در خانواده XMEGA برخلاف خانوادهAVR، منابع کلاک توسط فیوزبیتها تعیین نمیشوند، بلکه منبع کلاک بهوسیله خطوط اجرای برنامه و کدها تعیین میشود. منبع کلاک پیشفرض بعداز ریست، اسیلاتورRC داخلی 2MHZ است. بعداز ریست و آمادهشدن برای اجرای برنامه میتوان بستهبهنیاز، منبع کلاک را تغییر داد که اینکار را میتوان در زمان اجرای برنامه هرکجا که نیاز باشد انجامداد. اینمورد یک مزیت خوب XMEGA نسبتبه خانواده AVRهای معمولی مثل MEGA ,TINY است. زیرا در AVR با تنظیم فیوزبیت یکبار منبع کلاک را تعیین میکنیم، هرچند که در بعضیاز شمارهها میتوانیم یک prescaler قابل برنامهریزی در سرراه منبع کلاک قراردهیم و فرکانس کلاک را تغییر دهیم باتوجهبه اینکه منبع کلاک تغییر نمیکند. مثلا اگر در AVR اسیلاتور داخلیRC، یک مگاهرتز، منبع کلاک است، این اسیلاتور تاوقتیکه فیوزبیت ازطریق پروگرامر تغییرنکند همچنان روی همان منبع ثابت است. اما در XMEGA بعداز ریست اسیلاتور داخلی RC دو مگاهرتر فعال میشود، همچنین یک اسیلاتور داخلی ۷۶۸.۳۲ کیلوهرتز هم وجود دارد که میتواند فعالشود و بهعنوان منبع کلاک قرار گیرد.
PLL : در داخل XMEGA یک واحد PLL وجود دارد که ازطریق آن میتوان منابع کلاک را درهم ضربکرد و بعد به CPU اعمال کرد. وجود چنین واحدی درمواقعیکه نیاز است فرکانسهایی بیشاز ۳۲مگاهرتز اعمالکرد ضروریاست. در XMEGA دو بخش سختافزاری وجود دارد: 1-HIGH RESOLUTION EXTENTION این بخش میتواند تا مقدار ۱۲۸مگاهرتز کلاک بپذیرد. 2-(EBI (EXTERNAL BUS INTERFACE این بخش میتواند تا مقدار ۶۴مگاهرتز کلاک بپذیرد. برای تامین حداکثر فرکانس کلاک این واحدها باید از PLL استفادهشود. از مزیتهای دیگر XMEGA این است که اگر از اسیلاتور RCخارجی یا کریستال بهعنوان منبع کلاک استفادهشود و به هردلیلی ارتباط آن با XMEGA قطع شود این امکان وجود دارد که بهصورتخودکار کلاک روی اسیلاتور داخلی ۲مگاهرتز سوئیچ شود، عملکرد CPU متوقف نمیشود پس درنتیجه روند اجرای برنامه به مشکلی برنمیخورد.
در قسمت سوم آموزش میکروکنترلر XMEGA به رجیسترهای پورتها و طریقه ورودی و خروجیکردن آنها میپردازیم. با ما همراه باشید.
منبع:سیسوگ