تبلیغات
E L E C T R O N I C - آشنایی با xmega قسمت دوم
 
E L E C T R O N I C
 
 
شنبه 23 مرداد 1389 :: نویسنده : mohammad ali shami
http://www.nuhorizons.com/featuredproducts/Portal/April_2009/Atmel/images/chip.jpg

DMA controller

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

۴ کانال DMA مستقل در XMEGA وجود دارد که می توانند اطلاعات را در بلوک هایی با سایز قابل تعریف جابجا کنند و امکان تعریف اولویت (priority) هم بین این کانال ها وجود دارد.

بخش DMA از بخش های نسبتا پیچیده XMEGA از نظر نرم افزاری محسوب می شود و کار کردن با آن مستلزم تبحر و تسلط کافی به سایر بخش هایی است که DMA روی آن عمل می کند و برای کار با DMA باید یک شناخت جامع از اکثر بخش های XMEGA که با مسئله DMA ارتباط پیدا می کنند، وجود داشته باشد.

( EBI(External Bus interface

EBI یا External Bus interface واحد سخت افزاری اتصال به وسایل جانبی آدرس پذیر است که بطور خاص تا ۶۴ مگا بایت SRAM و ۱۲۸ مگابیت SDRAM را ساپورت می کند. این واحد عملیات Refresh کردن SDRAM را تحت کنترل نرم افزار به عهده می گیرد و از انواع ۴ و ۸ بیتی آن پشتیبانی می کند. یکی از نکاتی که تاکنون ذکر نشده این مطلب است که در ساختار داخلی XMEGA، دو کلاک ۲ برابر و ۴ برابر کلاک CPU وجود دارد که برای بعضی واحدهای داخلی استفاده می شود. EBI بطور خاص از کلاک دو برابر استفاده می کند و بنابراین تا کلاک حداکثر ۶۴ مگاهرتز را پشتیبانی می کند.

در پیکر بندی های مختلف واحد EBI ،دو یا سه یا چهار پورت بکار گرفته می شوند. در نوع اول با قرار دادن دو Latch در خروجی پورت J، از این پورت سیگنال های ۸ خط دیتا و ۱۶ خط آدرس ساخته می شود و خطوط کنترل هم از پورت H تامین می شوند.

در پیکر بندی با استفاده از ۳ پورت، امکان تولید ۱۶ و ۲۴ بیت آدرس با استفاده از یک یا دو Latch وجود دارد و امکان اتصال به SDRAM هم در حالت دیتای ۴ بیتی و بدون استفاده از هر گونه Latch فراهم است. در پیکر بندی با استفاده از ۴ پورت هم امکان تولید ۲۴ بیت آدرس با استفاده از یک Latch و امکان اتصال به SDRAM هم در حالت دیتای ۸ بیتی بدون Latch فراهم است.

به غیر از حافظه ها، سایر وسایل جانبی که دارای Address Bus، Data Bus و سیگنال های کنترلی Read Enable و Write Enable و Chip select هستند (مانند LCDها، PPI و … )، قابلیت اتصال به XMEGA از طریق EBI را دارند.

Crypto Engines

یکی از امکانات فوق العاده و درخشان خانواده XMEGA، وجود سخت افزار لازم برای کد کردن اطلاعات با الگوریتم های( DES(Data Encryption Standard و( AES(Advanced Encryption Standard است. برای توضیح در مورد این دو استاندارد می توانید Data Encryption Standard و Advanced Encryption Standard در ویکی‌پدیا را مطالعه کنید.

اساس کد کردن اطلاعات در الگوریتم DES بر مبنای یک کلید ۵۶ بیتی انجام می شود که با احتساب ۸ بیت به عنوان parity، عملیات روی ۶۴ بیت دیتا و یک کلید به طول ۶۴ بیت انجام می شود. روش کار به این صورت است که دیتای مورد نظر در رجیسترهای R0-R7 و کلید مورد نظر در رجیسترهای R8-R15 قرار می گیرند. در مجموعه دستور العمل های XMEGA، دستور اسمبلی DES به همین منظور پیش بینی شده که با ۱۶ بار اجرای آن و بسته به وضعیت H flag در رجیستر SREG، عملیات Encryption یا Decryption انجام می شود.

برای کد کردن با امنیت بالاتر اطلاعات، یک روش چند مرحله ای با عنوان ۳DS پیاده سازی می شود که اطلاعات در ۳ مرحله و با ۳ کلید مختلف به ترتیب Encrypte و بعد Decrypte و مجددا Encrypte می شود که این روش از امنیت بسیار بالاتری نسبت به DES تک مرحله ای برخوردار است و البته به سادگی با XMEGA قابل پیاده سازی است.

برای شکستن اطلاعات کد شده توسط این روش، نیاز به ارقام نجومی محاسبات و تست کلیدهای مختلف است. چنانکه در این آدرس مشخصات سیستمی ذکر شده که با بکار بردن ۱۸۵۶ پردازنده و صرف هزینه ۲۵۰۰۰۰ دلار، مدت ۹ روز طول کشیده تا بتواند رمز اطلاعات کد شده با روش DES را بشکند.

روش AES که نسخه پیشرفته تری برای کد کردن اطلاعات است، بر اساس طول دیتای ۱۲۸ بیت و طول کلید ۱۲۸ یا ۱۹۲ یا ۲۵۶ بیتی، عمل می کند. در روش AES حالتهای ممکن برای بدست آوردن اطلاعات اصلی به قدری زیاد است که دستیابی به اطلاعات را با امکانات فعلی و در زمان محدود، به مرزهای غیرممکن نزدیک می کند. روش اجرای عملیات AES در XMEGA به این صورت است که بعد از انجام تنظیمات لازم و پرکردن حافظه از دیتا و کد کلیدمورد نظر، بیت مربوط به شروع انجام عملیات در رجیستر مربوطه یک می شود و با پایان Encryption یا Decryption، وقفه مربوط به آن اتفاق می افتد و حاصل عملیات در حافظه قرار می گیرد. امکان انجام عملیات DES و AES بیشتر کاربرد نظامی دارد و از این نظر می تواند در ابزارهای نظامی و مخابراتی به کار گرفته شود.

مقایسه کننده آنالوگ

قبل از توضیح راجع به تفاوت مقایسه کننده آنالوگ در خانواده XMEGA با AVR های معمولی،ذکر این توضیح لازم است که استفاده از این مقایسه کننده ها برای تصمیم گیری های بسیار سریع روی ورودی های آنالوگ به دلیل سرعت بالای مقایسه کننده ها در تشخیص وضعیت ورودی، در کاربردهایی مانند درایورهای قدرت و مدارات کنترل جریان اهمیت زیادی دارد و در IC های switching regulator و کنترل موتور برای فیدبک گرفتن از ولتاژ یا جریان معمولا از عملکرد مقایسه کننده های آنالوگ استفاده می شود.

مقایسه کننده های آنالوگ در AVR های معمولی به تعداد یک عدد موجود است ( به غیر از برخی شماره های بسیار خاص مانند ATMEGA64M1 automotive ) . ورودی مثبت این مقایسه کننده در AVR می تواند از یک پین مشخص ورودی یا یک ولتاژ مرجع داخلی و ورودی منفی هم از یک پین مشخص ورودی یا پین های متصل به ADC فرمان بگیرد. خروجی این مقایسه کننده هم به غیر از تولید وقفه می تواند به عنوان فرمان Capture مربوط به TIMER1 بکار رود.

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

  • ورودی های متنوع

چندین امکان مختلف برای اتصال به ورودی های مقایسه کننده ها، قابل انتخاب است. در همینجا باید به نکته ای اشاره شود که متاسفانه متون و document های ATMEL، مملو از اشتباهات چاپی و مفهومی مختلف هستند که می توانند شخص مطالعه کننده را به اشتباه بیاندازند. در مراجعه به متن طولانی و مفصلی که از طرف ATMEL برای سری XMEGA A نوشته شده و رجوع به رجیسترهای داخلی این خانواده، مشاهده می شود که برای ورودی مثبت، امکان اتصال به چندین پین ورودی مختلف و خروجی DAC تعریف شده است.

برای ورودی منفی هم امکان اتصال به چند پین ورودی، خروجی DAC، ولتاژ مرجع داخلی و مقدار مقیاس شده Vcc آورده شده است. اما در Application note مربوط به مقایسه کننده داخلی در همین مورد با جمله زیر مواجه می شویم:

Only the DAC output is available on the positive input pin

و این جمله صحیح نیست. از این دست اشکالات در متون ATMEL زیاد مشاهده می شود و می توان موارد زیادی را از آن ذکر کرد و این مورد اخیر متاسفانه اشتباه تایپی یا چاپی نیست و یک اشتباه مفهومی است.

  • امکان تعریف باند هیسترزیس مقایسه کننده

عرض باند هیسترزیس مقایسه کننده های داخلی، در سه وضعیت بدون هیسترزیس، هیسترزیس کم و هیسترزیس زیاد قابل تعریف است. عرض باند در حالت اول برابر صفر، در حالت کم حدود ۲۰ یا ۲۵ میلی ولت و در حالت زیاد حدود ۴۰ یا ۵۰ میلی ولت است.

  • امکان تعریف تاخیر مقایسه کننده

سرعت عملکرد مقایسه کننده هم در دو وضعیت قابل تعریف است که زمان تاخیر مقایسه کننده را تغییر می دهد. نکته قابل توجه این است که تاخیر مقایسه کننده در خانواده سری A1 و در سرعت بالا حدود ۷۰ نانو ثانیه است. این در حالی است که همین تاخیر برای ATMEGA64 حدود ۵۰۰ نانوثانیه است و این اعداد، تفاوت سرعت عملکرد XMEGA را در کاربردهایی مانند کنترل جریان یک موتور و مواردی از این دست به خوبی نشان می دهد.

  • Window mode

یک امکان ویژه برای پیاده سازی وقفه در محدوده های مختلف ورودی است. در این حالت باید دو مقایسه کننده بکار گرفته شوند و ورودی های مثبت آنها به یکدیگر و به ولتاژ مورد سنجش متصل شوند. دو ورودی منفی هم به ولتاژهای محدوده بالا و پائین Window مورد تعریف، وصل می شوند. با فعال سازی و تنظیم این وضعیت می توان در یکی از ۴ وضعیت بالاتر از محدوده بالایی پنجره(window)، بین دو محدوده ، خارج از دو محدوده و پائین تر از حد پائین، وقفه ایجاد کرد. همچنین بدون وقفه هم امکان خواندن این وضعیت از رجیسترهای داخلی وجود دارد.

  • خروجی مقایسه کننده آنالوگ

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

علاوه بر همه این موارد، خروجی مقایسه کننده آنالوگ می تواند به عنوان یک Event در نظر گرفته شود که با وقوع آن عملیاتی در یک بخش داخلی دیگر و بدون دخالت CPU به انجام برسد.

USART و IRCOM

در خانواده XMEGA حداکثر ۸ عدد USART وجود دارد که در مقایسه با AVRهای معمولی که اکثرا از یک و حداکثر دو USART بهره می برند، تعداد بسیار بالاتری می باشد.از نظر دقت Baud Rate هم امکانی در XMEGA وجود دارد که Baud Rate های بسیار متنوع تری را می تواند در ارتباط تامین کند و طیف گسترده تری را نسبت به AVR های معمولی شامل می شود.

USART در خانواده XMEGA همچنین امکان ارتباط بصورت Master SPI را دارد و این امکان به غیر از سخت افزار مستقلی است که برای ارتباط SPI در این خانواده وجود دارد. یکی از امکانات جالب XMEGA که در ارتباط با USART قرار گرفته،(IRCOM(InfraRed Communication Module یا ماژول ارتباط مادون قرمز است که سخت افزار لازم برای ارتباط با پروتکل IrDA 1.4 تا نرخ ارتباط ۱۱۵۲۰۰ بیت در ثانیه را تامین می کند. این واحد سخت افزاری به همراه USART مورد نظر، پالس های لازم برای ارسال مادون قرمز را تولید می کند و پالس های دریافتی را هم به اطلاعات مناسب برای اعمال به ورودی USART، تبدیل می کند.

DMA هم می تواند با USART ارتباط برقرار کند و تبادل اطلاعات را به صورت مستقیم به عهده بگیردکه این امکان در راستای کم شدن بار CPU و بالا بردن سرعت کلی اجرای برنامه پیش بینی شده است.

نتیجه یک آزمایش عملی در مورد بخش CLOCK

هرچند عملکرد سخت افزارهای مختلف XMEGA تا فرکانس ۳۲ مگاهرتز گارانتی شده است. اما از طریق PLL داخلی می توان فرکانس کلاک را بالاتر برد و به اصطلاح CPU را over clock کرد. برای حداکثر مجاز خروجی این PLL در یکی از توضیحات datasheet عدد ۲۰۰ مگاهرتز(!) ذکر شده است. در یک آزمایش عملی با تنظیم PLL مشاهده شد که نرم افزار مورد نظر تا فرکانس ۶۴ مگاهرتز، یعنی ۲۰۰ درصد over clock جواب می داد و این نتیجه برای برخی دوستان که مشکل سرعت در مورد کاربردهایی نظیر نمایش تصویر و مانند آن را دارند،احتمالا می تواند نتیجه امیدوار کننده ای محسوب شود. البته در همین شرایط مشاهده شد که در بعضی از مقادیر prescaler، خروجی TIMER مورد نظر از کار می افتد و فقط در بعضی شرایط کار می کند. اما هدف از ذکر نتیجه این آزمایش عملی این است که نشان داده شود که فرکانس ۳۲ مگاهرتز لزوما حداکثر توان پردازشی XMEGA نیست.

RTC

واحد(RTC(Real Time Counter شامل یک شمارنده ۱۶ بیتی است که از یک کلاک مستقل فرمان می گیرد و مقدار حداکثر آن هم قابل تعیین است. از طریق یک Compare register به طول ۱۶ بیت هم امکان تعریف مقدار مشخصی وجود دارد که در صورت برابر شدن RTC با آن یک وقفه تولید شود. منابع کلاک برای RTC می تواند از اسیلاتور ۳۲٫۷۶۸ کیلو هرتز خارجی یا دو اسیلاتور ۳۲٫۷۶۸ کیلو هرتز یا ۳۲ کیلوهرتز داخلی تامین شود که اسیلاتور خارجی بصورت مستقیم یا تقسیم شده بر ۳۲ و اسیلاتورهای داخلی تنها بصورت تقسیم بر ۳۲ به عنوان منبع کلاک RTC قابل انتخاب است. در ورودی RTC هم یک prescaler قابل برنامه ریزی ۱۰ بیتی وجود دارد که می تواند تا ضریب تقسیم ۱۰۲۴ را برای تقسیم کلاک ورودی انتخاب کند.بنابراین در حداکثر ضریب تقسیم کلاک ورودی، RTC قابلیت تولید زمانی بیش از ۱۸ ساعت را دارد. امکان قرار گرفتن در EVENT SYSTEM هم برای RTC وجود دارد و از سرریز یا شرایط Compare آن می توان به عنوان یک Event استفاده کرد.

RTC32 و Battery backup system

ک RTC به طول ۳۲ بیت است که مقدار حداکثر آن قابل تعیین و دارای یک Compare register به طول ۳۲ بیت است. کلاک این واحد فقط از اسیلاتور ۳۲٫۷۶۸ کیلوهرتز خارجی تامین می شود و این امکان وجود دارد که یک ضریب تقسیم ۳۲۷۶۸ یا ۳۲ به این کلاک اعمال شود. بنابراین دو کلاک با مقادیر ۱ و ۱۰۲۴ هرتز برای RTC32 قابل انتخاب هستند. با یک محاسبه سرانگشتی می توان حساب کرد که RTC32 به ازای کلاک ۱ هرتز قادر است زمانی بیش از ۱۳۶ سال را ایجاد کند.

یک توانایی خاص موجود در برخی شماره های XMEGA، وجود پایه VBAT برای اتصال یک Battery backup به IC برای استفاده در مواقعی است که تغذیه اصلی IC قطع می شود. در این شرایط بصورت خودکار تغذیه RTC32 و اسیلاتور ۳۲۷۶۸ خارجی از طریق این باتری خارجی تامین می شود و عملیات زمان گیری تنظیم شده برای آن به شکل صحیحی به کار خود ادامه می دهد.

ATXMEGA256A3B یکی از این نمونه هاست که تا این تاریخ از طرف شرکت ATMEL معرفی شده است. در این شماره به جای PF5 که در ATXMEGA256A3 وجود دارد، ورودی VBAT پیش بینی شده و باتری مورد نظر به این پایه متصل و در زمان مقتضی از آن استفاده می شود و بعد از برگشت تغذیه اصلی مجددا توان از طریق ولتاژ تغذیه تامین خواهد شد. مراجعه به اطلاعات IC مزبور نشان می دهد که مصرف جریان کشیده شده از باتری در هنگام قطع تغذیه اصلی تنها در حد ۰٫۵ میکروآمپر است و این جریان بسیار پائین می تواند استفاده از باتری را جهت تغذیه IC و حفظ عملیات زمان گیری، برای مدتی طولانی تضمین کند.

وقفه های خارجی

برای تولید وقفه های خارجی در خانواده AVR پین های مشخصی در هر شماره وجود دارند که از طریق اعمال ورودی مناسب به آنها، وقفه های خارجی تولید می شوند. این ورودی ها از نظر تعداد کاملا محدود هستند، چنانکه به عنوان مثال در mega32 دو ورودی و در mega128 حداکثر ۸ ورودی به عنوان ورودی های وقفه خارجی وجود دارند. البته در برخی شماره ها مانند tiny13 یک مکانیزم Pin change interrupt هم وجود دارد که در شرایط تغییر وضعیت پین های یک پورت می تواند وقفه مخصوص به خود را ایجاد کند.

اما پین های تمام پورت ها در خانواده XMEGA قادر به ایجاد وقفه خارجی هستند. برای هر پورت دو وقفه مجزا وجود دارد که تمام پین های پورت این قابلیت را دارند که به عنوان منبع تولید این وقفه ها برنامه ریزی شوند. پین شماره ۲ از هر پورت ویژگی خاص تری برای تولید وقفه دارد که برای جزئیات این مطلب باید به datasheet های مربوطه مراجعه شود. یکی از قابلیت هایی که در همین مورد وجود دارد، امکان فعال سازی وضعیت Inverted I/O برای هر ورودی و خروجی است که به مفهوم فعال سازی یک گیت NOT در هر ورودی و خروجی پورت است. با توجه به اینکه وقفه های خارجی برای ۴ وضعیت لبه بالا رونده، لبه پائین رونده، تغییرات و سطح Low قابل برنامه ریزی هستند، با استفاده از امکان NOT کردن ورودی می توان درخواست وقفه برای سطح High را هم به عنوان پنجمین وضعیت بوجود آورد و بنابراین تمام حالت های متصور برای درخواست وقفه خارجی در XMEGA پشتیبانی می شوند.

High Resolution Extension

امکانی برای افزایش ۴ برابر دقت زمانی در شکل موج خروجی تایمر است. با فعال سازی این واحد، ۱۴ بیت بالا از ۱۶ بیت تایمر توسط کلاکی که فرکانس آن حداکثر می تواند با کلاک CPU برابر باشد، تغییر می کنند و ۲ بیت پائین در یک بخش جدا که فرکانس کلاک آن ۴ برابر است تغییر می کنند. برای فهم بهتر عملکرد این بخش به این نکته توجه کنید که اگر تغییرات تایمر با همان کلاک CPU انجام شود، حداکثر تفکیک پذیری زمانی در شکل موج PWM خروجی، در حد دوره تناوب کلاک CPU است.

اما با استفاده از فعال سازی این بخش و به دلیل اینکه کلاک کلی تایمر در عمل ۴ برابر کلاک CPU می شود، بنابراین در حوزه زمان هم یک تفکیک پذیری و دقت ۴ برابر حاصل می شود. یعنی پله های تغییر شکل موج در حوزه زمان می تواند ۴ برابر دقیق تر شوند. این مسئله می تواند برای تولید شکل موج هایی با دقت ۴ برابر از نظر زمانی مورد استفاده قرار بگیرد که برای فعال سازی آن باید تنظیماتی انجام شود و از جمله در تنظیمات Prescaler داخلی، کلاک ۴ برابر CPU فعال سازی شود. زیرا با مراجعه به رجیسترهای داخلی می توان مشاهده کرد که Prescaler ها بصورت Default در وضعیت تولید کلاک ۴ برابر قرار ندارند.

SPI

در مورد مزیت های واحد SPI در خانواده XMEGA نسبت به AVR های معمولی می توان به مواردی اشاره کرد. از جمله تعداد SPI های موجود که حداکثر آن در XMEGA سری A1 به تعداد ۴ عدد SPI سخت افزاری روی پورت های C و D و E و F وجود دارند و هر یک بصورت مستقل می توانند عمل کنند. Bit Rate قابل تعریف در ۸ مقدار مختلف می تواند قرار داده شود و این در حالی است که در سری mega64 و mega128 این عدد ۷ مقدار مختلف است. ارتباط با DMA هم از مزیت های بارز SPI در XMEGA است که امکان یک ارتباط سریع و با حجم بالا با حافظه را برای ارسال و دریافت اطلاعات و بدون دخالت CPU فراهم می کند. واحد SPI تنها در مد Slave با DMA ارتباط برقرار می کند، اما برای ارتباط با DMA در مد Master می توان از قابلیت عملکرد USART به عنوان یک SPI در مد Master استفاده کرد و در این صورت ارتباط با DMA در این مد هم میسر خواهد بود.

TWI

از نظر تعداد تا ۴ واحد TWI سخت افزاری در سری A1 وجود دارند که روی پورت های C و D و E و F قابل فعال سازی هستند. از نظر عملکرد هم مزیت هایی در خانواده XMEGA وجود دارد که از جمله مهمترین آن پشتیبانی از SMBus علاوه بر پشتیبانی از I2C است. SMBus یا System Management Bus، یک استاندارد ارتباطی است که علیرغم شباهت هایی که با I2C دارد، اما تفاوت هایی هم مانند محدوده ولتاژها، جریان کشی، محدوده فرکانس و پارامتر های زمان بندی بین ایندو استاندارد ارتباطی وجود دارد. در این آدرس توضیحاتی در مورد SMBus و تفاوتهای آن با I2C ارائه شده است.

در خانواده XMEGA با تنظیم رجیسترهای داخلی،هر دو استاندارد I2C و SMBus برای ارتباط پشتیبانی می شوند.

مزایای XMEGA

دو منحنی مفید برای درک بهتر مزایای XMEGA از سایت atmel آورده شده است. در منحنی اول نشان داده شده که وجود DMA باعث می شود علیرغم افزایش حجم مبادله اطلاعات، CPU از نظر بار پردازشی بسیار دیرتر به مرزهای حداکثر خود نزدیک شود. این مسئله به این دلیل است که وظیفه تبادل اطلاعات از دوش CPU برداشته می شود و به عهده DMA گذاشته می شود و بنابراین برای CPU این فرصت بوجود می آید که به انجام امور دیگر بپردازد.

منحنی دوم تاثیر وجود Event system را نشان می دهد که به علت ارتباط مستقیمی که بین اجزای مختلف و بدون دخالت CPU ایجاد می شود و علیرغم پیچیده تر شدن عملیات انجام شده، زمان انجام آن می تواند افزایش نیابد و بوسیله این امکان سخت افزاری جبران سازی شود. این امکان چیزی فراتر از بالاتر بردن کلاک است و افزایش سرعتی را که در انجام عملیات ایجاد می کند به مراتب مهم تر از افزایش کلاک سیستم است.


محدوده تغذیه

مقدار Vcc مجاز برای XMEGA بین ۱٫۶ولت تا ۳٫۶ولت است. اما فرکانس کلاک ۳۲ مگاهرتز تنها از تغذیه ۲٫۷ولت به بالا قابل دستیابی است. در محدوده۱٫۸ ولت تا ۲٫۷ولت حداکثر فرکانس کلاک مجاز بصورت خطی کاهش می یابد و در مقدار Vcc=1.8v این عدد به حداکثر ۱۲MHz می رسد.در محدوده بین ۱٫۶ولت تا ۱٫۸ ولت هم مقدار حداکثر همان ۱۲MHz باقی می ماند. به دلیل کمتر بودن Vcc از مقدار معمول ۵ ولت، محدودیت هایی در مقادیر پورت ها در وضعیت های ورودی و خروجی بوجود می آید. در وضعیت ورودی، حداکثر مقدار مجاز برای اعمال به عنوان ورودی نباید بیشتر از Vcc+0.5v باشد. بنابراین اگر از یک رگولاتور ۳٫۳ ولتی برای تغذیه IC استفاده شود، حداکثر مقدار مجاز برابر ۳٫۸ ولت است و متصل کردن یک خروجی با مقدار ۵ ولت به ورودی XMEGA، می تواند منجر به آسیب وارد شدن به آن شود. ساده ترین راه برای حل این مشکل استفاده از یک تقسیم مقاومتی و یا در شرایط پیشرفته تر استفاده از IC های Level converter است.

در وضعیت خروجی هم مطابق منحنی های ارائه شده برای XMEGA از طرف کارخانه سازنده و در صورتی که جریانی از خروجی کشیده نشود، مقدار high خروجی پورت برابر Vcc و مقدار Low آن برابر صفر خواهد بود. در صورت جریان کشی هم مقدار high کمتر از Vcc ومقدار Low بیشتر از صفر خواهد شد(مطابق منحنی های ارائه شده ). کمتر بودن مقدار خروجی high از ۵ ولت در اتصال به IC های جانبی، در صورتی که از تغذیه ای مانند ۳٫۳ ولت استفاده شود، در اکثر موارد مشکلی بوجود نمی آورد. زیرا اکثر IC هایی که با تغذیه ۵ ولت کار می کنند، ۳٫۳ ولت را به عنوان high می شناسند. اما در غیر این صورت و همچنین در صورت استفاده از مقادیر پائین تر Vcc، استفاده از Level conveter اجتناب ناپذیر است.

منبع:http://xmega.ir/





نوع مطلب : در مورد avr، 
برچسب ها :
لینک های مرتبط :


جمعه 17 آذر 1396 10:40 ب.ظ
Thank you for sharing your thoughts. I truly appreciate your efforts and I am waiting for your next post thanks once again.
یکشنبه 4 تیر 1396 05:32 ب.ظ
Ridiculous story there. What occurred after? Good luck!
سه شنبه 2 خرداد 1396 11:35 ق.ظ
I think the admin of this site is really working hard for his site, as here every information is quality based stuff.
چهارشنبه 6 اردیبهشت 1396 09:07 ب.ظ
Howdy! I'm at work browsing your blog from my new iphone
3gs! Just wanted to say I love reading through your blog and look forward to all your posts!
Keep up the outstanding work!
دوشنبه 28 فروردین 1396 08:41 ب.ظ
If some one desires to be updated with most up-to-date technologies therefore he must be pay a visit
this website and be up to date every day.
پنجشنبه 24 فروردین 1396 07:03 ب.ظ
Hello, i think that i saw you visited my web site so i came to “return the favor”.I'm attempting to find things to
improve my web site!I suppose its ok to use a few of your ideas!!
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ


جدید ترین رویدادهای جامعه الکترونیک
مدارات رایگاه الکترونیکی
فروش پروگرامر AVRاز طریق USB
مقالات الکترونیک و روباتیک



مدیر وبلاگ : mohammad ali shami
جستجو

آمار وبلاگ
کل بازدید :
بازدید امروز :
بازدید دیروز :
بازدید این ماه :
بازدید ماه قبل :
تعداد نویسندگان :
تعداد کل پست ها :
آخرین بازدید :
آخرین بروز رسانی :
« ارسال برای دوستان »
نام شما :
ایمیل شما :
نام دوست شما:
ایمیل دوست شما:

Powered by ParsTools