您的位置 首页 > 数码极客

如何使用bsdl文件

接口名称:JTAG

英文全称:Joint Test Action Group

中文:联合测试工作组

标准号: IEEE1149.1-1990

标准维护:IEEE

当前规范:www.IEEE.org

最新版本:IEEE1149.1-2011

生效时间:

下一版本:

说明:是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。是一种芯片测试技术接口。

JTAG是IEEE下属的一个工作组,该组织研究标准测试访问接口和边界扫描结构Test Access Port and Boundary-Scan Architecture。JTAG的前身是JETAG(Joint European Test Action Group欧洲联合测试行动小组) 。

一、接口结构

支持JTAG接口的芯片,其内部结构如下图所示。TAP(Test Access Port)TAP是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器(DR)和指令寄存器(IR)。当芯片内部存在多条BSC时,需要有相应的机制来控制访问。对整个TAP的控制是通过TAP Controller来完成的。

TMS测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态;

TCK为JTAG的时钟信号,TDI为数据输入信号,TDO为数据输出信号,nTRST为JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macro cell)。



JTAG引脚定义

TCK——测试时钟输入;

TDI——测试数据输入,数据通过TDI输入JTAG口;

TDO——测试数据输出,数据通过TDO从JTAG口输出;

TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。

可选引脚TRST——测试复位,输入引脚,低电平有效。

二、工作原理

JTAG的基本原理是在器件内部定义一个TAP(Test Access Port测试访问口),通

过专用的JTAG测试工具对内部节点进行测试。

² 方便芯片的故障定位,迅速准确地测试两个芯片管脚的连接是否可靠,提高测试检验效率。

² 具有J TAG接口的芯片,内置一些预先定义好的功能模式,通过边界扫描通道来使芯片处于某个特定的功能模式,以提高系统控制的灵活性和方便系统设计。

JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。如今,JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。

JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程然后再装到板上,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对DSP芯片内部的所有部件进行编程。

JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入。

边界扫描

边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器(Boundary-Scan Register Cell).边界扫描测试是通过边界扫描单元以及一些附加的测试控制逻辑实现的。 当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。

在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。

JTAG标准定义了一个串行的移位寄存器。寄存器的每一个单元分配给IC芯片的相应引脚,每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元。这个串联的BSC在IC内部构成JTAG回路,所有的BSR(Boundary-Scan Register)边界扫描寄存器通过JTAG测试激活,平时这些引脚保持正常的IC功能。

每个I/ O 管脚都有一个BSC ,每个BSC 有两个数据通道:一个是测试数据通道,测试数据输入TDI ( test data input ) 、测试数据输出TDO (test data output) ;另一个是正常数据通道,正常数据输入NDI ( normal data input ) 、正常数据出NDO (normal data output) 。如图1 所示。

在正常工作状态,输入和输出数据可以自由通过每个BSC ,正常工作数据从NDI 进,从NDO 出。在测试状态,可以选择数据流动的通道:对于输入的IC管脚,可以选择从NDI 或从TDI 输入数据;对于输出的IC 管脚,可以选择从BSC 输出数据至NDO ,也可以选择从BSC输出数据至TDO。

另外,芯片输入输出管脚上的边界扫描寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Scan Chain)。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处在调试状态下的芯片。

图2 所示是边界扫描测试应用的示意图。为了测试两个JTAG 设备的连接,首先将JTAG 设备1某个输出测试脚的BSC 置为高或低电平,输出至NDO ,然后,让JTAG设备2 的输入测试脚来捕获(capture)从管脚输入的NDI 值,再通过测试数据通道将捕获到的数据输出至TDO ,对比测试结果,即可快速准确的判断这两脚是否连接可靠。

JTAG控制器

JTAG控制器主要由三个部分组成:

l 测试端口( TAP ,test access port) 控制器

l 指令寄存器(包括指令译码器)

l 数据寄存器

TAP 控制器是边界扫描测试核心控制器。TAP 有以下5个控制信号:

n TCK: TCK 为TAP 的操作提供了一个独立的、基本的时钟信号,TAP 的所有操作都是通过这个时钟信号来驱动的。TCK 在IEEE 1149.1 标准里是强制要求的。

n TMS : TMS 信号用来控制TAP 状态机的转换。通过TMS 信号,可以控制TAP 在不同的状态间相互转换。TMS 信号在TCK 的上升沿有效。TMS 在IEEE 1149.1 标准里是强制要求的 。

n TDI : TDI 是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI 接口一位一位串行输入的(由TCK 驱动)。TDI 在IEEE 1149.1 标准里是强制要求的。

n TDO 是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO 接口一位一位串行输出的(由TCK 驱动)。TDO 在IEEE 1149.1 标准里是强制要求的。

n TRST: TRST可以用来对TAP Controller 进行复位(初始化)。不过这个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。因为通过TMS 也可以对TAP 进行复位(初始化)。

TAP控制器内部有多个寄存器:JTAG控制指令寄存器、测试数据寄存器、旁路寄存器(BYPASS)、器件识别码(IDCODE)寄存器和扫描路径选择寄存器等。

指令寄存器:若执行数据寄存器边界扫描测试,则指令寄存器负责提供地址和控制信号去选择某个特定的数据寄存器;也可以通过指令寄存器执行边界扫描测试,这时,TAP 输出的SEL ECT 信号选择指令寄存器的输出去驱动TDO。

数据寄存器:边界扫描链属于数据寄存器中很重要一种。IEEE1149.1规定必须具有的两个数据寄存器是边界扫描寄存器(boundary scan register) 和旁通(bypass) 寄存器。其它的寄存器是任选的。由指令寄存器选择某个特定的数据寄存器作为边界扫描测试寄存器,当一个扫描路径选定后,其它的路径处于高阻态。边界扫描寄存器是由围绕IC 管脚的一系列的BSC 组成的,正是由它来实现测试管脚信号的输入、输出;旁通寄存器只由一个扫描寄存器位组成,当选择了旁通寄存器, TDI 和TDO 之间只有一位寄存器,实际上没有执行边界扫描测试。旁通寄存器的作用是为了缩短扫描路径而对不需要进行测试的IC 进行旁通。

如上所述,TAP 控制器是边界扫描测试在TCK和TMS 的控制下,可以选择使用指令寄存器扫描或数据寄存器扫描,以及控制边界扫描测试的各个状态。TMS 和TDI在TCK 上升沿被采样, TDO 在TCK 下降沿变化。

TAP控制状态机

TAP 控制器的状态机共有16种状态,但只有6 个稳定状态:测试逻辑复位( test-logic-reset ) 、测试/ 等待(run-test/idle) 、数据寄存器移位( shift-DR) 、数据寄存器移位暂停(pause-DR) 、指令寄存器移位( shift-IR) 、指令寄存器移位暂停(pause-IR) 。其它状态都不是稳态,而只是暂态.

在上电或IC 的正常运行时,必须使TMS 在最少持续5个TCK 保持为高电平,则TAP 进入测试逻辑复位态。这时,TAP 发出复位信号使所有的测试逻辑不影响元件的正常运行。若需要进行边界扫描测试,可以在TMS 与TCK 的配合控制下,退出复位,进入边界扫描测试需要的各个状态。

指令寄存器访问流程:

u 系统上电,TAP Controller进入Test-Logic Reset状态。

u Run-Test/Idle->Select-DR-Scan->Select-IR-Scan->Capture-IR->Shift-IR->Exit1-IR ->Update-IR,最后回到Run-Test/Idle状态。

u 在Capture-IR状态,特定的逻辑序列被加载到指令寄存器中;然后进入到Shift-IR状态。

数据寄存器访问流程:

u 当前可以访问的数据寄存器由指令寄存器中的当前指令决定。

u 以Run-Test/Idle为起点,依次进入Select-DR-Scan->Capture-DR->Shift-DR->Exit1-DR->Update-DR,最后回到Run-Test/Idle状态。

n JTAG扫描链工作原理:

每一个扫描单元的内部由两个D触发器和两个多路选择器组成。


在正常状态下即挂起,BSR对芯片是透明的,不影响芯片的正常运行。

当芯片处于调试状态时,BSR将芯片与外围隔离。通过BSR可实现对芯片管脚的观察与控制。

对于输入管脚,可通过对BSR的操作,将信号(数据)加载至管脚。

对于输出管脚,可通过BSR将管脚上的输出信号“捕获”(Capture)。

BSR可以相互连接起来,在芯片周围形成一个边界扫描链。(Boundary-Scan Chain)

一般芯片会提供多条独立的BSC,用于实现完整的测试功能。BSC可以串行的输入输出,再配合时钟及控制信号,可观察与控制调试状态下的芯片。JTAG扫描链一共有四种操作:挂起、捕获、移位和更新。

BSDL:Boundary Scan Description Language边界扫描描述语言

三、应用设计

JTAG 接口的连接有三种标准,即10针、 14 针接口和 20 针接口,其定义分别如下所示。


14针JTAG接口

1 、 13   VCC 接电源

2 、 4 、 6 、 8 、 10 、 14   GND 接地

3  nTRST  测试系统复位信号

5  TDI   测试数据串行输入

7  TMS  测试模式选择

9  TCK  测试时钟

11 TDO   测试数据串行输出

12 NC   未连接

20针JTAG接口

1 VTref   目标板参考电压,接电源

2 VCC   接电源

3 nTRST   测试系统复位信号

4、6、8、10、12、14、16、18、20  GND 接地

5 TDI   测试数据串行输入

7 TMS   测试模式选择

9 TCK   测试时钟

11 RTCK  测试时钟返回信号

13 TDO   测试数据串行输出

15 nRESET   目标系统复位信号

17 、 19 NC  未连接

10针JTAG接口

1. TCK

2. NC

3. TDO

4. Vtref

5. TMS

6. nSRST

7. NC

8. nTRST

9. TDI

10.GND

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何使用bsdl文件”边界阅读