探针硬件连接:标准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 | - | 地 |
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 | 地 |
目标板供电与接地
这是最容易出问题的地方。我把它拆成两个场景来讲。
场景一:目标板自己供电
这是最推荐的方式。目标板插着USB或者接着电源适配器,探针只接信号线和GND。这时候VTref引脚会检测到目标板的电平(比如3.3V或1.8V),探针自动调整IO电平匹配。
- 优点:安全,探针不参与供电,不会因为电流过大烧板子。
- 缺点:目标板必须独立上电,调试前得先确认板子已经跑起来了。
场景二:探针给目标板供电
有些探针(比如J-Link EDU Mini)的引脚2可以输出3.3V,电流通常100mA左右。适合调试低功耗小板子,比如STM32最小系统板。
- 优点:一根线搞定供电和调试,方便。
- 缺点:电流有限,带不动大板子。如果目标板上有电机、继电器,千万别用探针供电。
接地这块,记住一句话:所有GND必须共地。探针的GND和目标板的GND之间,阻抗越低越好。我习惯用粗一点的杜邦线或者直接焊一根短导线,而不是用那种细长的母对母跳线——那种线内阻大,高频信号容易出问题。
信号线连接与保护
信号线连接,说白了就是怎么把探针的引脚和板子上的调试接口连起来。常见方式有三种:
- 排线直插:20针排线一头插探针,一头插板子上的20针排母。最稳定,但板子上得有对应接口。
- 杜邦线:灵活,但容易松动。适合原型验证,不适合量产测试。
- 转接板:比如20针转SWD的转接小板,把20针接口转成4针或5针的简易接口。
信号保护这块,我吃过亏。有一次调试一块高频板卡,SWCLK频率设到10MHz,结果波形严重畸变,调试器频繁断开连接。后来发现是杜邦线太长,信号反射严重。
几个保护要点:
- 线长控制:SWCLK频率超过1MHz时,线长尽量控制在15cm以内。超过20cm,建议降低时钟频率。
- 信号隔离:如果目标板是高压环境(比如48V系统),必须用隔离调试探针,或者加隔离芯片(比如ISO7240)。
- ESD保护:调试接口裸露在外,人手经常触摸。建议在SWDIO和SWCLK上加TVS管(比如PESD5V0S1UB),防止静电打坏芯片。
知识结构图:探针硬件连接全景
下面这张图把本章的核心知识点串起来了。你可以把它当作连接前的检查清单。
嗯,硬件连接这部分就这些。记住,连接之前多看一眼,连接之后用万用表测一下。别急着上电,别急着点下载。硬件这东西,慢就是快。