JTAG 接口

JTAG 接口

原文链接
我的博客

简短介绍

JTAGJoint Test Action Group 的缩写,是在生产后用来校验、测试印刷电路板的一种标准。

JTAG 作为数字仿真工具的一种补充,被电子设计自动化 (EDA) 使用的一种标准。它规定了一个串行通信接口作为调试端口,不需要外部访问系统地址、数据总线,直接实现内部访问。这个接口连接到片上 Test Access Port (TAP),这个 TAP 具有状态协议来访问一系列测试寄存器,这些寄存器能够呈现芯片逻辑电平以及期间功能。

标准: IEEE 1149.1-1990, entitled Standard Test Access Port and Boundary-Scan Architecture

JTAG 标准被一些半导体芯片厂商进行了扩展。

接口应用

调试

虽然 JTAG 早期应用目标是进行板级测试,随着时间发展,现在 JTAG 标准设计来辅助器件、电路板或系统的测试、诊断以及故障隔离。现今,JTAG 是进行集成电路子模块访问的主要手段,这一特性让它称为调试嵌入式系统的基本机制。在大部分系统上,基于 JTAG 的调试在 CPU 重置之后即可使用,帮助开发早期的启动引导软件 (软件一般在最开始阶段进行工作)。一个 JTAG 适配器使用 JTAG 接口来访问 CPU 内部的片上调试模块。这些模块让软件开发者直接以机器指令级调试嵌入式系统软件。

有时候 FPGA 开发者也会使用 JTAG 来开发调试工具。使用与 CPU 相同的机制来帮助调试 FPGA 数字设计模块。

固件存储

JTAG 允许传输数据到内部非易失存储器件上。JTAG 可以用来写软件与数据到闪存上。这通常是使用访问 CPU 时使用的相同的数据总线实现的,且有时是通过 CPU 处理的。有时候存储芯片自身具备 JTAG 接口。

边界扫描测试

JTAG 边界扫描技术提供访问复杂集成电路的逻辑信号的方法 (比如器件引脚)。这些信号呈现在边界扫描寄存器中 (BSR),通过 TAP 可以进行访问。这允许测试、控制信号状态用来测试、调试。因此,软件与硬件故障可以通过这一方法进行定位。

当结合内建自测 (BIST),JTAG 扫描链使能了低功耗,嵌入式方案来测试一个 IC 的某一个特定的静态故障。

测试案例通常以标准格式给出 (比如 SVF,或其二进制 XSVF)。

电气特性

一个 JTAG 接口,按其版本,可以有两个、四个或五个引脚的形式。四、五引脚的接口设计,可以令电路板上多个芯片以菊花链的形式进行连接。双引脚接口可以使多个芯片以星形拓扑进行连接。在任何情况下,测试探针只需要连接到一个 JTAG 端口上,就可以访问电路板上所有的芯片。后面只介绍四、五个引脚的情况。

链接器引脚为:

  • TDI,测试数据输入引脚
  • TDO,测试数据输出引脚
  • TCK,测试时钟引脚
  • TMS,测试模式选择引脚
  • TRST,测试重置引脚 (可选)

TRST 引脚是一个可选引脚 (低电平有效复位)。如果没有这个引脚,也没有关系,通过 TCKTMS 配合也能够实现状态机重置。

因为只有一个数据引脚,因此协议是串行的。时钟输入为 TCK 引脚。每一个 TCK 上升沿一个数据比特从 TDI 输入,一个数据比特从 TDO 输出。可以载入不同的指令。对于某个 IC,指令可以读取芯片 ID,采样输入引脚、驱动输出引脚,操作芯片功能,或旁路 (将 TDI 连到 TDO)。

TCK 的最大工作频率取决于链上允许的最低频率,通常是 10~100 MHz。当然 TCK 频率也依赖于板卡布局以及 JTAG 适配器的能力与状态。

时钟与 TMS 的配合,会更改 JTAG 标准状态机的状态。JTAG 状态机可以复位、访问指令寄存器或访问指令寄存器选择的数据。

posted @ 2022-03-03 11:16  ArvinDu  阅读(942)  评论(0编辑  收藏  举报