امروزه سرعت در انجام فرایندها حرف اول را میزند. در کنار سرعت، دقت نیز امری ضروری است. نبود دقت و سرعت موجب خروج هر سیستمی از مدار خواهد شد. روزگاری برای انجام یک محاسبه ساده نیاز بود یک سیستم بهاندازه یک اتاق بزرگ بهکارگیری شود؛ اما رشد تکنولوژی و فناوری موجب شد هرروز سیستمها کوچکتر شوند تا جایی که امروز یک چیپ 5*5 میتواند کار یک کامپیوتر بزرگ را انجام دهد. میکروکنترلرها جدیدترین ساخته بشر است که باعث شده دقت و سرعت سیستم هرروز افزایش پیدا کند. امروزه حتی شاهد خانه های هوشمند هستیم که در این راستا آموزش هوشمند سازی ساختمان هم داده می شود.
در این مقاله ما قصد داریم درباره میکروکنترلر AVR صحبت کنیم. اینکه میکروکنترلر AVR چیست، چه اجزایی دارد و ساختار آن چیست. امید است بتوانیم این انگیزه را در شما ایجاد کنیم که به دنبال یادگیری علم میکروکنترلرها حرکت کنید.
میکروکنترلر AVR چیست
قبل از آنکه بدانیم میکروکنترلر AVR چیست، باید تعریفی از میکروکنترلر ارائه بدهیم. میکروکنترلر درواقع یک آیسی است، اما نه یک آیسی ساده. این قطعه دارایCPU، حافظههای ROM و RAM، پورت ورودی و خروجی و همچنین واحدهای جانبی دیگری نظیر تایمر و رابط سریال است. بهعبارتدیگر، میکروکنترلر قطعهای قابلبرنامهریزی است که استفاده از آن میتواند سرعت و کارایی مدار را افزایش دهد.
حال باید بدانیم میکروکنترلر ایویآر چیست؟ در پاسخ به این پرسش باید بگوییم میکروکنترلرها توسط شرکتهای مختلف تولیدشدهاند که به میکروکنترلر شرکت Atml میکروکنترلر avr گفته میشود. این میکروکنترلر 8 بیتی بوده و میتوان توسط کامپایلرهای زبانهای برنامهنویسی سطح بالا روی آن برنامهنویسی کرد.
درواقع میکروکنترلر AVR از قبل برنامهریزی میشود تا دستگاهها با حجم کوچکتر اما سرعت بالاتر به عملکرد خود ادامه دهند.
اولین میکروکنترلر AVR در سال 1996 ساخته شد و گفته میشود نام AVR برگرفته از ابتدای اسم سازندگان این تراشه یعنی Alf-Egil Bogen،Vegard Wollan و RISC عاریه گرفته شده است.
پیشنهاد دوره: دوره آموزش نصب سیستم اعلام حریق سفیر قرن، برای علاقه مندان این حوزه.
معرفی انواع میکروکنترلر AVR
انواع میکروکنترلر AVR در 4 سری مختلف تولید میشوند که هرکدام کارایی ویژه خود را دارند.
سری AT90s : این میکروکنترلر که منسوخ شده است، مدل توسعهیافته میکروکنترلر 8051 است. این میکروکنترلر، کمترین امکانات و کاربرد را در بین استفادهکنندگان دارد. معماری میکروکنترلر AVR در این سری براساس معماری خاص به نام HARWARD نوشته شده و ساختار بسیار سادهای داشته است.
سری ATiny : این میکروکنترلرها کوچک بوده و بسیار کممصرف هستند. قدرت این میکروکنترلرها بسیار بالا بوده و دارای حافظه Flash بین 0.5 تا 16 کیلوبایت و بستهبندی 6 تا 32 پایه است.
سری ATMega : حافظه Flash این میکروکنترلر بین 4 تا 512 کیلوبیت است و دارای بستهبندی بین 28 تا 100 پایه است. این میکروکنترلر AVR باهدف ایجاد دستورالعملهای قوی ساخته شده است.
سری XMega : جدیدترین و پرسرعتترین میکروکنترلر ایویآر است که دارای حافظه flash بین 16 تا 386 کیلوبیت است. این قطعه بستهبندی 44، 64 و 100 پایه دارد.
ساختار و معماری میکروکنترلر AVR چگونه است؟
همانطور که اشاره شد میکروکنترلر یک چیپ است که اجزای خاصی را درون خود جا داده است. این اجزا طبق یک ساختار و نظم جانمایی شدهاند که ما به آن ساختار میکروکنترلر AVR میگوییم. در این بخش ما ساختار و معماری میکروکنترلر را در دو بخش جداگانه شرح دادهایم، زیرا بر اساس معماری یک واحد ساختمانی است که ساختار نیز شکل میگیرد. معماری میکروکنترلر نیز مبنای ساختار این ساختمان الکترونیکی خواهد بود.
معماری میکروکنترلر در ابتدا به شکل ساده و به صورت حافظه Flash، SRAM و EEPROM روی میکروکنترلر گنجاندهشده بود و نیاز به حافظه جانبی از روی میکروکنترلر برداشتهشده بود. با پیشرفت فنّاوریهای AVR معماری میکروکنترلر به دو نوع متفاوت تبدیل گشت.
معماری CIS :CIS مخفف عبارت Complex Instruction Set Computer است. این معماری باهدف دستورالعمل برای هر عبارت نوشته شد که نیاز به یک زبان برنامهنویسی سطح بالا بود؛ اما بعد از قرارگیری یک زبان برنامهنویسی سطح بالا و ساختار پیچیده، طراحان متوجه شدند، سرعت پردازش و محاسبات در این میکروکنترلر پایین خواهد بود. به همین دلیل، طراحان ضمن حفظ ساختار از یک زبان برنامهنویسی سطح مقدماتی استفاده کردند که باعث شد سرعت اجرایی پایین بیاید.
معماری RISC :RISC مخفف عبارت Reduced Instruction Set Compute است. کلمه Redused به معنی کاهش یا کم کردن است و در این معماری نیز هدف کاهش مجموعه دستورات بود. کاهش دستور موجب کوتاه شدن زمان اجرا در میکروکنترلر میشود. این معماری که جدیدتر از نوع قبلی است، تعداد دستور کم شده اما سرعت اجرا زیادتر شده است. گفته میشود، سرعت اجرا در این معماری ده برابر بیشتر از نوع CIS است.
زبان برنامهنویسی در این معماری به زبان سطح بالا مانند برنامهنویسی C ارتقا پیدا کرده است.
آموزشگاه سفیر قرن دوره آموزش icdl برگزار می کند. برای اطلاعات بیشتر، روی لینک کلیک کنید.
بر اساس معماری میکروکنترلر، یک ساختار نیز برای این ابزار تعریف میشود. ساختار میکروکنترلرها شامل ادوات جانبی و حافظه دستگاه است که باعث میشود برنامه نوشته شده در میکروکنترلر اجرا شود. این ساختار که از واحدهای مختلف تشکیل شده عبارت است از:
هسته مرکزی CPU یا واحد پردازش مرکزی: این واحد تمام کارهای میکروکنترلر را مدیریت کرده و بر روی دادهها عملیات لازم را انجام میدهد. یکی دیگر از وظیفههای هسته مرکزیCPU، ارتباط با حافظههای موجود در میکروکنترلر است.
واحد محاسبه و منطق: Arithmetic logic Unit یا ALU که به آن واحد محاسبه و منطق نیز میگوییم، بهطور مستقیم با 32 رجیستر ارتباط دارد. رجیستر بهنوعی حافظه موقت است که از فلیپ فلاپ ساخته میشود و 8، 16 و 32 بیتی است.
واحد محاسبه و منطق وظیفه دارد کلیه عملیات محاسباتی و منطقی را با رجیسترهای همهمنظوره و در یک دوره تناوب انجام دهد. بهطورکلی، عملکرد ALU به سه قسمت اصلی ریاضی، منطقی و توابع بیتی تقسیمبندی میشود که این واحد طبق دستوری که در حافظه ذخیره کرده است عملیاتهای وظیفهای را انجام میدهد.
واحد کنترل کلاک: این واحد وظیفه تأمین کلاک میکرو را بر عهده دارد. کلاک مانند ضربان قلب است؛ قلب برای ضربان نیاز به انرژی دارد که ما به نام منابع آن را میشناسیم و منابع کلاک در میکروکنترلر به دودسته داخلی و خارجی تقسیم میشوند. منبع کلاک خارجی، کریستال خارجی و اسیلاتور داخلی ازجمله منابع کلاک هستند.
واحد تایمر: تایمر کانتر یکی دیگر از بلوکهای میکروکنترلر avr است. این واحد جدای از واحد cpu بوده و محاسبات زمانی را انجام میدهد. هرچند این واحد جدای از cpu است اما پردازنده آن را کنترل میکند.
واحد تایمر سگ نگهبان: این واحد از هنگ کردن میکروکنترلر Avr جلوگیری میکند.
واحد کنترل وقفه: پردازندهها زمانی که حالت وقفه نداشته باشند، مجبورند هرازگاهی به واحدهای دستوری (فرماندهی) سرکشی کنند تا ببینند دیتای خواستهشده آماده است یا نه که در بیشتر اوقات دیتا آماده نیست و وقت پردازنده تلف میشود؛ برای همین واحد کنترل وقفه به وجود آمده است تا پردازنده مدام یک سیکل را تکرار نکند. با فعال بودن این واحد، پردازنده آزاد است و تا زمانی که فرمانی صادر نشود پردازنده به صفحهکلید کار نداشته و کار خود را انجام میدهد.
واحد ارتباطی: یک پروتکل ارتباطی است که این امکان را میدهد که دستورات برنامهنویسی شده را خط به خط اجرا کند.
واحد مبدل آنالوگ به دیجیتال: همانطور که میدانید تمام کیتهای فیزیکی آنالوگ هستند و کمیتهای آنالوگ برای پردازش توسط میکروکنترلر باید ابتدا به دیجیتال تبدیل شوند؛ لذا این واحد ولتاژ ورودی آنالوگ را به کد دیجیتال مناسب تبدیل میکند.
واحد مقایسه کننده آنالوگ: این واحد که در میکروکنترلر avr وجود دارد دو موج آنالوگ را با یکدیگر مقایسه میکند. سرعت عملکرد این واحد در مقایسه با واحد مبدل آنالوگ به دیجیتال بیشتر بوده و همین سرعت بالا موجب شده این قسمت در میکروکنترلر َایویآر گنجانده شود.
واحد ارتباطات سریال: تبادل اطلاعات با محیط خارجی میکروکنترلر از طریق این واحد انجام میشود. در بعضی از میکروکنترلرهای AVR واحد ورودی و خروجی نیز قرار دارد که موازی با این واحد ارتباط با محیط خارج را انجام میدهند.
پیشنهاد دوره: کلاس آموزش نرم افزار هلو برای علاقه مندان حوزه حسابداری.
معرفی ویژگیهای میکروکنترلر AVR
به دلیل ویژگیهای میکروکنترلر Avr استفاده از این میکروکنترلر بسیار زیاد است. این ویژگیها عبارت است از:
ذخیرهسازی برنامه: یکی از مهمترین قابلیتهای این میکروکنترلر نسبت به همتایان خود امکان ذخیرهسازی برنامه است. در پردازندههای دیگر بعد از یکبار نوشتن برنامه دیگر امکان برنامهنویسی وجود ندارد و باید برنامه را پاک و مجدد برنامه را از ابتدا نوشت. دلیل چنین قابلیتی استفاده از کامپایلرهای برنامهنویسی است که برنامههای سطح بالا را به سطوح پایین و زبان ماشین ممکن میکند.
- قابلیت انتقال پایههای واحد داخلی از یک به پورت دیگر
- اجرای سیستمعاملهای مخصوص توسط یک میکروکنترلر قابلیتی است که در میکروکنترلرهای AVR پیشرفته دیده میشود.
- AVR امکان تبدیل چند ولتاژ آنالوگ به دیجیتال را برای شما فراهم میسازد.
- عملیات در این میکروکنترلر به دلیل استفاده از MCU یا Master Control Unit توانسته است حافظه Flash را افزایش داده که در نتیجه انجام عملیات در این میکروکنترلر بهینه شده است.
- قابلیت بهروزرسانی در میکروکنترلر ایویآر فراهم شده است.
- هماهنگی بین اجزا در این میکروکنترلر بسیار بالاست
- این امکان وجود دارد که کدهایی در میکروکنترلر avr استفاده شود که سایز کوچک داشته و سرعت پردازش را بالا ببرد.
- در این میکروکنترلر از سختافزار ضرب کننده استفاده شده است.
- تمام اجزای AVR در یک فضای چندسانتیمتری گنجانده میشود و همین امر باعث میشود که استفاده از این ابزار کاربردی شود.
معرفی اجزای AVR
اشاره شد که میکروکنترلر یک چیپ است که روی این چیپ مجموعهای از اجزاء واقع شده است. این چیپ مانند یک کامپیوتر عمل کرده و کار پردازش سیگنالهای ورودی را انجام میدهد. میکروکنترلر avr نیز خارج از این قاعده نیست و دارای اجزاء مختلفی است که عبارتاند از:
CPU: قلب و شاید فرمانده میکروکنترلر AVR سیپییو است. دستورات نوشتهشده را در حافظه خود ذخیره کرده و به دیگر اجزاء دیکته میکند. کار نظارت بر برنامهها را نیز انجام میدهد. یک سیپییو از بخشهای مختلف تشکیل شده است که عبارتاند از:
حافظه: حافظه انواع مختلفی دارد اما همه آنها کار ذخیره دستورات برنامه کد برنامه و رجیسترها را انجام میدهند. حافظه در میروکنترلر AVR فلش EEPROM و SRAM است.
رم یا RAM: میکروکنترلر برای ذخیره پشته متغیر و دادهها از رم استفاده میکند.
اسپلاتور ساعت: میکروکنترلرها برای پردازش منظم نیازمند کلاک پالس هستند. کلاک پالس سرعت پردازش میکروکنترلر را تنظیم میکند. هرچه قدر تعداد پالس بیشتر باشد سرعت پردازش نیز بیشتر میشود. اسیلاتور درواقع منبع پالس است.
ریست و واحد BOD: برای برگشت به حالت اولیه از ریست و واحد BOD استفاده میشود. واحد BODمیکروکنترلر را نیمه فعال میکند.
پورت ارتباطی: پورت ارتباطی باعث ارتباط دیگر میکروکنترلرها با میکروکنترلر AVR میشود.
پورت GPIO: این پورتها هم بهعنوان ورودی و خروجی فعالیت میکنند. درواقع، هم سیگنال آنالوگ ورودی را دریافت و سیگنال دیجیتال خروجی را پردازش میکنند که به دودسته ADC و DAC تقسیم میشوند.
تایمر: کنترل و تنظیم بازه زمانی برنامه میکروکنترلر را بر عهده دارند.
واچ داگ: Watchdog یک نوع تایمر در میکروکنترلر است که وظیفه ریست کردن میکروکنترلر را بر عهده دارد.
RTC: برای اندازهگیری دقیق زمان از این جزء میکروکنترلر استفاده میشود.
در آموزشگاه سفیر دوره آموزش نصب درب اتوماتیک هم برگزار می گردد. لطفا برای اطلاعات بیشتر، روی لینک مربوطه کلیک کنید.
کاربرد میکروکنترلر AVR چیست
همانطور که عنوان شد میکروکنترلر یک ic است؛ اما این ic یک پکیج است که قسمتهای مختلف روی آن قرار گرفته است. میکروکنترلرها برای کارکردن باید روی یک برد یا یک قطعه الکتریکی نصب شوند که پایهها این کار را انجام میدهند.
حال بسته به نوع پکیج و پینها، کاربرد میکروکنترلر AVR نیز تفاوت میکند. یک میکروکنترلر 8 بیتی که معمولاً سیستمعامل ندارد، تنها یک برنامه ساده را اجرا میکند؛ برای همین در قطعات الکتریکی ساده به کار گرفته میشود. اما میکروکنترلرهای 32 بیتی میتواند در صنایع به کار گرفته شود؛ مثلاً میکروکنترلر AVR سری Xmegaامکان پردازش سیگنالهای صوتی و تصویری را دارد که در صنایع دفاعی از آن استفاده میشود.
پس اگر بخواهیم بدانیم کاربرد میکروکنترلر AVR چیست، باید به نوع میکروکنترلر و مقدار بیت آن توجه کرد. بهطورکلی، میکروکنترلر در خودرو، سیستمهای پیشران، گوشیهای موبایل، مانیتورها، ریموت کنترلها، وسایل پزشکی و امروزه مشاهده میشود که میکروکنترلرهای 64 بیتی در اینترنت اشیاء به کار گرفته میشود.
مزایای میکروکنترلرهای ای و ی آر
مزایای میکروکنترلرهای ای وی آر چیست؟ برای نوشتن مزیت میکروکنترلر AVR مزیت این میکروکنترلر را نسبت به دیگر کنترلگرها مینویسند. ازاینرو میتوان به موارد زیر اشاره کرد:
- سرعت میکروکنترلر AVR بالاتر از دیگر میکروکنترلرهاست.
- از زبانهای برنامهنویسی سطح بالا پشتیبانی میکند که موجب میشود کدهای دستوری بیشتری نوشته شود.
- میتواند با دیگر میکروکنترلرها ارتباط برقرار کند.
- از لوازم جانبی خوبی برخوردار است.
- قیمت ارزانتری نسبت به دیگر میکروکنترلرها دارد.
کلام پایانی
در این مطلب به قابلیتهای میکروکنترلر AVR پرداخته شد. امروزه در آموزش میکروکنترلرها بهعنوان یک علم جدید یاد میشود. مهندسهای زیادی در دنیا حضور دارند که بهواسطه برنامهنویسی میکروکنترلرها به افراد ثروتمندی تبدیل شدهاند. میکروکنترلر avr نیز از این قاعده مستثنا نیست و شما میتوانید با آموزش این ابزار و یادگیری برنامهنویسی آن قدمی بزرگ در راه موفقیت بردارید.
لازم به ذکر است که آموزشگاه سفیر قرن، دوره های مختلف برای آموزش حسابداری، برق صنعتی، هوشمندسازی ساختمان و ... برگزار میکند. از جمله این دوره ها می توان به دوره آموزش نصب دوربین مدار بسته، دوره نصب آنتن مرکزی، آموزش نرم افزار هلو و بسیاری دوره های کاربردی دیگر اشاره کرد. می توانید برای اطلاعات بیشتر با ما تماس بگیرید.