# MCU选型速查表

## 选型决策流程

```
第一步：列出项目所需外设
  ├── GPIO数量：____个
  ├── UART：____路
  ├── SPI：____路
  ├── I2C：____路
  ├── 定时器/PWM：____路（是否需死区控制？）
  ├── ADC：____路，分辨率要求____位，采样率____SPS
  ├── DAC：____路
  ├── USB：□ Device □ Host □ OTG
  ├── CAN：____路
  └── 其他：□ 以太网 □ SDIO □ DCMI(摄像头) □ QSPI(Flash)

第二步：评估处理能力
  ├── 是否需要浮点运算（FPU）？
  ├── 是否需要DSP指令？
  ├── Flash大小需求：____KB
  └── RAM大小需求：____KB

第三步：非技术约束
  ├── 成本预算：____元
  ├── 封装限制：□ QFP（易焊接） □ QFN □ BGA
  ├── 是否可接受国产芯片？
  └── 是否有开发板/教程资源需求？

第四步：对照下表选择
```

## 主流MCU速查矩阵

### ARM Cortex-M 系列

| 系列 | 代表型号 | 内核 | 主频 | Flash/RAM | ADC | 特色外设 | 典型场景 | 参考单价 |
|------|---------|------|------|-----------|-----|---------|---------|---------|
| STM32F103 | STM32F103C8T6 | M3 | 72MHz | 64K/20K | 12bit, 1MSPS | 4路定时器PWM | 通用控制、小车 | ~5元 |
| STM32F407 | STM32F407VET6 | M4+FPU | 168MHz | 512K/192K | 12bit, 2.4MSPS×3 | DSP、DCMI、以太网 | 仪器仪表、信号处理 | ~25元 |
| STM32H750 | STM32H750VBT6 | M7+FPU+DSP | 480MHz | 128K/1M | 16bit, 3.6MSPS×3 | 双ADC同步模式 | 示波器、高速采集 | ~30元 |
| STM32G0 | STM32G071K6T6 | M0+ | 64MHz | 128K/36K | 12bit | 低功耗 | 仪表、传感器节点 | ~8元 |
| STM32L0 | STM32L051C8T6 | M0+ | 32MHz | 64K/8K | 12bit | 超低功耗 | 电池供电设备 | ~7元 |
| GD32F450 | GD32F450ZGT6 | M4+FPU | 200MHz | 1M/256K | 12bit | 多定时器PWM、丰富外设 | 智能小车、梁山派开发板 | ~30元 |
| AT32F425 | AT32F425K8U7 | M4+FPU | 96MHz | 64K/20K | 12bit | USB FS OTG | USB下载器/调试器 | ~6元 |
| HK32F103 | HK32F103C8T6 | M3 | 72MHz | 64K/20K | 12bit | 与STM32F103引脚兼容 | 国产替代方案 | ~3元 |

### 国产RISC-V/ARM系列

| 系列 | 代表型号 | 内核 | 主频 | Flash/RAM | ADC | 特色外设 | 典型场景 | 参考单价 |
|------|---------|------|------|-----------|-----|---------|---------|---------|
| CW32F030 | CW32F030C8T6 | M0+ | 64MHz | 64K/8K | 12bit | 低功耗、抗干扰 | 测试笔、仪表 | ~4元 |
| ESP32-C3 | ESP32-C3-MINI | RISC-V | 160MHz | 4M/400K | 12bit, 2路 | WIFI+BLE5.0 | 联网控制、物联网 | ~8元 |
| ESP32-S3 | ESP32-S3-WROOM | Xtensa LX7 | 240MHz | 16M/512K | 12bit, 20ch | WIFI+BLE5.0, 向量指令 | 高级物联网、AI推理 | ~18元 |
| CH32V307 | CH32V307VCT6 | RISC-V V4F | 144MHz | 256K/64K | 12bit, 2路 | USB HS OTG, 以太网 | 工业控制 | ~12元 |

## 选型速记口诀

- **联网用ESP**：ESP32-C3（简单）→ ESP32-S3（高级）
- **测信号用H7**：STM32H750（高速ADC+双ADC同步）
- **跑电机用GD**：GD32F450（定时器通道多+死区控制）
- **低成本替STM**：HK32F103C8T6（引脚兼容直接替换）
- **超低功耗CW**：CW32F030（抗干扰+低功耗）
- **USB调试器AT**：AT32F425（USB FS完善）
- **新手入门STM32F103**：资料最多、教程最全

## 常见问题

**Q：晶振不工作怎么办？**
A：使用任何晶振前必须查阅MCU数据手册。部分MCU（如STM32G0 K6T6）仅支持低速无源晶振+高速有源晶振，用8MHz无源晶振会导致系统不跑。有源晶振仅需接OSC_IN一个引脚，稳定性好；无源晶振需接OSC_IN和OSC_OUT并匹配负载电容。省钱方案：直接用MCU内部RC振荡器（已校准）。

**Q：DMA使用注意事项？**
A：CW32系列与STM32的关键区别——CW32的DMA每次传输完成后必须重新配置；ADC多通道DMA采样使用硬件触发模式（定时器触发ADC→转换完成→DMA传输→自动切换通道）。

**Q：ADC参考电压怎么选？**
A：推荐使用外部基准电压源（如2.5V或3.3V），不要直接使用VDD作参考（VDD纹波大影响精度）。尤其电池供电场景，VDD随电量波动很大。
