探针硬件连接:标准20针JTAG接口定义、SWD接口定义、目标板供电与接地、信号线连接与保护

好,咱们正式开始动手。上一章聊了探针选型,这一章咱们把探针和板子连起来。硬件连接这事儿,看着简单,但坑不少。我见过太多工程师,软件配置半天没问题,最后发现是杜邦线松了,或者地线没接——白白浪费一整天。

说白了,连接探针就三件事:接口对得上、供电别烧板、信号别串扰。咱们一个一个说。

标准20针JTAG接口定义

JTAG是IEEE 1149.1标准,20针是ARM公司早期推广的通用调试接口。现在市面上大部分调试探针,比如J-Link、ST-Link、ULINK,都带这个20针排母。

我个人习惯,拿到探针第一件事,先看丝印。20针接口通常有防反插缺口,但有些廉价探针连缺口都省了。这时候就得靠引脚定义来核对。

引脚 信号名 方向(相对目标板) 说明
1 VTref 输入 目标板参考电压,探针用它判断电平
2 VCC 输出 探针给目标板供电(可选,慎用)
3 nTRST 输出 JTAG TAP控制器复位(低有效)
4 GND - 地
5 TDI 输出 数据输入到目标板
6 GND - 地
7 TMS 输出 模式选择
8 GND - 地
9 TCK 输出 时钟
10 GND - 地
11 RTCK 输入 目标板返回时钟(自适应用)
12 GND - 地
13 TDO 输入 数据从目标板输出
14 GND - 地
15 nSRST 输出 目标系统复位(低有效)
16 GND - 地
17 DBGRQ 输出 调试请求(很少用)
18 GND - 地
19 DBGACK 输入 调试应答(很少用)
20 GND - 地
我的小习惯:每次接线前,用万用表蜂鸣档测一下VTref(引脚1)和GND(引脚4)之间有没有短路。如果短路了,先别插探针,查板子电源。我曾经有一次没测,插上探针直接冒烟——目标板上的LDO烧了。

SWD接口定义

SWD是ARM后来推的简化版,只用两根线:SWDIO(数据)和SWCLK(时钟)。加上GND和VTref,最少4根线就能调试。现在Cortex-M系列芯片基本都支持。

为什么用SWD?说白了,省引脚。20针JTAG占太多IO了,小封装芯片根本放不下。SWD还能和JTAG共存,很多芯片的SWDIO和TMS共用同一个引脚,SWCLK和TCK共用。

引脚 SWD信号 对应JTAG 说明
1 VTref VTref 参考电压,必须接
2 SWDIO TMS 双向数据线
3 GND GND 地
4 SWCLK TCK 时钟
5 GND GND 地
6 SWO TDO 串行输出(可选,用于printf)
7 nSRST nSRST 复位(可选)
8 GND GND 地
9 GND GND 地
10 GND GND 地
注意:SWDIO是双向开漏信号,必须接上拉电阻(通常4.7kΩ到10kΩ)。有些探针内部已经集成,但目标板上最好也预留。我曾经遇到一块板子,SWD死活连不上,折腾半天发现是PCB layout时漏了上拉电阻。

目标板供电与接地

这是最容易出问题的地方。我把它拆成两个场景来讲。

场景一:目标板自己供电

这是最推荐的方式。目标板插着USB或者接着电源适配器,探针只接信号线和GND。这时候VTref引脚会检测到目标板的电平(比如3.3V或1.8V),探针自动调整IO电平匹配。

  • 优点:安全,探针不参与供电,不会因为电流过大烧板子。
  • 缺点:目标板必须独立上电,调试前得先确认板子已经跑起来了。

场景二:探针给目标板供电

有些探针(比如J-Link EDU Mini)的引脚2可以输出3.3V,电流通常100mA左右。适合调试低功耗小板子,比如STM32最小系统板。

  • 优点:一根线搞定供电和调试,方便。
  • 缺点:电流有限,带不动大板子。如果目标板上有电机、继电器,千万别用探针供电。
我的建议:除非你确定目标板功耗极低(比如只有MCU和几个LED),否则一律用独立供电。探针供电只是应急方案,别当常态。

接地这块,记住一句话:所有GND必须共地。探针的GND和目标板的GND之间,阻抗越低越好。我习惯用粗一点的杜邦线或者直接焊一根短导线,而不是用那种细长的母对母跳线——那种线内阻大,高频信号容易出问题。

信号线连接与保护

信号线连接,说白了就是怎么把探针的引脚和板子上的调试接口连起来。常见方式有三种:

  1. 排线直插:20针排线一头插探针,一头插板子上的20针排母。最稳定,但板子上得有对应接口。
  2. 杜邦线:灵活,但容易松动。适合原型验证,不适合量产测试。
  3. 转接板:比如20针转SWD的转接小板,把20针接口转成4针或5针的简易接口。

信号保护这块,我吃过亏。有一次调试一块高频板卡,SWCLK频率设到10MHz,结果波形严重畸变,调试器频繁断开连接。后来发现是杜邦线太长,信号反射严重。

几个保护要点:

  • 线长控制:SWCLK频率超过1MHz时,线长尽量控制在15cm以内。超过20cm,建议降低时钟频率。
  • 信号隔离:如果目标板是高压环境(比如48V系统),必须用隔离调试探针,或者加隔离芯片(比如ISO7240)。
  • ESD保护:调试接口裸露在外,人手经常触摸。建议在SWDIO和SWCLK上加TVS管(比如PESD5V0S1UB),防止静电打坏芯片。
避坑指南:我曾经在产线上遇到一批板子,SWD连接成功率只有70%。排查到最后,发现是产线工人用了一卷劣质杜邦线,线芯只有7根细铜丝,内阻大得离谱。换成AWG26的排线后,问题立刻消失。所以,别在连接线上省钱。

知识结构图:探针硬件连接全景

下面这张图把本章的核心知识点串起来了。你可以把它当作连接前的检查清单。

探针硬件连接知识结构 探针硬件连接 20针JTAG接口 SWD接口 供电与接地 信号连接与保护 引脚定义表 防反插检查 VTref检测 SWDIO/SWCLK 上拉电阻 SWO(可选) 独立供电 探针供电(慎用) GND共地 线长控制 信号隔离 ESD保护 核心原则 1. 先测VTref,再插信号线 2. GND必须共地,阻抗越低越好

嗯,硬件连接这部分就这些。记住,连接之前多看一眼,连接之后用万用表测一下。别急着上电,别急着点下载。硬件这东西,慢就是快。