وضعیت بررسی: این درس دربارهٔ انتخاب تراشه و خواندن مستندات است؛ firmware تولید نمیکند و آزمون روی برد یا اندازهگیری مصرف انجام نشده است. نتیجهٔ کار، فهرست نامزدها و کاربرگ تصمیم است؛ انتخاب نهایی به بررسی شمارهٔ دقیق قطعه، نقشهٔ پایهها و آزمایش نمونه نیاز دارد.
در آشنایی با میکروکنترلرهای STM32 و هستهٔ Cortex-M با زیرساخت پردازندههای 32 بیتی شرکت ST آشنا شدیم. گام مهندسی پس از درک مفاهیم تئوری، ورود به فرآیند روشمند گزینش تراشه (MCU Selection) برای یک طرح معین است. هدف این درس، آموزش چارچوب تحلیل نیازمندیها، پایش خانوادههای مختلف و انتخاب یک تراشه نامزد بر پایه مستندات فنی و محاسبات مهندسی است.
نقشهشناسی سبد محصولات میکروکنترلرهای STM32
در نمونههایی از سبد رسمی ST بررسیشده در 2026-11-01 در درگاه رسمی STM32 32-bit Arm Cortex MCUs، میکروکنترلرها در چند دسته محوری سازماندهی شدهاند. این عناوین، گروهبندیهای کلی کاربردی هستند و دارای همپوشانیهای فنی متعددی میباشند؛ از این رو نام دستهها هرگز تعیینکننده سقف قابلیتهای یک تراشه منفرد نیست:
- کاربردهای عمومی و پایه (Mainstream): برای نمونه، سریهای C0، G0، F0، F1 و C5. سریهای C0 و G0 با تمرکز بر حداقلسازی هزینه در رده پایه (Entry-Level) قرار میگیرند. توجه داشته باشید که رده C لزوماً هسته Cortex-M0 نیست؛ برای نمونه، سری مدرن STM32C5 بر پایه معماری نوین Cortex-M33 توسعه یافته است.
- سیگنال مخلوط (Mixed-Signal): برای نمونه، خانوادههای F3 و G4 مجهز به امکانات آنالوگ و تایمرهای مناسب کنترل؛ وجود و تعداد هر واحد باید برای شمارهٔ دقیق قطعه بررسی شود.
- عملکرد بالا (High-Performance): برای نمونه، سریهای F4، F7، H5، H7 و N6 با فرکانسهای کاری بالا، خطوط ارتباطی سریع و شتابدهندههای محاسباتی.
- فوق کممصرف (Ultra-Low-Power): برای نمونه، خانوادههای L0، L4، L5، U0، U3 و U5 بهینهشده برای مدیریت توان در سیستمهای باتریمحور و مدهای خواب عمیق.
- ارتباطات بیسیم (Wireless): برای نمونه، سریهای WB، WBA و WL. پروتکل رادیویی وابسته به قطعه است؛ برای نمونه هرگز نباید سری STM32WL (رادیوی زیر 1 گیگاهرتز، با پروتکل وابسته به قطعه) را معادل تمام قطعات WB یا WBA و پروتکلهای آنها فرض کرد.
کالبدشکافی پارتنامبر و خواندن مشخصات: بررسی STM32F303CBT6
برای بررسی عینی ساختار نامگذاری، تراشه STM32F303CBT6 را بر اساس جدول 87 اطلاعات سفارش در صفحه 142 برگه مشخصات رسمی ST DS9118 Rev 14 کالبدشکافی میکنیم:
STM32: شناسه کلی میکروکنترلرهای 32 بیتی بر پایه Arm.F: نوع محصول چندمنظوره استاندارد (General-Purpose).303: زیرخانواده تخصصی سیگنال مخلوط با هسته Cortex-M4 مجهز به واحد محاسبات ممیز شناور (FPU) با بیشینه فرکانس 72 MHz.C: کد تعداد پایههای بسته فیزیکی معادل 48 پین.B: کد ظرفیت حافظه فلش معادل 128 KiB (131072 بایت).T: نوع بستهبندی فیزیکی از نوع LQFP با ابعاد بدنه 7×7 mm.6: محدوده دمای کاری صنعتی از -40 تا 85 درجه سلسیوس در شرایط حرارتی و الکتریکی مجاز.
نکات حیاتی در تفسیر نامگذاری و مشخصات:
- موقعیت قرارگیری حروف تعیینکننده معناست؛ حرف C در جایگاه پین به معنای 48 پایه است، اما همین حرف در جایگاه حافظه بیانگر 256 KiB خواهد بود. این جدول مختص همین قطعه است و نباید به عنوان فرمول جهانی برای تمام تراشهها به کار رود.
- تعداد 48 پایه بسته هرگز به معنای 48 پایه ورودی/خروجی آزاد (GPIO) نیست. پایههای تغذیه و زمین (VDD, VSS, VDDA, VSSA)، پایه ریست (NRST)، مسیر دیباگ SWD (پایههای PA13 و PA14) و پایههای اسیلاتور نیازمند رزرو مداری هستند و تعداد GPIO آزاد را کاهش میدهند.
- بر اساس جدول 2 دیتاشیت DS9118، این تراشه دارای 128 KiB فلش و مجموع 40 KiB حافظه رم است که شامل 32 KiB رم استاندارد و 8 KiB حافظه متصل مستقیم به هسته (CCM RAM) میباشد. طبق بخش Embedded SRAM در RM0316، کنترلر دسترسی مستقیم به حافظه (DMA) امکان دسترسی به CCM RAM را ندارد؛ بنابراین بافرهای DMA باید حتماً در 32 KiB رم عمومی تعریف شوند.
- شاخص 6 محدودهٔ دمای محیط کاری تراشه، از -40 تا 85 درجهٔ سلسیوس، را در شرایط مشخص دیتاشیت نشان میدهد؛ این کد دمای پیوند یا بدنه نیست و کارکرد کل برد را بدون بررسی قطعات و شرایط حرارتی تضمین نمیکند.

دلایل انتخاب STM32F303 و مشخصات سختافزاری برد GebraBit GB100ST
در این دوره آموزشی، تراشه STM32F303CBT6 به عنوان میکروکنترلر برد توسعه GebraBit GB100ST Schematic V2.0 مبنا قرار گرفته است. این تصمیم یک بازاستفاده هدفمند آموزشی بر بستر سختافزار استاندارد موجود است و ناشی از پریفرالهای غنی آنالوگ (چهار واحد مبدل ADC پرسرعت، DAC، آپامپ و مقایسهکنندهها) و تایمرهای پیشرفته کنترل موتور میباشد؛ راهاندازی ADC و تایمر در درسهای مربوط میآید؛ در اینجا فقط معیار انتخاب را معرفی میکنیم. این تصمیم به معنای برتری مطلق F303 نسبت به تمام تراشههای مدرن بازار نیست.
بر اساس نقشه رسمی شماتیک نسخه 2.0 برد GB100ST، وضعیت اتصالات به شرح زیر است:
- تراشه مرکزی: STM32F303CBT6 در پکیج LQFP48.
- نوسانسازها: کریستال خارجی فرکانس بالا (HSE) با مقدار 8 MHz و کریستال دقیق ساعت (LSE) با مقدار 32.768 kHz.
- تغذیه: ورودی 5 ولت برد که توسط رگولاتور به ریل نامی 3.3 ولت تبدیل میشود.
- نشانگر کاربر: یک عدد LED روی پایه PB6 از طریق مدار ترانزیستوری NPN با منطق فعال با سطح بالا (Active-high).
- ورودی کلید: یک کلید فشاری متصل به پایه PA3.
- رابط دیباگ: پایههای اختصاصی PA13 (خط داده SWDIO) و PA14 (خط پالس ساعت SWCLK) جهت اتصال دیباگر SWD.
در این درس صرفاً اطلاعات مستند شماتیک تحلیل شده و هیچگونه ادعایی در خصوص اندازهگیری روی برد فیزیکی مطرح نمیشود.
ابزارهای رسمی انتخاب تراشه و روش اعتبارسنجی
جهت گزینش در میان صدها پارتنامبر، بهکارگیری ابزارهای رسمی توصیه میشود:
- انتخابگر تحت وب پورتفولیو: طبق سند Ecosystem MCU/Board Select، ابزارهای برخط درگاه STM32 MCU Portfolio مرجع اصلی برای اطلاع از تازهترین تراشهها و وضعیت تولید به شمار میروند.
- کاتالوگ داخلی نرمافزار STM32CubeMX: گزینهای مناسب برای آغاز سریع پروژه و تخصیص پایهها روی تراشههای پشتیبانیشده مانند STM32F303CBT6، اما طبق راهنمای فعلی ST، انتخابگر نسخهٔ کلاسیک برای تازهترین محصولات بهروز نمیشود؛ برای جستوجوی محصولات جدید از انتخابگر وب آغاز کنید.
- ابزار دسکتاپ قدیمی ST-MCU-Finder: نرمافزاری قدیمی (سند ST DB3190 Rev 6) که در آموزشهای گذشته نام آن دیده میشود؛ اما صفحهٔ قدیمی معرفی آن هنگام بررسی به درگاه وب هدایت شد و نباید به عنوان مرجع دریافت کاتالوگهای جاری به آن تکیه کرد.
برای قابل بازبینیبودن تصمیم لازم است تاریخ و نسخهٔ ابزار یا کاتالوگ ثبت شده و پیش از خرید، اطلاعات با آخرین نسخه برگه مشخصات و برگه خطاها (Errata Sheet) تطبیق داده شود.

شاخصهای فنی کلیدی در ارزیابی نیازمندیها
پیش از فیلتر کردن گزینهها، مقادیر زیر باید تعیین شوند:
- تخمین حافظه رم (SRAM): حافظه رم باید پاسخگوی بافرهای پردازشی، پشته (Stack)، هیپ (Heap) و متغیرهای سراسری باشد. فرض کنید در یک پروژه پردازشی نیاز به ذخیرهسازی 1024 نمونه 16 بیتی (2 بایتی) مبدل ADC داریم:
1024 samples × 2 bytes = 2048 bytes = 2 KiB
این مقدار 2 KiB صرفاً حجم خام یک بافر است؛ مهندس طراح باید حافظهٔ سایر متغیرها، پشته، heap و حاشیهٔ متناسب با رشد واقعی برنامه را جداگانه بودجهبندی کند؛ درصد ثابتی برای همهٔ پروژهها وجود ندارد. این روابط به سادگی با اسکریپت Python همراه بازتولید میشود؛ خروجی آن نیز در بسته قرار دارد. - همپوشانی پایهها (Pin Multiplexing): پایههای میکروکنترلر دارای عملکردهای ثانویه هستند؛ فعالسازی یک درگاه نباید باعث از دست رفتن پایه یک تایمر یا مبدل مورد نیاز شود.
- بستهبندی و مونتاژ: گزینش میان بستههای پایهدار نظیر LQFP و پکیجهای فشرده نظیر QFN بر پایه امکانات تولید و محدودیت ابعادی صورت میگیرد.
- مدیریت توان: در سیستمهای باتریمحور، رفتار تراشه در مدهای Sleep، Stop و Standby اهمیت اساسی دارد.
- قیمت واقعی و چرخه عمر تأمین: از برآورد قیمتهای فرضی پرهیز کنید. ارزیابی تجاری مستلزم استعلام رسمی با تاریخ مشخص، تیراژ معین (MOQ)، زمان تحویل به هفته (Lead Time) و بررسی وضعیت چرخه عمر تولید تراشه (Active Lifecycle) است.
آزمایش انتخاب؛ ابتدا پیشبینی، سپس بررسی
پیش از بازکردن انتخابگر، برای هر پروژه یک خانواده را حدس بزنید و دلیل خود را بنویسید. سپس در انتخابگر وب، حافظه و رابطهای لازم را فیلتر کنید، شمارهٔ دقیق 2 نامزد را بردارید و دیتاشیت هر کدام را باز کنید. پایههای تغذیه، دیباگ و کلاک را رزرو و امکان استفادهٔ همزمان از رابطها را بررسی کنید. در کاربرگ همراه، هر ادعا را به نام سند و بخش مربوط وصل کنید. نتیجهٔ قابل قبول یک شمارهٔ سفارش دقیق همراه دلیل انتخاب و موارد حلنشده است؛ صرف نوشتن «G0» پایان تمرین نیست.
بررسی سه سناریوی پروژه فرضی و کاربرگ مقایسه
برای تثبیت رویکرد مهندسی، سه سناریوی فرضی را تحلیل میکنیم. توجه شود که خروجی این گام، شناسایی یک خانواده نامزد است و طراح باید پارتنامبر نهایی دقیق (Exact MPN) را با ابزار گزینش مشخص کند:
سناریوی 1: کنترلر سیمی ساده
- محدودیتهای قطعی: 1 درگاه UART، حداقل 8 پایه GPIO آزاد، بستهبندی ساده و حداقل قیمت.
- خانواده نامزد اولیه: STM32C0 یا STM32G0.
- استدلال انتخاب: امکان شروع مقایسه از قطعات پایه برای وظایف کنترلی سبک؛ قیمت واقعی باید استعلام شود.
- شرط رد احتمالی: تداخل پین UART با پایههای ریست یا بوت در بستههای کوچک پینپایین.
- گام اعتبارسنجی: بررسی ماتریس پایهها در دیتاشیت پارتنامبر نهایی و استعلام قیمت تیراژ.
سناریوی 2: دیتالاگر باتریمحور دورهای
- محدودیتهای قطعی: 1 رابط I2C جهت اتصال سنسور، تقویم بلادرنگ با کریستال LSE، تعیین دورهٔ بیداری و عمر باتری مورد انتظار. جریان فعال، خواب و میانگین چرخه سه مقدار متفاوتاند.
- خانواده نامزد اولیه: STM32U0 یا STM32U5.
- استدلال انتخاب: مصرف انرژی بسیار کم در مدهای استندبای و کارایی بهینه به ازای توان مصرفی.
- شرط رد احتمالی: کسری بودجه توان کل برد (جریان نشتی سنسور یا رگولاتور؛ در صورت نیاز به رادیو، ماژول خارجی ارزیابی شود).
- گام اعتبارسنجی: ترسیم پروفایل زمانی مصرف جریان در چرخههای خواب و بیداری و تعیین ظرفیت باتری.
سناریوی 3: کنترل آنالوگ با ورودی ADC و خروجی PWM
- محدودیتهای قطعی: 4 کانال ورودی ADC و 2 خروجی PWM؛ نرخ نمونهبرداری، دقت و نیاز یا عدم نیاز به نمونهبرداری همزمان باید جداگانه تعیین شوند.
- خانواده نامزد اولیه: STM32F303 یا STM32G4.
- استدلال انتخاب: وجود واحدهای ADC چندگانه پرسرعت و تایمرهای پیشرفته کنترل موتور.
- شرط رد احتمالی: سرعت تبدیل ناکافی یا تداخل همزمان خروجیهای تایمر با ورودیهای ADC.
- گام اعتبارسنجی: بازبینی همپوشانی پایهها (AF Coexistence) در دیتاشیت و تطبیق زمان تبدیل ADC.
| ردیف | پروژه فرضی | محدودیتهای قطعی | خانواده نامزد | شرط رد احتمالی | گام اعتبارسنجی بعدی |
|---|---|---|---|---|---|
| 1 | کنترلر سیمی ساده | 1 UART و 8 GPIO | STM32C0 / G0 | تداخل پین در بستههای کوچک | بررسی جدول پینها و استعلام قیمت |
| 2 | دیتالاگر کممصرف | 1 I2C و RTC با LSE | STM32U0 / U5 | کسری بودجه توان کل سیستم | محاسبه جریان خواب و ابعاد باتری |
| 3 | کنترلر مبدل آنالوگ | 4 ورودی ADC و 2 خروجی PWM | STM32F303 / G4 | تداخل AF یا تاخیر نمونهبرداری | تطبیق زمان تبدیل و نگاشت تایمر |
اشتباهات رایج و راهنمای عیبیابی در انتخاب تراشه
- اشتباه گرفتن تعداد پایههای فیزیکی با GPIO در دسترس: نادیده گرفتن پایههای تغذیه، دیباگ و اسیلاتور که به کمبود پین در زمان طراحی منجر میشود.
- تخصیص حافظه CCM RAM به DMA: در STM32F303CBT6 حافظهٔ CCM برای بافر DMA در دسترس نیست؛ بودجهٔ حافظهٔ بافر را از SRAM عمومی در نظر بگیرید. بررسی تنظیمات واقعی DMA موضوع درسهای بعد است.
- تکیه بر نام دستهبندی تجاری: مشخصات فرکانس، حافظه و تجهیزات جانبی باید در سطح پارتنامبر دقیق ارزیابی شوند.
- غفلت از همپوشانی پایهها (AF Conflicts): عدم بررسی تداخل پایههای خروجی پیش از طراحی شماتیک و تولید برد مدار چاپی.
- بیتوجهی به چرخه عمر تأمین: گزینش قطعاتی که وضعیت آنها به حالت عدم توصیه برای طرح جدید (NRND) تغییر یافته است.
خودآزمایی و تمرینهای یادگیری
پرسش 1: در تراشه STM32F303CBT6 با پکیج 48 پایه، آیا میتوان مداری با 45 پین ورودی/خروجی آزاد پیاده کرد؟
پاسخ: خیر؛ زیرا پایههای تغذیه و زمین (VDD/VSS/VDDA/VSSA)، پین ریست سختافزاری (NRST) و پینهای دیباگ SWD پایههای فیزیکی متعددی را اشغال میکنند.
پرسش 2: چرا در سناریوی انتقال داده حجیم ADC با مکانیزم DMA، نباید بافر داده را در حافظه CCM RAM تراشه F303 قرار داد؟
پاسخ: CCM ناحیهای جدا از SRAM عمومی این تراشه است و DMA به آن دسترسی ندارد؛ برای انتخاب حافظهٔ مناسب باید نقشهٔ حافظه و محدودیت دسترسی گذرگاه را بررسی کرد، نه فقط مجموع ظرفیت RAM.
تمرین کاربردی: با استفاده از ابزار تحت وب رسمی ST، یک میکروکنترلر از خانواده STM32G0 با حداقل 32 KiB حافظه فلش و بستهبندی LQFP32 پیدا کنید. پارتنامبر دقیق را استخراج کرده و وضعیت چرخه عمر تولید آن را ثبت نمایید.
جدول تطبیق منابع رسمی و پیوند مستندات
| عنوان مستند | کد مرجع | پیوند دسترسی مستقیم | شرح محوری |
|---|---|---|---|
| دیتاشیت STM32F303xB/C | DS9118 Rev 14 | دانلود دیتاشیت | جدول 87 نامگذاری و جدول 2 مشخصات رم و CCM |
| پورتفولیوی میکروکنترلرهای ST | سبد رسمی 2026 | مشاهده پورتفولیو | تفکیک خانوادههای Mainstream، کممصرف و بیسیم |
| راهنمای بوم ابزارهای انتخابی | Cube Getting Started | راهنمای گزینش | توصیه استفاده از انتخابگر وب نسبت به ابزارهای قدیمی |
| شماتیک برد GB100ST | Schematic V2.0 | شماتیک GB100ST | اتصالات LED روی PB6، کلید PA3 و کریستالها |
دانلود فایلهای همراه این آموزش
کاربرگ انتخاب برای 3 پروژه، اسکریپت محاسبهٔ بافر، گزارش اجرا، منابع و تصویرهای آموزشی؛ این درس فریمور یا فایل .ioc ندارد.
- پوشهٔ درس 2 در گیتهاب
- دانلود همهٔ فایلهای همراه ـ ZIP، حدود 130 kB
- راهنمای استفاده از فایلهای این درس
دانلود به نسخهٔ مشخص همراه مقاله متصل است. ابتدا ZIP را استخراج و راهنما را مطالعه کنید.