JTAG 没有标准连接器。通常,“JTAG 连接器”是标准公接头,例如 0.1 英寸接头或更细间距接头。正如我们所见,操作 JTAG TAP 只需四个(或五个)引脚。然而,用于与 TAP“通信”的设备(称为JTAG 接口)也需要电源和接地连接,并且设计人员可以根据需要在 JTAG 接头上包含其他连接。
那么,对于给定的电路板,设计人员应如何提供 JTAG 访问?而且,如果是新板,您应该在哪里寻找 JTAG 连接器?
尽管 JTAG 接口没有一种标准接头,但制造商之间已经或多或少地标准化了几种接头类型。其中包括ARM JTAG 20、ARM JTAG 14、TI JTAG 14、STMicroElectronics 的 STDC14、Infineon 的OCDS 16 引脚接头[pdf]、 CoreSight 10、CoreSight 20、MIPI 34和Mictor 38。Segger 定义的J-Link 和 J-Trace 连接器几乎与 ARM JTAG 20 相同。
大多数插头是带罩或无罩公头,具有 10、14 或 20 引脚,引脚间距为 0.1” 或 0.05”。示例如图 1 所示。
图 1.用于连接 JTAG 接口的通用接头座。
各种 JTAG 接口的引脚排列(上面链接)如图 2 所示。在这里您可以找到 JTAG 的标准引脚(TDI、TDO、TCK、TMS、nTRST)以及串行线调试(SWDIO、SWCLK、SWO) ),以及用于调试的附加功能,例如跟踪。
图 2.各种 JTAG 接口的引脚排列,在本例中显示在 0.1” 带罩公接头上。
添加的引脚中特别值得注意的是 nSRST(完全系统复位),它强制目标完全复位,以及 VTREF(电压目标参考),连接到目标电源轨以进行 JTAG 接口硬件电平转换。
JTAG接口
市场上有多种 JTAG 接口(也称为 JTAG 调试
探针)。在开源硬件领域,有Black Magic Probe 或 BMP,由 1BitSquared 和 Black Sphere Technologies 开发,用作 ARM JTAG 接口,有一个庞大而活跃的社区支持它。Black Magic Probe 还可以指任何其固件已替换为Black Magic Probe 固件的JTAG 接口。
Segger 广泛使用的商用调试探针包括J-Link (如图 3 所示)和J-Trace,后者是一种更先进且功能强大的调试探针,适用于工业应用。如果 J-Link 的教育许可价格低于 100 美元,或者商业应用的价格在 400 至 1,000 美元之间,则 J-Trace 的价格在 1,700 至 2,500 美元之间。
图 3. Segger J-Link PRO 调试探针和 JTAG 接口
特定供应商还将为其产品销售 JTAG 接口。STMicroElectronics为其STM8和STM32产品提供STLINK系列(包括STLINK/V2和STLINK-V3SET ),Atmel(现为Microchip)提供Atmel-ICE,NXP提供S32调试探针——这样的例子不胜枚举。
FPGA 还使用 JTAG 将比特流到设备/
存储器上,但这些接口通常称为
电缆。示例包括 Xilinx 的Platform Cable II 和 Altera 的 FPGA 电缆(以前称为 USB-Blaster II,现在更名为 Intel FPGA Download Cable II)。
那么这些设备究竟发生了什么原因导致它们如此昂贵呢?它们支持哪些功能,设计师如何使用它们?一般来说,如果您查看低端调试探针的内部,您会发现以下内容:
微控制器作为主 JTAG 控制器
USB 接口,可以嵌入微控制器中,也可以单独安装在 FTDI 芯片中
用于逻辑兼容性的电平转换电路
用于启用和禁用不同路径、上拉等的
开关电路。
就是这样。作为示例,请查看Github 上提供的Black Magic Probe 硬件文件。大部分工作(和成本)都发生在软件端,提供强大的(有时是实时的)调试工具,使开发人员能够充分利用 Arm CoreSight 架构。