找回密码
 注册
搜索
查看: 746|回复: 3

[讨论] JTAG.NET板级测试系统

[复制链接]
发表于 2006-5-9 13:33:00 | 显示全部楼层 |阅读模式
JTAG.NET板级测试系统介绍
缩略语:
JTAG                    Joint Test Action Group
BS                       Boundary Scan                             边界扫描
BSDL                    Boundary Scan Description Language           边界扫描描述语言
BST                      Boundary Scan Test                                            边界扫描测试
OBP                     On_Board Programming                      在板编程
ICP                      In_Circuit Programming                      在线编程
ISP                             In-System Programming                      系统编程
引言:
随着电路技术进入超大规模集成(VLSI)时代,VLSI电路的高度复杂性以及多层印制板、表面贴装(SMT)、圆片规模集成(WSI)和多芯片模块(MCM)技术在电路系统中的应用,都使得电路节点的物理可访问性正逐步削弱以至于消失,电路和系统的可测试性急剧下降,测试开销在电路和系统总开销中所占的比例不断上升,常规的测试方法正面临着日趋严重的困难。测试算法的研究和测试实践证明了一个基本的事实:要对一个不具有可测试性的电路进行测试实徒劳的,只要提供电路的可测试性,才能使电路的测试问题得到简化并最终解决。1985年,由IBM、AT&T、Texas Instruments、Philips Electronics NV、Siemens、Alcatel和Ericsson等公司成立的JETAG(Joint European Test Action Group)提出了边界扫描技术,它通过存在于元器件输入输出管脚与内核电路之间的BSC(边界扫描单元)对器件及外围电路进行测试,从而提高器件的可控性和可观察性。1986年由于其它地区的一些公司的加入,JETAG改名为JTAG。1988年JTAG提出了标准的边界扫描体系结构,名称叫Boundary-Scan Architecture Proposal,Version 2.0,最后目标是应用到芯片、印制板与完整系统上的一套完善的标准化技术。1990年IEEE正是承认了JTAG标准,经过补充和修改后,命名为IEEE1149.1-90。同年,又提出了BSDL(Boundary Scan Description Language,边界扫描描述语言),后来成为IEEE1149.1-93标准的一部分。IEEE1149.1标准大大推动了边界扫描技术的发展和广泛应用。
JTAG板级测试系统的主要应用
Ø         基础测试
基础测试是指扫描链路自测试,由于它是利用BS器件进入CAPTURE-IR状态时会自动装入CAPTURE信号而实现扫描链自测试的目的,所以又称为CAPTURE测试。
基础测试是进行JTAG其他任何测试加载任务之前首先进行的测试操作,以确保JTAG链能正常工作。

Ø         器件标志码IDCODE测试
IDCODE测试,也称为器件标志码测试,或器件型号测试,指令扫描送入IDCODE指令,然后通过数据扫描IDCODE寄存器中的IDCODE标志码,验证器件是否错装,器件的型号、版本号和生产厂商是否正确。
器件标志码存放在器件标准寄存器中,器件标志寄存器是包含在集成电路IC内部的一个可选寄存器,它由并行输入与串行输出的32位移位寄存器组成,而不需要并行输出锁存器。象Bybass寄存器一样,当器件标准寄存器在使用时,芯片IC)正常操作能继续进行。

Ø         USERCODE测试
USERCODE测试,也称为用户代码测试,可编程器件提供一个32位的寄存器可以用来存放用户的任意信息。指令扫描送入USERCODE指令,然后通过数据扫描USERCODE寄存器中的标志代码,验证存放信息是否与用户信息一致。这些信息可以是软件的版本号、加密数据等。
 楼主| 发表于 2006-5-9 13:34:00 | 显示全部楼层
<P 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><FONT size=3></FONT> </P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><FONT size=3>&Oslash;</FONT>         <B><FONT size=3>互联测试<p></p></FONT></B></P><P 0cm 0cm 0pt"><FONT size=3>互连测试主要是指对电路板上器件之间互连线的测试,主要检测电路板级的开路、短路或呆滞型等故障。互联测试是引进边界扫描测试技术的一个主要原因,因此在<FONT face="Times New Roman">IEEE1149.1</FONT>标准中,互连测试指令(<FONT face="Times New Roman">EXTEST</FONT>)是一条强制性指令,所有的<FONT face="Times New Roman">BS</FONT>器件都支持互连测试。</FONT></P><P 0cm 0cm 0pt"><FONT size=3>互连测试可以检测电路板上的开路故障,并能精确定位到具体的引脚;可以检测电路板上的桥接短路广州,并能精确定位到桥接的具体网络和引脚;可以检测呆滞型故障,并能精确定位到具体的引脚;检测其余不知名故障(测试响应与期望响应不一致,但不属于以上三类故障)。</FONT></P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-9 13:36:00 | 显示全部楼层
<P></P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><FONT size=3>&Oslash;</FONT>         <FONT size=3><B><FONT face="Times New Roman">Cluster</FONT></B><B>测试<p></p></B></FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0" align=left><FONT size=3><FONT face="Times New Roman">Cluster</FONT>测试的问题是由混合技术电路板引起的。目前,虽然<FONT face="Times New Roman">BS</FONT>器件越来越多,但是非<FONT face="Times New Roman">BS</FONT>器件也仍然大量存在;而且在复杂电路设计中,<FONT face="Times New Roman">VLSI</FONT>和<FONT face="Times New Roman">ASIC</FONT>(专用集成电路)虽然能够完成电路的许多功能,但并不是所有的逻辑功能都可以集成,相当多的功能仍需要采用分离器件或通用集成电路实现,而它们很少支持边界扫描。由边界扫描器件和非边界扫描器件组装的混合技术电路板是常见的情形。</FONT></P><P 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: left; mso-char-indent-count: 2.0" align=left><FONT size=3>在一个电路板上,当<FONT face="Times New Roman">BS</FONT>器件和非<FONT face="Times New Roman">BS</FONT>器件混装的时候,非<FONT face="Times New Roman">BS</FONT>器件就不能直接使用边界扫描的方法进行测试。这时如果非<FONT face="Times New Roman">BS</FONT>器件的周围存在<FONT face="Times New Roman">BS</FONT>器件,那么仍然可能通过<FONT face="Times New Roman">BS</FONT>器件对非<FONT face="Times New Roman">BS</FONT>器件进行测试。被<FONT face="Times New Roman">BS</FONT>器件包围的非<FONT face="Times New Roman">BS</FONT>器件可以不止一个,我们将有若干非<FONT face="Times New Roman">BS</FONT>器件组成的逻辑簇称为一个<FONT face="Times New Roman">Cluster</FONT>,通过<FONT face="Times New Roman">BS</FONT>器件对<FONT face="Times New Roman">Cluster</FONT>进行的测试就称作<FONT face="Times New Roman">Cluster</FONT>测试。</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">       </FONT>对于<FONT face="Times New Roman">JTAG.NET</FONT>中的<FONT face="Times New Roman">Cluster</FONT>测试提供了两种测试方法,用于针对不同时序电路、组合电路的功能测试。对于存在时序电路的信号,可以使用业界标准的<FONT face="Times New Roman">TCL</FONT>脚本语言来完成相关引脚的控制和采样。从而完成相关的时序电路的设计。下面可以大概看一下对于时钟采样在<FONT face="Times New Roman">JTAG.NET</FONT>系统中的实现方案:</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">jtag::sample clear                                       //</FONT>清除所有采样引脚的定义</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">jtag::def clear                                            //</FONT>清楚所有参数定义</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">jtag::def pin p1 U26 "46"                      //</FONT>定义<FONT face="Times New Roman">U26</FONT>芯片的第<FONT face="Times New Roman">46</FONT>引脚为<FONT face="Times New Roman">P1</FONT>采样引脚</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">jtag::add in pin p1                                      //</FONT>定义<FONT face="Times New Roman">P1</FONT>引脚为输入引脚</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">jtag::sample init                                          //</FONT>初始化,并准备采样</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">for {set i 0} {$i &lt; 1000} {incr i} {                    //</FONT>一千次</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">       jtag::sample frame                               //JTAG</FONT>采样</FONT></P><P 0cm 0cm 0pt"><FONT size=3><FONT face="Times New Roman">       puts [jtag::get pin p1]                          //</FONT>输出<FONT face="Times New Roman">P1</FONT>引脚采样的值。</FONT></P><P 0cm 0cm 0pt"><FONT face="Times New Roman" size=3>}</FONT></P><P 0cm 0cm 0pt"><FONT size=3>对于另外一种电路设计,通常在<FONT face="Times New Roman">JTAG.net</FONT>中同样也可以通过脚本的编写方式来完成测试。但为了简化这部分的编程工作量,提高板级测试设计的效率<FONT face="Times New Roman">JTAG.NET</FONT>提供了自学习的方法来完成这部分的脚本生成。用户仅需要在<FONT face="Times New Roman">JTAG.NET</FONT>中输入确定的输入引脚、输出引脚等信息,并确定输出引脚的学习算法(走部、自定义、遍历)。</FONT></P><P 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt"><FONT size=3>&Oslash;</FONT>         <B><FONT size=3>网络覆盖率分析<p></p></FONT></B></P><P 0cm 0cm 0pt"><FONT size=3>在<FONT face="Times New Roman">JTAG</FONT>测试仪中,可以对所测试的板卡的网络进行分析。可以大概分成七大类网络:其中包含:电源<FONT face="Times New Roman">/</FONT>地网络,<FONT face="Times New Roman">TAP</FONT>口网络,基础互连测试网络、合并可测试网络、扩展可测试网络、单点网络、不可测试网络。</FONT></P>
点评回复

使用道具 举报

 楼主| 发表于 2006-5-9 13:37:00 | 显示全部楼层
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 13:47 , Processed in 0.046808 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表