تالارهای پادشاه ایرانی

بازگشت   تالارهای پادشاه ایرانی > علمی فرهنگی > علوم ریاضی و فنی > مهندسی الکترونیک

مهندسی الکترونیک تمامی مباحث الکترونیک در اينجا

پاسخ
 
ابزارهای تاپیک

معرفی آی سی ها ( دیجیتال )
  #1  
قدیمی 08/05/2010
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
معرفی آی سی ها ( دیجیتال )

به نام خدا
سلام.
در این تاپیک به معرفی آی سی های دیجیتال و آی سی های قابل برنامه ریزی می پردازیم.
امیدواریم مطالب مفید باشند.
__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
3 کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

5 تاپیک آخر توسط asuka
تاپیک تالار آخرین ارسال کننده پاسخ نمایش آخرین پست
ایجاد پشت زمینه حبابی آموزش و مقالات نرم افزاری asuka 0 1553 04/03/2012 21:24
چارت درسی گرایشهای الکترونیک مهندسی الکترونیک asuka 6 2346 02/03/2012 12:16
پروژه روبات کنترل از راه دور توسط سنسورهای مادون... مهندسی رباتيک و مکاترونیک asuka 0 1126 25/02/2012 10:24
روبات دنبال کننده نور مهندسی رباتيک و مکاترونیک asuka 0 1038 25/02/2012 09:43
روبات دنبال کننده خط توسط سنسور مادون قرمز مهندسی رباتيک و مکاترونیک asuka 0 1064 25/02/2012 09:38


معرفيATMega32
  #2  
قدیمی 10/05/2010
آواتار Alireza_Mahan23
Alireza_Mahan23 Alireza_Mahan23 آفلاین است
معاون کل تالار بازنشسته

مدال افتخار پادشاه ایرانی مدیر نمونه ماه مدیر نمونه ماه 

 

نام: عليرضا
جنسيت: مرد
شغل: مهندس عمران
محل سکونت: ایران-مشهد
مدرک تحصيلی: کارشناسی ارشد
پست: 20,326
سپاس: 6,592
از این کاربر 13,662 بار در 8,032 پست سپاسگزاری شده
اعتراض ها: 4
به این کاربر 13 بار در 13 پست اعتراض شده
چوب: 21,020,433
معرفيATMega32

ATMega32 :


کامپایلر هایی به زبان BASIC و C که زبانهای پرکاربرد در دنیا هستند برای این نوع میکرو ها طراحی شده است و علاوه برآن از زبان اسمبلی نیز همچنان می توان برای برنامه نویسی استفاده کرد.
به عنوان مثال کامپایلر BASCOM با زبان BASIC برای برنامه نویسی این نوع از میکروکنترلر ها می تواند مورد استفاده قرار گیرد.
میکروکنترلر های AVR به سه دسته اصلی تقسیم می شوند:
·سری AT90S یا AVR
·سری TINYAVR
·سری MEGAAVR
میکروکنترلر های نوع MEGAAVR دارای قابلیت های بیشتری نسبت به دو سری دیگر هستند. در اینجا به بررسی مشخصات و پایه های یکی از میکروکنترلرهای پرکاربرد سری MEGA به نام ATMega32 می پردازیم:
ATMega32

مهمترین مشخضات این میکروکنترلر 40 پایه عبارت است از:

·کارایی بالا و توان مصرفی کم
·32 رجیستر (ثبات) 8 بیتی
·سرعت با سقف 16 میلیون دستور در ثانیه در فرکانس 16 Mhz
·32 کیلو بایت حافظه FLASH داخلی قابل برنامه ریزی با قابلیت ده هزار بار نوشتن و پاک کردن
·2 کیلو بایت حافظه داخلی SRAM
·1024 بایت حافظه EEPROM داخلی قابل برنامه ریزی با قابلیت صد هزار بار نوشتن و خواندن
·قابلیت ارتباط JTAG
·دو تایمر/شمارنده هشت بیتی
·یک تایمر/شمارنده شانزده بیتی
·چهار کانال PWM
·هشت کانال مبدل A/D ده بیتی
·یک مقایسه کننده آنالوگ داخلی
·WATCHDOG قابل برنامه ریزی با اسیلاتور داخلی
·ارتباط سریال برای برنامه ریزی: ISP
·USART سریال قابل برنامه ریزی
·دارای شش حالت SLEEP
·منابع وقفه داخلی و خارجی
·اسیلاتور داخلی RC
·کار با ولتاژ 4.5 تا 5.5
·فرکانس کاری 0 تا 16 مگاهرتز
·32 خط داده ورودی و خروجی قابل برنامه ریزی
·...
پایه های میکروکنترلرATMega32:
برای اطلاعات بیشتر به : (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و (فقط كاربران عضو مجاز به دیدن لینک ها هستند) بروید
__________________











آخرین ویرایش 10/11/2011 توسط : Alireza_Mahan23 در ساعت 12:41 دلیل: اصلاح موضوع پست
پاسخ با نقل قول
4 کاربر زیر بخاطر پست مفید از Alireza_Mahan23 سپاسگزاری کرده اند :

آشنایی با خانواده xmega
  #3  
قدیمی 09/09/2011
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
Icon008 آشنایی با خانواده xmega


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

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


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

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

عملکرد پورتها در خانواده XMEGA بسیار کاملتر از AVR های معمولی است. همانگونه که اطلاع دارید، پورتهای AVR یا خروجی هستند که دو وضعیت LOW و HIGH را میتوانند داشته باشند و یا ورودی هستند که (فقط كاربران عضو مجاز به دیدن لینک ها هستند) داخلی می تواند فعال یا غیر فعال باشد. اما در XMEGA هم pull up و هم (فقط كاربران عضو مجاز به دیدن لینک ها هستند) قابلیت فعال شدن در ورودی و خروجی را دارند و همچنین وضعیت های 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 باشند، خود را به بقیه تحمیل می کنند.
Wired-OR

عکس عملکرد وضعیت قبل را دارد و در صورت یک کردن خروجی، یک سوئیچ نیمه هادی روشن می شود و خروجی را high می کند و در صورت صفر شدن آن، باید مقاومت pull down لازم در خروجی سوئیچ نیمه هادی قرار داشته باشد تا وضعیت low را ایجاد کند.


Bus-keeper

با قرار گرفتن پورت در این وضعیت، این امکان بوجود می آید که وضعیت قبلی پورت زمانی که بصورت خروجی است، در تغییر وضعیت پورت به وضعیت ورودی از نظر low و high بودن همچنان حفظ شود. این کار از طریق فعال سازی هوشمند pull up و pull down بصورت خودکار انجام می شود. به این معنی که اگر وضعیت قبلی خروجی low بوده، pull down را فعال می کند و اگر هم high بوده که pull up را فعال می کند. بنابراین وضعیت پورت از نظر high و low بودن همچنان حفظ می شود.
Virtual port

به دلیل نظام خاص آدرس دهی XMEGA و اینکه بتوان دستوراتی مانند IN و OUT را در مورد پورتها بکار برد، تعبیه شده است. برای درک بهتر این نوع پورتها باید به جزئیات آدرس دهی رجیسترهای داخلی XMEGA مراجعه کنید و خواهید دید که آدرس پورتها در خارج از فضای I/O memory space قرار دارند. بنابراین با map کردن پورتهای واقعی به مجازی و دانستن این موضوع که پورتهای مجازی در فضای I/O memory space قرار دارند، دلیل وجود آنها روشن تر خواهد شد.
تعیین اولویت(priority) وقفه‌ها

یکی از اشکالات بسیار بزرگ خانواده AVR که از این نظر حتی از سری ۸۰۵۱ هم ضعیف تر می باشد، عدم امکان تعریف اولویت(priority) وقفه هاست. در این خانواده تنها یک اولویت از نوع ابتدایی بین وقفه ها وجود دارد به این معنی که هرگاه دو وقفه با هم از CPU تقاضا شوند، وقفه ای که از نظر آدرس بردار وقفه دارای مقدار کوچکتری است، ابتدا مورد پاسخگویی قرار می گیرد.
اما آن شکلی از تعریف اولویت که در میکروکنترلرهایی مانند ۸۰۵۱ وجود دارد، که به CPU این اجازه را می دهد که در وسط اجرای روتین یک وقفه با اولویت پائین تر، به وقفه با اولویت بالاتر پاسخ دهد در AVR های معمولی وجود ندارد. این موضوع ضعف و خلاء بسیار بزرگی برای AVR محسوب می شود که در برنامه نویسی حرفه ای می تواند بسیار مشکل ساز باشد.
اما تمام این مسائل در سری XMEGA حل شده است و به غیر از اینکه ۳ سطح اولویت برای وقفه ها قابل تعریف است، یک وقفه( NMI(Non Maskable Interrupt هم وجود دارد که اصولا توسط وقفه های دیگر قابل disable شدن نیست و برای عملیات حساسی مانند از کار افتادن اسیلاتور کریستالی و مانند آن مورد استفاده قرار می گیرد. بنابراین سیستم مدیریت وقفه در خانواده XMEGA بسیار قوی تر از سری های AVR است و از این نظر بسیار کاراتر و توانمندتر عمل می کند.


Event system

، مجموعه ای از ارتباط بین اجزای داخلی است که قدرت و انعطاف زیادی را برای استفاده از امکانات داخلی XMEGA ایجاد می کند. با استفاده از این سیستم می توان بدون درگیر کردن CPU و یا ایجاد هرگونه وقفه ای، تغییرات یک بخش را به عنوان فرمان تغییر و Trigger بخش دیگر به کار گرفت.
تایمرها، (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ، مقایسه کننده آنالوگ، (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ، پورتها و کلاک سیستم و فرمان های نرم افزاری می توانند به عنوان منابع ایجاد Event تعریف شوند. همچنین تایمرها، ADC، DAC، DMA و پورتها و ماژول ارتباط IR می توانند از منبع Event مورد نظر برای تغییرات خود فرمان بگیرند.
به عنوان چند مثال از طریق استفاده از همین سیستم می توان overflow شدن یک تایمر ۱۶ بیتی را به عنوان فرمان clock یک تایمر ۱۶ بیتی دیگر تعریف کرد و بدون استفاده از هر وقفه ای، یک تایمر ۳۲ بیتی ساخت. یا مثلا می توان سیستم را طوری تنظیم کرد که در مقدار مشخصی از RTC، فرمان تبدیل ADC انجام شود. یا با تغییراتی در یک پین ورودی، خروجی DAC در مقدار جدید قرار بگیرد. در این خانواده ۸ کانال Event در دسترس است که شامل ۸ multiplexer است که با تنظیم آنها می توان هر Event را به عنوان منبع trigger مقصد مورد نظر هدایت کرد. هر کانال Event شامل یک ********** دیجیتال است که این امکان را به وجود می آورد که محدوده ای بین ۱ تا ۸ sample را برای پایدار بودن اجباری Event مورد نظر تعریف کنیم تا وجود آن موثر واقع شود.
البته این بحث بسیار گسترده است و نمی توان انتظار داشت که تمام ابعاد آن در اینجا روشن شود. اما بصورت خلاصه وجود Event System باعث ایجاد یک ارتباط سخت افزاری از طریق برنامه نویسی بین اجزای مختلف XMEGA می شود، بصورتی که به عنوان یک مجموعه به هم پیوسته و واحد عمل کنند و این امکان برای یک برنامه نویس توانمند، فرصت مغتنمی محسوب می شود تا بتواند کاربرد های پیچیده و پیشرفته ای را با XMEGA پیاده سازی کند که انجام آن با AVR های عادی مقدور نباشد.
QDEC

به عنوان کاربردی از Event System که تنها در حد عنوان اشاره می شود، خانواده XMEGA قابلیت و سخت افزار لازم برای اتصال به Quadrature encoder ها(مانند (فقط كاربران عضو مجاز به دیدن لینک ها هستند) هایی که به موتورها وصل می شوند)، دارا می باشند و تشخیص جهت encoder و مقدار آن و عبور از مبدا را بصورت سخت افزاری ساپورت می کنند.
تایمرها

در خانواده AVR های معمولی، در شماره های ضعیف تر مانندtiny13 فقط یک تایمرهای ۸ بیتی وجود دارد و در شماره های توانمندتر مانند mega128 هم حداکثر ۲ تایمر ۱۶ بیتی و ۲ تایمر ۸بیتی وجود دارد و حداکثر ظرفیت AVR هم وجود ۴ تایمر ۱۶ بیتی و ۲ تایمر ۸ بیتی در شماره هایی مانند mega2560 است.اما تایمر های XMEGA همگی ۱۶بیتی هستند و تعداد آنها هم از ۴ عدد تا ۸ عدد متغیر است. این درحالی است که با استفاده از ظرفیت Event system که قبلا به آن اشاره شد، می توان به تایمرهایی بزرگتر از ۱۶ بیت هم بدون استفاده از وقفه ها دست پیدا کرد.
نکته دیگر اینکه در AVR، کنترلی روی جهت شمارش تایمر وجود ندارد و تایمر در وضعیتهای Normal و CTC و Fast-PWM بصورت افزایشی و در مدهای (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و (فقط كاربران عضو مجاز به دیدن لینک ها هستند) هم بصورت افزایشی و کاهشی متوالی عمل می کند. اما جهت شمارش تایمر های XMEGA بصورت دلخواه توسط یک بیت کنترلی قابل تغییر است و این امکان بسیار خوبی محسوب می شود.
نکته بسیار مهم دیگر وجود تعداد قابل توجهی خروجی (فقط كاربران عضو مجاز به دیدن لینک ها هستند) در خانواده XMEGA است که بین ۱۴ تا ۲۴ خروجی PWM را در شماره های فعلی این خانواده شامل می شود. وجود این خروجی های PWM به علاوه امکان دیگری به نام (AWEX(Advanced Waveform Extension که بعدا توضیح داده می شود، خانواده XMEGA را به ابزار بسیار قدرتمندی برای کاربردهایی مانند کنترل موتور و رباتیک و نظایر آن تبدیل می کند و این در حالی است که تعداد خروجی های PWM در AVR های معمولی بسیار کمتر از این تعداد است ( ۴ عدد در mega32 و ۸ عدد در mega128 و ۱۶ عدد در mega2560 که حداکثر تعداد در AVR است). ضمن اینکه امکانات کنترل و مدیریت PWM هم در XMEGA قوی تر و کاراتر می باشد.
از جمله کاربردهای این تایمرها، وجود امکان اندازه گیری فرکانس و اندازه گیری عرض پالس بصورت سخت افزاری است که در فرکانس مترها و اندازه گیری های دقیق زمانی بکار می رود و کاربردهای متعدد دیگر که مستلزم آشنایی دقیق با ساختار تایمرهای XMEGA است.
AWeX

AWeX یا Advanced Waveform Extension یک واحد سخت افزاری طراحی شده برای پیاده سازی عملیات کنترل دور موتور و درایورهای قدرت است. وجود ۳ توانایی سخت افزاری Dead time insertion، Pattern generation وFault protection برای کاربردهای کنترل موتور و مانند آن پیش بینی شده و کارکردن با آن مستلزم آشنایی کامل با مبانی عملکرد درایورهای قدرت می باشد.
در مورد (فقط كاربران عضو مجاز به دیدن لینک ها هستند) می توان این توضیح را ارائه کرد که در یک پل (Bridge) تشکیل شده از سوئیچ های قدرت مانند (فقط كاربران عضو مجاز به دیدن لینک ها هستند) یا (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ، بین خاموش شدن هر سوئیچ قدرت و روشن شدن سوئیچ دومی که در همان بازو قرار دارد، باید یک زمان حداقل در حد میکروثانیه تاخیر وجود داشته باشد. در غیر اینصورت قبل از اینکه جریان سوئیچ روشن به صفر برسد، سوئیچ دوم هم روشن خواهد شد و یک جریان بسیار شدید بین ولتاژ مثبت و منفی پل ایجاد می شود و در یک لحظه باعث از بین رفتن سوئیچ های قدرت خواهد شد( به این جریان shoot through هم گفته می شود). به این زمان تاخیر به اصطلاح Dead time گفته می شود که یک منبع تولید فرمان برای درایور، باید بتواند آنرا بصورت سخت افزاری تامین کند. در واحد AWeX خانواده XMEGA، چنین امکانی پیش بینی شده که مقدار Dead time بصورت نرم افزاری و توسط رجیسترهای کنترلی یکبار تعریف و به سخت افزار اعمال شود.
Pattern generation برای تولید یک Bit Pattern مشخص روی پورت خروجی و برای کنترل موتورهایی مانند (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و استپر موتور کاربرد دارد و باید بصورت یک بحث مستقل و کاملا تخصصی در آینده مطرح شود.
Fault protection هم یک واحد پیش بینی شده برای درایورهای قدرت و در جهت واکنش سریع و مشخص در شرایط وقوع fault می باشد. برای کنترل کاربردهای قدرت لازم است این امکان بصورت سخت افزاری پیش بینی شود که در هنگام وقوع fault و خطا، واکنش سریع و از قبل معینی انجام شود و مثلا فرمان خروجی به سوئیچ های قدرت به سرعت قطع شوند و این امر نباید معطل اجرای نرم افزار بماند. چرا که در غیر اینصورت ممکن است به علت جریان کشی بیش از حد به از بین رفتن سوئیچ های قدرت و مواردی از این دست منجر شود. بنابراین واحدی که تحت برنامه ریزی قبلی نرم افزار بصورت سخت افزاری به شرایط خطا پاسخ دهد، از جمله امکاناتی است که در XMEGA پیش بینی شده و امکان استفاده از آن را به عنوان یک کنترل کننده و نظارت کننده بر پروسه های در محدوده زمانی میکروثانیه و کمتر، بوجود می آورد.
(فقط كاربران عضو مجاز به دیدن لینک ها هستند)

تفاتهای زیادی بین ADC داخلی خانواده XMEGA با AVR های معمولی وجود دارد که شاخص ترین آن دقت و سرعت تبدیل آن است. دقت ADC این خانواده ۱۲ بیت است و قابلیت نمونه برداری تا ۲ میلیون نمونه در ثانیه (۲ MSPS) را دارد. از نظر تعداد ورودی آنالوگ هم بین گروه های مختلف XMEGA تفاوت وجود دارد و در گروهی که با پسوند A4 نوشته می شوند،یک کانال با ۱۲ ورودی و در گروه های A3 و A1 هم ۲ کانال مستقل با ۸ ورودی وجود دارند (درگروههای D4 و D3 هم ۱×۱۲ و ۱×۱۶ ورودی وجود دارند).
از جمله نکات دیگر این ADC قابلیت تبدیل ۴ سیگنال آنالوگ بصورت همزمان و با روش Pipeline است و به همین دلیل ۴ سری رجیستر داخلی برای ذخیره سازی این ۴ گروه نتیجه دارد.
از نظر ولتاژ مرجع (Reference)، چند امکان برای انتخاب وجود دارد که شامل ولتاژ دقیق ۱ ولت داخلی، Vcc/1.6 و ولتاژ مرجع خارجی است. در گروه های A1 و A3 دو ورودی مختلف به عنوان ولتاژمرجع اختصاص داده شده است.
امکان خواندن ورودی ها بصورت تفاضلی، اعمال بهره تقویت ۱ تا ۶۴، و امکان محاسبه مقدار ورودی بصورت علامت دار، از دیگر امکانات ADC این خانواده است.
یکی از موارد مهم قابل ذکر، وجود سنسور دمای داخلی در XMEGA است که نیاز به قرار دادن سنسور دما در خارج از IC را برای سنجش دما برطرف می کند. این امکان وجود دارد که خروجی این سنسور بصورت داخلی به ورودی ADC متصل و مقدار آن محاسبه شود. همچنین امکان اندازه گیری Vcc اعمال شده به IC و خروجی DAC و ولتاژ مرجع داخلی هم از طریق ADC وجود دارد.
در عملکرد خانواده XMEGA، یک ساختار Compare function وجود دارد به این معنی که مقدار ADC بصورت دائمی با یک رجیستر از پیش تعیین شده ۱۲ بیتی مقایسه می شود و می توان وقفه یا Event را در صورت کوچکتر یا بزرگتر بودن از این رجیستر فعال کرد. و بالاخره اینکه امکان انتقال نتایج عملیات ADC توسط (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ( که بعدا توضیح داده می شود)در حافظه قابل فعال کردن است و این روش برای درگیر نکردن CPU و ذخیره سازی سریع اطلاعات در تبدیلات متوالی می تواند بکار برده شود.
(فقط كاربران عضو مجاز به دیدن لینک ها هستند)

وجود مبدل دیجیتال به آنالوگ ۱۲ بیتی و با سرعت حداکثر ۱ میلیون تبدیل در ثانیه، از جمله مزیت هایی در خانواده XMEGA است که در خانواده AVR های معمولی به کلی وجود ندارد و زمینه را برای انجام عملیاتی که با تولید سیگنال های آنالوگ سر و کار دارند، فراهم می کند.
در اینجا ذکر یک توضیح فنی لازم است که هرچند با قرار دادن یک ********** پائین گذر در خروجی PWM می توان سیگنال های آنالوگ را تولید کرد. اما حداکثر فرکانس این سیگنال آنالوگ باید تفاوت قابل توجهی با فرکانس PWM داشته باشد تا بتواند توسط ********** پائین گذر و با دقت بالا، جداسازی شود. حداکثر فرکانس PWM قابل حصول برای AVR در مد fast PWM و با فرض کلاک ۲۰ مگاهرتز و ۸ بیتی بودن PWM، برابر ۷۸٫۱۲۵ کیلوهرتز است. بنابراین تغیییرات سیگنال آنالوگ تولید شده توسط PWM باید بسیار کمتر از این باشد تا بتواند به خوبی جدا شود. اما وجود DAC ، زمینه را برای کاربردهایی مانند تولید صدای خروجی بصورت استریو و یا تولید سیگنال های آنالوگ با فرکانس نسبتا بالا را برای XMEGA فراهم می کند.
هر واحد DAC دارای دو خروجی مستقل آنالوگ است که هریک رجیستر دیتای خاص خود را دارند. در گروه با پسوند A3 و A4 یک واحد DAC و در گروه A1 دو واحد DAC(یعنی ۴ خروجی مستقل آنالوگ) وجود دارند.
برای تبدیلات DAC یک ولتاژ مرجع قابل تعیین است که می تواند از Vcc یا ولتاژ مرجع داخلی و یا ولتاژ دلخواه متصل به پایه تعریف شده برای این کار، تامین شود.
خروجی انالوگ DAC بصورت نرم افزاری قابل کالیبره کردن و تغییر Offset خروجی است و این کار می تواند به کمک اتصال داخلی خروجی DAC به ورودی ADC و خواندن مقدار آن و یا قرائت خروجی آنالوگ از بیرون انجام شود.
خروجی DAC همچنین می تواند بصورت داخلی به مقایسه کننده آنالوگ موجود در XMEGA متصل و ولتاژ آن با ولتاژهای دیگری مقایسه شود که این امکان برای برخی کاربردهای کنترل جریان و درایورهای قدرت، امکان فوق العاده ای محسوب می شود.
برای تولید سیگنال های آنالوگ با فرکانس نسبتا بالا از طریق قرار دادن متوالی دیتا در ورودی DAC، امکان بهره گیری از DMA داخلی XMEGA وجود دارد و در این شرایط بدون مشغول کردن بیجهت CPU، عملیات تولید سیگنال آنالوگ به خوبی انجام می شود. همچنین عملیات به روز سازی خروجی آنالوگ می تواند تحت مدیریت Event system انجام شود و بدون ایجاد بار نرم افزاری برای CPU و ایجاد هرگونه وقفه ای، وقوع Event تعیین شده، باعث به روز سازی و ایجاد تغییر مقدار در خروجی آنالوگ مورد نظر گردد.
(فقط كاربران عضو مجاز به دیدن لینک ها هستند) 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 واحد سخت افزاری اتصال به وسایل جانبی آدرس پذیر است که بطور خاص تا ۶۴ مگا بایت (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و ۱۲۸ مگابیت (فقط كاربران عضو مجاز به دیدن لینک ها هستند) را ساپورت می کند. این واحد عملیات Refresh کردن SDRAM را تحت کنترل نرم افزار به عهده می گیرد و از انواع ۴ و ۸ بیتی آن پشتیبانی می کند. یکی از نکاتی که تاکنون ذکر نشده این مطلب است که در ساختار داخلی XMEGA، دو کلاک ۲ برابر و ۴ برابر کلاک CPU وجود دارد که برای بعضی واحدهای داخلی استفاده می شود. EBI بطور خاص از کلاک دو برابر استفاده می کند و بنابراین تا کلاک حداکثر ۶۴ مگاهرتز را پشتیبانی می کند.
در پیکر بندی های مختلف واحد EBI ،دو یا سه یا چهار پورت بکار گرفته می شوند. در نوع اول با قرار دادن دو (فقط كاربران عضو مجاز به دیدن لینک ها هستند) در خروجی پورت J، از این پورت سیگنال های ۸ خط دیتا و ۱۶ خط آدرس ساخته می شود و خطوط کنترل هم از پورت H تامین می شوند.
در پیکر بندی با استفاده از ۳ پورت، امکان تولید ۱۶ و ۲۴ بیت آدرس با استفاده از یک یا دو Latch وجود دارد و امکان اتصال به SDRAM هم در حالت دیتای ۴ بیتی و بدون استفاده از هر گونه Latch فراهم است. در پیکر بندی با استفاده از ۴ پورت هم امکان تولید ۲۴ بیت آدرس با استفاده از یک Latch و امکان اتصال به SDRAM هم در حالت دیتای ۸ بیتی بدون Latch فراهم است.
به غیر از حافظه ها، سایر وسایل جانبی که دارای Address Bus، Data Bus و سیگنال های کنترلی Read Enable و Write Enable و Chip select هستند (مانند (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ، (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و … )، قابلیت اتصال به XMEGA از طریق EBI را دارند.
Crypto Engines

یکی از امکانات فوق العاده و درخشان خانواده XMEGA، وجود سخت افزار لازم برای کد کردن اطلاعات با الگوریتم های( DES(Data Encryption Standard و( AES(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 های (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و کنترل موتور برای فیدبک گرفتن از ولتاژ یا جریان معمولا از عملکرد مقایسه کننده های آنالوگ استفاده می شود.
مقایسه کننده های آنالوگ در 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 در خانواده XMEGA نسبت به AVR های معمولی می توان به مواردی اشاره کرد. از جمله تعداد SPI های موجود که حداکثر آن در XMEGA سری A1 به تعداد ۴ عدد SPI سخت افزاری روی پورت های C و D و E و F وجود دارند و هر یک بصورت مستقل می توانند عمل کنند. Bit Rate قابل تعریف در ۸ مقدار مختلف می تواند قرار داده شود و این در حالی است که در سری mega64 و mega128 این عدد ۷ مقدار مختلف است. ارتباط با (فقط كاربران عضو مجاز به دیدن لینک ها هستند) هم از مزیت های بارز SPI در XMEGA است که امکان یک ارتباط سریع و با حجم بالا با حافظه را برای ارسال و دریافت اطلاعات و بدون دخالت CPU فراهم می کند. واحد SPI تنها در مد Slave با DMA ارتباط برقرار می کند، اما برای ارتباط با DMA در مد Master می توان از قابلیت عملکرد (فقط كاربران عضو مجاز به دیدن لینک ها هستند) به عنوان یک SPI در مد Master استفاده کرد و در این صورت ارتباط با DMA در این مد هم میسر خواهد بود.
(فقط كاربران عضو مجاز به دیدن لینک ها هستند)

از نظر تعداد تا ۴ واحد TWI سخت افزاری در سری A1 وجود دارند که روی پورت های C و D و E و F قابل فعال سازی هستند. از نظر عملکرد هم مزیت هایی در خانواده XMEGA وجود دارد که از جمله مهمترین آن پشتیبانی از (فقط كاربران عضو مجاز به دیدن لینک ها هستند) علاوه بر پشتیبانی از I2C است. SMBus یا System Management Bus، یک استاندارد ارتباطی است که علیرغم شباهت هایی که با I2C دارد، اما تفاوت هایی هم مانند محدوده ولتاژها، جریان کشی، محدوده فرکانس و پارامتر های زمان بندی بین ایندو استاندارد ارتباطی وجود دارد. در (فقط كاربران عضو مجاز به دیدن لینک ها هستند) توضیحاتی در مورد SMBus و تفاوتهای آن با (فقط كاربران عضو مجاز به دیدن لینک ها هستند) ارائه شده است.
در خانواده XMEGA با تنظیم رجیسترهای داخلی،هر دو استاندارد (فقط كاربران عضو مجاز به دیدن لینک ها هستند) و (فقط كاربران عضو مجاز به دیدن لینک ها هستند) برای ارتباط پشتیبانی می شوند.
مزایای 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 های (فقط كاربران عضو مجاز به دیدن لینک ها هستند) است.
در وضعیت خروجی هم مطابق منحنی های ارائه شده برای XMEGA از طرف کارخانه سازنده و در صورتی که جریانی از خروجی کشیده نشود، مقدار high خروجی پورت برابر Vcc و مقدار Low آن برابر صفر خواهد بود. در صورت جریان کشی هم مقدار high کمتر از Vcc ومقدار Low بیشتر از صفر خواهد شد(مطابق منحنی های ارائه شده ). کمتر بودن مقدار خروجی high از ۵ ولت در اتصال به IC های جانبی، در صورتی که از تغذیه ای مانند ۳٫۳ ولت استفاده شود، در اکثر موارد مشکلی بوجود نمی آورد. زیرا اکثر IC هایی که با تغذیه ۵ ولت کار می کنند، ۳٫۳ ولت را به عنوان high می شناسند. اما در غیر این صورت و همچنین در صورت استفاده از مقادیر پائین تر Vcc، استفاده از Level conveter اجتناب ناپذیر است.

منبع: (فقط كاربران عضو مجاز به دیدن لینک ها هستند)
پاسخ با نقل قول
2 کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

سنسور دما smt160
  #4  
قدیمی 31/10/2011
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
سنسور دما smt160

تا کنون با سنسورهای دما متفاوتی آشنا شده اید که از معروفترین ان ای سی lm35 است که یک ای سی آنالوگ می باشد.
اما در این قسمت یک ای سی دیگر دماسنج را برایتان معرفی می کنیم که این ای سی دیجیتال می باشد یعنی به این صورت است که این ای سی دارای ۳ پایه می باشد و یکی از پایه اطلاعات دما را به صورت دیتا به خروجی می دهد .(البته نه به صورت مستقیم).
در این قسمت نمای از این سنسور وترتیب ونوع پایه برای شما نمایش داده شده است.
۱:vcc
2:gnd
3:output
به دو پایه تغذیه +۵ ولت می دهیم و پایه سوم که خروجی است در حالت عادی فرکانسی حدود ۴ کیلو هرتز تولید می کند که نسبت به دما duty-cycle ان تغییر می کند . (منظور از دیو تی سایکل duty_cycle نسبت زمان hight بودن پالس به کل زمان پالس در یک سیکل می باشد.) در واقع اطلاعات دما در این سیکل و در Duty_cycle نهفته شده است.
خرید پستی سنسور دما smt160
این سنسور می تواند دمایی حدود -۴۵ تا +۱۳۰ سانتی گراد ، با رزولیشون بالای ۰٫۰۰۵ سانتی گراد را اندازه گیری نماید.
کارخانه سازنده یک فرمولی مانند عکس زیر برای این ای سی مشخص کرده است.
که بر طبق فرمول در صورتی که ما d.c (duty-cycle) را داشته باشیم می توانیم از طریق فرمول دما را بدست اوریم که در ادامه توضیحات کاملتری داده می شود.
این ای سی در تیپ های مختلف ساخته شده است که در شهر یزد نوع TO92 وجود دارد که مانند ای سی lm35 به شکل ترانزیستور می باشد.
در مورد تغذیه این ای سی باید بگم که می توان از ولتاژ ۴٫۷۵ ولت تا ۷٫۲ ولت را به ان وصل نمایید که بهترین ولتاژ ۵ ولت می باشد و جریان مصرفی این ای سی حدود ۱۶۰ تا ۲۰۰ میکرو آمپر می باشد.
فرکانس خروجی ای سی مابین ۱ تا ۴ کیلوهرتز می باشد و امپدانس خروجی ای سی ۲۰۰ اهم می باشد. این ای سی دماسنج مناسب برای میکرو پروسسورها است که فاقد adc می باشند مانند ۸۰۵۱ که به راحتی می توانند با این ای سی کار بکند.
از مزیت های دیگر این ای سی این است که می توانید با کابلی که بیش از ۲۰ متر طول داشته باشد ان را به میکرو متصل نمایید.
برای کاهش نویز بر روی مدار می توانید از مدار پیش نهادی زیر استفاده نمایید که در دیتاشیت ای سی اورده شده است.
و در آخر قیمت این ای سی در یزد حدود ۳۰۰۰ تومان می باشد.
ودر مورد برنامه
در این پروژه از میکرو Atmega8 و از زبان بیسیک برای برنامه نویسی استفاده شده است.
برای بدست اوردن دیوتی سایکل از تایمر ۱ استفاده شده است به این صورت که میکرو زمان Hight بودن و low بودن یک سیکل خروجی را می شمارد سپس این دو زمان بدست آمده را با هم جمع میکند و در مرحله بعد زمان Hight بودن را بر کل زمان یک پالس تقسیم می کند که بدین ترتیب duty_cycle بدست می اید.
که بر طبق فرمول زیر مراحل را انجام می دهد.

۱: t(hight) + t(low)=T
2: t(hight) / T= D.C
3: D.c = D.C – 0.32
4: Temp = D.c / 0.0047

در مجموع کار با این ای سی خیلی راحت است ولی اگر مشکلی داشتید می توانید ان را در تالار گفتمان سایت مطرح سازید.
برای دانلود بر نامه به همراه نقشه شماتیک و دیتا شیت ای سی بر روی عکس زیر کلیک نمایید.
پسورد فایل : (فقط كاربران عضو مجاز به دیدن لینک ها هستند)
جهت دانلود فایل فایل شماتیک ، دیتا شیت وسورس برنامه sm160 بر روی عکس زیر کلیک نمائید.
__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
2 کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

معایب و مزایای میکروکنترل های مختلف نسبت به هم
  #5  
قدیمی 31/10/2011
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
معایب و مزایای میکروکنترل های مختلف نسبت به هم

از آن جای که ۶۸۱۱ و z8 خیلی کمتر استفاده میشوند به معرفی سه نوع دیگر میپردازم.
۱) : اول از ۸۰۵۱ شروع میکنیم . این خانواده از میکرو کنترولر ها جزو اولین نوع میکرو کنترولر ها یی بود که رایج شده و جزو پیشکسوتان مطرح میشود . معروف ترین کامپایلر برای این نوع میکرو keil یا franklin می باشد میکرو های این خانواده به نوسان ساز نیاز مند هستند و درمقابل خانواده pic یا AVR از امکانات کمتری برخور دار می باشد معروف ترین آی سی ها این خانواده ۸۹S51 یا ۸۹C51 می باشد . ابتدا این میکروکنترلر توسط شرکت بزرگ intel ساخته شد .اما بعدا intel این امکان را به دیگر شرکت ها داد که این میکروکنترلر را تولید کنند و شرکت هایی مانند ATMEL , PHILIPS , SIEMENS , DALLAS و… به تولید این میکروکنترلر پرداختنند یکی از شرکت هایی که به صورت گسترده به تولید این تراشه پرداخت ATMEL بود که مدل های مختلف میکروکنترلر ساخت این شرکت در سرار جهان و در ایران به خوبی یافت می شود
. اما اگربخواهیم به صورت کلی سیر پیشرفت این نوع میکروکنترلر رو در نظر بگیریم اولین میکروکنترلر هایی که ساخته شد با جدیدترین میکروکنترلرهای ۸۰۵۱ که الان تولید میشود با توجه به این پیشرفت شگفت در تمام زمینه ها که صنایع دیگر در دنیا دارند پیشرفت زیادی ندارد به طور مثال AT89S5X که میکروکنترلر ۸۰۵۱ جدید ساخت ATMEL است نسبت به مدل های اولیه ۸۰۵۱ پیشرفت آنچنانی ندارد . امکانات این میکرو نسبت به AVR و PIC قابل مقایسه نیست . به صورتی که که همین مدل جدید ۸۰۵۱ تقریبا حافظه ای برابر یک صدم (۰٫۰۰۱ ) میکروکنترلر های AVR را دارد و سرعتش ۴ برابر کمتر از میکروکنترلر های PIC و ۱۲ بار کمتر از میکروکنترلر های AVR است . از لحاظ امکانات دیگر هم چنین ضعفی احساس میشود. اما برای کارهای ساده تر که پیچیدگی زیادی در آن نباشد به خاطر قیمت بسیار پایینی که این میکروکنترلر دارد بسیار مناسب است . قیمت همین مدل جدید AT89S5X حدود ۱۰۰۰ تومان است که قیمت بسیار مناسبی است.
این میکرو کنترلر از زبان اسمبلی و C پشتیبانی میکند که زبان برنامه نویسی اصلی آن اسمبلی است که واقعا نوشتن با این زبان برنامه نویسی نسبت به زبان های برنامه نویسی دیگر هم مشکل تر و هم طولانی تر است. در کل این میکروکنترلر امروزه دیگر توانای رقابت با AVR و PIC رو ندارد و امروزه رقابت اصلی بین این دو میکروکنترلر است .
۲)میکروکنترلرPIC
این خانواده از نظر امکانات مانند AVR میباشد و در کل صنعتی تر است .
واقعا میکروکنترلر خیلی قوی است که بر اساس بعضی آمار ها بیشترین کاربر را به خود اختصاص داده است البته متذکر شوم که در ایران این آمار به نفع AVR است. این میکروکنترلر ساخت شرکت میکرو چیپ است که PIC رو در مدل های خیلی زیادی با امکانات مختلف برای کارهای مختلف میسازد . این میکروکنترلر با مدل های مختلفPIC16XXX و PIC12XXXX که به جای X دوم از چپ به راست حروف C ,X,E,F قرار میگره که هر کدام مفهوم خاصی داره که چون بحث ما آموزش AVR است از روی اون سریع میگزریم X های بعدی هم اعدادی هستنند که نشان دهنده مدل های مختلف هستنند .
۳)میکروکنترلرAVR
این خانواده از میکرو کنترلرها تمامی امکانات ۸۰۵۱ را دارا می باشد و امکاناتی چون ADC (مبدل آنالوگ به دیجیتال) – نوسان ساز داخلی و قدرت و سرعت بیشتر – EEPROM (حافظه) از جمله مزایای این خانواده می باشد مهم ترین آی سی این خانواده Tiny و Mega است.
به میکروکنترلر AVR میرسیم که بهترین میکروکنترلر موجود در بازار است .اول از همه سرعت این میکروکنترلر بسیار بالاست و به قولی دستوراتی که بهش داده میشه در یک سیکل کلاک انجام میده در صورتی که این سیکل کلاک برای ۸۰۵۱ باید تقسیم بر۱۲شودو برای PIC باید تقسیم بر ۴ بنابراین AVR سریعترین میکروکنترلر موجود در بازار است . AVR از زبان های برنامه نویسی سطح بالا یا به اصطلاح
(HIGH LEVEL LANGUAGE) HLL پشتیبانی میکند که باعث تولید کدهای بیشتری میشود که در کل برنامه نوشته شده نسبت به برنامه هایی که برای ۸۰۵۱ و PIC نوشته میشود کوتاهتر است. امکانات جانبی این میکروکنترلر بسیار مناسب است و شما را از خرید بعضی لوازم جانبی مانند چیپ های آنالوگ به دیجیتال (ADC) , مقایسه گر آنالوگ و… راحت میکند .در ضمن AVR از بسیاری از استاندارد های ارتباطی مانند SPI,UART,12C,JTAG پشتیبانی میکند که به راحتی میتوان این میکروکنترلر را با میکروکنترلر دیگر یا و سایل دیگر وصل کرد و با وسایل دیگر به راحتی ارتباط برقرار کند. قیمت این میکروکنترلر هم به نسبت امکانات فراوانی که داره بسیار پایین است به طوری که یک میکروکنترلر AVR تقریبا پیشرفته رو با قیمت حول و حوش ۳ تا ۴ هزار تومان خرید .
شرکت Atmel 5 میکروکنترلر ۸ بیتی AVR جدید با توان مصرفی بسیار پایین برای استفاده در مدارات با تعداد کدهای بالا و اینترفیسینگ زیاد عرضه نموده است.
این میکروکنترلر ها با نام های ATmega640، ATmega1280، ATmega2560، ATmega1281، ATmega2561 عرضه شده است و دارای ۶۴ تا ۲۵۶ کیلو بایت flash و ۸ کیلو بایت RAM به صورت داخلی می باشد.
این میکروهای جدید مدارات جانبی میکروها را با توجه به مدارات داخلی خود کاهش داده است که از آن جمله می توان به وجود یک اسیلاتور RC 8 مگا هرتزی در داخل خود که باعث حذف اسیلاتور خارجی گشته است را نام برد؛ از دیگر قابلیت های جالب این میکرو مصرف بسیار پایین آن می باشد این میکرو که با ۱٫۵ ولت کار می کند در حالت power down تنها ۱۰۰ نانو آمپر مصرف می کند که باعث افزایش عمر باتری خواهد شد.
مدل ۱۰۰ پین این میکرو ها داراری ۴ کانال UART و ۱۶ عدد A/D می باشد.
__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
2 کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

آی سی not به شماره 74hc540
  #6  
قدیمی 31/10/2011
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
آی سی not به شماره 74hc540

مدتی پیش یکی از کاربران در خواستی داده بود مبنی بر این که دنبال یک ای سی گیت not می گردد که ورودی ها در یک طرف باشد و خروجی ها در طرف دیگر باشد در این جا ای سی ۷۴hc540 را به شماره معرفی می کنم که علاوه براین که ورودی ها در یک طرف و خروجی ها در طرف دیگر قرار دارد دارای ۲ پایه به عنوانenable است که برای فعال کردن خروجی ها با ید این ۲ پایه را به زمین وصل کنید.
ساختمان داخلی ای سی در زیر اورده شده است
این هم جدول صحت این ای سی که در باره ان توضیح کوتاهی دادم
زمانی که یکی از ورودی های enable به مثبت وصل شود خروجی ای سی”های امپدانس” (high impedance)می باشد یعنی خروجی نه مثبت است و نه منفی
و تنها شرط فعال بودن خروجی ها وصل کردن دو پایه enable به زمین می باشد.
تغذیه این ای سی ۵ ولت می باشد که پایه ۲۰ ان پایه vcc و پایه ۱۰ ان gnd می باشد. دیتاشیتی که من دانلود کردم توسط شرکت فیلیپس ارائه شده بود .
در زیر جدولی اورده شده است که وظیفه پایه ها را نوشته است.

__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
2 کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

گیتand
  #7  
قدیمی 25/02/2012
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
گیتand

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

74HC08 را به شما معرفی می کنم.این آیسی حاوی 4 عدد گیت منطقی AND است.

بیایید برای شروع مدار، ساده ای را با استفاده از این آیسی ببندیم .تا شما با عملکرد آن آشنا شوید.

گیتAND

قطعات مورد نیاز برای گیت AND


  1. 1 عدد آیسی 74HC08
  2. 3 عدد LED
  3. 1 عدد خازن 0.01 میکرو فاراد
  4. 3 عدد مقاومت 1 کیلواهم
  5. (فقط كاربران عضو مجاز به دیدن لینک ها هستند)
  6. سیم تلفنی

نقشه مدار مربوط به گیت AND


طبق معمول در ابتدا پایه های مربوط به تغذیه آیسی 74HC08 را بر روی برد بورد ببندید.

در این آیسی پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است.دو پایه 1و 2 این آیسی را با دو مقاومت 1 کیلواهم همانطور که در نقشه مشخص است به زمین متصل کنید.
datasheet مربوط به این آیسی را از (فقط كاربران عضو مجاز به دیدن لینک ها هستند) دانلود کنید.برای باز کردن فایل دانلود شده می بایست برنامه acrobat reader را در داخل سیستم داشته باشید.


دومرتبه از پایه های 1و2 به یک سر کلید کلنگی یک حالته وصل کنید سر دیگر این کلید را به کاتد یا منفی LED متصل نمایید.سر مثبت یا آند LED ها را به طور مستقیم به مثبت ولتاژ وصل نمایید.
در این هنگام هر کلیدی را که می بندید LED مربوط به آن روشن می شود.همانطور که می دانید.زمانی خروجی گیت AND یک یا HIGH می شود.که هر دو ورودی آن یک یا HIGH باشد.
در حالت عادی یعنی زمانی که کلید باز باشد.،همانطور که در نقشه می بینید.هر دو ورودی گیت با دو مقاومت 1 کیلو اهم زمین شده است.در واقع ورودی صفر را در حالت عادی در هر دو ورودی خواهیم داشت.
در هنگام بسته شدن کلید پایه های ورودی از طریق LED به مثبت ولتاژ‌ وصل می شو ند.و در این حالت هر دو ورودی HIGH می شود.

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


همانطور که در شکل مربوط به شماتیک داخلی آیسی 74hc08 می بینید.این آیسی دارای 4 گیت AND مجزا است.پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است.
هر گیت AND به همراه دو ورودی و خروجی آن به همراه پایه ها در شکل بالا مشخص شده است.

فرمول مربوط به گیت AND


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

__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

گیتOR
  #8  
قدیمی 25/02/2012
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
گیتOR

گیتOR

قطعات مورد نیاز برای گیت OR

  1. 1 عدد آیسی 74HC32
  2. 3 عدد مقاومت 1 کیلو اهم
  3. 3 عددد LED
  4. 2 عدد کلید کلنگی یک حالته
  5. (فقط كاربران عضو مجاز به دیدن لینک ها هستند)
  6. سیم تلفنی
نقشه مدار مربوط به گیت OR


طبق معمول پایه های مربوط به تغذیه آیسی را در ابتدا ببندید.پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است.

1و 2 این آیسی را با دو مقاومت 1 کیلواهم همانطور که در نقشه مشخص است به زمین متصل کنید.

دومرتبه از پایه های 1و2 به یک سر کلید کلنگی یک حالته وصل کنید سر دیگر این کلید را به کاتد یا منفی LED متصل نمایید.سر مثبت یا آند LED ها را به طور مستقیم به مثبت ولتاژ وصل نمایید.
در این هنگام هر کلیدی را که می بندید LED مربوط به آن روشن می شود.همانطور که می دانید.زمانی خروجی گیت OR یک یا HIGH می شود.که یکی یا هر دو ورودی آن یک یا HIGH باشد.
برای دریافت datasheet این آیسی (فقط كاربران عضو مجاز به دیدن لینک ها هستند) را کلیک کنید


اگر کلید متصل به پایه های ورودی 1و2 بسته شود.پایه ورودی 1و2 که در واقع دو ورودی یکی از 4 گیت موجود در این آیسی است.HIGH یا یک می شو د.،HIGH شدن ورودی از طریق LED ها و بسته شدن کلید ها صورت می گیرد.یک شدن ورودی ها با بسته شدن کلید ها و روشن شدن LED ها کاملا مشخص است. خروجی این گیت از آیسی که پایه 3 است.،با بستن یکی یا هر دو کلیدهای مربوط به پایه های ورودی HIGH یا 1 می شود.

همانطور که در شکل مربوط به شماتیک داخلی آیسی 74hc32 می بینید.این آیسی دارای 4 گیت OR مجزا است.پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است.
پایه های ورودی و خروجی هر گیت OR به همراه دو ورودی و یک خروجی آن در شکل بالا مشخص است.

فرمول مربوط به گیت OR


با توجه به فرمول زیر زمانی خروجی این گیت یک یا HIGH می شود.که هر دو ورودی آن صفر یا LOW نباشد.بنابراین اگر یکی از ورودی ها یک باشد و دیگری صفر خروجی یک یا HIGH می شودوهمچنین اگر هر دو ورودی یک باشند خروجی نیز یک یا HIGH می شود.
در جمع منطقی تنها در حالتی خروجی صفر می شود.که هر دو ورودی صفر باشند.

__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

گیت not
  #9  
قدیمی 25/02/2012
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
گیت not

گیت NOT

قطعات مورد نیاز برای گیت NOT


  1. 1عدد آیسی 74HC04
  2. 2 عدد LED
  3. 2 عدد مقاومت 1 کیلو اهم
  4. 1 عدد کلید کلنگی یک حالته
  5. (فقط كاربران عضو مجاز به دیدن لینک ها هستند)
  6. سیم تلفنی

نقشه مدار مربوط به گیت NOT

طبق معمول در ابتدا پایه های مربوط به تغذیه آیسی 74HC04 را بر روی برد بورد ببندید.


در این آیسی پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است. پایه 1 این آیسی را با یک مقاومت 1 کیلواهم همانطور که در نقشه مشخص است به زمین متصل کنید.
datasheet مربوط به آیسی 74hc04 را از (فقط كاربران عضو مجاز به دیدن لینک ها هستند) دانلود کنید

دومرتبه از پایه های 1 به یک سر کلید کلنگی یک حالته وصل کنید سر دیگر این کلید را به کاتد یا منفی LED متصل نمایید.سر مثبت یا آند LED را به طور مستقیم به مثبت ولتاژ وصل نمایید.
در این هنگام زمانیکه کلید بسته شودکلید متصل به پایه 1 روشن می شود.،و LED متصل به پایه 2 خاموش می شود.همانطور که می دانید.زمانی خروجی گیت NOT یک یا HIGH می شود.که ورودی آن صفر یا LOW باشد.
بنابراین هر زمان که LED متصل به پایه یک روشن باشد LED متصل به خروجی خاموش است.در واقع خروجی عکس ورودی است
همانطور که در شکل مربوط به شماتیک داخلی آیسی 74hc32 می بینید.این آیسی دارای 4 گیت OR مجزا است.پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است.
هر گیت NOT دارای یک ورودی و خروجی است.، پایه های ورودی و خروجی در شکل مربوط به شماتیک آیسی 74HC04 مشخص شده است.

فرمول مربوط به گیت NOT

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

__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :

گیت nand
  #10  
قدیمی 25/02/2012
آواتار asuka
asuka asuka آفلاین است
كاربر عالی
 

نام: Mohamadreza
جنسيت: مرد
شغل: Daneshjoo
پست: 629
سپاس: 770
از این کاربر 1,244 بار در 588 پست سپاسگزاری شده
اعتراض ها: 0
به این کاربر 0 بار در 0 پست اعتراض شده
چوب: 7
گیت nand

گیت NAND


قطعات مورد نیاز برای گیت NAND


  1. آیسی 74HC00
  2. 3 عدد مقاومت 1 کیلو اهم
  3. 3 عدد LED
  4. 2 عدد کلید کلنگی یک حالته
  5. (فقط كاربران عضو مجاز به دیدن لینک ها هستند)
  6. سیم تلفنی

نقشه مربوط به گیت NAND

طبق معمول در ابتدا پایه های مربوط به تغذیه آیس74hc00 را بر روی برد بورد ببندید.

در این آیسی پایه 7 تغذیه زمین و پایه 14 تغذیه مثبت است.دو پایه 1و 2 این آیسی را با دو مقاومت 1 کیلواهم همانطور که در نقشه مشخص است و مانند حالتهای قبلی به زمین متصل کنید.
datasheet آیسی 74hc00 را از (فقط كاربران عضو مجاز به دیدن لینک ها هستند) دانلود کنید.

دومرتبه از پایه های 1و2 به یک سر کلید کلنگی یک حالته وصل کنید سر دیگر این کلید را به کاتد یا منفی LED متصل نمایید.سر مثبت یا آند LED ها را به طور مستقیم به مثبت ولتاژ وصل نمایید.
در این هنگام هر کلیدی را که می بندید LED مربوط به آن روشن می شود.همانطور که می دانید.نحوه عملکرد گیت NAND برخلاف AND است.دراین گیت زمانی خروجی یک HIGH است.،که هر دو ورودی صفر یا low یا اینکه هر دو ورودی مخالف یکدیگر باشند.در واقع یعنی اگر یکی از ورودی ها یک باشد دیگری صفر باشد.،در این حالت خروجی یک یا high است.

فرمول مربوط به گیت NAND


با توجه به فرمول زیر گیت NAND عکس گیت AND است.بنابراین زمانی خروجی آن high یا یک می شود که هر دو وردی آن مخلف هم یا هر دو صفر باشند.

__________________
Nothing is true
Everything is permitted
پاسخ با نقل قول
کاربر زیر بخاطر پست مفید از asuka سپاسگزاری کرده اند :
پاسخ

برچسب ها
آي, الكترونيك, ديجيتال, سي


ابزارهای تاپیک

قوانین ارسال
شمانمی توانید تاپیک جدید ارسال نمایید
شمانمی توانید پاسخی ارسال نمایید
شمانمی توانید پیوست ارسال نمایید
شمانمی توانید پست های خود را ویرایش نمایید

کد بی بیفعال است
شکلک ها فعال است
کد [IMG] فعال است
کدهای HTML غیر فعال است



زمان محلی شما با تنظیم GMT +4.5 هم اکنون 16:57 میباشد.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright © 2006 - 2018 ParsiKing. All Rights Reserved to Parsiking Group
دامین های زیر جهت ارائه خدمات در مالکیت سایت پادشاه ایرانی می باشد
parsiking.com - parsiking.biz - parsiking.org - parsiking.net - parsiking.in - parsiking.ir
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios