راهنمای جامع معماری و پریفرالهای میکروکنترلرهای STM32
بررسی تخصصی معماری داخلی خانواده STM32؛ از ساختار هستههای ARM Cortex-M، ماتریس باسها و سیستم کلاک (RCC) تا مدیریت حافظه، DMA، تایمرهای پیشرفته و پریفرالهای ارتباطی و آنالوگ.

راهنمای جامع معماری و واحدهای داخلی میکروکنترلرهای STM32
خانواده میکروکنترلرهای ۳۲ بیتی STM32 ساخت شرکت ST بر پایه هستههای قدرتمند ARM Cortex-M بنا شدهاند. در این مقاله به بررسی تفصیلی هسته، زیرسیستم حافظه، کلاک، پریفرالهای ارتباطی، تایمرها، مبدلهای سیگنال، DMA و سیستمهای حفاظتی میپردازیم.
۱. هسته پردازشی (ARM Cortex-M Core) و باسها
قلب تپنده تمام میکروکنترلرهای STM32 یکی از هستههای استاندارد شرکت ARM است:
- Cortex-M0 / M0+ / M33: گزینههای فوق کممصرف (Ultra-low-power) برای کاربردهای پرتابل و سادهتر (نظیر خانوادههای STM32L0 و STM32G0).
- Cortex-M3 / M4: مجهز به دستورات DSP و در اکثر موارد واحد محاسبات شناور سختافزاری (FPU)؛ استاندارد صنعت برای کاربردهای جنرال و کنترل موتورها (مانند STM32F1 و STM32F4).
- Cortex-M7: سرعت بالا (تا بیش از ۴۰۰ تا ۵۵۰ مگاهرتز)، مجهز به حافظه نهان (L1 Cache: I-Cache & D-Cache) و خط لوله (Pipeline) ۶ مرحلهای سوپراسکالار مناسب پردازشهای سنگین صوتی، راداری و تصویری (مانند سری STM32H7 و STM32F7).
ارتباط هسته با محیط پیرامون از طریق ساختار ماتریسی باسهای AHB (Advanced High-performance Bus) و APB (Advanced Peripheral Bus) برقرار میشود.
۲. سیستم مدیریت کلاک و ریست (RCC) و تغذیه (PWR)
منابع کلاک اصلی (Clock Sources):
۳. ساختار حافظه و کنترلر DMA
- حافظه داخلی Flash: ذخیرهسازی کدهای اجرایی، جداول ثابت و امولاتور EEPROM. در سریهای پرسرعت شتابدهندههایی مثل ART Accelerator™ زمان تأخیر خواندن را به صفر سیکل میرسانند.
- حافظه داخلی SRAM: شامل SRAM1 ،SRAM2 و در مدلهای بالاتر DTCM و ITCM (حافظههای با اتصال فشرده بدون تأخیر برای داده و دستورالعمل).
- DMA و BDMA (Direct Memory Access): انتقال داده در پسزمینه بدون درگیر کردن پردازنده مرکزی میان پریفرالها و حافظه (ارسال بافر UART، دریافت سمپلهای ADC، درایو نمایشگر با SPI و...).
۴. پایههای همهمنظوره (GPIO) و مدیریت وقفه (NVIC)
مودهای کاری هر پین GPIO:
• ورودی (Floating / Pull-up / Pull-down)
• خروجی (Push-Pull / Open-Drain)
• عملکرد متناوب (Alternate Function - AF)
• ورودی آنالوگ (Analog) جهت کاهش تلفات توان یا اتصال به ADC
کنترلر وقفهها (NVIC & EXTI):
واحد وقفه تو در تو (NVIC) با امکان اولویتبندی داینامیک، تاخیر پاسخ فوقالعاده کوتاه (Low-latency) و اتصال به کنترلر رویدادهای خارجی (EXTI) روی هر پین فیزیکی.
۵. تایمرها (Timers & Counters)
تایمرها در STM32 به چهار سطح تقسیم میشوند:
۶. پریفرالهای ارتباطی و زیرسیستم آنالوگ
پروتکلهای ارتباطی (Connectivity):
- USART / UART: ارتباط سریال سنتی و مودهای RS485/LIN/IrDA.
- SPI / I2S: ارتباطات پرسرعت سنکرون برای سنسورها و تجهیزات صوتی.
- I2C / SMBus: باس دورشتهای برای کنترل چیپهای جانبی.
- CAN / FDCAN: شبکه کنترل خودرویی و صنعتی مقاوم در برابر نویز.
- USB OTG / Ethernet MAC: ارتباط با کامپیوتر یا شبکه محلی بدون قطعه واسط کنترلر.
بخشهای آنالوگ (Analog Peripherals):
- ADC (سار ۱۲ تا ۱۶ بیت): نمونهبرداری چند مگاسمپل در ثانیه با حالتهای تزریقی (Injected) و منظم (Regular).
- DAC (۱۲ بیت): تبدیل داده دیجیتال به ولتاژ متغیر پیوسته.
- COMP (مقایسهکنندهها): مقایسه سریع ولتاژ آنالوگ در حد نانوثانیه.
- OPAMP: تقویتکنندههای عملیاتی داخلی با گین قابل برنامهریزی (PGA) برای خواندن مستقیم سنسور جریان بدون مدار بیرونی.