در آموزش کاربردی AVR میخواهیم به زبان خیلی ساده، نحوه کارکرد میکروکنترلر و میکروپروسسورها را بررسی کنیم. به همین دلیل، خیلی وارد مباحث فنی و پیچیده نمیشویم و با یک دید کلی در مورد نحوه عملکرد و تاریخچه آنها پیش میرویم.
در آموزش کاربردی AVR قصد داریم، تاریخچهای از آن را نیز ارائه کنیم. هر چند، شاید ندانستن تاریخچهی یک وسیله، برای کار با آن چندان اهمیتی نداشته باشد. مخصوصاً وقتی که شما تشنهی یادگیری هستید و میخواهید هر چه زودتر به سراغ آموزش اصلی بروید! اما به عنوان یک مهندس الکترونیک، هر چقدر به پیشینه و روند ساخت یک دستگاه آشناتر باشید، میتوانید هوشمندانهتر عمل کنید. همین طور بد نیست کمی از تاریخچه پیشرفت تکنولوژی آن را نیز بدانید!
ریزپردازنده (میکروپروسسور) بهزبان ساده!
میکروپروسسور عملیات خواستهشده را بر روی ورودیها انجام داده و نتیجه را به شما تحویل میدهد. اگر میخواهید بدانید CPU یا همان ریزپردازنده، چگونه این کار را انجام میدهد، لازم است تا ابتدا مروری کوتاه بر درس مدار منطقی داشته باشیم و سپس در ادامه نحوه عملکرد CPU را توضیح خواهیم داد.
مروری بر درس مدار منطقی
مدارات ترکیبی
خصوصیت مدارهای ترکیبی این است که خروجی آن، به مقدار ورودی در همان لحظه وابسته است. یعنی شما هر ورودی در این لحظه به آن بدهید، در همان موقع نتیجه را در خروجی دریافت خواهید کرد.
مدارات ترتیبی
اما در ادامه مدارات منطقی ترتیبی نیز معرفی شدند که میتوانستند عملیات را مرحلهبهمرحله انجام بدهند. یعنی نتیجه مرحله قبل، به مرحله بعدی منتقل میشود. معمولاً مدارهای ترتیبی، برای اجراشدن بهصورت مرحلهبهمرحله، به کلاک یا پالس ساعت نیاز دارند. به همین دلیل سرعت پردازش اطلاعات به پالس ساعت وابسته است. در مدارات ترتیبی، حافظه و فلیپ فلاپ ها نیز وجود دارند. جالب است بدانید مدارات ترتیبی، خود از مدارات ترکیبی و عناصر حافظه تشکیلشدهاند. ازآنجاییکه مدارات ترتیبی، برای کار کردن نیاز به یک پالس ساعت یا کلاک دارند، معمولاً سرعت عملکرد آنها برحسب کلاک یا پالس ساعت سنجیده میشود.
نحوه عملکرد CPU
همانطور که در بالاتر نیز به آن اشاره شد، به کمک گیتهای منطقی میتوان عملیاتهای منطقی و حسابی مختلفی مثل جمع و تفریق و مقایسه و… را انجام داد. در میکروپروسسور بخشی بانام ALU یا واحد منطق و حساب وجود دارد. میکروکنترلر در طی سالها پیشرفت بسیار زیادی کرده است، اما تقریباً میتوان گفت با ترکیبی از همین مدارات ترکیبی و ترتیبی و باسها و… میتوان یک ALU را به وجود آورد. برای مثال، مدار ALU ساده یک تراشه چهار بیتی 74181 بهصورت زیر است:
واحد محاسبه و منطق تنها یکی از واحدهای CPU است و با نماد زیر بهصورت خلاصه در مدار نمایش داده میشود:
حال، به بلوک دیاگرام کل CPU دقت کنید:
میکروکنترلر چیست؟
میکروکنترلر، تراشهای است که تمام اجزای بالا را درون خود جایداده است! میکروکنترلر درواقع یک مینی کامپیوتر است که تمام اجرای موردنیاز برای راهاندازی مثل RAM،ROM، پورتهای I/O و… را دارد! یعنی شما یک تراشه کوچک و ارزانقیمت در دست دارید که تنها با متصل کردن تغذیه آن، روشنشده و برنامهای که شما برایش نوشتید را اجرا میکند! قسمت عمدهای از کار مدار بالا را میتوان تنها با تراشه زیر انجام داد
میکروپروسسورها نه تنها باعث کاهش چشمگیر حجم مدار میشوند، بلکه هزاران مزیت دیگر نیز دارند. ازجمله این مزیتها میتوان به کاهش هزینه نهایی، کاهش جریان مصرفی، عیبیابی و توسعه راحتتر و… نیز اشاره کرد.
میکروپروسسورها در ابعاد و اندازههای مختلف، با ویژگیهای متفاوت عرضه شدهاند
برای مثال در پروژههایی مثل ماشین لباسشوییهای هوشمند، گلخانههای هوشمند، کنترل از راه دور، اینترنت اشیاء، بردهای آردوینو و… سروکلهی میکروکنترلرها پیدا میشود.
تفاوت میکروکنترولر و میکروپروسسور
اگر تا اینجای مقاله را مطالعه کرده باشید، احتمالاً جواب این سؤال را میدانید!
برخی از تفاوتهای میکروکنترلر و میکروپروسسور:
- میکروپروسسور تنها شامل CPU است، در حالی که میکروکنترلر اجزای دیگری مثل RAM، ROM واحدهای جانبی و… دیگری نیز دارد.
- حافظه و بسیاری از مشخصات دیگر میکروپروسسورها را میتوان افزایش داد، اما برای تعویض یا ارتقای یک ویژگی در میکروکنترلر، آن میکروکنترلر میبایست از عمل مورد نظر پشتیبانی کند.
- طراحی و عیب یابی یک مدار با استفاده از میکروکنترلر بسیار سادهتر از طراحی آن با میکرو پروسسور است.
توجه داشته باشید که این مقایسه به این معنا نیست که شما باید یکی از این دو را کنار بگذارید، هر کدام از آنها خواص و ویژگیهایی دارند که میتوان از آن در جای مربوطه استفاده کرد.
تاریخچه میکروکنترلرها
اولین میکروکنترلر بانام 4004 در سال 1971 توسط شرکت intel ساخته شد. این میکروکنترلر 4 بیتی بود و تنها چهار عمل اصلی را انجام میداد. منظور از چهار بیتی بودن این است که میکروکنترلر با هر پالس ساعت، چهار بیت یا نیم بایت (یک نیبل nibble) را پردازش میکند. این میکروکنترلر تنها بهعنوان اولین میکروکنترلر شناخته میشود، اما اولین میکروکنترلر کاربردی بانام 8080 از همان شرکت در سال 1980 روانه بازار شد. میکروکنترلرها عموماً برای کاربردهای کوچک طراحی میشوند، بنابراین برخلاف ریزپردازندهها، در اینجا مهمترین مسائل، سادگی و مصرف کمتوان است. پسازآن نیز صنعت میکروکنترلر پیشرفت بسیار زیادی کرد و میکروکنترلر هایی مثل 8051، AVR،PIC،ARM و… روانه بازار شدند.
تاریخچه میکروکنترلر avr
با توجه به اینکه AVR ساختار داخلی سادهای دارد، میتوان آن را برای یادگیری و شروع ورود به دنیای میکروکنترلرها انتخاب کرد. فرض کنید بتوانید با استفاده از یک میکروکنترلر کامپیوتر کوچک خودتان را بسازید و وظایفی رو به آن بسپارید تا برایتان انجام بدهد. قطعاً خیلی جذاب خواهد بود. همچنین ازآنجایی که AVR در دو پکیج DIP و SMD ساخته میشود. بنابراین شما هم قادر خواهید بود تا آن را بر روی بِردبُرد تست کنید، و هم میتوانید با استفاده از آن بردهای خیلی کوچک بسازید.
در قسمت بعد آموزش، بهطور خاص به معماری داخلی میکروکنترلر AVR میپردازیم
منبع:سیسوگ