تبلیغات
وبلاگ انجمن علمی برق الکترونیک-دانشگاه تربیت معلم سبزوار - خانواده جدید AVR
وبلاگ انجمن علمی برق الکترونیک-دانشگاه تربیت معلم سبزوار
مطالب مورد نیاز و اخبار و تازه های برق را اینجا ببینید.با نظرهای سازنده ما را در ارائه مطالب مفید یاری کنید.

بازدید : مرتبه
تاریخ : چهارشنبه 17 آذر 1389
آخرین سری از خانواده میکروکنترلر های avr که مدتی است ارائه شده است سری xmega میباشد که دراین بخش به معرفی برخی از مهمترین ویژگی های ان میپردازیم
CLOCK

از جمله اولین نکات این خانواده این است که تا ۳۲ مگاهرتز کلاک را قبول می کنند که در مقایسه با حداکثر ۲۰ مگاهرتزی AVR های معمول، تقریبا دوبرابر سرعت را تامین میکنند و همچنین این کلاک ۳۲ مگاهرتز می تواند بصورت اسیلاتور داخلی و بدون نیاز به هیچ کریستالی تامین شود. همچنین برای تنظیم کلاک احتیاج به تغییر فیوزبیت نیست و این کار از طریق تغییر رجیسترهای داخلی انجام می شود. همیشه در ابتدای شروع به کار آی سی ابتدا بصورت خودکار کلاک داخلی ۲مگاهرتز انتخاب می شود و سپس بوسیله کدهای نوشته شده، نوع کلاک، قابل تغییر است.

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

در مورد راه‌اندازی Xmega با فرکانس بالاتر از حداکثر ، Xmega overclock را ببینید.


رجیسترهای متنوع و متعدد کنترلی

به دلیل وجود رجیسترهای کنترلی متعددی که در خانواده XMEGA وجود دارد، امکان نوشتن کدهای بسیار سریعتر و توانمندتری در این خانواده بوجود آمده که حتی در یک کلاک برابر، می تواند سرعت اجرا را بالاتر ببرد.

به عنوان یک مثال، برای تصحیح وضعیت چند بیت یک PORT در حین حفظ وضعیت بقیه بیت ها، در AVR های معمولی باید ابتدا مقدار PORT خوانده شود و بعد از تصحیح مقدار، مجددا در محل خود نوشته شود. اما در سری XMEGA برای set و reset و not کردن بیت ها، ۳ رجیستر مجزا وجود دارد.

بنابراین بدون آنکه نیازی وجود داشته باشد که مقدار وضعیت فعلی PORT خوانده شود می توان چند بیت آنرا بصورت همزمان set یا reset یا not کرد. امثال چنین امکاناتی می تواند منجر به بهبود راندمان زمان اجرای نرم افزار در طول یک کد طولانی شود و انجام یک کار واحد را برای یک XMEGA که کلاک برابری با یک AVR معمولی دارد، در زمان کمتری میسر کند. در مورد قسمت های دیگر سخت افزار هم کنترل زیادی از طریق رجیسترهای متعدد داخلی وجود دارد که هرچند شناخت آنرا پیچیده تر می کند، اما دست برنامه نویس را برای انجام عملیات پیچیده و سریعتر، بسیار باز می گذارد.
پورت‌ها

عملکرد پورتها در خانواده 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 است که توضیح آن در این مقال نمی گنجد. اما به طور خلاصه به این معناست که یکسری پورت مجازی را به پورتها واقعی نسبت می دهیم و هر عملی که روی پورت مجازی انجام شود، روی پورت معادل آن تاثیر خواهد گذاشت و ۴ پورت مجازی در سری XMEGA وجود دارد.
Totem pole

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

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




طبقه بندی: برق و الکترونیک، 
ارسال توسط v. mkh
آخرین مطالب
آرشیو مطالب
نظر سنجی
به نظر شما مطالب این وبلاگ از نظر علمی چگونه است؟(لطفا صادقانه پاسخ دهید)






صفحات جانبی
پیوند های روزانه
امکانات جانبی
blogskin

دانلود

شادزیست

قالب وبلاگ

لیمونات

تک باکس

دانلود نرم افزار