آنچه در این مقاله میخوانید :
Toggleداشتن آگاهی و دانش از دستگاه های هوشمند مدرن، می تواند تاثیر مهمی در زندگی ما داشته باشد. قلب تپنده این ابزارها پردازنده های محاسباتی آنهاست و در چنین دوره ای که صنعت IT به سرعت در حال گسترش است، اطلاع از انواع آنها ضروری به نظر می رسد.
بازار پر شده از انواع ریزپردازنده ها و cpu هایی که بعضی حتی با داشتن اسامیِ آشنا، توانایی پردازشی بالایی ندارند و عدم آگاهی از این موضوع، میتوانند منجر به اشتباهات در خرید و انتخاب پردازنده مناسب گردد. بحث اصلی امروز ما در مورد میکروکنترلرهای arm می باشد که بستری برای پردازش و ارتباط بین کاربر و دستگاه های هوشمند را برقرار می کند، اما قبل از آن بهتر است با مفهوم پردازندههای arm بیشتر آشنا شویم و روش انتخاب صحیح از بین آنها را با هم یاد بگیریم.
معرفی پردازنده های arm
فناوری (reduced instruction set computing) risk جایگاه مهمی در تاریخ توسعه سختافزارهای الکترونیک دارد و خانواده پردازندههای (advanced risk module) arm بر اساس همین معماری ساخته شده است. با توجه به پیکربندی ویژه که این پردازنده ها دارند، میتوانند در محیط های مختلف و کاربردهای متنوعی به کارگیری شوند. این پردازنده ها اولین بار توسط دانشمندان بریتانیایی توسعه داده شدند، اما هم اکنون توسط شرکتهای بسیاری لایسنس شده و در انواع مختلفی از حافظه های کامپیوتری، رابط ها، رادیوها، کامپیوترها و دستگاههای موبایل را بکار می روند.
دو روش استفاده اصلی از پردازنده های arm به شرح زیر است:
۱- محصولاتی با معماری سیستم رو چیپ
۲- محصولاتی با معماری سیستم روی ماژول
با ظهور پردازندههای arm در بازار قابلیت های جدیدی به دستگاههای الکترونیکی اضافه شد، که نیاز به سبک و قابل حمل بودن آنها را برطرف می نمود. پردازنده های arm بهترین گزینه برای استفاده در سیستمهای embed شده مانند تلفن های هوشمند، تبلت ها، کتابخوان های الکترونیک و ساعت های هوشمند هستند.
برای روشن تر شدن حجم تولید و مصرف این تراشهها میتوان سال ۲۰۱۷ را مثال زد که بیش از ۱۰۰ میلیارد از این پردازنده ها در سراسر جهان تولید شد و طبق آمار، این نوع پردازنده ها در حال حاضر پرمصرف ترین در دنیای الکترونیک هستند. شرکتهای تولیدکننده ۵ دسته اصلی را برای پردازنده های arm در نظر گرفتهاند:
۱- cortex-A
کاربرد در سخت افزارهای قدرتمند مورد نیاز برای سیستم عامل های پیشرفته مانند اندروید، لینوکس و... ( پسوند A برای کلمه advanced به یاد داشته باشید)
۲- cortex-R
برای برطرف کردن نیاز برنامه های همزمان و ارسال سریع ترین پاسخ به کاربر (پسوند R نشانگر real-time است)
۳- cortex-M
بطور اختصاصی برای mcu ها یا همان میکروکنترلرهای arm تولید می شوند (پسوند M نشانگر microcontroller می باشد)
۴- secure core
برای کاربردهای امنیتی و حافظت از اطلاعات استفاده می شود.
۵- ML (machine learning)
برای برنامه نویسی و کاربردهای هوش مصنوعی و یادگیری ماشین طراحی شده اند.
قابلیت های جالب و راهکارهای متفاوتی که پردازنده های arm ارائه می دهند باعث به وجود آمدن تقاضای بالای آنها در بازار الکترونیک و ابزارهای هوشمند شده است. در ادامه به بررسی دقیق تر پردازندههای cortex-M که مرتبط با موضوع بحث ماست، خواهیم پرداخت.
انواع و کاربرد های پردازنده های arm cortex-M
بیشترین استفاده از این نوع پردازنده در بازار میکروکنترلر هاست. اولین مدل ان ۱۳ سال پیش تولید و به بازار عرضه شد و از آن زمان تا به امروز، محبوبیت این سری روز به روز بیشتر شده و در صنعت الکترونیک کاربردهای بسیاری دارد.
از این نوع پردازنده ها در حافظه های یکپارچه شده، ساعت های دیجیتال و دیگر انواع میکروکنترلر ها استفاده می شود. در بین پردازنده های cortex-M میتوان ویژگی های متفاوتی را مشاهده کرد، برای مثال برخی از آنها توان پردازش بالایی دارند اما دسته ای دیگر برای مصرف کمترین انرژی طراحی و تولید میشوند. از انواع آن میتوان به سری M0+، M3و M4 اشاره کرد.
سری M0+
این سری ظرفیت پردازش پایینی دارد، اما مصرف انرژی آن نیز بسیار پایین است. معماری این نوع پردازنده ها armv6-M می باشد و از راهنماهای thumb 1 و thumb 2 استفاده می کند. پایپ لاین این پردازنده ها از ۳ مرحله به ۲ مرحلهای کاهش یافته تا مصرف انرژی بیشتر کاهش یابد. از ویژگی های سری M0+ می توان به بافر micro trace و پشتیبانی برای میکروکنترلرهای ۸ و ۱۶ بیتی اشاره کرد که فرآیند دیباگ کردن را آسان تر می سازد.
سری M3 و M4
به علت شباهت های زیادی که این دو مدل با هم دارند، تصمیم گرفتیم آنها را در یک دستهبندی قرار دهیم. هر دو این پردازنده ها از دستگاه های ۳۲ و ۱۶ بیتی پشتیبانی می کنند و قابلیت های موتری برای دیباگ کردن دارد. معماری و دستورالعملهای آنها نیز یکسان است) معماری armv7-M و دستورالعمل های( thumb 2 . اما حال این سوال پیش می آید که تفاوت این دو سری در چیست؟ سری M4 برخلاف M3، از قابلیت (digital signal processing)DSP برخوردار است. این قابلیتی است که پردازش سیگنال های دیجیتالی را انجام میدهد و در یادگیری ماشین و استفاده از حسگرهای صوتی کاربرد دارد.
تمام پردازنده های cortex-M از فناوری trust zone بهره میبرند که توانایی بالایی در حوزه امنیت دستگاه ها را به نمایش می گذارد و یکی از دلایل استفاده گسترده آنها در انواع دستگاه های هوشمند است. از دیگر کاربردهای پردازندههای سری M می توان موارد زیر را نام برد:
• دستگاه هایی که سنسورهای حرکتی، نوری و صوتی دارند
• ساعت های هوشمند و دیگر گجت های پوشیدنی
• نورپردازی های هوشمند و اینترنت اشیا
• صنعت خودروسازی و سلامت و...
• کنترل و مدیریت شبکه های انرژی
حالا که با انواع پردازنده های arm و به خصوص سری M آشنا شدیم، سر موضوع اصلی باز می گردیم و میکروکنترلر های arm را به شما معرفی می کنیم.
میکروکنترلرهای arm
طراحی اکثر میکروکنترلر های arm مشابه یکدیگر هستند و حافظه محدودی روی مدارشان دارند. به انرژی کمی برای کارکردن نیاز دارند و از مجموعهای از پین ها به هدف برقراری ارتباط ورودی-خروجی عمومی (GPIO) تشکیل شدهاند.
میکروکنترلرها قابل برنامه ریزی دارند و عموما با کابل usb به کامپیوتر یا دستگاههای دیگر متصل میشوند. انتخاب بین انواع متنوعی از آنها که در بازار موجود است، میتواند چالش برانگیز باشد. به همین دلیل در ادامه به معرفی تعدادی از برترین میکروکنترلرهای arm که پرکاربردترین نیز هستند می پردازیم.
۱- Arduino Uno R3 (بهترین گزینه برای افراد تازه کار)
اگر به حوزه الکترونیک و میکروکنترلرهای arm علاقه مند باشید، قطعا نام Arduino برای تان آشنا خواهد بود. این مدارها سخت افزارهایی اوپن سورس (open source) هستند که برای کد نویسی از پروتوکل IDE (INDEPENDENT DEVELOPMENT ENVIREMENT) استفاده می کنند. مدل UNO R3 یکی از پرکاربردترین و البته آسانترین ها برای پروژه های مبتدی است. مشخصات فنی این مدار پردازنده ATmega328P با سرعت کلاک ۱۶ MHZ، حافظه فلش ۳۲ کیلو بایتی و حافظه SRAM 2 کیلوبایتی می باشد و با کابل USB معمولی به کامپیوتر متصل می شود.
۲- STM32 F3 DISCOVERY (بهترین گزینه برای برنامه نویس ها)
این میکروکنترلر با پردازنده CORTEX-M4 کار می کند که از یک ژیروسکوپ یکپارچه ۳ جهته برخوردار است. همچنین می توان به داشتن یک حسگر شتاب خطی و حسگر میدان مغناطیسی هم در این مدار اشاره کرد.
این ویژگی ها دستِ برنامه نویسان را برای طراحی انواع کاربردها باز می گذارد. میکروکنترلر STM32 F3 برای اتصال به کامپیوتر از طریق کابل USB، به آداپتور FTDI به عنوان رابط میانی احتیاج دارد. این نکته را نیز مد نظر داشته باشید که برنامه نویسی برای این مدل، پیچیده تر از دیگر میکروکنترلرهاست. ولی با استفاده از کتابخانه های متعدد و موجود در بستر اینترنت، کار شما راحت تر خواهد بود.
۳- ADAFRIUT GEMMA M0 (گزینه ای مناسب برای گجت های سبک و پوشیدنی)
امروزه با پیشرفت تکنولوژی شاهد کوچکتر شدن همه لوازم الکترونیکی اطرافمان هستیم. نمونه ای از این کوچک سازی، میکروکنترلر ADAFRIUT GEMMA M0 است که با اندازه کوچک خود، قابلیت های بسیار و مصرف انرژی بسیار پایینی دارد. علاوه بر این قابلیت ها، یک LED دات استار RGB نیز روی مدارش تعبیه شده تا دیگر نیازی به اتصال صفحه نمایشگر مجزا نباشد. پردازنده ای که در GEMMA M0 بکار رفته، مدل ATSAMD21E18 می باشد که نسب به اندازه اس توان پردازشی قابل قبولی ارائه می دهد.
۴- SEEEDUINO XIAO (مدلی میانرده و مقرون بصرفه)
اگر به دنبال میکروکنترلری هستید که توان پردازشی مناسب و قیمتی مناسب داشته باشد، مدل SEEDUINO XIAO برای شما بهترین گزینه است. پردازنده آن ARM CORTEX-M0+ می باشد و به همراه ۳۲ کیلوبایت حافظه SRAM، ۲۵۶ کیلوبایت حافظه فلش و دارا بودن درگاه USB TYPE-C، برای هر برنامه نویسی گزینه ای کاربردی و مناسب خواهد بود. این مدل همچنین کاملا با ARDUINO IDE سازگار است.
۵- PGRC TEENSY 4.1 (نهایت سرعت و قدرت را در پروژه های خود تجربه کنید)
نسخه جدید مدل TEENSY یعنی ۴٫۱، به یکی از پرطرفدارترین میکروکنترلرها بین مهندسان حوزه الکترونیک تبدیل شده است. سرعت و توان پردازش این مدل نسبت به نسخه قبلی خود یعنی TENNSY 3.1، ۱۰ برابر افزایش داشته است. پردازنده شده در آن جدیدترین نسخه CORTEX-M7 می باشد که با برخورداری از سرعت کلاک MHZ 600 و ۷۹۳۶ کیلوبایت حافظه فلش و ۱۰۲۴ کیلوبایت حافظه SRAM، به راحتی و بدون هیچ گونه لگ یا کندی، از پس سنگین ترین پردازش ها بر می آید. مدیریت شوندگی این میکروکنترلر نیز در نوع خود بی نظیر است و اکثر قابلیت هایی که یک متخصص به آن نیاز دارد را فراهم می سازد.
۶- NODEMCU V2 (انتخابی مناسب برای اینترنت اشیا)
این میکروکنترولر از پردازنده ESP8266 بهره می برد و با ماژول WIFI فوق کم مصرف خود (UART 802011B/G/N)، بهترین عملکرد را برای برقراری اتصال بی سیم فراهم می سازد. همچنین با دارا بودن پروتوکل PCP/IP، قابلیت برقرار شدن ۵ اتصال همزمان به دستگاه را ممکن ساخته است. اگر پروژه ای در حوزه IOT (اینترنت اشیا) دارید، مدل NODEMCU V2 برای شما در لیست بهترین گزینه هاست.
کلام آخر
این روزها دستگاه های هوشمند در همه ابعادهای زندگی ما نقش دارند و برای بهتر درک کردن عملکرد آنها، بهتر است در موردشان اطلاعات بیشتری کسب کنیم. در مقاله امروز به معرفی و بررسی انواع پردازنده ها و میکروکنترلر ARM پرداختیم و سعی کردیم که خصوصیات و قابلیت های هرکدام را برای تان شرح دهیم تا بتوانید بهترین گزینه را برای استفاده خود انتخاب کنید.
امیدواریم که مطالب ما برای تان مفید بوده باشد. به یاد داشته باشید در صورت داشتن هرگونه سوال یا نیاز به مشاوره فنی، می توانید با متخصصان ما در وبسایت هادی بان الکترونیک در تماس باشید.
دیدگاهتان را بنویسید