
میکروکنترلر و کامپیوتر شباهت ها و تفاوتها
شباهت ها و تفاوتهای میکروکنترلر و کامپیوتر
بسیاری از کسانی که به دنیای الکترونیک و دیجیتال علاقه دارند علاقمندند که مفاهیم اساسی شاخه های پرکاربرد دیجیتال مانند میکروکنترلر ها را بصورت اصولی بیاموزند و حتی کسانی که سالها در این شاخه ها فعالیت دارند نیز می دانند که با نگرش اصولی به این مفاهیم قادر خواهند بود سیستم های بهتری را طرح و ایجاد کنند.
اگر میخواهید بیشتر بدانید به این دوره ها مراجعه نمایید:
دوره های آموزشی مهندسی الکترونیک و سخت افزار
در این نوشتار قصد داریم که انشالله از زاویه جالبی به تشریح مفاهیم اصولی میکروکنترلر ها بپردازیم و با مقایسه میکروکنترلر با کامپیوتر های استاندارد به شناخت ودرک بهتر مفاهیم میکروکنترلر ها برسیم.
یکی از روشهای موثر و جذاب برای شناخت بهتر هر مفهوم از جمله مفاهیم دنیای تکنولوژی مقایسه آنها با مفاهیم ملموس تر و شناخته شده تر و بررسی شباهت ها و تفاوتهای آنها با یکدیگر است.
با دانستن این مقدمه می خواهم با بررسی یک تفاوت و چهار شباهت بین میکروکنترلر ها و کامپیوتر ها از روش فوق برای درک بهتر میکروکنترلر استفاده کنم.
نخست اینکه همانطور که میدانیم از کامپیوتر ها برای مقاصد مختلفی استفاده میکنیم مثلا از کامپوتر شخصی روی میز کار میتوانیم برای جستجو در اینترنت، امور اداری و دفتری، حسابداری، بازی کردن، ارسال ایمیل و یا اپلیکیشن های کاربردی، مهندسی و بسیاری از کار های مختلف و حتی بی ارتباط با یکدیگر استفاده کنیم.
میکروکنترلر ها اما معمولا برای انجام یک یا چند وظیفه ویژه مورد استفاده قرار میگیرند و با جایگذاری در کنار سیستم های الکتریکی و یا مکانیکی بزرگتر وظیفه کنترل عملیات آن سیستم را انجام میدهند. مثلا برد کنترل دریک ماشین لباسشویی، یا ECU در یک اتومبیل، یا برد کنترل کننده یک هواپیمای مدل و بسیاری از کاربرد های مشابه که با میکروکنترلر ها ساخته میشوند (Embedded System) معمولا برای انجام یک یا چند وظیفه ویژه همان دستگاه یا سیستم تحت کنترل استفاده میشوند. پس اولین موردی که بیان کردیم یک تفاوت بین میکروکنترلر و کامپوتر بود.
اما از طرف دیگر چندین شباهت اساسی بین میکروکنترلر ها و کامپیوتر ها وجود دارد که سبب شده عملا میکروکنترلر ها را کامپیوتر هایی بدانیم که در ابعاد مختلف و البته بسیار کوچکتر از کامپیوتر های شخصی استاندارد ساخته و به بازار دیجیتال و تکنولوژی عرضه شده اند؛ کامپوتر هایی که در یک چیپ گرداوری شده و دقیقا از همان اجزای کامپیوتر های استاندارد تشکیل شده اند.
بطور کلی میتوانیم این اجزای مشابه در میکروکنترلرها و کامپیوتر ها را در چهار دسته زیر تقسیم بندی کنیم و از روی این شباهت ها به درک بهتری از مفهوم میکروکنترلر برسیم.
۱- سی پی یو
اولین شباهت میکروکنترلر و کامپیوتر داشتن واحد پردازشگر مرکزی یا به اختصار سی پی یو یا Central Processing Unit است.
سی پی یو را میتوانیم مغز سیستم میکروکنترلر و کامپیوتر بدانیم که عملا تمامی عملیات ریاضی و منطقی در این واحد انجام میگیرد و اجرای برنامه های کاربردی که توسط برنامه نویس برای سیستم های میکروکنترلری (یا همان امبدد سیستم ها یا سیستم های نهفته یا Embedded System ) و همینطور سیستم های کامپیوتری نوشته میشود و توسط نرم افزار های مترجم به زبان قابل فهم برای سی پی یو ترجمه میشود توسط سی پی یو اجرا میشوند.
۲- دومین شباهت وجود حافظه در هر دو سیستم است، کامپیوتر ها برای ذخیره اطلاعات و برنامه های کاربردی از هارد درایو یا HDD و حافظه های SSD، و در حین اجرای برنامه ها از حافظه های RAM بهره میبرند.
همچنین بطریق مشابه میکروکنترلر ها برای ذخیره برنامه های کاربردی قابل اجرا توسط سی پی یو از حافظه های FLASH و برای ذخیره دیتا از حافظه های EEPROM و FLASH و در حین اجرای برنامه ها از حافظه های SRAM بهره میبرند.
نیاز و وجود حافظه در هر دو سیستم نیز از مشابهت های مهم بین میکروکنترلر ها و کامپوتر هاست.
۳- کلاک یا پالس ساعت
اگر کامپیوتر یا میکروکنترلر را با اغماض به انسان و سی پی یو را به مغز در انسان تشبیه کنیم در اینصورت قطعا کلاک نقش قلب را در سیستم پیاده میکند.
بدون وجود کلاک سخت افزار کامپیوتر و میکروکنترلر جز یک قطعه بی جان و بی استفاده نخواهد بود.
با وجود کلاک میتوانیم بگوییم که سخت افزار روح پیدا کرده است.
تپیدن هر پالس (تپ) کلاک همچون تپیدن قلب در بدن تمام واحد های سخت افزار میکروکنترلر و کامپیوتر را یک قدم به حرکت وا میدارد و برای برداشتن قدم بعدی منتظر تپیدن بعدی پالس کلاک میشوند.
جالب اینجاست که مواردی که گفتم نه فقط یک تشبیه بلکه دقیقا اتفاقی است که در سخت افزار می افتد.
هر دو سیستم میکروکنترلر و کامپیوتر دارای کلاک هستند و همانطور که گفتم برداشتن هر قدم در سخت افزار و اجرای پله پله دستورات برنامه توسط سخت افزار منوط به تپیدن پالس کلاک بعدی است، و این یعنی هر چه کلاک سریعتر بتپد برنامه سریعتر اجرا می شود، بهمین دلیل است که معیار مهم سرعت سی پی یو و در کل سرعت کامپیوتر و میکروکنترلر سرعت تپیدن و یا همان فرکانس پالس کلاک است.
۴- واحد های جانبی
شباهت چهارم وجود واحد های جانبی در میکروکنترلر و کامپیوتر است.
صفحه کلید، نمایشگر، ماوس، مودم، چاپگر و موارد مشابه در کامپیوتر ها در واقع پورت هایی برای ارتباط با دنیای بیرون از کامپیوتر هستند
مبدل های آنالوگ به دیجیتال یا ADC و دیجیتال به آنالوگ یا DAC، پورت های ورودی و خروجی یا GPIO ها، رابط های ارتباط سریال مانند USART و SPI و غیره دقیقا نقش همان واحد های گفته شده در کامپیوتر ها را برای میکروکنترلر ها دارند.
واحد های جانبی دیگر در کنار سی پی یو مانند تایمر ها و کانتر ها و موارد مشابه دیگر در میکروکنترلر نیز وظیفه کمک به سی پی یو برای کنترل سیستم های تحت کنترل آن را برعهده دارند.
تفاوت و شباهت های یاد شده در بالا به درک بهتر میکروکنترلر و سیستم های امبدد یا Embedded System یا سیستم های میکرو کنترلری کمک می کند و برای علاقمندان درک بهتری از آن را فراهم میکند.
میکروکنترلر ها در انواع وخانواده های بسیار متنوعی ساخته میشوند. مثلا میکروکنترلر های AVR از سری های ۸ بیتی و یا میکروکنترلرهای مبتنی بر معماری ARM از سری های ۳۲ بیتی از مهمترین شاخه های میکروکنترلر های مورد استفاده در امبدد سیستم ها Embedded System ها هستند.
در نوشتار بعدی درباره میکروکنترلر ها انشالله به ملاک های انتخاب میکروکنترلر برای طراحی سیستم های نهفته یا Embedded System خواهیم پرداخت.