میکروکنترلر ها
مقدمه :
گر چه کامپیوترها تنها چند دهه است که با ما همراهند .,با این حال تاثیرعمیق آنها بر زندگی ما با تاثیر تلفن , اتومبیل, و تلویزیون رقابت میکند. ما با انواع گوناگونی از کامپیوترها برخورد می کنیم که وظایفشان را زیرکانه و به طرزی آرام, کارا و فروتنانه انجام می دهند و حتی حضور آنها اغلب احساس نمی شود.
ما کامپیوترها را به عنوان جز مرکزی بسیاری از فرآورده های صنعتی و مصرفی از جمله در ماشینهای لباس شویی , ساعتهای اداری سیستم هوشیار, وسایل سرگرمی همچون اسباب بازی, تجهیزات صوتی, ماشینهای تایپ و فتوکپی و تجهیزات صنعتی مانند PLC, CLC و مته های فشاری می یابیم. در این مجموعه ها, کامپیوترها وظیفه کنترل را در ارتباط با دنیای واقعی برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام می دهند. میکروکنترلرها بر خلاف میکروکامپیوترها و ریز پردازنده ها, اغلب در چنین کاربردهایی یافت میشوند.
توان, ابعاد و پیچیدگی میکروکنترلرها با اعلام ساخت 8051 یعنی اولین عضو خانواده میکروکنترلرهای Mcs-51 در سال 1980 توسط اینتل پیشرفت چشم گیری کرد. امروزه انواع گوناگونی از IC وجود دارند.
شکل صفحه بعد برای نشان دادن و روشن ساختن تفاوت بین میکروکنترلها و ریزپردازنده ها رسم شده است. در حالی که ریزپردازنده یک CPU ی تک تراشه ای است، میکروکنترلر در یک تراشه واحد شامل CPU و بسیاری از مدارات لازم برای یک سیستم میکروکامپیوتری کامل می باشد. اجزای داخل خط چین در شکل زیر بخش کاملی از اغلب IC های میکروکنترلر می باشند. علاوه بر CPU میکروکنترلرها شامل RAM,ROM یک رابط سریال، یک رابط موازی، تایمر و مدارات زمان بندی وقفه می باشند که همگی در یک IC قرار دارند. البته مقدار RAM روی تراشه حتی به میزان آن در یک سیستم میکروکامپیوتری کوچک هم نمی رسد اما آن طور که خواهیم دید این مساله محدودیتی ایجاد می کند زیرا کاربردهای میکروکنترلر بسیار متفاوت است.
یک ویژگی مهم میکروکنترلرها، سیستم وقفه موجود در داخل آنهاست. میکروکنترلرها به عنوان ابزارهای کنترل گرا اغلب برای پاسخ بی درنگ به محرکهای خارجی (وقفه ها) مورد استفاده قرار می گیرند.
البته اغلب ریزپردازنده ها می توانند سیستم وقفه قدرتمند را به اجرا بگذارند. اما برای این کار معمولاً نیاز به اجرای خارجی دارند. مدارات روی تراشه یک میکروکنترلر شامل تمام مدارات مورد نیاز برای به کارگیری وقفه ها می باشد.
میکروکنترلها پردازنده هایی اختصاصی هستند. آنها به خودی خود در کامپیوترها به کار نمی روند، بلکه در فرآورده های صنعتی و وسایل مصرفی مورد استفاده قرار می گیرند. استفاده کنندگان این فرآورده ها اغلب از وجود میکروکنترلها کاملاً بی اطلاع هستند. از دید آنها اجزای داخلی وجود دارند اما جزو جزئیات بی اهمیت طراحی به شمار می روند. برای مثال اجاق های مایکروویو، ترموستات های قابل برنامه ریزی، ترازوهای الکترونیکی و حتی خودروها را می توانید در نظر بگیرید. قسمت الکترونیکی هر یک از این فرآورده ها عموماً شامل ارتباط میکروکنترلر با کلیدهای فشاری، سوئیچ ها، وسایل هشدار دهنده و لامپ های روی یک تابلو می باشد. در نتیجه به استثناء برخی امکانات اضافی، طرز استفاده آنها با فرآورده های الکترومکانیکی قبلی تفاوتی نکرده است و میکروکنترلر آنها از دید استفاده کنندگان مخفی است.
برخلاف سیستم های کامپیوتری که توسط قابلیت برنامه ریزی و دوباره برنامه ریزی شدن، باز شناخته می شوند، میکروکنترلر ها یک بار برای همیشه وبرای یک کار برنامه ریزی می شوند. این مقایسه به یک تفـاوت اسـاسی در معماری این دو سیستم منجر می شود. سیستم های کامپیوتری نسبت RAM به ROM بالایی دارند و برنامه های کاربران در یک فضای نسبتاً بزرگ RAM اجرا می شود در حالی که روال های ارتباط با سخت افزار در یک فضای کوچک ROM اجرا می گردد.
از طرف دیگر میکروکنترلرها نسبت ROM به RAM بالایی دارند، برنامه کنترلی آنها که شاید نسبتاً بزرگ هم باشد در ROM ذخیره می شود، در حالی که RAM فقط برای ذخیره موقت مورد استفاده قرار می گیرد. از آنجا که برنامه کنترلی برای همیشه در ROM ذخیره می شود در مرتبه میان افزار قرار می گیرد، یعنی چیزی بین سخت افزار (مدارهای واقعی) و نرم افزار (برنامه هایی در RAM که هنگام خاموش شدن سیستم پاک می شوند).