ARM,HOLTEK یا AVR؛کدام میکروکنترلر مناسب پروژه شماست؟
حتما برای شما هم پیش آمده که شروع به ساخت یک پروژه کرده باشین و بعد از کلی کدنویسی، تلاش و انرژی، دیباگ نتیجه نگیرید و متوجه بشید که اصلا میکروکنترلری که انتخاب کردید درست نبوده؛ نکته ای که هنگام تعریف یک پروژه باید به آن توجه کرد، انتخاب مناسب میکروکنترلر ازمیان انواع مختلف میکروکنترلرها می باشد که در تیراژ بالا اهمیت آن چندین برابر می شود. در انتخاب میکروکنترلر مناسب تعدادی از ملاحظات فنی و تجاری وجود دارد که باید در نظر داشت:
- چه تجهیزات جانبی سخت افزاری مورد نیاز است؟
- آیا ارتباطات خارجی مورد نیاز است؟
- از چه معماری باید استفاده کرد؟
- چه نوع منابعی برای میکروکنترلر موجود است؟
- در دسترس بودن میکروکنترلر در بازار چقدر است؟
در این مقاله با معرفی میکروکنترلرهای AVR , ARM , HOLTEK که بیشتر در دسترس هستند؛ به شما کمک خواهیم کرد تا بتوانید میکروکنترلر درست را طبق نیازتان انتخاب کنید. پس تا انتهای این مقاله همراهمان باشید.
میکروکنترلر چیست؟
میکروکنترلر (Microcontroller) در اصل یک چیپ الکترونیکی برنامه پذیر است که با اتصال قطعات مختلف در یک مدار الکترونیکی، اجزای یک کامپیوتر ساده را فراهم می کند. از میکروکنترلر برای ساخت، کنترل و مانیتورینگ انواع سیستم های الکترونیکی استفاده می شود که با برنامه ریزی واحدهای میکروکنترلر و تجهیزات جانبی فعال می گردد.
اجزای اصلی یک میکروکنترلر عبارتند از:
واحد پردازش مرکزی (CPU): عبارت «CPU» مخفف «Central Processing Unit» است، به معنی «واحد پردازش مرکزی» در واقع یک چیپ الکترونیکی کوچک اما قدرتمند است که در دستگاههای مختلف نقش پردازشگر و کنترلکننده اطلاعات را بر عهده دارد.این بخش مسئول اجرای دستورات و پردازش دادهها است که شامل واحد حساب و ریاضی (ALU)، رجیسترها، واحد کنترل و دیگر واحدهای مربوط به پردازش دادهها میشود.
حافظه: میکروکنترلر دارای حافظههای مختلفی است که برای ذخیرهسازی دادهها و برنامهها استفاده میشوند. حافظههای اصلی شامل حافظه خواندن و نوشتن تصادفی (RAM) برای ذخیرهسازی دادهها در حین اجرا و حافظه فلش (Flash) برای ذخیرهسازی برنامهها میباشد.
واحد ورودی/خروجی (I/O): این واحد مسئول ارتباط با دنیای بیرون است. شامل پورتهای دیجیتال (Digital) و آنالوگ (Analog) برای اتصال به سنسورها، دکمهها، نمایشگرها و سایر دستگاههای جانبی است.
تایمرها و شمارندهها (Timers and Counters): این اجزا برای اندازهگیری زمان، تولید سیگنالهای تایمر و اعمال تاخیرها در برنامهها استفاده میشوند.
مبدلهای آنالوگ به دیجیتال و دیجیتال به آنالوگ (ADC و DAC): این اجزا برای تبدیل سیگنالهای آنالوگ به دیجیتال و بالعکس مورد استفاده قرار میگیرند.
ماژولهای ارتباطی: برخی از میکروکنترلرها دارای ماژولهای ارتباطی مثل UART، SPI و I2C هستند که برای ارتباط با دستگاههای دیگر مانند سنسورها، ماژولهای بیسیم و دستگاههای جانبی دیگر استفاده میشوند.
این اجزا به طور کلی اجزای اصلی یک میکروکنترلر را شامل میشوند. البته، تراشههای میکروکنترلر مختلف ممکن است اجزا و ویژگیهای متفاوتی داشته باشند، اما این اجزا عموماً در بیشتر میکروکنترلرها وجود دارند.
میکروکنترلرهای AVR , ARM , HOLTEK
AVR
میکروکنترلر AVR یکی از اولین خانواده های میکروکنترلر بود که در سال 1996 توسط Alf-Egil Bogen و Vegard Wollan دو محقق و دانشجوی نروژی طراحی و توسط Atmel توسعه یافت. این میکروکنترلر از حافظه فلش روی تراشه برای ذخیره سازی برنامه استفاده کرد و آن را از سایر میکروکنترلرهایی که در آن زمان به ROM، EPROM یا EEPROM که یکبار قابل برنامه ریزی بودند، متمایز کرد.
معماری AVR نوعی میکروکنترلر 8 بیتی RISC است. اولین میکروکنترلرAVR،ا AT90S1200 که در سال 1997 عرضه شد. دارای یک CPU ساده 8 بیتی، 1 کیلوبایت حافظه فلش، 64 بایت SRAM و 32 خط ورودی/خروجی همه منظوره بود.
معماری میکروکنترلر اصلی AVR در موسسه فناوری نروژ توسط Nordic VLSI در تروندهایم نروژ توسعه داده شد و به عنوانMicro RISC شناخته شد. Atmel معماری داخلی را با همکاری نویسندگان کامپایلر در IAR Systems توسعه داد تا از کامپایل کارآمد زبانهای سطح بالا اطمینان حاصل شود.
در سال 2016 خانواده میکروکنترلر AVR توسط Microchip Technology خریداری شد. طی سالها، در ابتدا Atmel بعدها Microchip، خانواده AVR را با مدلهای قدرتمندتر و با ویژگیهای غنیتر گسترش دادند، از جمله:
سری ATmega (2001):
سری ATmega به محبوب ترین و پرکاربردترین میکروکنترلرهای AVR تبدیل شد که دارای حافظه Flash بین 4 تا 512 کیلوبایت بوده و دارای بستهبندی بین 28 تا 100 پایه است. این میکروکنترلر AVR باهدف ایجاد دستورالعملهای قوی ساخته شد.
سری ATtiny (2002):
سری ATtiny میکروکنترلرهای AVR کوچکتر و کم مصرف با حافظه Flash بین 0.5 تا 16 کیلوبایت و بستهبندی 6 تا 32 پایه را برای کاربردهای ساده تعبیه شده است.
:(2008)XMega AVR
XMEGA تعدادی پیشرفت در معماری کلاسیک AVR ارائه کرد، از جمله هسته CPU قدرتمندتر، حافظه Flash 8 تا 384 کیلوبایت در بسته بندی 32-44-64-100 پایه با مجموعه جانبی توسعه یافته می باشد.
سری SAM مبتنی بر (2012)Atmel:
سری SAM حول هسته های پردازنده ARM Cortex-M ساخته شده است که شامل انواع Cortex-M0، Cortex-M3 و Cortex-M4 می شود و طیف وسیعی از گزینه های حافظه از جمله Flash ، SRAM و EEPROM را با اندازه های معمولی فلش از 32 کیلوبایت تا 2 مگابایت ارائه می دهد.
از کامپایلرهای AVR عبارتند از:
- Atmel Studio
- WINAVR
- IAR Embedded Workbench
- BASCOM
- CODVISION
رابط های ارتباطی میکرو کنترلر AVR:
- USART
- SPI
- TWI
- CAN
علاوه بر این رابطهای ارتباطی استاندارد، برخی از میکروکنترلرهای AVR ممکن است بسته به مدل خاص و برنامههای هدف آن، شامل تجهیزات جانبی ارتباطی تخصصی مانند USB ، LIN و IRDA نیز باشند.
نقاط عطف در تاریخچه میکروکنترلر AVR :
2006: معرفی ATmega328P که به هسته پلتفرم محبوب آردوینو تبدیل شد.
2011: عرضه اولین میکروکنترلرهای AVR 32 بیتی سری SAM3 و SAM4.
2016: خرید Atmel توسط Microchip، تثبیت میکروکنترلرهای AVR به عنوان یک خط تولید کلیدی.
امروزه میکروکنترلرهای AVR به طور گسترده در انواع سیستمهای تعبیهشده از جمله لوازم الکترونیکی مصرفی، اتوماسیون صنعتی، برنامههای کاربردی خودرو و دستگاههای IoT استفاده میشوند. آنها به دلیل مصرف انرژی کم، تجهیزات جانبی غنی و سهولت استفاده، شناخته شده اند که آنها را به یک انتخاب محبوب برای علاقمندان و مهندسان حرفه ای تبدیل می کند. معماری AVR با بهبودهای مداوم در عملکرد، بهره وری انرژی و مجموعه ویژگی ها به تکامل خود ادامه می دهد و ارتباط آن را در دنیای همیشه در حال تغییر سیستم های تعبیه شده تضمین می کند.
ARM
میکروکنترلرهای ARM تاریخچه جالبی دارند. همه چیز در دهه 1980 در Acorn Computers Ltd در کمبریج، انگلستان آغاز شد.
Acorn که به خاطر ایجاد کامپیوترهای خانگی مانند BBC Micro و Acorn Electron شناخته می شد، تصمیم گرفت جانشینی برای BBC Micro ایجاد کند. برای رسیدن به این هدف، آنها به یک طراحی پردازنده جدید نیاز داشتند که منجر به تولد معماری ARM شد. اولین طراحیARM ( Acorn RISC Machine) در اواخر سال 1983 یا اوایل سال 1984 شروع شد.این پردازنده ،سیستم کامپیوتری را قادر می ساخت که از دستور العمل های ساده تر برای انجام سریعتر استفاده کند. بنابراین معماری بسیار ساده و تنها با 25000 ترانزیستور قابل پیاده سازی بود.
در اوایل دهه 1990، ARM Limited به عنوان یک سرمایه گذاری مشترک بین Acorn، Apple و VLSI Technology برای توسعه و تجاری سازی بیشتر معماری ARM تشکیل شد. این منجر به ایجاد هسته های پردازنده ARM6 و ARM7 شد که به طور گسترده در انواع سیستم های تعبیه شده و لوازم الکترونیکی مصرفی مورد استفاده قرار گرفت.
ARM7TDMI که در سال 1994 عرضه شد، نقطه عطف ویژه ای بود. این هسته پردازنده معماری RISC 32 بیتی، مصرف انرژی کم و مجموعه دستورالعمل جامعی را ارائه میداد که آن را برای طیف گستردهای از برنامهها از جمله تلفنهای همراه، دوربینهای دیجیتال و سیستمهای کنترل صنعتی مناسب میساخت.
همانطور که معماری ARM به تکامل خود ادامه می داد، نسل های بعدی هسته های ARM معرفی شدند که هر کدام بهبودهایی در عملکرد، بهره وری انرژی و مجموعه ویژگی هایی داشتند. اینها شامل هسته های پردازنده های ARM9، ARM11، Cortex-M و Cortex-A بود.
نکته ای که در مورد شرکت ARM باید به آن اشاره کرد این است که این شرکت یک سازنده تراشه نیست،بلکه تنها امتیاز تولید هسته های طراحی شده را به شرکت های تولیدکننده نیمه هادی واگذار میکند.
برخی از خانواده میکروکنترلرهای محبوب ارائه شده توسط ARM عبارتند از:
سری Cortex-M:
Cortex-M0، M0+، M3، M4، M7، M23 و M33 میکروکنترلرهای 32 بیتی کم مصرف و با کارایی بالا هستند.که به طور گسترده در کاربردهای مختلفی مانند دستگاه های اینترنت اشیا، کنترل صنعتی و لوازم الکترونیکی مصرفی استفاده میشوند.
سری Cortex-R:
Cortex-R4، R5، R7 و R8 برای کاربردهای حیاتی و بیدرنگ طراحی شدهاند که معمولاً در سیستم های کنترل خودرو، هوافضا و صنعتی استفاده میشوند.
سری Cortex-A:
Cortex-A5، A7، A9، A12، A15، A17، A32، A35، A53، A57، A72 و A73 پردازنده های کاربردی با کارایی بالا هستند که در گوشی های هوشمند، تبلت ها و دیگر سیستم های تعبیه شده سطح بالا استفاده میشوند.
از دیگر خانواده های میکروکنترلر مبتنی بر ARM عبارتند از:
- میکروکنترلرهای مبتنی بر ARM Cortex-M0 و M0+ ، مانند: سری STM32F0، LPC800، و KL0x.
- میکروکنترلرهای مبتنی بر ARM Cortex-M3، مانند: سری STM32F1، LPC1300 و Kinetis K6x.
- میکروکنترلرهای مبتنی بر ARM Cortex-M4، مانند: سری STM32F4، LPC4300 .
- میکروکنترلرهای مبتنی بر ARM Cortex-M7، مانند: سری STM32F7، i.MX RT و LPC54S00.
- میکروکنترلرهای مبتنی بر ARM Cortex-M23 و M33، مانند: سری STM32L5، LPC55S6x، و Kinetis K3x.
این میکروکنترلرهای مبتنی بر ARM طیف گسترده ای از ویژگی ها مانند مصرف انرژی کم، عملکرد پردازشی بالا، تجهیزات جانبی یکپارچه و پشتیبانی از پروتکل های ارتباطی مختلف را ارائه می دهند. آنها به طور گسترده در برنامه های کاربردی تعبیه شده، از جمله اتوماسیون صنعتی، لوازم الکترونیکی مصرفی، دستگاه های مراقبت های بهداشتی و اینترنت اشیا (IOT) استفاده می شوند.
ترکیب معماری ARM از عملکرد، بهره وری انرژی و اکوسیستم گسترده ابزارها و نرم افزارهای توسعه، آن را به انتخاب برتر برای طراحی های میکروکنترلر در سراسر جهان تبدیل کرده است.
از تولیدکنندگان میکروکنترلرهای ARM شامل شرکت های نیمه هادی مانند STMicroelectronics، NXP، Microchip و Texas Instruments و … هستند که معروف ترین آن ها در ایران میکروکنترلرهای شرکت STM با نام STM32 و STM8 هستند که با هستههای ARM Cortex-M0 تا Cortex-M7 و Cortex-A7 تا Cortex-A53 تولید میشوند. تکامل مداوم میکروکنترلرهای مبتنی بر ARM نقش مهمی در رشد سیستمهای تعبیهشده و صنایع IOT ایفا کرده است.
از کامپایلر های میکروکنترلر های ARM عبارتنداز :
- Keil
- IAR
- WinARM
- CrossWorks
- Flowcode ARM
- ARM AD
همچنین از رابط های ارتباطی میکروکنترلر ARM:
- UART
- SPI
- I2C
- CAN
- شبکه محلی کابلی
- USB
- JTAG
علاوه بر این رابطهای ارتباطی استاندارد، میکروکنترلرهای ARM ممکن است شامل تجهیزات جانبی ارتباطی تخصصی مانند LIN، MIPI وIEEE 802.15.4 باشند.
انتخاب رابط ارتباطی در طراحی مبتنی بر ARM به الزامات برنامه مانند سرعت داده، توپولوژی شبکه، سازگاری پروتکل و مصرف انرژی بستگی دارد. توسعه دهندگان می توانند از طیف گسترده ای از رابط های ارتباطی موجود در میکروکنترلرهای ARM برای ادغام طرح های خود در انواع سیستم ها و شبکه های ارتباطی استفاده کنند.
25 میکروچیپ که دنیا را متحول کرد
HOLTEK
Holtek Semiconductor در سال 1983 در Hsinchu تایوان تاسیس شد. این شرکت به عنوان طراح و سازنده مدارهای مجتمع سفارشی با تمرکز بر میکروکنترلرها و محصولات آی سی آنالوگ شروع به کار کرد.
در سال های اولیه، Holtek مجموعه ای از میکروکنترلرهای 8 بیتی را بر اساس معماری کلاسیک 8051 توسعه داد. این MCU های اولیه مبتنی بر 8051، مانند سری HT48 و HT51، به طور گسترده در انواع لوازم الکترونیکی مصرفی و کاربردهای صنعتی در طول دهه های 1980 و 1990 مورد استفاده قرار گرفتند.
با تکامل بازار میکروکنترلرها، Holtek به گسترش سبد محصولات خود ادامه داد. در اواخر دهه 1990، این شرکت سری 8 بیتی میکروکنترلر HT60 خود را معرفی کرد که دارای عملکرد بالاتر، تجهیزات جانبی یکپارچه تر و مصرف انرژی کمتر در مقایسه با طراحی های قبلی مبتنی بر 8051 بودند.
امروزه، Holtek Semiconductor یک ارائه دهنده پیشرو در راه حل های میکروکنترلر است که طیف متنوعی از خانواده های میکرو کنترلر های 8 بیتی، 16 بیتی و 32 بیتی را ارائه می دهد که طیف گسترده ای از برنامه ها از جمله لوازم الکترونیکی مصرفی، اتوماسیون صنعتی، دستگاه های اینترنت اشیا و موارد دیگر را هدف قرار می دهد.
تمرکز مداوم بر نوآوری، طراحی کم مصرف و راه حل های مقرون به صرفه، Holtek را به یک بازیگر برجسته در بازار جهانی میکروکنترلرها، به ویژه در آسیا و بازارهای نوظهور تبدیل کرده است. همانطور که چشم انداز سیستم های جاسازی شده به تکامل خود ادامه می دهد، Holtek همچنان متعهد به توسعه فناوری های پیشرفته میکروکنترلر برای پشتیبانی از تقاضاهای رو به رشد الکترونیک مدرن است.
در ادامه از سری میکروکنترلرهای ارائه شده از Holtek را معرفی می کنیم:
میکروکنترلر های 32 بیتی ارائه شده برای مصارف عمومی :
- میکروکنترلر های 32 بیتی با هسته Cortex-M4
- میکروکنترلر های 32 بیتی با هسته Corterx-M3
- میکروکنترلر های 32 بیتی با هسته Corterx-M0
میکروکنترلر های 8 بیتی ارائه شده برای مصارف عمومی:
- میکروکنترلر 8 بیتی Flash
- میکروکنترلر 8 بیت OTP
- میکروکنترلر های 8 بیت Flash USB
- میکروکنترلر های 8 بیت CAN Bus Flash
میکروکنترلرهای ارائه شده برای کنترل موتور :
- سری میکروکنترلرهای 8 و 32 بیتی برای کنترل دور موتور BLDC، BLDC Gate-Driver و BLDC Driver
- میکروکنترلر Flash برای کنترل موتور DC
میکرو کنترلر های ارائه شده برای مصارف پزشکی و اندازه گیری
- میکروکنترلر 24 بیت Flash – آنالوگ به دیجیتال
- میکروکنترلر Flash اندازه گیری
- میکروکنترلر Flash برای مصارف پزشکی
میکرو کنترلر های ارائه شده برای مصارف ایمنی و امنیتی
- میکروکنترلر Flash برای تشخیص دود
- میکروکنترلر Flash برای تشخیص CO/GAS
- میکروکنترلر Flash برای تشخیص دود و GAS/CO
- میکروکنترلر Flash -PIR
- میکرو کنترلر Flash افکت صوتی
میکروکنترلر های ارائه شده برای مدیریت توان و باتری ها
- میکروکنترلر شارژر
- میکرو کنترلر شارژر های بدون سیم
- میکروکنترلر های BMS
- میکروکنترلرهای Power Bank
- میکروکنترلرهای Inverter
- میکروکنترلر های تحویل توان(PD)
میکروکنترلر های ارائه شده برای پروژه های لمسی:
- میکروکنترلرهای 32 بیتی با هسته Cortex-M0
- میکروکنترلرهای لمسی OTP
- میکروکنترلرهای Flash لمسی
- میکروکنترلر های Flash لمسی توان پایین
- میکرو کنترلر های Flash لمسی Ultrasonic Atomiser
- میکروکنترلر های Flash حسگر مجاورت
- میکروکنترلر Flash لمسی بدون سیم
میکرو کنترلر های ارائه شده برای صدا و موسیقی:
- سری میکروکنترلرهای Flash، موسیقی و صدا
- سری میکروکنترلر صدا
- سری میکروکنترلرهای Flash، ضبط صدا و پخش
میکروکنترلر های ارائه شده برای مصارف ویژه:
- سری میکروکنترلر های Flash،32بیتی ASSP
- سری میکروکنترلر های Flash، 8 بیتی ASSP
- سری میکروکنترلر های Flash، 8 بیتی ASSP OTP
- Bank & Commercial Flash MCU
- میکروکنترلر Flash توان پایین
- CAN Bus Flash MCU
اگرچه میکروکنترلرهای Holtek به طور گسترده ای به عنوان ARM یا AVR شناخته نمی شوند، اما میکروکنترلرهای Holtek یک جایگزین رقابتی را ارائه می دهند، به ویژه در مناطقی که در بازار حضور قوی دارند، مانند آسیا.
از کامپایلر های میکروکنترلر های Holtek می توان به Holtek C Compiler و Keil MDK Holtek Edition
اشاره کرد.همچنین از پروتکل های ارتباطی میکروکنترلر Holtek عبارتند از:
- UART
- SPI
- I2C
- TCP/I
نتیجه گیری:
در واقع انتخاب میکروکنترلر اغلب به نیازهای خاص پروژه، بازار هدف، منابع موجود و آشنایی و تخصص شما بستگی دارد؛ و باید با بررسی ویژگی ها و امکانات میکروکنترلر و مقایسه آن ها با یکدیگر بهترین گزینه را انتخاب کنید.
شما می توانید با مراجعه به فروشگاه ECA و شاخه قطعات و تجهیزات الکترونیکی –> میکروکنترلر و پروسسور انواع میکروکنترلر ها را با انواع پکیج مشاهده و تهیه کنید.
چند نمونه از انواع میکروکنترلر و پروسسور:
با سلام
برای من که پس از حدود بیست سال به دنیای الکترونیک برمی گردم ان شاالله. مقاله مختصر و مفید بود. اون قدیما از CPU Z80 و میکرو سری 8051 استفاده می کردم و مبدل آنالوگ به دیجیتال و کلی تلاش برای ازاد کردن یک خانه حافظه یک بایت. از شیرینی های دهه 70بود.
متشکرم
جالبه، شما اولین کسی هستید که میبینم بعد مدتی دوباره به دنیای الکترونیک برگشتید.
معمولا افرادی که وارد دنیای الکترونیک میشن، یا تا آخر عمر به این کار ادامه میدن، یا بعد از مدتی پشیمان میشن و به کلی میذارن کنار.