آنچه در این مقاله میخوانید :
Toggleمیکروکنترلر یک مدار یکپارچه (IC) است که نقش یک کامپیوتر کوچک را در محاسبات و پردازشها بازی میکند. هر میکروکنترلر دارای یک واحد پردازش و مقدار کمی حافظه (RAM، ROM یا ...)، چندین پورت IO برای اتصال به تجهیزات جانبی، تایمر و اجزای ضروری مدار است. ARM و AVR دو عضو از خانواده میکروکنترلرها هستند. اصلیترین تفاوت میکروکنترلر ARM با AVR این است که ARM همزمان با داشتن قابلیتهای یک میکروکنترلر، یک میکروپردازشگر نیز هست.
بهویژه، تفاوت میکروکنترلر ARM با AVR از تفاوت معماری آنها، ساختار، سرعت، حافظه، توان مصرفی، عرض باس و ...، نشأت میگیرد. در ادامه، میکروکنترلرهای ARM و AVR را بهطور کاملا خلاصه معرفی میکنیم تا ذهنیت برای ارائه تفاوتهای اصلی آنها ایجاد شود.
میکروکنترلر ARM
میکروکنترلر ARM برای پروژههای امبد مختلف و در انواع صنایع کاربرد دارد. از مهمترین ویژگیهای آن قیمت پایین و عملکرد مناسب آن است که این میکروکنترلر را به محبوبیت بالایی رسانده است. استفاده در سیستمهای کنترلی، مدارهای وایرلس، دستگاههای حسگر و کاربرد آن در بخش طراحی و تولید خودرو تنها بخشی از رده بالای کاربردهای میکروکنترلر ARM است.
جزئیات و ساختار میکروکنترلر ARM
کلمه ARM مخفف Advanced RISC Machine است که به معماری RISC به عنوان هسته طراحی میکروکنترلر اشاره دارد که خود یک پیکربندی کامپیوتری رایج است. این ماژول ۳۲ بیتی در سال ۱۹۸۷ توسط شرکت Acron Computers ساخته شد. در حال حاضر اصلیترین تولید کنندگان میکروکنترلر ARM شرکتهای ST Microelctronics و Motorola هستند.
این ماژول در طبقهبندیهای مختلفی چون ARMv1 و ARMv2 عرضه میشود که هرکدام ویژگیهای خاص خود را دارند. مشابه با اصول پیکربندی RISC، در میکروکنترلر RISC از ترانزیستورهای کمتر استفاده میشود تا اندازه آن از حد معینی تجاوز نکند. از میکروکنترلر ARM در تجهیزات متعددی چون موبایل، تبلت، ساعت هوشمند و بسیاری تجهیزات الکترونیکی دیگر بهره گرفته میشود.
استفاده از ریجسترهای مختلف در برد میکروکنترلر تغییر ظرفیت حافظه را ممکن میکند. مجموعه بالایی از دستورالعملها در برد میکروکنترلر ARM تعبیه شدهاند، اما عملکرد اصلی و هدف، کاهش زمان موردنیاز برای هر دستورالعمل است.
پردازنده مورد استفاده در میکروکنترلر ARM، Cortex M3 است که ۳۲ بیتی و پرسرعت است (هرچند انواع ۶۲ بیتی نیز عرضه میشوند). همچنین، برد آن یک ساختار سهمرحلهای دارد که خود کمک شایانی به اجرای سریعتر دستورالعملها و سرعت کلی قطعه میکند.
میکروکنترلر AVR
میکروکنترلر AVR یک تراشه الکترونیکی است که توسط شرکت Atmel تولید میشود. معماری این میکروکنترلر ۸ بیتی نیز بر اساس پیکربندی RISC است. میکروکنترلرهای AVR در قطعات جانبی کامپیوترها، کنترل ماشینآلات صنعتی، تجهیزات ارتباطی، لوازم خانگی و ...، کاربرد دارند.
AVR جزء اولین میکروکنترلرهایی بود که، برخلاف رمها که فقط یکبار امکان برنامهریزی داشتند، از حافظه فلش برای ذخیره برنامه و درنتیجه، برنامهریزی دوباره در میکروکنترلر، استفاده میکرد. جالب است بدانید که این میکروکنترلرها توسط دو دانشجوی نروژی، Alf Bogen و Vegard Wolla، طراحی شدهاند.
اولین دسته از این میکروکنترلرها AT90S5815 بود که پیناوت مشابهی با میکروکنترلر ۸۰۵۱ داشت. معماری میکروکنترلر AVR از استاندارد MHA یا معماری اصلاحشده هاروارد تبعیت میکند که در آن، برنامه و دادهها در سیستم حافظه فیزیکی جداگانهای ذخیره میشوند.
میکروکنترلر AVR سرعت نسبتا بالایی دارد، میتوان بارها آن را بازنویسی و پاک کرد و از ISP و IAP پشتیبانی میکند، بنابراین، برای فعالیتهای برنامهنویسی رفعاشکال یا دباگینگ، توسعه نرمافزاری، تولید و بهروزرسانی بسیار موثر است. این میکروکنترلر همچنین از قابلیت SLEEP بهره میبرد تا در زمانهای عدم فعالیت، انرژی کمتری را مصرف کند.
تفاوت میکروکنترلر ARM با AVR
حال که با انواع میکروکنترلر ARM و AVR آشنا شدید، به تفاوتهای اساسی این دو میپردازیم تا چشمانداز بهتری از کاربردها و ویژگیهای متقابل هر دو میکروکنترلر داشته باشید و در زمان نیاز بهترین نوع را انتخاب کنید.
- اولین تفاوت میکروکنترلر Arm با AVR مربوط است به نام این قطعات: AVR مخفف Advanced Virtual RISC است و ARM مخفف Advanced Risc Microcontroller که در هر دو آنها به پیکربندی RISC نیز اشاره شده است.
- میکروکنترلر AVR، علاوه بر فرمت اولیه ۸ بیتی، در ساختار ۳۲ بیتی نیز عرضه میگردد؛ اما ARM تنها در قالب ۳۲ بیتی در بازار عرضه میشود.
- میکروکنترلر AVR عطش بیشتری برای مصرف انرژی دارد. در حالی که، ARM Cortex-M0 نسبتا کم مصرف است.
- انواع میکروکنترلر ARM از میکروکنترلرهای AVR با عملکرد و توان مشابه، ارزانترند.
- رده میکروکنترلرهای ARM بسیار گستردهتر است و تقریبا برای هر کاربردی، یک میکروکنترلر ARM در بازار یافت میشود.
- شرکتهای بیشتری وجود دارند که میکروکنترلرهای ARM را تولید و عرضه میکنند (Apple, Nvidia, Qualcomm, Samsung). در حالی که انواع AVR انحصاریتر و توسط چند شرکت محدود عرضه میشوند (محدود به Atmel).
- در میکروکنترلر ARM از پروتکل ارتباطی SPI، CAN، ۱۲S، DSP، SAI، UART، USART استفاده میشود. در AVR، ART، USART، SPI، ۱۲C مورد استفاده قرار میگیرد.
- در میکروکنترلر AVR از حافظه Flash، SRAM، EEPROM استفاده میشود. در میکروکنترلر ARM از Flash، SDRAM و EEPROM استفاده میگردد.
- زیرمجموعههای AVR شامل Tiny، Atmega، Xmega، SPAVR است. برای ARM، زیرمجموعهها عبارتاند از ARM4,5,6,7 و سریها.
- محبوبترین انواع میکروکنترلر AVR عبارتاند از: Atmega8, 16, 32 و Arduino Community.
- محبوبترین انواع میکروکنترلر ARM عبارتاند از: LPC2148، ARM Cortex-M0 تا Cortex-M7 و ... .
میکروکنترلرها کامپیوترهای کوچکی هستند که بر روی یک تراشه IC تعبیه شدهاند. هر میکروکنترلر یک یا چند CPU (هستههای پردازشی) دارند که همراه با یک حافظه و تجهیزات جانبی قابلبرنامهریزی، امکان پردازش، کنترل تجهیزات و تحقق دستورالعملها در مدارها را ممکن میسازند.
در دنیای دیجیتال مدرن، میکروکنترلر میتواند در قالب خانواده SoC یا سیستم بر روی تراشه، دستهبندی شود. یک SoC امکان اتصال تراشههای میکروکنترلر خارجی به عنوان جزئی از مادربرد را ممکن میسازد. SoC همچنین، اجزای دیگری چون واحد پردازش گرافیکی (GPU) و ارتباطات Wi-Fi را در قالب یک پکیچ پردازشی تجمیع میکند.
در واقع، SoC نقطه آغاز طراحی میکروکنترلرها است و اگر شما نیاز به یادگیری عملکرد و نحوه ارتباط میکروکنترلرهای ARM و AVR یا هر میکروکنترلر دیگر دارید، باید از مفاهیم SoC شروع کنید.
سوالات متداول
محدودیت میکروکنترلرهای ARM در چیست؟
• ARM با برنامههای x86 مانند سیستم عامل ویندوز سازگاری ندارد.
• در پردازشهای با حجم بالا، دستورالعملهای ساده کارایی لازم را ندارند و سرعت افت میکند.
• ظرفیت محاسباتی ARM محدود است.
ریجسترهای اصلی AVR کدامند؟
این میکروکنترلرها به عنوان PORTx, DDRx و PINx طراحی میشوند.
اصلیترین تفاوت میکروکنترلر AMR با AVR چیست؟
علاوه بر میکروکنترلر بودن، ARM یک میکروپردازنده نیز هست. معماری و مجموعه دستورالعملهای متفاوتی دارند. سرعت، حافظه، توان مصرفی و عرض باس در آنها متفاوت است.
دیدگاهتان را بنویسید