边界扫描如何工作?什么是JTAG?

JTAG——IEEE 1149.1标准

JTAG/边界扫描IEEE 1149.1标准是有史以来最成功的电子标准之一,其发明目的是测试电气组件。JTAG/边界扫描已成为电子产品开发和生产中不可或缺的一部分。基本的测试方法是验证电路板连接完好。

与ICT(在线测试)相似,在一个点处激励总成的各个导体路径,而在另一点加以测量。来自这种测量的信息提供了有关印刷电路板上是否可能存在故障的结论。但其性能远远超出了测试板卡上连接的能力。

GÖPEL电子公司的嵌入式JTAG解决方案是用于测试、调试、编程和仿真印刷电路板的非侵入式新方法和标准的基础。

通过JTAG接口进行边界扫描测试是典型的方式。JTAG(联合测试行动小组)提供了对串行推送链的访问。所有边界扫描IO均通过JTAG设置和读取。

处理器、FPGA以及其他高级芯片通常具有JTAG-TAP,即测试访问端口。该端口用于访问各个板卡,以进行配置、通信和调试。

该标准本身描述了支持JTAG的设备的结构,以及描述语言——“边界扫描描述语言(BSDL)”。公开了每一种设备的唯一边界扫描资源。

对于边界扫描组件的内部结构,IEEE标准定义了支持边界扫描功能的组件必须具有四个基本组成部分:

Boundary Scan Module

Processors, FPGAs and other advances chips often have a JTAG-TAP, the Test Access Port. This port is used to access individual boards for configuration, communication and debugging.

The standard itself describes the structure of a JTAG enabled device, as well as the description language,  the "Boundary Scan Description Language (BSDL)". It discloses the unique Boundary Scan resources for each device.

► more on Boundary Scan Description Language (BSDL)

For the internal structure of a Boundary Scan component, the IEEE standard defines four essential components that a Boundary Scan-capable component must have:

IEEE标准定义的边界扫描设备的结构

边界可扫描组件的零件

  • 测试访问端口(TAP)

    “测试访问端口”是设备中边界扫描逻辑与外界之间的接口。

    以下说明了三路输入(加上可选项第四路)和一路输出。

    输入:

    • 测试时钟(TCK)
    • 测试模式选择(TMS)
    • 测试数据输入(TDI)
    • 测试重置(/TRST)——可选

    输出:

    • 测试数据输出(TDO)

    TCK和TMS两个信号以及可选项/TRST信号都是广播信号。

    另一方面,朝向TDO的TDI形成串行链,即:扫描链或扫描路径(参见图示)。

    在模块级别,称之为测试总线。

    这种结构的优点在于,无论有多少个组件切换到扫描链中,都不需要超过四条(包括可选项则为五条)信号线。

    在边界扫描设备中,“测试时钟”、“测试模式选择”以及“测试重置”直接连接到“TAP控制器”,即静态连接。

    信号仅负责其状态。

    也就是说,扫描链中的所有边界扫描设备始终处于相同的TAP状态。

    但是,这并不意味着所有设备必须始终处于相同的操作模式/命令。

  • TAP控制器

    “TAP控制器”负责完全控制设备中的边界扫描逻辑。也即是说,除其他功能之外,其负责边界扫描单元是处于启用还是停用状态,以及当前是否正在测量或驱动。

    “TAP控制器”的核心是“TAP状态机”。

    所包含的状态对内部边界扫描逻辑的控制具有不同的影响。

  • 指令寄存器

    指令寄存器确定边界扫描设备的操作模式。

    这继而影响边界扫描单元的控制,以及当前连接到扫描链的数据寄存器(TDI和TDO之间的寄存器)的选择。IEEE 1149.1标准定义了三个强制性命令:

    • 旁路(BYPASS)
    • 样品/预载(SAMPLE/PRELOAD)
    • 外测试(EXTEST)

    每个命令均分配有一个相应的命令代码(位码)。可以由任何芯片制造商自由定义(旁路(BYPASS)命令除外,该命令必须完全由一位组成)。命令寄存器的长度也可以任意选择。下表为分配示例。命令寄存器的长度定义为两位。

    操作模式/命令命令代码(二进制)
    旁路11
    样品/预载01
    外测试00

     

  • 数据寄存器(边界扫描寄存器)

    具有边界扫描功能的设备可以包含多个数据寄存器。这些寄存器用于将信息存储在块中或读出信息。

    IEEE 1149.1标准描述了至少两种强制性数据寄存器:

    • 旁路(bypass)
    • 边界扫描(boundary-scan)

    在这种情况下,还可以使用其他寄存器,例如“设备标识”,或者通俗地说,也可以使用“idcode”寄存器。

    “旁路”寄存器表示有可能将设备与边界扫描设备的网络分离,即,对其进行旁路。

    其最小长度只有一位。该位的值不可使用0进行更改和定义。

    对于以后的测试来说,更有趣的数据寄存器是边界扫描寄存器,其表示各个边界扫描单元的序列。由于每个芯片具有不同数量的边界扫描单元,因此寄存器的长度可变。

边界扫描单元

边界扫描单元是边界扫描测试程序的主要组成部分。到目前为止描述的所有构建体仅用于正确控制各个边界扫描单元。边界扫描单元极有可能控制与正常功能分离的设备的组件引脚,即,驱动或测量某个电平。

为此,边界扫描单元位于器件的核心逻辑与其外围设备(输出驱动装置、输入驱动装置)之间。由于在功能上,与在线测试程序的物理扫描针具有相似性(实现了对各个测试点的接入),边界扫描单元也称为“电子钉”。

各种边界扫描单元的内部结构可能非常不同。例如,IEEE 1149.1标准在其2001年版本中描述了十种不同的单元类型(BC_1至BC_10)。也可能具有各自的结构。但设计通常非常相似。

开发、生产和服务中的JTAG/边界扫描

对于开发人员来说,在设计阶段,能够快速、轻松地检验和验证电路非常重要。而且,在生产区域中,使用快速测试程序,可以提供非常准确、详细的错误分析。一套简便、紧凑的测试系统,例如带有PCMCIA或USB控制器的笔记本电脑,对于服务/现场使用非常有益。

边界扫描通过在产品开发所有阶段中的一致使用,可以确保满足所有这些要求。

GÖPEL电子公司为各种平台和应用提供各种嵌入式JTAG解决方案控制器,例如:PCI、PXI、VXI、PCMCIA、USB、快速以太网,以及附加电源和I/O模块。借助GÖPEL电子公司的嵌入式JTAG解决方案,可以在产品的每个“生命周期阶段”中,对闪存和PLD/FPGA进行编程:嵌入式编程

例如,可以随时传输固件和更新。这不仅直接适用于生产,即使在完全组装的装置上,也可以随时以高TCK频率(取决于组件制造商指定的最大时钟频率)进行编程。

×
您需要帮助吗?

请联系我们!

Steffen Kamprad - Sales Manager
先生 Steffen Kamprad