【学习记录】DAP调试器电路原理图完全详解:从STM32最小系统到SWD调试接口
DAP调试器(CMSIS-DAP)是嵌入式开发中最常用的调试工具之一。它本质上是一个小型的STM32最小系统 + USB接口 + 目标调试接口。本文从原理图角度,逐模块拆解DAP调试器的电路设计,涵盖MCU最小系统、USB通信、电源管理、状态指示、目标调试接口以及常见故障排查。保留全部技术细节,适合硬件工程师参考设计。
📌 目录
一、MCU STM32 最小系统电路
DAP调试器的主控MCU通常选用 STM32F103C8T6(小蓝板同款),原因:成本低、USB外设齐全、社区支持好。
1. 电源电路
| 引脚 | 连接 | 说明 |
|---|---|---|
| VDD (3.3V) | 3.3V电源 | 主供电 |
| VSS / GND | GND | 接地 |
| VDDA | 3.3V(经磁珠或电感) | 模拟电源,与VDD隔离 |
| VSSA | GND | 模拟地 |
| VBAT | 3.3V 或 悬空 | 不用RTC时可悬空 |
| VDD_USB | 3.3V | USB收发器供电 |
去耦电容 :每个VDD引脚旁放 100nF 电容,靠近引脚(<1cm)。VDDA旁额外加 1μF + 10nF。
BOOT配置:
- BOOT0:接 10kΩ下拉 到GND(正常从Flash启动)
- BOOT1:接 10kΩ下拉 到GND
2. 晶振电路
| 晶振 | 引脚 | 负载电容 | 说明 |
|---|---|---|---|
| 8MHz 无源晶振 | OSC_IN (PD0)、OSC_OUT (PD1) | 两个 20pF 到GND | 主时钟,USB必需 |
| 32.768kHz(可选) | OSC32_IN、OSC32_OUT | 两个 12.5pF | RTC用,DAP不需要 |
8MHz晶振是USB通信的硬性要求。STM32F103的USB外设需要精确的48MHz时钟,内部RC振荡器精度不够,必须用外部晶振经PLL倍频得到。
3. 复位电路
NRST ──┬── 10kΩ ── 3.3V
├── 100nF ── GND
└── 复位按键 ── GND
- 10kΩ上拉:保证常态高电平
- 100nF电容:滤除干扰,防止误复位
- 复位按键:手动复位MCU
4. DEBUG电路(DAP自身烧录接口)
这是给DAP调试器自己烧录固件用的接口,必须接在STM32的SWD专用引脚上:
| 信号 | STM32引脚 | 说明 |
|---|---|---|
| SWDIO | PA13 | 数据线 |
| SWCLK | PA14 | 时钟线 |
| NRST | NRST | 复位 |
| GND | GND | 共地 |
| 3.3V | 3.3V | 供电 |
引出形式:4~5个排针或测试点,标注"DEBUG"或"SWD_IN"。
烧录方式:用另一个DAP调试器或ST-Link,通过这组引脚给DAP主控烧录固件。烧录完成后,DAP就变成一个独立的调试器了。
注意 :PA13/PA14在STM32复位后默认就是SWD功能,不需要额外配置。但如果固件里把这两个引脚复用为GPIO,需要用 Connect Under Reset 模式才能连上。
二、USB电路(连接笔记本)
DAP调试器通过USB与PC通信,同时从USB取电。
Type-C 或 Micro-USB 接口
| USB信号 | STM32引脚 | 说明 |
|---|---|---|
| VBUS (5V) | 电源电路输入 | 供电 |
| D+ | PA12 | USB DP |
| D- | PA11 | USB DM |
| GND | GND | 共地 |
| CC1/CC2 | 5.1kΩ下拉到GND | Type-C受电标识(Micro-USB不需要) |
| Shield | 通过1MΩ+4.7nF到GND | 屏蔽层接地 |
D+上拉:STM32F103的USB外设内部已集成1.5kΩ上拉,不需要外部电阻。如果使用其他MCU,可能需要在D+上加1.5kΩ上拉到3.3V。
USB保护:
- VBUS串 自恢复保险丝(如JK-SMD0603-100L,1A保持/2A跳闸)
- D+/D-串 共模电感 或 22Ω电阻,抑制EMI
- D+/D-并 TVS二极管(如USBLC6-2SC6),防静电
ESD保护:USB接口是最容易受静电损伤的地方,TVS二极管必加。
三、电源电路
DAP调试器需要 3.3V 给STM32供电,同时可能需要 5V 给目标板供电。
典型电源树
USB VBUS (5V)
│
├── 自恢复保险丝 (1A)
│
├──→ 5V输出(给目标板供电,可选)
│
└──→ LDO (如AMS1117-3.3 或 RT9013)
│
└──→ 3.3V(给STM32、LED、目标板参考电压)
LDO选型建议
| 型号 | 输出 | 特点 |
|---|---|---|
| AMS1117-3.3 | 3.3V/1A | 便宜,压差大(~1.1V),发热明显 |
| RT9013-33 | 3.3V/500mA | 低压差(~250mV),SOT-23-5封装 |
| LP5907 | 3.3V/250mA | 低噪声,适合精密场合 |

目标板供电控制
DAP通常需要给目标板提供3.3V参考电压(VTref),但不一定给目标板供电。建议:
- VTref:从目标板取,用于检测目标板是否上电
- 3.3V输出:可选,通过跳线或MOSFET控制是否给目标板供电
- 5V输出:可选,从VBUS直接引出
四、其他电路
1. LED状态灯
DAP通常有 2~3个LED:
| LED | 颜色 | 含义 |
|---|---|---|
| 电源LED | 绿色 | 3.3V正常 |
| 运行LED | 蓝色/绿色 | 固件运行中,心跳闪烁 |
| 调试LED | 红色/橙色 | 正在调试/通信中 |
| 限流电阻计算: |

为什么要加电阻:
- 不加电阻,LED电流无限大,瞬间烧毁
- 电阻太大,LED太暗看不见
- 电阻太小,LED太亮刺眼,且增加功耗
LED接法:
3.3V ── 电阻 ── LED正极 ── LED负极 ── GPIO
GPIO输出低电平时LED亮(灌电流),STM32的GPIO灌电流能力比拉电流强。
2. CONNECT接口(连接目标开发板)
这是DAP调试器连接用户目标板 的接口,用户一侧丝印通常标 SWD 或 JTAG。
标准SWD接口(推荐,5针) :
| 引脚 | 信号 | 说明 |
|---|---|---|
| 1 | VTref | 目标板参考电压,用于检测目标板是否上电 |
| 2 | SWDIO | 数据线 |
| 3 | SWCLK | 时钟线 |
| 4 | GND | 共地 |
| 5 | NRST | 复位(可选,但建议接) |
标准JTAG接口(10针或20针) :
| 信号 | 说明 |
|---|---|
| VTref | 参考电压 |
| TCK | 时钟 |
| TMS | 模式选择 |
| TDI | 数据输入 |
| TDO | 数据输出 |
| NRST | 复位 |
| GND | 地 |
DAP通常同时支持SWD和JTAG ,通过固件自动识别。实际使用中 SWD占95%以上,因为引脚少、速度快。
3. CONNECT接口的保护
| 保护措施 | 作用 |
|---|---|
| VTref串100Ω电阻 | 限流,防止目标板异常电压损坏DAP |
| SWDIO/SWCLK串22Ω~100Ω电阻 | 抑制反射,保护IO |
| NRST串100Ω | 限流 |
| TVS二极管 | 防静电 |
| GND接多个引脚 | 保证共地可靠 |
4. 其他可选电路
| 电路 | 作用 |
|---|---|
| UART TX/RX | 部分DAP支持虚拟串口,引出PA9/PA10 |
| 复位按键 | 手动复位DAP主控 |
| BOOT按键 | 进入DFU模式,用于固件升级 |
| EEPROM | 存储序列号、配置信息 |
| SWO | 单线跟踪输出,部分DAP引出 |
五、补充知识点
1. DAP的两种供电模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| USB供电 | DAP从USB取电,VTref只做检测 | 目标板自己供电 |
| DAP供电 | DAP给目标板供电(3.3V或5V) | 目标板无独立电源 |
注意 :如果目标板自己供电,不要把DAP的3.3V输出接到目标板3.3V,否则两个电源打架,可能烧毁。
2. VTref的作用
VTref是目标板的参考电压,DAP用它来:
- 检测目标板是否上电
- 确定SWDIO/SWCLK的电平标准
如果VTref为0,DAP认为目标板未上电,拒绝连接。所以VTref必须接目标板的3.3V。
3. SWD与JTAG的区别
| 维度 | SWD | JTAG |
|---|---|---|
| 引脚数 | 2(SWDIO+SWCLK)+ NRST + GND + VTref | 4(TCK/TMS/TDI/TDO)+ NRST + GND + VTref |
| 速度 | 快 | 较慢 |
| 占用引脚 | PA13/PA14 | PA13/PA14/PA15/PB3/PB4 |
| 适用 | Cortex-M | 所有ARM |
SWD是JTAG的简化版,引脚更少,速度更快,是Cortex-M的首选。
4. DAP固件烧录流程
- 用另一个调试器(ST-Link或另一个DAP)连接DAP的 DEBUG接口(PA13/PA14/NRST/GND/3.3V)
- 烧录DAPLink固件(.hex或.bin)
- 烧录完成后,DAP的USB插入PC,设备管理器出现 CMSIS-DAP 设备
- 用
pyocd list验证识别
5. 常见故障排查
| 现象 | 原因 | 排查 |
|---|---|---|
| PC不识别DAP | USB枚举失败 | 查8MHz晶振、D+上拉、USB线 |
| DAP识别但连不上目标 | VTref为0、SWD接线错 | 测VTref电压、查SWDIO/SWCLK |
| 能连但烧录失败 | NRST未接、目标板未上电 | 接NRST、检查目标板供电 |
| LED不亮 | 限流电阻太大、GPIO配置错 | 换小电阻、查GPIO |
6. 原理图检查清单
- 8MHz晶振 + 20pF负载电容
- NRST上拉10kΩ + 100nF
- 每个VDD旁100nF去耦
- USB D+/D-接PA12/PA11
- Type-C CC1/CC2各5.1kΩ下拉
- VBUS串自恢复保险丝
- D+/D-加TVS
- LDO输入输出电容(1μF+1μF)
- LED限流电阻(470Ω~1kΩ)
- CONNECT接口:VTref、SWDIO、SWCLK、GND、NRST
- BOOT0下拉10kΩ
- DEBUG接口引出PA13/PA14/NRST/GND/3.3V
六、总结
| 模块 | 核心要点 |
|---|---|
| STM32最小系统 | 8MHz晶振(USB必需)、NRST复位、BOOT0下拉、去耦电容 |
| USB电路 | D+接PA12,D-接PA11,Type-C CC下拉5.1kΩ,ESD保护 |
| 电源电路 | VBUS→保险丝→LDO→3.3V,注意散热计算 |
| LED电路 | 限流电阻470Ω~1kΩ,GPIO灌电流驱动 |
| CONNECT接口 | SWD五线:VTref、SWDIO、SWCLK、GND、NRST |
| 保护电路 | VTref/SWD串电阻,TVS防静电 |
一句话总结 :DAP调试器 = STM32最小系统(电源+8MHz晶振+复位+DEBUG接口)+ USB接口(D+/D-+保护)+ 电源电路(LDO)+ 状态LED + CONNECT调试接口(SWD/JTAG)。核心是8MHz晶振保证USB通信 ,VTref检测目标板供电 ,SWD五线连接目标板。