Uploaded by cong liao

JTAG brief

advertisement
JTAG基本原理简介
目录





JTAG概述
JTAG组成结构
JTAG扫描链工作原理
结语
参考文献
JTAG概述
JTAG是什么?


JTAG是Joint Test Action Group(联合测试行动
组)的缩写,联合测试行动组是IEEE的一个下属
组织
该组织研究标准测试访问接口和边界扫描结构
(Standard Test Access Port and Boundary-Scan
Architecture)
JTAG概述

JTAG的前身是JETAG(Joint European Test Action
Group欧洲联合测试行动小组) 。



1986年,一些欧洲以外公司加入,JETAG成员已不仅
局限在欧洲,故该组织由JETAG更改为JTAG。
1990年,IEEE正式承认JTAG标准,命名为
IEEE1149.1-1990。
现在,人们通常用JTAG来表示IEEE1149.11990规范,或者满足IEEE1149规范的接口或者
测试方法。
目录





JTAG概述
JTAG组成结构
JTAG扫描链工作原理
结语
参考文献
JTAG组成结构
图一 边界扫描示意
JTAG组成结构
TAP(Test Access Port)
 TAP是一个通用的端口,通过TAP可以访问
芯片提供的所有数据寄存器(DR)和指令
寄存器(IR)。
 当芯片内部存在多条BSC时,需要有相应的
机制来控制访问。
 对整个TAP的控制是通过TAP Controller来
完成的。
JTAG组成结构
JTAG信号
TMS:测试模式选择(Test Mode Select)


通过TMS信号控制JTAG状态机的状态。
TCK:JTAG的时钟信号
TDI:数据输入信号
TDO:数据输出信号
nTRST:JTAG复位信号,复位JTAG的状态机和内
部的宏单元(Macrocell)。

JTAG组成结构
JTAG组成结构
TAP状态机
 TAP状态机共有16种状态。
 图中每个椭圆形代表一种状态。标有状态
名称及标识代码。
 箭头代表各状态所有可能的转换流程。
 状态前的转换是在TCK的驱动下,由TMS控
制。
JTAG组成结构
1 5 = T e st L o g ic
R eset
tms=1
tms=0
1 2 = R u n -T e s t o r
Id le
tms=0
tms=1
7 = S e le c t-D R
S can
4 = S e le c t-IR
S can
tms=0
tms=1
tms=1
tms=0
tms=1
6 = C a p tu re -D R
tms=0
tms=1
1 4 = C a p tu re -IR
tms=0
tms=0
2 = S h ift-D R
1 0 = S h ift-IR
tms=1
tms=1
tms=1
1 = E x it1 -D R
tms=0
9 = E x it1 -IR
tms=1
tms=0
tms=0
3 = P a u s e -D R
tms=1
1 1 = P a u s e -IR
tms=0
tms=0
0 = E x it2 -D R
tms=1
8 = E x it2 -IR
tms=0
tms=1
tms=1
5 = U p d a te -D R
tms=1
tms=0
1 3 = U p d a te -IR
tms=1
tms=0
tms=0
JTAG扫描链工作原理
指令寄存器访问流程
 系统上电,TAP Controller进入Test-Logic
Reset状态。
 Run-Test/Idle->Select-DR-Scan->SelectIR-Scan->Capture-IR->Shift-IR->Exit1-IR
->Update-IR,最后回到Run-Test/Idle状态。
 在Capture-IR状态,特定的逻辑序列被加载
到指令寄存器中;然后进入到Shift-IR状态。
JTAG扫描链工作原理
数据寄存器访问流程
 当前可以访问的数据寄存器由指令寄存器
中的当前指令决定。
 以Run-Test/Idle为起点,依次进入SelectDR-Scan->Capture-DR->Shift-DR->Exit1DR->Update-DR,最后回到Run-Test/Idle
状态。
JTAG组成结构

TAP控制器内部有多个寄存器
 JTAG控制指令寄存器
 测试数据寄存器
 旁路寄存器(BYPASS)
 器件识别码(IDCODE)寄存器
 扫描路径选择寄存器
JTAG组成结构
扫
描
链
3
选择器
扫
描
链
3
扫描链控制信号
扫描路径选择寄存器
4bit
选择器
ID寄存器 32bit
旁路寄存器 1bit
TDI
TMS
TCK
TDO
指令寄存器 4bit
JTAG
状态机
选择器
目录





JTAG概述
JTAG组成结构
JTAG扫描链工作原理
结语
参考文献
JTAG组成结构




JTAG标准定义了一个串行的移位寄存器
每一个被测试逻辑电路引出信号线同它的引脚
之间配置一个扫描单元
每一个独立的单元称为BSR(Boundary-Scan
Register)边界扫描寄存器
所有的BSR通过JTAG测试激活
JTAG扫描链工作原理
Shift/load
From last cell
G1
1
1
To next cell
1D
C1
纵向
纵向
1D
C1
G1
From logic or pin
1
1
横向
每一个扫描单元的内部
由两个D触发器和两个
多路选择器组成
To logic or pin
横向
Clock
Update
横向
Mode
JTAG扫描链工作原理

在正常状态下即挂起,BSR对芯片是透明
的,不影响芯片的正常运行。
I1
1 X 1
DUT
(测试器件)
横向直行
0 X 0
O1
横向直行
I2
1 X 1
0 X 0
O2
I3
1 X 1
0 X 0
O3
如同扫描链
不存在
TDI
1 0 1 0 1 0
TDO
X X X X X X
JTAG扫描链工作原理
当芯片处于调试状态时,BSR将芯片与外围
隔离。通过BSR可实现对芯片管脚的观察与
控制。
 对于输入管脚,可通过对BSR的操作,将信
号(数据)加载至管脚。
 对于输出管脚,可通过BSR将管脚上的输出
信号“捕获”(Capture)。

JTAG扫描链工作原理
移位寄存器
Pin
0 X 0
I1
I
O
0 X 0
O1
Pin
横
向
纵向
Pin
I2
0 X 0
I
Pin
I3
0 X 0
I
待测装置
O
0 X 0
O2
Pin
O
0 X 0
O3
Pin
输出数据
输入数据
TCK
TDI
1 0 1 0 1 0
扫描前的输入数据
TDO
X X X X X X
扫描后的输出数据
JTAG扫描链工作原理
BSR可以相互连接起来,在芯片周围形成一
个边界扫描链。(Boundary-Scan Chain)
 一般芯片会提供多条独立的BSC,用于实现
完整的测试功能。
 BSC可以串行的输入输出,再配合时钟及控
制信号,可观察与控制调试状态下的芯片。
 JTAG扫描链一共有四种操作:挂起、捕获、
移位和更新。

JTAG扫描链工作原理
TAP访问DR例解
 假设TAP Controller处在Run-Test/Idle状态,
IR中写入了一条新指令,该指令选定了长
度为6的边界扫描链。
 当前选择的边界扫描链由6个边界扫描移位
寄存器单元组成,并且被连接在TDI和TDO
之间。
捕获JTAG状态
当前引脚信号
存入扫描链
移位数据
I1
1 1 1
DUT
0 1 0
O1
纵
向
I2
1 1 1
0 0 0
O2
直
行
I3
1 1 1
0 0 0
TDI
0 1 0 1 0 X
TDO
X X X X X 0
O3
移位结束
I1
1 0 1
DUT
0 1 0
O1
纵
I2
1 1 1
0 0 0
O2
向
直
行
I3
1 0 1
0 1 0
TDI
X X X X X X
TDO
0 0 0 1 1 1
O3
数据更新
JTAG扫描链取代系
统向处理器输入信号,
并且替代处理器向系
统输出信号。
目录





JTAG概述
JTAG组成结构
JTAG扫描链工作原理
结语
参考文献
结语


JTAG技术在SOC中的重要应用包括嵌入
式仿真器和调试模块的设计。这种设计
可以提高内部信号的可控性和可观性,
缩短产品开发周期,提高查错效率。
当然, JTAG也有其局限性,其串行传输
固然减少了资源,但同时也导致了速度
的降低。所以, JTAG加速结构和新的
硬件实现方式也不断涌现。
参考文献
[1] 周立功. ARM 嵌入式系统实验教程(2)[M] . 北京
:北京航空航天大学出版社,2005.
[2] JTAG调试原理[ EB/ OL ] .
http://www.embedworld. com/project/
openjtag.
[3] 胡学良, 张春, 王志华. JTAG技术的发展和应用
综述. 北京:清华大学电子工程系线路与系统教研
室.
[4] 刘文超,潘永才.基于JTAG的ARM7TDMI处理器调
试原理及实现. 湖北 武汉: 湖北大学.
谢谢
Download