اموزش STM32 – جلسه اول
آموزش STM32 | آشنایی با میکروکنترلرهای STM32
این میکروکنترلرهای 32 بیتی محصول شرکت STMicroelectronics هستند و از معماریARM[Advanced RISC Machine] که توسط شرکت ARM طراحی شده است، استفاده میکنند. خود شرکت ARM تولید کننده پردازنده نیست و در عوض گواهی استفاده از این هسته را در اختیار شرکتهایی مثل Apple، NXP، Microchip و … قرار میدهد. هسته ARM با معماری RISC(Reduced Instruction Set Computing) یا کامپیوتر با مجموعه دستورات کم میباشد. این معماری به ترانزیستورهای کمی برای پیاده سازی نیاز دارد در نتیجه مصرف توان کمتر، قیمت پایین و همچنین دمایی کاری کمتری دارد. سری Cortex از موفقترین سریهای تراشههای ARM است که به سه دسته اصلی Cortex-A، Cortex-R و Cortex-M تقسیم می شوند. سری A برای کاربردهایی با بار محاسباتی زیاد و پرهزینه مثل موبایل، سری R برای مصارف سیستمهای بلادرنگ و حساس به زمان، سری M برای کاربردهای مقرون به صرفه و میکروکنترلر استفاده میشود. شرکت ST میکروکنترلرهای خود را با معماری و کاربرد مختلف، عرضه بازار میکند. در ادامه دسته بندی این خانوادهها را به صورت اجمالی معرفی میکنیم.
- میکروکنترلرSTM32 با معماری +Cortex-M0: این هسته سرعت پردازشی کمتری (از خط لوله 2 مرحله ای و معماری Von Neuman استفاده میکند) نسبت به هستههای دیگر دارد و در عوض مصرف انرژی پایینی دارند که این ویژگی تراشه را برای کاربردهایی نظیر منبع انرژی محدود و پردازشهای ساده مناسب میسازد.
- میکروکنترلرSTM32 با معماری Cortex-M3: این سری کارایی و انجام عملیات محاسباتی بیشتری نسبت به M0+ دارد و رنج وسیعی از کاربردهای عمومی و حتی پیچیده را در بر دارد. این هسته با پردازنده 32 بیتی با کارایی بالا و مصرف توان بهینه است و در اصل نسخه بهبود یافته و جایگزین معماری ARM7 میباشد. قابل ذکر است که معماری هستهی این پردازنده به صورت Harvard پیاده سازی شده است ، به عبارتی باسهای داده و دستور به طور مجزا در این پردازنده تعبیه شدهاند و از خط لوله 3 مرحلهای بهره میبرد. این تراشه در زمینههای مختلف از جمله خودروها، اتوماسیون صنعتی، دستگاههای پزشکی، اینترنت اشیاء و … کاربرد دارد.
- میکروکنترلرSTM32 با معماری Cortex-M4: این سری سرعت پردازشی بالاتری نسبت به M3 دارد و دارای کلاک با سرعت مختلف است که معمولا تا حدود 200 مگاهرتز را پشتیبانی می کند. هسته Arm Cortex-M4 دارای بلوک DSP[ Digital Signal Processing] و واحد FPU[Floating-Point Unit] است که میکروکنترلرهای مبتنی بر این هسته برای پردازش سیگنالها با استفاده از محاسبات ریاضی به شتابدهندههای سخت افزاری پیشرفته داخلی خود متکی هستند. سخت افزار DSP قادر است هر سیگنال آنالوگ را پردازش کند، مانند سیگنال خروجی میکروفن، سنسور فیدبک تعبیه شده در موتور و … . داشتن این قابلیتها، این تراشهها را برای کاربردهای پیچیده، اینترنت اشیاء، کنترل موتور، مدیریت انرژی، مراقبتهای بهداشتی و سلامت مناسب میکند.
- میکروکنترلرSTM32 با معماری Cortex-M7:این معماری قدرتمندترین معماری بین خانوادههای قبلی خودش است، از معماری هاروارد و خط لوله 6 مرحلهای استفاده میکند که چرخه زمانی پردازنده به شدت کاهش یافته و باعث افزایش توان عملیاتی سیستم میشود. فرکانس کاری این تراشهها حدود 400 مگاهرتز است و از بلوکهای DSP و FPU با دقت دوگانه پشتیبانی میکند. کاربردهای این خانواده شامل اینترنت اشیاء، تشخیص صدا، اتوماسیون صنعتی و … است.
نحوه نامگذاری میکروکنترلر های STM
این میکروکنترلرها با عبارت ST شروع میشوند که بیانگر شرکت سازنده است. حرف بعدی M میباشد که بیانگر کلمه Microcontroller است. تا اینجا STM به معنی میکروکنترلرهای شرکت ST است. این شرکت تراشههای 32 بیتی و 8 را نیز تولید کرده، بعد از کلمه STM عدد 32 یا 8 آورده می شود که بیانگر چند بیتی بودن میکروکنترلر است. کلمههای دیگر این تراشهها را با یک مثال در ادامه توضیح میدهیم:
شماره 1 و 2 را بیان کردیم. شماره 3 بیانگر نوع کاربرد میکروکنترلر و کلاس کاری می باشد. برای مثال F(Foundation) با کاربرد عمومی، L(Ultra-low power) برای مصارف انرژی پایین، P(Preprogrammed) برای میکروهای از قبل برنامهریزی شده، S(Standard)، T(Touch sensing) صفحات لمسی، W(Wireless) تکنولوژی بیسیم. شماره 4 زیر کلاس بعدی است که نماینده هسته آن می باشد. با توجه به جدول زیر میتوان هسته آن را مشخص کرد.
|
نوع هسته |
شماره |
|
Cortex-M0 |
0 |
|
Cortex-M3 |
1 |
|
Cortex-M3 |
2 |
|
Cortex-M4 |
3 |
|
Cortex-M4 |
4 |
|
Cortex-M7 |
7 |
شماره 5 خصوصیات پردازنده را بیان میکند و نیازی به حفظ ندارید و با مطالعه به دیتاشیت اطلاعات مورد نیاز را میتوانید استخراج کنید.
شماره 6 بیانگر تعداد پایههای میکروکنترلر می باشد که حروف انگلیسی را به تعداد پایههای میکروکنترلر اختصاص دادند، در جدول زیر آورده شده است.
| Pin Count | ABC | Pin Count | ABC |
| 64 pins | R | 14 pins | D |
| 72 pins | J | 20 pins (STM8) | Y |
| 80 pins | M | 20 pins (STM32) | F |
| 90 pins | O | 24 & 25 pins | E |
| 100 pins | V | 25 pins | G |
| 132 pins | Q | 32 pins | K |
| 144 pins | Z | 36 pins | T |
| 169 pins | A | 40 pins | H |
| 208 pins | B | 44 pins | S |
| 216 pins | N | 48 & 49 pins | C |
| 256 pins | X | 63 pins | U |
شماره 7 بیانگر حجم حافظه فلش میکروکنترلر است که در جدول زیر آورده شده است.
| حافظه کد (کیلو بایت) | حروف | حافظه کد (کیلو بایت) | حروف |
| 96 | A | 1 | 0 |
| 128 | B | 2 | 1 |
| 192 | Z | 4 | 2 |
| 256 | C | 8 | 3 |
| 384 | D | 16 | 4 |
| 512 | E | 24 | 5 |
| 768 | F | 32 | 6 |
| 1024 | G | 48 | 7 |
| 1536 | H | 64 | 8 |
| 2048 | I | 72 | 9 |
شماره 8 بیانگر نوع بسته بندی (Package) است که در جدول زیر ارتباط بین حروف و نوع پکیج مشاهده میشود.
|
بسته بندی |
حروف |
|
Plastic DIP |
B |
|
Ceramic DIP |
D |
|
Ceramic QFP |
G |
|
LFBGA/TFBGA |
H |
|
UFBGA Pitch 0.5 |
I |
|
UFBGA Pitch 0.8 |
J |
|
UFBGA Pitch 0.65 |
K |
| Plastic SO |
M |
|
TSSOP |
P |
|
Plastic QFP |
Q |
| LQFP |
T |
| UFQFPN |
U |
|
VFQFPN |
V |
| WLCSP |
Y |
و در آخر شماره 9 بیانگر دمای کاری میکروکنترلر میباشد به عبارتی در این رنج دمایی تراشه عملکرد مناسبی را خواهد داشت. در جدول زیر اعداد و حروف انگلیسی اختصاص داده شده به رنج دمای کاری آورده شدهاست.
|
رنج دمایی |
حروف |
|
-40 to +85 |
6and A |
| -40 to +105 |
7and B |
|
-40 to +125 |
3 C and |
|
-40 to +150 |
D |
خب، اینم از آموزش امروز! هر سوال یا ابهامی از آموزش STM32 داشتید زیر همین پست بپرسید، با کمال میل جواب میدم. تا جلسه بعدی، خازنهای انگیزهتون همیشه فولشارژ بمونه! 😁اگر هم دوست دارید عمیقتر و اصولیتر با این مباحث درگیر بشید، کتابم میتونه راهنمای مسیرتون باشه. از طریق لینک [آموزش STM32] میتونید این کتاب رو تهیه کنید.
