آموزش میکروکنترلر XMEGA – قسمت دوم;
سیسوگ در قسمت اول آموزش میکروکنترلر XMEGA مقدمه ای درباره قابلیت های میکروکنترلر XMEGA صحبت کرد. در این قسمت از آموزش میکروکنترلر XMEGA به مباحث کلی در مورد این خانواده از جمله محدوده دما و تغذیه و کلاک میپردازیم.
خانواده XMEGA :
دمای مجاز برای خانواده XMEGA ،در محدوده -40 تا +85 درجه سانتیگراد است و محدوده مجاز تغذیه خانواده XMEGE از 1.6 ولت تا 3.6 ولت است.
با توجه به نمودار زیر میتوانیم دریابیم که در تغذیه 1.6 تا 1.8 ولت حداکثر فرکانس کلاک برای CPU، برابر 12 مگاهرتز است. همچنین حداکثر فرکانس کلاک برای CPU در تغذیه های کمتر از 2.7 ولت به صورت خطی بین 12 مگاهرتز تا 32 مگاهرتز تغییر میکند. این محدوده یک محدوده ایمن برای تغذیه است و محدوده فرکانسی که از طرف شرکت گارانتی شده است در همین رنج قرار دارد.
ظرفیت SRAM داخلی با توجه به شماره استفاده شده از 1کیلوبایت تا 32 کیلوبایت قابل تغییر است، همچنین حاقظه EEPROM در محدوده 512 بایت تا 4 کیلوبایت است. برای اطلاع از ظرفیت های موجود باید به دیتا شیت مربوطه مراجعه شود.
اطلاعات 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 دو مگاهرتر فعال میشود، همچنین یک اسیلاتور داخلی 768.32 کیلوهرتز هم وجود دارد که میتواند فعال شود و به عنوان منبع کلاک قرار گیرد.
PLL : در داخل XMEGA یک واحد PLL وجود دارد که از طریق آن میتوان منابع کلاک را در هم ضرب کرد و بعد به CPU اعمال کرد. وجود چنین واحدی در مواقعی که نیاز است فرکانس هایی بیش از 32 مگاهرتز اعمال کرد ضروری است.
در XMEGA دو بخش سخت افزاری وجود دارد:
1-HIGH RESOLUTION EXTENTION این بخش میتواند تا مقدار 128 مگاهرتز کلاک بپذیرد.
2-(EBI (EXTERNAL BUS INTERFACE این بخش میتواند تا مقدار 64 مگاهرتز کلاک بپذیرد.
برای تامین حداکثر فرکانس کلاک این واحد ها باید از PLL استفاده شود.
از مزیت های دیگر XMEGA این است که اگر از اسیلاتور RC خارجی یا کریستال به عنوان منبع کلاک استفاده شود و به هر دلیلی ارتباط آن با XMEGA قطع شود این امکان وجود دارد که به صورت خودکار کلاک روی اسیلاتور داخلی 2 مگاهرتز سوئیچ شود، عملکرد CPU متوقف نمیشود پس در نتیجه روند اجرای برنامه به مشکلی بر نمیخورد.
در قسمت سوم آموزش میکروکنترلر XMEGA به رجیستر های پورت ها و طریقه وروردی و خروجی کردن آنها میپردازیم. با سیسوگ همراه باشید.
- آموزش میکروکنترلر XMEGA – قسمت اول – مقدمه
- آموزش میکروکنترلر XMEGA – قسمت سوم – رجیسترهای پورت
- آموزش میکروکنترلر XMEGA – قسمت چهارم – نحوه ایجاد پروژه و کامپایل و پروگرام کردن آن در AtmelStudio + دو مثال
- آموزش میکروکنترلر XMEGA – قسمت پنجم – مدهای ورودی و خروجی پورتها
- آموزش میکروکنترلر XMEGA – قسمت ششم – رجیستر های پورت
سری مقالات آموزش میکروکنترلر XMEGA توسط آقای مهندس کینژاد تهیه شده است.