بازدید:244
سری STM32 یک نوع میکروکنترلر محبوب، نسبتا ارزان و با کارایی بالا است. همچنین پشتیبانی زیادی از مجموعه نرم افزارهای مختلف توسعه میکروکنترلر دارند. میکروکنترلرهای STM32 تعداد زیادی امکانات جانبی را ارائه میدهند که میتوانند با انواع قطعات الکترونیکی از جمله سنسورها، نمایشگرها، موتورهای الکتریکی و غیره ارتباط برقرار کنند. دامنه عملکرد موجود با STM32 بسیار گسترده است. برخی از ابتدایی ترین میکروکنترلرهای STM32 (سری STM32F0 و STM32F1) با فرکانس کاری 24 مگاهرتز شروع میشوند و در پکیج هایی با حداقل 16 پین در دسترس هستند در حالی که STM32H7 تا 400 مگاهرتز کار میکند و در پکیج هایی با 240 پین موجود است. علاوه بر این، سری STM32L برای کاربردهای کم مصرف طراحی شده است که از یک باتری کوچک استفاده میکنند. برای توسعه کدنویسی، برنامه ریزی میکروکنترلر و دیباگ یک نرم افزار توسعه مورد نیاز است. ابزارهای توسعه باید شامل کامپایلر، دیباگر و برنامه نویسی سریال درون مدار (ICSP) باشد.
![](https://gebrabit.com/wp-content/themes/woodmart/images/lazy.png)
ابزارهای نرم افزاری
چندین ابزار نرم افزاری برای برنامه نویسی میکروکنترلرهای 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). بلوک دیاگرام دستگاههای جانبی متصل به یک میکروکنترلر با برخی از پروتکل های ارتباطی (که بلوک دیاگرام سطح سیستم نامیده می شود) در شکل زیر نشان داده شده است:
![](https://gebrabit.com/wp-content/themes/woodmart/images/lazy.png)
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-Mx
|
STM32 Series
|
---|---|---|---|
38
|
48
|
M0
|
F0
|
61
|
72
|
M3
|
F1
|
90
|
72
|
M4
|
F3
|
150
|
120
|
M3
|
F2
|
225
|
180
|
M4
|
F4
|
462
|
216
|
M7
|
F7
|
856
|
400
|
M7
|
H7
|
26
|
32
|
M0
|
L0
|
33
|
32
|
M3
|
L1
|
100
|
80
|
M4
|
L4
|
150
|
120
|
M4
|
+L4
|
Figure 1.3: Comparison of various STM32 Microcontrollers