1. 개요 (Overview)

STM 제품군 라인업
| STM32F | 기본 성능 시리즈 (일반적인 MCU 성능) | 범용 애플리케이션 |
| STM32L | 저전력 시리즈 | 배터리 기반 시스템, IoT |
| STM32H | 고성능 시리즈 | 고속 처리, 멀티미디어, 산업 제어 |
| STM32G | 향상된 보급형 | F 시리즈보다 성능 개선, 보안 기능 추가 |
| STM32WB | 무선 통합 (Bluetooth, ZigBee 등) | IoT, 무선 통신 |
| STM32U | 초저전력 + 성능 | 차세대 IoT 저전력 |
| STM32MP | MPU (Linux 지원) | 애플리케이션 프로세서 수준 |
STM32F103x8 / STM32F103xB
👉 STM32F103x8 / STM32F103xB 시리즈
Medium-density performance line Arm®-based 32-bit MCU
👉 중간 밀도 성능 라인의 Arm® 기반 32비트 마이크로컨트롤러
with 64 or 128 KB Flash, USB, CAN, 7 timers, 2 ADCs, 9 com. interfaces
👉 64KB 또는 128KB 플래시 메모리, USB, CAN, 타이머 7개, ADC 2개, 통신 인터페이스 9개 탑재
STM32F103 vs ESP32-WROOM-32 (메모리 성능 비교)
👉 메모리 성능은 ESP32가 압도적
| 항목 | STM32F103 | ESP32 WROOM 32 |
| 플래시 메모리 | 64KB 또는 128KB | 4MB (내부 플래시) (기본 모듈 기준) |
| SRAM / RAM | 20KB | 약 520KB SRAM (할당 방식에 따라 달라짐) |
| 외부 메모리 확장 | FSMC 통한 외부 SRAM 가능 | PSRAM 최대 4MB (모듈에 따라 다름) |
| EEPROM | 없음 (에뮬레이션 필요) | 없음 (NVS / SPIFFS 등 활용) |
| ROM (부트로더용) | 2KB | 448KB (ROM 내장: Wi-Fi 스택 포함) |
| 파일 시스템 지원 | 없음 (직접 구현 필요) | SPIFFS, LittleFS, FATFS 등 사용 가능 |
| 코어 아키텍처 | ARM Cortex-M3 (72MHz) | Xtensa LX6 듀얼코어 (240MHz) |


🔹 CPU 및 성능
- ARM Cortex-M3, 72MHz 동작
- 1.25 DMIPS/MHz 성능, 단일 사이클 곱셈 및 하드웨어 나눗셈
🔹 메모리
- Flash: 64KB 또는 128KB
- SRAM: 20KB
🔹 클록 및 전원
- 동작 전압: 2.0V ~ 3.6V
- 외부 크리스탈: 4~16 MHz
- 내부 RC 클록: 8MHz, 40kHz
- RTC용 32kHz 오실레이터 지원
- PLL 사용 가능
🔹 저전력 기능
- Sleep, Stop, Standby 모드
- RTC 및 백업 레지스터용 BAT 지원
🔹 ADC
- 12비트, 최대 1μs 속도
- 최대 16채널 (2개 유닛)
- 듀얼 샘플 및 홀드 지원
- 온도 센서 내장
- 동작 전압 범위: 0 ~ 3.6V
🔹 DMA
- 7채널 DMA 컨트롤러
- ADC, SPI, I2C, USART 등 주변장치 지원
🔹 I/O
- 최대 80개의 고속 I/O
- 최대 16개 외부 인터럽트 소스
- 거의 모든 핀이 5V tolerant (5V 입력 허용)

🔹 디버깅 인터페이스
- SWD (Serial Wire Debug)
- JTAG
🔹 타이머 (총 7개)
- 3× 16비트 일반 타이머
→ 최대 4채널: IC/OC/PWM, 엔코더 입력 등 지원 - 1× 16비트 고급 타이머
→ 모터 제어용 PWM, 데드타임, 긴급정지 포함 - 2× Watchdog Timer
→ 독립형 + 윈도우형 - SysTick 타이머
→ 24비트 다운카운터
🔹 통신 인터페이스 (최대 9개)
- I2C: 최대 2개 (SMBus, PMBus 호환)
- USART: 최대 3개 (ISO 7816, LIN, IrDA, 모뎀 제어 포함)
- SPI: 최대 2개 (최대 18Mbit/s)
- CAN: 2.0B 활성형
- USB: 2.0 Full-speed 디바이스
* CAN통신과 USB 통신이 MCU 내부에 기본적으로 탑재되어 있는 듯 하다. 이는 매우 큰 장점 (별도의 IC를 활용하지 않아도 된다는 것을 의미한다.)
🔹 기타 기능
- CRC 계산 유닛
- 96비트 고유 ID 내장
✅ 패키지 옵션
- LQFP, UFQFPN, BGA 등 다양한 크기 (36~100핀)


✅ 공통 사양
- CPU 속도: 72 MHz (Cortex-M3)
- 동작 전압: 2.0 ~ 3.6V
- 동작 온도:
- -40 ~ +85°C 또는 -40 ~ +105°C (패키지별)
- 접합 온도: 최대 125°C
✅ 패키지 종류
| F103Tx | VFQFPN36 |
| F103Cx | LQFP48, UFQFPN48 |
| F103Rx | LQFP64, TFBGA64 |
| F103Vx | LQFP100, LFBGA100, UFBGA100 |
- Tx / Cx: 소형, 주변장치 수 적음 → 보급형
- Rx / Vx: GPIO, ADC, 통신 수 많음 → 고기능 필요 시 적합
- 모두 USB, CAN, 고급 타이머 포함
- GPIO, 통신 채널 수에 따라 보드 설계 용도에 맞게 선택
'임베디드 HW > 마이크로컨트롤러' 카테고리의 다른 글
| STM32 (STMicroelectironics) 입문하기 (0) | 2025.06.20 |
|---|---|
| ESP32-S3-WROOM 분석 (0) | 2024.07.09 |
| ESP32-WROOM-32 데이터시트 분석 (1) | 2023.08.03 |
| ESP32-DevkitV4 GPIO 기능 정리 (0) | 2023.04.12 |
| ESP32 DevkitC V4 가이드 (1) | 2022.12.14 |