آشنایی با میکروکنترلرهای STM32 ARM Cortex-M

سری STM32 یک نوع میکروکنترلر محبوب، نسبتا ارزان و با کارایی بالا است. همچنین پشتیبانی زیادی از مجموعه نرم افزارهای مختلف توسعه میکروکنترلر دارند. میکروکنترلرهای STM32 تعداد زیادی امکانات جانبی را ارائه می‌دهند که می‌توانند با انواع قطعات الکترونیکی از جمله سنسورها، نمایشگرها، موتورهای الکتریکی و غیره ارتباط برقرار کنند. دامنه عملکرد موجود با STM32 بسیار گسترده است. برخی از ابتدایی ترین میکروکنترلرهای STM32 (سری STM32F0 و STM32F1) با فرکانس کاری 24 مگاهرتز شروع می‌شوند و در پکیج هایی با حداقل 16 پین در دسترس هستند در حالی که STM32H7 تا 400 مگاهرتز کار می‌کند و در پکیج هایی با 240 پین موجود است. علاوه بر این، سری STM32L برای کاربردهای کم مصرف طراحی شده است که از یک باتری کوچک استفاده می‌کنند. برای توسعه کدنویسی، برنامه ریزی میکروکنترلر و دیباگ یک نرم افزار توسعه مورد نیاز است. ابزارهای توسعه باید شامل کامپایلر، دیباگر و برنامه نویسی سریال درون مدار (ICSP) باشد.

ابزارهای نرم افزاری

چندین ابزار نرم افزاری برای برنامه نویسی میکروکنترلرهای STM32 وجود دارد. اکثرا به عنوان محیط‌های توسعه یکپارچه (IDE) در دسترس هستند.

ابزارهای رایج نرم افزار برنامه نویسی عبارتند از:

• Keil MDK ARM (uVison5 IDE) – MDK ARM IDE

یک ابزار توسعه بسیار پایدار است. محیطی که امکان توسعه کدهای برنامه نویسی را فراهم می کند.

• IAR Embedded Workbench

IAR Embedded Workbench for ARM – و IAR شامل کامپایلر C/C++ سریع ترین و فشرده ترین کد را برای برنامه های مبتنی بر ARM تولید می‌کند.

• SW4STM32

زنجیره ابزار System Workbench به نام SW4STM32 یک مولتی سیستم عامل رایگان است.محیط توسعه نرم افزار مبتنی بر Eclipse، که طیف کاملی از میکروکنترلرهای STM32 و بردهای مرتبط را پشتیبانی می کند.

• کامپایلر آنلاین Mbed

مستقیماً با سیستم عامل Mbed به توسعه برنامه خود بروید بدون نصب چیزی و فقط برای شروع لازم است یک حساب Mbed ایجاد کنید.

• CoIDE

یک ابزار رایگان مبتنی بر Eclipse IDE یکپارچه به همراه یک کامپایلر رایگان GCC.

• Matrix-Flowcode 8 -– MCU

انواع میکروهای ARM از جمله خانواده محبوب STM32 ARM نیز در Flowcode پشتیبانی می‌شود.

• MATLAB/Simulink

بسته های سخت افزاری از جمله STM32 را پشتیبانی می‌کند.

میکروکنترلرهای ARM Cortex-M از دو پروتکل برنامه‌ریزی پشتیبانی می‌کنند: JTAG (به نام انجمن صنعت الکترونیک Joint Test Action Group) و Serial Wire Debug (SWD). بلوک دیاگرام دستگاه‌های جانبی متصل به یک میکروکنترلر با برخی از پروتکل های ارتباطی (که بلوک دیاگرام سطح سیستم نامیده می شود) در شکل زیر نشان داده شده است:

ARM Cortex-M یک میکروکنترلر 32 بیتی است که در مقایسه با میکروکنترلرهای قدیمی 8 بیتی مانند میکروکنترلرهای 8051، PIC و AVR، عموماً بهترین انتخاب برای کارهای محاسباتی فشرده است. میکروکنترلرهای ARM انواع مختلفی دارند ، از جمله Cortex-M0، M1، M3، M4 و M7. برخی از نسخه‌ها با یک واحد نقطه شناور (FPU) در دسترس هستند و با یک F در میکروکنترلرهای Cortex-M4F مشخص شده اند. یکی از مزایای پردازنده های Arm Cortex-M قیمت پایین و کارایی بالای آنهاست.

حتی اگر یک میکروکنترلر 8 بیتی برای برنامه شما کافی است، شاید بهتر باشد یک میکروکنترلر 32 بیتی Cortex-M را در نظر بگیرید. میکروکنترلرهای Cortex-M با قیمت قابل مقایسه با برخی از تراشه‌های قدیمی 8 بیتی موجود است. یک میکروکنترلر 32 بیتی به شما انعطاف پذیری بیشتری می‌دهد تا برنامه خود را گسترش دهید و در صورت لزوم ویژگی های دلخواه را اضافه کنید. همانطور که در جدول زیر نشان داده شده است، میکروکنترلرهای STM32 را می‌توان به چندین زیر سری تقسیم کرد.

performance (dmips)Max clock (mhz)Cortex-MxSTM32 Series
3848M0F0
6172M3F1
9072M4F3
150120M3F2
225180M4F4
462216M7F7
856400M7H7
2632M0L0
3332M3L1
10080M4L4
150120M4+L4

Figure 1.3: Comparison of various STM32 Microcontrollers

منابع

MASTERING STM32 by Carmine Noviello

با نظرات خود به تیم جبرا در بهبود کیفیت کمک کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سبد خرید
پیمایش به بالا