تحقیق در مورد اشنایی با میکروکنترلر ها

word قابل ویرایش
32 صفحه
8700 تومان
87,000 ریال – خرید و دانلود

آشنایی با میکرو کنترلرها

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

میکرو کنترلرها از ابتدا تا کنون پیشرفتهای زیادی داشته اند و هم اکنون تولید کنندگان زیادی آنها را در مدلهای مختلف و با کارکردهای مختلف می سازند. بعضی از مهمترین تولید کنندگان عباتند از Atmel و Microchip .

همانطور که ذکر شد در داخل میکرو کنترلرها علاوه بر CPU (که عموما دارای گذرگاه داده ۸ بیت است) مدارات دیگری نیز وجود دارند که بسته به تولید کننده و مدل آن متفاوت است. این مدارات ممکن است شامل نوسان ساز ساعت سیستم، حافظه Flash برای ذخیره برنامه، حافظه RAM ، حافظه EEPROM / Flash برای داده، شمارنده / تایمر، پورت سریال، مقایسه کننده آنالوگ، مبدل آنالوگ به دیجیتال / دیجیتال به آنالوگ، PWM ، پورت USB و… باشد.

همانطور که گفته شد با وجود این مدارات در داخل تراشه، تقریبا برای کار میکروکنترلر به هیچ مدار خارجی دیگری نیاز نیست ولی در CPU ها تمامی این مدارات در خارج از تراشه هستند. این برای میکروکنترلرها هم مزیت است و هم عیب : طراحی سخت افزار و سیستم با میکروکنترلر ساده است ولی بعنوان مثال نمی توان به آسانی فضای حافظه را افزایش داد.

از نظر پایه ها انواع آن از ۸ پایه تا ۴۰ پایه بصورت DIP و بالاتر ساخته می شود.
هر میکروکنترلر دارای یک سری دستورالعمل های نرم افزاری است که می تواند آنها را اجرا کند که به آن مجموعه دستورالعمل گفته می شود. این دستورات از یک میکرو کنترلر به دیگری تفاوت هایی دارند و در بعضی از مدلها مثل PIC و AT89s51 اصلا به هم شباهتی ندارند. این یکی از نقاط ضعف میکرو هاست. بعنون مثال برنامه ای که برای PIC16F84 نوشته شده بر روی ATMega8535 قابل اجرا نیست. تفاوت چشم گیر بین دستور العمل های مربوط به سازندگان است مثلا میکروهای سری PIC با بقیه همخوانی ندارد. این سری ساخت شرکت Microchips بوده و بقیه ساخت شرکت Atmel هستند. حال آنکه دستورات و برنامه های At89s51 کاملا به درستی بر روی At89s52 اجرا می شود. همچنین مجموعه دستورالعملها در سری ۸۹s شبیه سری های tiny و Mega است.

برنامه ای که میکرو باید اجرا کند پس از نوشته شدن اسمبل یا کمپایل می شود تا کد ماشین برای آن میکرو تولید شود (نوشتن برنامه و تبدیل آن عموما بر روی یک PC صورت می گیرد.). پس از اینکار برنامه ترجمه شده باید به حافظه کدی که در درون میکرو است انتقال یابد. این کار توسط یک دستگاه کمکی بنام پروگرامر انجام می شود که در واقع یک مدار رابط بین کامپیوتر و میکروکنترلر است. پس از اینکار برنامه در درون میکرو باقی می ماند و هنگامی که میکرو بر روی بورد دستگاه موردنظر نصب شود شروع به اجرای برنامه می کند. در واقع چون سخت افزار میکروها (مثل تعداد پایه ها و طریقه پروگرام کردن آنها) متفاوت است هر سری از آنها پروگرامر مخصوص به خود را می خواهد.

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

سیر تکاملی میکرو کنترلرها

اولین میکرو کنترلرها در اواسط دهه ۱۹۷۰ ساخته شدند. این میکرو کنترلرها در ابتدا پردازنده های ماشین حساب بودند که دارای حافظه برنامه کوچکی از نوع ROM ، حافظه داده از نوع RAM و تعدادی درگاه ورودی/خروجی بودند.

با توسعه فناوری سیلیکون ، میکرو کنترلرهای ۸ بیتی قویتری ساخته شدند. در این میکرو کنترلرها علاوه بر بهینه شدن دستورالعمل ها، تایمر/شمارنده روی تراشه، امکانات وقفه و کنترل بهینه شده خطوط I/O نیز به آنها اضافه شده است. حافظه موجود بر روی تراشه هنوز هم محدود می باشد و دربسیاری موارد کافی نیست.یکی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظه EPROM قابل پاک شدن با اشعه ماورا بنفش، روی تراشه بود. این قابلیت، زمان طراحی و پیاده سازی محصول را بطور محسوسی کاهش داد و نیز برای اولین بار امکان استفاده از میکرو کنترلر ها را در کاربردهایی که حجم تولید پایینی دارند، فراهم ساخت.
خانواده۸۰۵۱ در اوایل دهه ۱۹۸۰ توسط شرکت اینتل معرفی گردید. از آن زمان تاکنون۸۰۵۱ یکی ازمحبوبترین میکرو کنترلرها بوده و بسیاری از شرکتها دیگر نیز به تولید آن اقدام کرده اند. در حال حاضرمدل های مختلفی از ۸۰۵۱ وجود دارد که در بسیاری از آنها امکاناتی نظیر مبدل آنالوگ به دیجیتال حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده، مدولاتور عرض پالس (PWM) در خروجیها و حافظه فلش که امکان پاک کردن و برنامه ریزی مجدد آن توسط سیگنالهای الکتریکی وجود دارد، تعبیه شده است.

میکرو کنترلرها اکنون به سمت ۱۶ بیتی شدن در حرکت هستند. میکرو کنترلر های ۱۶ بیتی، پردازنده هایی با کارایی بالا (نظیر پردازش سیگنالهای دیجیتال ) می باشند که در کنترل فرایندهای بلادرنگ و در مواردی که حجم زیادی از عملیات محاسباتی مورد نیاز است، به کار برده می شوند.

بسیاری از میکرو کنترلرهای ۱۶ بیتی، امکاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده، مبدل های آنالوگ به دیجیتال چند کانالی، تعداد زیادی درگاه I/O، چندین درگاه سریال، عملکردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعمل های بسیار قدرتمند با قابلیت پردازش سیگنال را دارا می باشند.

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

ساده ترین معماری میکرو کنترلر، متشکل از یک ریز پردازنده، حافظه و درگاه ورودی/خروجی است. ریز پردازنده نیز متشکل از واحد پردازش مرکزی (CPU) و واحد کنترل (CU) است.

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

حافظه بخش خیلی مهم از یک سیستم میکرو کامپیوتری است. ما می توانیم بر اساس به کارگیری حافظه، آن را به دو گروه دسته بندی کنیم: حافظه برنامه و حافظه داده . حافظه برنامه ، تمام کد برنامه را ذخیره می کند. این حافظه معمولاً از نوع حافظه فقط خواندنی (ROM) می باشد. انواع دیگری از حافظه ها نظیر EPROM و حافظه های فلش EEPROM برای کاربردهایی که حجم تولید پایینی دارند و همچنین هنگام پیاده سازی برنامه به کار می روند . حافظه داده از نوع حافظه خواندن / نوشتن (RAM) می باشد . در کاربردهای پیچیده که به حجم بالایی از حافظه RAM نیاز داریم ، امکان اضافه کردن تراشه های حافظه بیرونی به اغلب میکرو کنترلر ها وجود دارد.

درگاهها ورودی / خروجی (I/O )به سیگنال های دیجیتال بیرونی امکان می دهند که با میکرو کنترلر ارتباط پیدا کند. درگاههای I/O معمولاً به صورت گروههای ۸ بیتی دسته بندی می شوند و به هر گروه نیز نام خاصی اطلاق می شود. به عنوان مثال ، میکروکنترلر ۸۰۵۱ دارای ۴ درگاه ورودی / خروجی ۸ بیت می باشد که P3, P2, P1, P0 نامیده می شوند. در تعدادی از میکرو کنترلر ها ، جهت خطوط درگاه I/O قابل برنامه ریزی می باشد. لذا بیت های مختلف یک درگاه را می توان به صورت ورودی یا خروجی برنامه ریزی نمود. در برخی دیگر از میکروکنترلرها (از جمله میکروکنترلرهای ۸۰۵۱) درگاههای I/O به صورت دو طرفه می باشند. هر خط از درگاه I/O این گونه میکرو کنترلرها را می توان به صورت ورودی و یا خروجی مورد استفاده قرار داد . معمولاً ، این گونه خطوط خروجی ، به همراه مقاومتهای بالا کش بیرونی به کار برده می شوند.

خانواده ۸۰۵۱

خانواده ۸۰۵۱ یک خانواده میکرو کامپیوتر (میکرو کنترلر ) ۸ بیتی تک تراشه ای استاندارد است که بسیار محبوب و عامه پسند می باشد و توسط سازندگان مختلف با قابلیت های متفاوت تولید می گردد. این آی سی استاندارد اصلی که اولین عضو این خانواده می باشد، ۸۰۵۱ است که یک میکرو کنترلر ۴۰ پایه می باشد.

هم اکنون این آی سی با پیکربندی های مختلف موجود می باشد. ۸۰C51 نوع cmos و کم مصرف این خانواده است. ۸۷۵۱ دارای حافظه برنامه از نوع EPROM است که عمدتاً در هنگام پیاده سازی به کار برده می شود.

۸۹c51 نیز دارای حافظه فلش قابل برنامه ریزی و پاک شدن (PEROM) است لذا بدون نیاز به پاک کردن با اشعه ماورابنفش ، می توان حافظه برنامه را برنامه ریزی کرد.۸۰۵۲ عضو بهینه شده این خانواده می باشد و حافظه RAM آن بیشتر بوده و تعداد تایمر/شمارنده آن نیز بیشتر است. انواع مختلفی از خانواده ۴۰ پایه وجود دارد که دارای مبدل های آنالوگ به دیجیتال ، مدولاتورهای عرض پالس و نظایر آن هستند. در بخش پایین خانواده ۸۰۵۱ ، میکرو کنترلر های ۲۰ پایه قرار دارند که از لحاظ کد ، سازگاری کاملی با انواع ۴۰ پایه دارند و این ادوات ۲۰ پایه برای کاربردهایی با پیچیدگی کمتر که نیاز به خطوط I/O کمتری دارند و نیز برای کاربردهایی که باید مصرف توان کمتری داشته باشند (مثل سیستم های قابل حمل)،ساخته شده اند.

آی سی های AT89C2051 و AT89C1051 (ساخت شرکت Atmel)چنین میکرو کنترلرهایی هستند که از لحاظ کد سازگاری کاملی با خانواده ۸۰۵۱ دارند و مصرف توان آنها نیز کمتر است.

۸۰۵۱ یک میکرو کنترلر ۸ بیتی با مصرف کم و قابلیت زیاد است. تعداد زیادی از اعضای خانواده ۸۰۵۱ دارای معماری مشابهی هستند و هر یک از اعضا با اعضای دیگر سازگار می باشند . قابلیت های میکرو کنترلر ۸۰۵۱ استاندارد به شرح زیر می باشد:

• ۴ کیلو بایت حافظه برنامه

• ۸*۲۵۶ حافظه داده RAM

• ۳۲ خط I/O قابل برنامه ریزی

• دو عدد تایمر / شمارنده ۱۶ بیتی

• ۶ منبع وقفه

• درگاه UART سریال قابل برنامه ریزی

• قابلیت اتصال به حافظه بیرونی

• بسته بندی ۴۰ پایه استاندارد

مقدمه ای بر میکروکنترلرهای AVR :

میکروهای AVR دارای انعطاف پذیری غیر قابل مقایسه و بی همتایی هستند.آنها قادر به ترکیب هر نوع کدی با یک معماری کارامد از طریق زبانهای C و Assembly هستند و قادرند از طریق این برنامه ها تمام پارامترهای ممکن در یک سیکل یا چرخه ماشین را با دقت بسیار بالا هماهنگ کنند.
میکرو AVR دارای معماریی است که میتواند در تمام جهات مورد استفاده شما،عمل کند میکرو AVR معماریی دارد که برای شما کارایی ۱۶ بیتی ارائه می دهد که البته قیمتش به اندازه یک ۸ بیتی تمام می شود.

بهره های کلیدی AVR :

دارای بهترین MCU برای حافظه فلش در جهان ! (MCU: Master Control Unit)
دارای سیستمی با بهترین هماهنگی
دارای بالاترین کارایی و اجرا در CPU (یک دستورالعمل در هر سیکل کلاک)
دارای کدهایی با کوچکترین سایز
دارای حافظه خود برنامه ریز
دارای واسطه JTAG که با IEEE 1149.1 سازگار است
(IEEE: Institute of Electrical and Electronics Engineers.)
دارای سخت افزار ضرب کننده روی خود
دارای بهترین ابزارها برای پیشرفت و ترقی
دارای حالات زیادی برای ترفیع دادن یا Upgrade .

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 8700 تومان در 32 صفحه
87,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد