عصری که در آن زندگی میکنیم جامعه شناسان آن را عصر انقلاب کامپیوتر نامیده اند، اما آنچه بیش از همه قابل تامل است این است که انقلاب اصلی تنها در ۵۰ سال اخیر و با ظهور ترانزیستور آغاز شده است . انقلابی که نسل های مختلف کامپیوتری را بوجود آورد تا به نسل چهارم یعنی میکروکامپیوترها رسید. نسلی که مبتنی بر تکنولوژی مدارات مجتمع با فشردگی بسیار زیاد VLSI ( مخفف Very Large Scale Integrated Circuit ) و معماری کامپیوتر بر اساس ریز پردازنده ها ( میکروپرسسورها ) می باشند. اما پیشرفت های بعدی که هنوز ادامه داشت به جایی رسید که به سمت کوچکتر، کم هزینه تر، با سرعت بیشتر و توان مصرفی پایین تر شدن پیش رفت و نسل پنجم که همان میکروکنترلرها هستند شکل گرفت. میکروکنترلرها با هزینه بسیار کمتر از میکروپرسسور ها، دارای سیستمی کوچکتر اما یکپارچه، دارای امکانات جانبی بیشتری می باشد و با بهره گیری از معماری جدیدتر میتواند حتی سریعتر از میکروپرسسورها باشد و مزیت ویژه آن نویز پذیری پایین تر و هنگ کردن کمتر است. با ساخت میکرو کنترلرها تحول شگرفی در ساخت تجهیزات الکترونیکی نظیر لوازم خانگی، صنعتی، پزشکی، تجاری و … به وجود آمده است که بدون آن تصور تجهیزات و وسایل پیشرفته امروزی غیر ممکن است. به عنوان مثال می توان از ربات ها، تلفن همراه تبلت ها و انواع سیستم های کنترلی دیگر نام برد.
تعریف کامپیوتر :
کامپیوتر به معنای محاسبه کردن می باشد و اساس کار آن از روی مغز انسان طراحی و ساخته شده است . کامپیوترهای اولیه بعد از اختراع ترانزیستور ساخته شدند و توانایی انجام محاسبات بسیار ساده را داشتند . اما امروزه از کامپیوترها برای انجام محاسبات پیچیده با سرعت بالا و همچنین برای دخیره و مقایسه اطلاعات استفاده می شود . به زبان ساده تر یک کامپیوتر از سه واحد ورودی ، واحد پردازش و واحد خروجی تشکیل شده است . یک کامپیوتر داده ها را از ورودی گرفته و پس از پردازش مناسب و انجام محاسبات روی آنها ، فرمانهایی را به خروجی ارسال می کند .
تعریف میکروکامپیوتر :
یک سیستم میکروکامپیوتر حداقل شامل میکروپرسسور (CPU) ، حافظه موقت (RAM) ، حافظه دائمی (ROM) و قطعات ورودی/خروجی (PORT ) می باشد که بوسیله گذرگاه( باس BUS) به هم ارتباط دارند و همه مجموعه روی یک برد اصلی به نام مادر برد قرار می گیرند. تمام کامپیوترهای خانگی امروزی مانند PC ها و لپتاپ ها از این نوع هستند که علاوه بر واحد های حداقلی فوق قطعات و واحدهای دیگری نیز به آنها اضافه شده است مانند شکل زیر .
طرز کار یک میکروکامپیوتر به این صورت است که ابتدا برنامه ایی که در حافظه دائمی قرار داده شده است اجرا میشود تا سیستم بوت شده و در حالت آماده به کار قرار گیرد . سپس بر اساس برنامه کاربر یا برنامه ای که توسط سیستم عامل به CPU داده میشود ، دستورات در CPU اجرا شده و برحسب نوع برنامه داده های مناسب در صورت نیاز از ورودی یا از حافظه گرفته شده و بعد از پردازش به خروجی ارسال میشود . شکل یک سیستم میکروپرسسوری حداقلی به صورت زیر است .
تعریف میکروپروسسور ( CPU ) :
CPU مخفف عبارت Central Processor Unit به معنای واحد پردازنده مرکزی می باشد . میکروپروسسور تراشه ( IC ) ای است که از مدارات منطقی دیجیتال ساخته شده است که وظایف آن به شرح زیر است :
- انجام محاسبات ریاضی ، منطقی و بیتی
- انجام دادن دستورالعمل ها ( حلقه های شرطی و … )
- ارتباط با حافظه
- کنترل تجهیزات جانبی
- پاسخ دادن به وقفه ها
تعریف ROM :
مخفف عبارت Read Only Memory به معنای حافظه فقط خواندنی می باشد. این حافظه دائمی بوده یعنی با قطع برق اطلاعات درون آن از بین نمیرود . برنامه راه اندازی سیستم و سیستم عامل(برنامه کاربر) در این حافظه قرار می گیرد . در بسیاری از کامپیوتر های امروزی بخشی از سیستم عامل روی ROM و بیشتر آن روی هارد دیسک قرار دارد .
انواع حافظه های ROM :
- ROM : در این نوع حافظه که توسط کارخانه و فقط برای یکبار پروگرام می شود ، شامل شبکه ای از سطر ها و ستون های ماتریسی است که در نقاطی به نام بیت به هم میرسند. در صورتیکه خطوط مربوطه بخواهد “یک” باشد برای اتصال از دیود استفاده می شود و اگر بخواهد مقدار “صفر” باشد خطوط به یکدیگر متصل نخواهند شد. دیود ، صرفا امکان حرکت ” جریان ” را در یک جهت ایجاد می کند ، بنابراین در صورتیکه دیود در نقطه مورد نظر ارائه گردد ، جریان هدایت شده و سلول یک خوانده می شود و در صورتیکه مقدار سلول صفر باشد یعنی در محل برخورد سطر و ستون دیودی وجود ندارد .
- PROM : تولید تراشه های ROM مستلزم صرف وقت و هزینه بالائی است . بدین منظور اغلب تولید کنندگان ، نوع خاصی از این نوع حافظه ها را که Programmable Read Only Memory نامیده می شوند ، تولید می کنند. این نوع از تراشه ها با محتویات خالی و با قیمت مناسب عرضه شده و می تواند توسط هر شخص با استفاده از دستگاه های خاصی برنامه ریزی گردند. ساختار این نوع از تراشه ها مشابه ROM بوده با این تفاوت که در محل برخورد هر سطر و ستون از یک فیوز استفاده می گردد.با توجه به اینکه تمام سلول ها دارای یک فیوز می باشند ، درحالت اولیه یک تراشهPROM دارای مقدار اولیه “یک” است . بمنظور تغییر مقدار یک سلول به صفر، از یک دستگاه خاص پروگرامر استفاده می گردد. حافظه های PROM صرفا یک بار قابل برنامه ریزی هستند ونسبت به RAM شکننده تر بوده و یک جریان حاصل از الکتریسیته ساکن ، می تواند باعث سوخته شدن فیور در تراشه شود و مقدار یک را به صفر تغییر نماید. از طرف دیگر PROM دارای قیمت مناسب بوده و برای نمونه سازی داده برای یک ROM ، قبل از برنامه ریزی نهائی کارآئی مطلوبی دارند.
- EPROM : که مخفف Erasable programmable read only memory است . این نوع حافظه ها همانند PROM هستند با این تفاوت که در آنها امکان پاک کردن حافظه توسط تاباندن مدت زمانی اشعه فرابنفش به حافظه بوجود آمد . بنابراین روی آی سی آنها شیاری تعبیه شده است که اشعه ماورای بنفش بتواند مستقیما به بخش اصلی حافظه بتابد .
- EEPROM : این نوع حافظه که Electrically Erasable Programmable ROM است ، می توان الکترون های هر بیت را با استفاده از یک نرم افزار و به کمک پروگرامر به وضعیت طبیعی برگرداند. بنابراین دیگر برای بازنویسی تراشه نیاز به جدا نمودن تراشه از محل نصب شده نخواهد بود و برای تغییر بخشی از تراشه نیاز به پاک نمودن تمام محتویات نخواهد بود. اعمال تغییرات در این نوع تراشه ها مستلزم بکارگیری یک دستگاه اختصاصی نخواهد بود.
- Flash : تراشه های EEPROM در هر لحظه تنها یک بیت خاص را تغییر می دهد و فرآیند اعمال تغییرات در تراشه کند است و در مواردی که می بایست اطلاعات با سرعت تغییر یابند ، سرعت لازم را ندارد. تولیدکنندگان با ارائه Flash Memory که یک نوع خاص از حافظه های EEPROM می باشد به محدودیت اشاره شده پاسخ لازم را داده اند. در حافظه Falsh از مدارات از قبل پیش بینی شده در زمان طراحی ، بمنظور حذف استفاده می گردد .در این حالت می توان تمام و یا بخش های خاصی از تراشه را را حذف کرد. بنابراین این نوع حافظه نسبت به حافظه های EEPROM سریعتر است و داده ها در آن داخل بلاک هائی که معمولا ۵۱۲ بایت می باشند ، نوشته می گردند.
تعریف RAM :
مخفف عبارت Random Access Memory به معنای حافظه با دسترسی تصادفی می باشد. این حافظه ، حافظه موقت می باشد یعنی با قطع برق اطلاعات آن از بین میرود . اطلاعات میانی سیستم شامل متغیرهای برنامه کاربر و داده های مربوط به ورودی/خروجی ها در این حافظه قرار میگیرد .
انواع حافظه های RAM :
- SRAM : مخفف Static RAM به معنای حافظه ایستا است . در این نوع حافظه ها که از فلیپ فلاپ ساخته شده اند ، دارای سرعت خواندن و نوشتن بالا و توان مصرفی پایین می باشند .
- DRAM : مخفف Dynamic RAM به معنای حافظه پویا است . در این نوع حافظه ها از ترانزیستور MOSFET استفاده شده است که باعث کاهش سرعت خواندن و نوشتن و همچنین افزایش توان مصرفی نسبت به SRAM می باشد ولی در عوض حجم کمتری را اشغال می کند و ارزان تر از SRAM می باشد.
تعریف PORT :
به معنای درگاه می باشد و وظیفه ارتباط میکروکامپیوتر با دستگاههای جانبی را بر عهده دارد . که این دستگاه های جانبی ورودی یا خروجی هستند برای همین به آنها I/O نیز می گویند. پورت ها انواع مختلفی دارند مانند پورت USB ، پورت سریال ، پورت موازی و … که در شکل زیر مشاهده می کنید .
تعریف BUS :
به معنای گذرگاه می باشد و وظیفه انتقال سیگنال دیجیتال را برعهده دارد و در عمل هیچ چیز جز مجموعه سیم های کنار هم قرار گرفته نیست . در هر میکروکامپیوتر ۳ نوع باس وجود دارد که وظیفه ی انتقال دیتا ، آدرس و سیگنالهای کنترلی را بر عهده دارد .
- گذرگاه داده(Data Buss): جهت نقل و انتقال داده ها بین ماژولهای میکرو به کار می رود که میتواند ۸ خط (در میکرو های ۸ بیتی)، ۱۶ خط (در میکرو های ۱۶ بیتی) و … باشد. هر چه تعداد خطوط Data بیشتر باشد سرعت انتقال داده ها بیشتر خواهد بود و توان پردازش میکروکنترلر بالاتر است.
- گذرگاه آدرس(Address Buss): برای شناسایی هر وسیله (حافظه یا I/O ) توسط CPU می باشد که باید آدرس منحصر به فردی به آنها تخصیص داد. هر چه تعداد خطوط آدرس بیشتر باشد میکرو میتواند تعداد مکانهای بیشتری را آدرس دهی کند، در نتیجه میتواند حافظه بزرگتری داشته باشد.
- گذرگاه کنترل(Control Buss): شامل خطوط کنترلی دستگاههای موجود مثل Read ، Write و غیره است. هر چه تعداد خطوط کنترلی بیشتر باشد، میکرو امکانات کنترلی بیشتری در اختیار برنامه نویس قرار میدهد.
تعریف میکروکنترلر :
هنگامی که قطعات سازنده یک میکروکامپیوتر در یک تراشه و در کنار هم قرار گیرند ، یک میکروکنترلر به وجود می آید . در واقع میکروکنترلر یک آی سی شامل یک CPU ، به همراه مقدار مشخصی از حافظه های RAM و ROM ، پورت های ورودی/خروجی و همچنین واحد های جانبی دیگری نظیر تایمر ، رابط سریال و … می باشد . به عبارت دیگر میکروکنترلر یک تراشه الکترونیکی قابل برنامه ریزی است که استفاده از آن باعث افزایش سرعت و کارآیی مدار در مقابل کاهش حجم و هزینه مدار می گردد.
امروزه از میکروکنترلر ها به علت کوچکی و سادگی در بسیاری از وسایل الکترونیکی استفاده می شود . میکروکنترلرها کاربرد های وسیعی در صنایع الکترونیکی پیدا کرده اند و با توجه به ویژگی ها و امکانات اصلی و جانبی که ارائه می دهند انتخاب شده و به کار برده می شوند . از ویژگی ها و امکانات اصلی مثلا : سرعت پردازنده ، قدرت پردازش اطلاعات ، میزان ذخیره اطلاعات ، نویز پذیری ، فرکانس کاری ، توان مصرفی و … امکانات جانبی مثل پشتیبانی از پروتکل های ارتباطی ، ارتباط با وسایل جانبی ، پاسخ به وقفه ها ، تایمر ها و کانتر ها ، مبدل های آنالوگ به دیجیتال و … در شکل زیر یک سیستم میکروکنترلری را مشاهده می کنید که دارای انواع پورت ها و صفحه نمایش ، امکانات کنترلی و جانبی مختلف است در حالی که نسبت به سیستم میکروکامپیوتری کوچکتر ، کم هزینه تر و شاید هم پر سرعت تر باشد .
انواع میکروکنترلرها :
اولین میکروکنترلر در سال۱۹۷۱ توسط شرکت نام آشنای intel ساخته شد و این شرکت اولین میکروکنترلر کاربردی خود را در سال ۱۹۸۰با نام ۸۰۸۰ روانه بازار کرد. بعد از آن میکروکنترلر توسط شرکت اینتل با سری چیپهای AT8050,8051,8052,…، شرکت زایلوگ باسری چیپهای Z8601,8602,8603,…و شرکت موتورولا با سری چیپهای ۶۸۱۱A1,A2,… گسترش یافت . در حال حاضر میکروکنترلر های پرکاربرد موجود دارای انواع زیر هستند که هریک کاربرد ها و ویژگی های مخصوص به خود را دارند :
- خانواده AVR : ساخت شرکت ATMEL
- خانواده PIC : ساخت شرکت MicroChip
- خانواده ARM : ساخت شرکت های ATMEL ، NXP ، STM و …
- خانواده FPGA : ساخت شرکتهای Xilinx و Altera
هر یک از خانواده های فوق دارای زیرمجموعه های بسیاری می باشد اما به صورت کلی میتوان آنها را به صورت جدول زیر مقایسه نمود :
* منظور از قدرت پردازش عمومی و اختصاصی ، سرعت و قدرت پردازش اطلاعات در مصارف عمومی( مانند کار های کنترلی و… ) اختصاصی (مانند پردازش تصویر و…) می باشد .