JTAG测试原理介绍
JTAG(Joint Test Action Group�联合测试行动小组)是一种国际标准测试协议IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access Port�测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable�在线编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。
第一节 IEEE.1149的历史背景
随着微电子技术、微封装技术和印刷板制造技术的不断发展,印制电路板变的越来越小,密度越来越大,复杂程度越来越高。面对这样的发展趋势,如果仍然沿用传统的外探针测试法和“针床”夹具测试法来全面彻底的测试焊接在其上的器件,恐怕是难以实现的。即使真能实现,也会把电路简化所节约的成本费用用在抵消改进传统方法所负出的代价上。
1985年欧洲的制造机构为了对集成电路的测试进行研究,成立了欧洲联会测试行动小组(JETAG:JOINT EUROPEAN TEST ACTION GROUP),后来与北美公司合作,在1986年变成了JTAG(JOINT TEST ACTION GROUP),1990年提出的IEEE标准1194.1测试端口和边界扫描结构[IEEE1149.1b 1194]就是以JTAG 2.0测试标准为基础的,它在1990年的8月也成为了ANSI(AMERICAN NATIONAL STANDARDS INSTITUTE )的标准。IEEE的标准1149.1也经常被认为等同于JTAG定义,其实它们是有许多不同之处的。
边界扫描测试(BST:BOUNDARY SEAN TEST)一般采用4线接口(在5线接口中,
有一条为主复位信号),用PC机的RS-232接口就能模拟BST的功能。BST标准接口是用来对班级进行测试的。这种测试可在器件正常工作时捕获功能数据。器件的边界扫描单元能够迫使逻辑追踪引脚信号,或是从因缴获器件核心逻辑信号中部或数据。强行加入的测试数据串行第移入边界扫描单元,捕获的数据串行移出并在器件外不同预期的结果进行比较。下图说明了边界扫描测试法的概念。
该方法提供了一个串行扫描路径,它能捕获器件核心逻辑的内容,或者测试遵守IEEE规范的器件之间的引脚连接情况。
第二节 IEEE.1149标准结构
IEEE1149.1BST结构:当器件工作在JTAG BST模式时,使用4个I/O引脚和一个可选引脚TRST作为JTAG引脚。这4个I/O引脚是:TDI 、TDO、 TMS 和TCK。下表概括了这些引脚的功能。
JTAG BST需要下列寄存器:
指令寄存器----用来决定是否进行测试或访问数据寄存器操作。
旁路寄存器――这个1bit寄存器用来提供TDI和TDO的最小串行通道。
边界扫描寄存器――由器件引脚上的所有边界扫描单元构成。
下图画出了JTAG电路的功能模式。
JTAG边界扫描测试由测试访问端口的控制器管理。TMS、TRST 和TCK引脚管理TAP控制器的操作,TDI和TDO位数据寄存器提供串行通道。TDI也为指令寄存器提供数据,然后为数据寄存器产生控制逻辑。对于选择寄存器、装载数据、检测和将结果移出的控制信号,由测试时钟(TCK)和测试模式(TMS)选择两个控制信号决定。在四线接口标准中,利用TDI,TDO,TCK,TMS四个信号,它们合成为TAP测试处理端口(Test Access Port),测试复位信号(TRST,一般以低电平有效)一般作为可选的第五个端口信号。