>
首页 » 业界动态 » 边界扫描与电路板测试技术

边界扫描与电路板测试技术

作者:方葛丰,布乃红,宋斌,邹芳宁  时间:2006-12-22 23:37  来源:
摘要:边界扫描技术为板级电路的测试提供了新的方法,它已广泛应用于产品生命期的全过程中。本文论述了边界扫描技术的基本原理,边界扫描在电路板测试及在FPGA、DSP器件中的应用,介绍了为提高电路板的可测试性,而采用边界扫描技术进行设计时应注意的一些基本要点。

关键词:边界扫描测试;JTAG;电路板测试;可测试性设计

引言

目前在电路板生产线上,采用电测试原理对电路板进行测试和诊断的方法主要有四种:飞针测试(Flying-Probe Test)、在线测试(In-Circuit Test)、功能测试(Functional Test)和边界扫描测试(Boundary Scan Test)。

电子器件的生产商和电子产品的制造商都在倾向于采用最新的器件技术,如BGA、CSP(芯片规模封装)、TCP(倒装芯片封装)和其它更小的封装,以提供更强的功能、更小的体积,并节省成本,新型封装带来优点的同时,也使印制板测试的接入变得更加困难。依据美国NEMI(National Electronics Manufacturing Initiative)的观点,到2003年,电路板可接入的节点事实上降到零,也就意味着极少或没有在线测,因此在六十年代后期第一个自动化测试策略——功能测试技术,再次变得重要起来。电路板越来越密、器件越来越复杂、电路性能要求越来越苛刻,越来越难的接入问题导致了工业标准IEEE 1149.1——边界扫描的诞生,使得独立于器件封装技术的脚级接入的实现。集成边界扫描技术的功能测试设备,将成为未来电路板测试的主要发展方向。

边界扫描技术

由于器件封装技术的进步,在二十世纪八十年代中期,一组欧洲电子类公司的测试工程师聚集在一起,讨论在电路板测试中由于接入有限而带来的问题及其解决方案。这个工作组开始叫做JETAG(Joint European Test Action Group),他们的首选方案是借助于器件边缘的串行移位寄存器(边界扫描寄存器)来实现器件引脚的接入。后来由于北美公司的加入,除掉了“欧洲”两字,成为JTAG。开始在该思路上进行工作的是IBM、TI、PHILIPS等公司。JTAG将该想法变成了国际标准—IEEE 1149.1-1990(测试端口和边界扫描测试体系规范),并于1990年4月发布。1990年8月,美国国家标准ANSI也承认了这一标准,我国也制定与标准相兼容的“标准可测试总线”-SJ/T-15066-94。IEEE 1149.1在1993年和1994年被修订,其最新版本为IEEE 1149.1-2001。IEEE 1149.1标准是针对数字电路的,后来发布了针对混合总线的IEEE 1149.4标准(混合信号测试总线),及针对系统测试的IEEE 1149.5-1995标准(模块测试和维护(MTM)总线协议),针对高速(如千兆位速率)的交流耦合测试标准IEEE 1149.6也在制定中。

边界扫描测试BST是一种可测试结构技术,用来解决测试探针所不能实现的测试问题。它是在芯片的I/O端上增加移位寄存器,把这些寄存器连接起来,加上时钟复位、测试方式选择以及扫描输入和输出端口,而形成边界扫描通道。

每个IEEE 1149.1兼容的器件,都包括一个4线或5线的测试端口(TAP)、一个状态机(TAP控制器)和由边界扫描单元构成的边界扫描移位寄存器。TAP控制器用于控制边界扫描测试的执行。TAP端口的5根线分别为:
TCK—测试时钟
TMS—测试模式信号(控制测试端口的状态)
TDI—串行数据输入
TDO—串行数据输出
TRST—复位信号(可选)

数据从芯片的TDI脚串行进入,存储在指令寄存器或数据寄存器中,然后从芯片的TDO脚串行移出。边界扫描逻辑由独立于系统时钟的TCK触发。TMS控制测试端口(TAP)的状态。TRST*是可选的,为硬件复位信号。

IEEE 1149.1 BST电路要求具有下列一些寄存器:
指令(INSTRUCTION)寄存器:用于指定要完成的动作和要访问的数据寄存器。
旁路(BYPASS)寄存器:是个一位长的寄存器,用于提供TDI和TDO之间的最短串行通道。
边界扫描(Bandary-Scan)寄存器:是移位寄存器,由器件上的所有边界扫描单元构成。

IEEE 1149.1标准有两个层次,可配置串行I/O总线和边界扫描测试。

可配置串行I/O总线使用TMS信号在TAP控制器作用下提供串行数据的Load、Shift、Update操作。TMS信号和TAP控制器可以区分两个数据串:指令/地址数据串、I/O数据串。通过对指令/地址数据串编程选择待读写的I/O寄存器,然后对I/O数据串进行读写完成对I/O寄存器的读写。串行I/O总线的特点是并串转换、串并转换、一次操作(Load、Shift、Update)同时完成读操作和写操作、多个器件简单串联扩展。

边界扫描测试是可配置串行I/O总线的具体应用。首先边界扫描测试定义了BSC(boundary scan cell)单元作为基本I/O数据位,完成芯片I/O脚读取和设置控制,所有的BSC组成边界扫描寄存器,通过可配置I/O总线对边界扫描寄存器进行读写。其次,基于BSC控制边界扫描测试定义了芯片测试模式,规范为9条控制指令。控制指令通过可配置I/O总线的指令/地址数据串进行设置。指令语义由两部分组成:I/O数据串寻址、BSC单元开关控制。10条指令(2001版标准)为:BYPASS、SAMPLE、PRELOAD、EXTTEST、INTEST、RUNBIST、CLAMP、HIGHZ、IDCODE、USERCODE。其中前4条,BYPASS、SAMPLE、PRELOAD、EXTTEST为必须实现的指令,其余为可以选择实现的指令。

在Altera公司的IEEE 1149.1兼容器件支持以下一些BST指令:SAMPLE/PRELOAD, EXTEST, BYPASS, USERCODE和IDCODE,下图清晰地描述了其电路结构。

图1 FPGA芯片中的边界扫描电路


由于IEEE 1149.1标准首先是一个可配置串行I/O总线,可以实现芯片内寄存器的I/O操作;可以方便地实现多个芯片的串联。多个支持边界扫描的IC可在印制电路板上串行互连,形成边界扫描链,一个板上可包含一个或多个扫描链。扫描链提供从TAP接口到链上每个IC的每个脚的电气接入。

边界扫描描述语言(BSDL—Boundary-Scan Description Language)是VHDL语言的子集。测试软件开发系统使用BSDL文件进行测试生成、分析、故障诊断和在系统编程。


图2 边界扫描的应用图例


边界扫描技术应用于产品生命的全周期,从产品的设计、调试、生产,到现场安装和服务。首先是在开发阶段,边界扫描技术可用于原型机的验证、微处理器微控制器和DSP的调试、FPGA器件配置数据的下载和逻辑功能的调试等;当产品转入生产阶段,边界扫描技术可用于PCB装配的验证,FLASH和PLD的在线编程;当产品到达现场,边界扫描技术可借助移动PC、Modem或Internet连接,实现现场或远程的诊断和系统升级。

边界扫描在板级测试中的应用

边界扫描在板级测试中,主要是对PCB上器件间互连线和管脚的故障进行检测和隔离,对在系统编程器件进行编程。电路板的故障类型很多,如缺器件、器件型号错、器件方向错、导线开路/短路、脚到焊盘开路、脚到脚焊盘短路等。在板级的边界扫描测试时,短路故障可等效为与或或型的桥接故障;开路故障可模型化为固定0或固定1型故障。

测试边界扫描板的通用测试策略是:
第一步:执行板级边界扫描基本结构完整性测试。
第二步:使用Extest指令,施加激励和检测响应,进行边界扫描器件间互连的测试,测试时将非边界扫描器件设置到安全状态。
第三步:对非边界扫描器件进行测试,如集群测试,RAM测试等。

在正常工作模式,带边界扫描功能的IC好像没有边界扫描电路一样实现其特定功能。然而,当要进行测试或在系统编成时,器件的扫描逻辑被激活。激励数据串行移进多个器件的输出脚,读出接收器件的输入脚的对应信号,通过比较输入和输出,对器件间的互连进行验证,定位短路和断路导线,帮助修复电路板。通过菊花链将多个具有JTAG接口的器件串联起来,组成一个扫描链,使用单组测试向量实现对整个电路板的完整测试。EXTEST指令就是通过在输出脚加测试图形和捕获输入脚的测试结果对外部电路和板级互连进行测试。

图3 边界扫描用于互连线测试

边界扫描测试对于像采用复杂表面贴装技术的电路板功能测试也是增进测试策略的较好选择,它能快速剔除产品的制造故障,让功能测试真正进行功能性故障的查找。当前的主流在线测试和飞针测试设备也都兼有边界扫描测试功能。


图4 集群(cluster)测试

尽管很多使用中的器件可以使用BST技术,但仍有部分电路没有边界扫描功能,目前还很难做到100%的边界扫描板,因此我们应充分利用边界扫描器件,也可借助附加的探针,最重要的是我们应在设计的开始阶段就注重测试策略和可测试性设计。

Teradyne公司的边界扫描测试软件VICTORY,可在其在线测试ATE上运行,其中有个模块叫VCCT (Virtual Component and Cluster Test 虚拟器件和集群测试)。它的原理是:VCCT将边界扫描器件的扫描单元作为一个虚拟的ATE测试通道,去驱动激励到非边界扫描逻辑电路,然后测试响应。VCCT可以组合虚拟通道和真实的ATE通道进行驱动和检测。用VCCT进行单个器件或集群(Cluster)测试,关键的任务是定义测试目标的输入和输出,如上图所示。对集群的接入,可采用边界扫描、探针或边缘连接器。

采用边界扫描测试,可使板上需要的测试点的数量大大减少(使用虚拟通道,使用专用软件可进一步优化测试点,提高测试覆盖率),也就是直接导致板布局的简化、测试夹具成本的降低、减少在线测的时间、使测试接口标准化、加快上市时间。在编程方面,边界扫描可以识别PCB板上几乎各种类型的CPLD、FLASH,不需考虑芯片体积和封装类型。通过减少器件操作、缩减预编程总量、将编程集成到电路板生产线上,实质性地节省成本。

JTAG接口在FPGA中的应用

FPGA中的JTAG接口,除支持边界扫描测试(BST)外,还具有在系统编程(ISP)和逻辑分析功能(SignalTap)。

(1)、ISC和ISP
ISC(在系统配置)或ISP(在系统编程)是IEEE 1149.1的新的主要应用。Altera公司的MAX7000系列EPLD具有在系统编程功能,可用在线测试设备(ICT)或下载电缆,通过JTAG接口在板级对可编程器件进行在线测试和编程,简化制造流程。对ISC主要有两种编程格式:SVF和JAM。SVF最早是开发用于通过IEEE 1149.1进行电路板测试,JAM格式是由Altera公司提出的,比SVF有较多的编程语言,现已成为JEDEC标准。在线测试设备使用自适应和固定算法对ISP器件进行在线编程。SVF格式不支持自适应编程算法,而Jam标准测试和编程语言(STAPL--Standard Test and Programming Language, JESD-71标准)格式支持自适应编程算法,可实现快速编程。1996年,针对ISC提出了IEEE 1532(基于边界扫描的可编程器件的在线配置)。

在Altera公司的FPGA器件(如Stratix系列)中,提供了JTAG接口,该边界扫描测试(BST)体系,不但具有器件测试和板上互连测试的能力,还具有对器件进行配置的能力。JTAG配置是通过下载电缆将数据下载到印制板上的器件中,它同ISP器件的编程很类似,唯一不同是将TRST脚接到VCC,防止TAP控制器复位。对JTAG链中的某个器件编程时,编程软件是通过将其它器件设置到旁路(BYPASS)模式来实现编程的。

(2)、SignalTap
在ALTERA公司的Stratix、Excalibur、APEX II、APEX 20K系列器件中,通过JTAG接口,实现了SignalTap II嵌入式逻辑分析仪功能。传统的逻辑功能验证方法是将FPGA内部的节点连接到外部脚上,使用外部逻辑分析仪进行功能验证。而SignalTap II是二次生成(second-generation)的系统级调试工具,能捕获和显示SOPC中的实时信号特性,它由软IP核、编程硬件和分析软件构成,它通过JTAG接口下载FPGA配置数据和上载捕获的信号数据。通过实时板级测试,减少功能验证时间。

Actel公司的Axcelerator系列FPGA器件,由于采用的是反熔丝工艺,因此内嵌探测电路,不能像Altera公司的基于SRAM工艺的FPGA可以用软IP核来实现。Silicon Explorer II软件,通过JTAG接口,访问和控制该探测电路,来实现在系统诊断(In-System Diagnostic)、调试、逻辑分析和验证。

JTAG接口在DSP器件中的应用

在DSP器件中,使用JTAG接口主要有两种工作模式:边界扫描模式和仿真模式。在TI公司的TMS320C6000系列中的JTAG端口由7到17个信号组成,其中5个信号为标准的IEEE 1149.1标准信号,仿真信号EMUn用于选择芯片的工作模式。芯片具有两个TAP(测试端口),一个用于边界扫描,一个用于仿真。当EMU0=0, EMU1=0时,仅边界扫描TAP接入扫描链,芯片仅边界扫描功能;当EMU0=1, EMU1=1时,两个TAP均接入扫描链,但芯片仅有仿真功能。

关于边界扫描的DFT问题

(1)、器件选择
选择IEEE 1149.1兼容的器件:在PCB设计时,为了实现边界扫描测试,首要考虑的问题是采用1149.1兼容的器件,当前一些大规模的集成电路都带有JTAG接口,采用1149.1兼容的器件,能增加边界扫描测试的覆盖率。

双功能的JTAG端口:尽量避免选择带双功能的JTAG端口器件。这些器件的双功能脚,在上电时默认为内核功能模式,通过预定义的JTAG使能脚,将双功能脚切换到JTAG模式,因此设计师必须确认在进行板级边界扫描之前,能够访问和控制JTAG ENABLE脚。

所有IEEE 1149.1兼容的器件必须支持强制的SAMPLE/PRELOAD,EXTEST和BYPASS指令,希望它也支持可选的HIGHZ和IDCODE指令。当存在相同封装、多个版本、且内部功能不同的器件时,版本号特别有用,可在工艺测试阶段低成本地检测版本状态。HIGHZ指令在优化边界扫描链长度及对目标板上的FLASH存储器进行编程时特别有用。

对于CPLD器件,建议采用IEEE 1532兼容的,这样可使来自不同厂家的CPLD器件同时进行配置。

(2)、扫描链布局

JTAG控制信号的连接:TCK、TMS和可选的TRST并行连接,TDI、TDO信号将边界扫描器件组成一个菊花链。

分区:(1)为了满足第三方调试/仿真工具的要求,有些器件(如DSP)必须位于一个分离的链中。(2)为了使不同的FPGA和CPLD厂商的在系统配置软件工具同其器件通信,不同公司的器件必须位于不同的链中。(3)不同的逻辑系列器件(如ECL/TTL)放在不同的链中。(4)为有利于测试分区、诊断分辨率的提高或优化测试向量的执行,应对器件进行分区。(5)在系统环境中,提供到背板接口的器件应进行分区,这有利于进行板到板互连测试时优化测试向量的执行。

尽可能将边界扫描链连接到边缘连接器,这样可不需要针床,避免不清洁导致的接触不良,也有利于背板环境下的系统级访问。

对于高速的JTAG应用,如SDRAM测试、FLASH编程等,TCK的速度高于10MHz,建议使用一个阻抗匹配的RC网络端接(通常采用60-100Ω的电阻和100pF的电容串接),所有其它的输入使用一个弱的上拉电阻(10kΩ)。为了抑制反射,在菊花链的最后一个TDO脚上串接一个22Ω的电阻。

图5 JTAG信号端接

通过放置一0Ω的旁路电阻,可实现对边界扫描器件的物理旁路。有时由于上市时间的压力,边界扫描器件未实现其功能和对其进行测试,如果它是扫描链中的一部分,将导致电路板上该链中的剩余器件无法进行边界扫描测试。可以使用旁路电阻对单个器件和多个器件进行旁路。

图6 边界扫描器件的物理旁路


最好对进入板上的所有IEEE 1149.1输入信号进行缓冲,以保证信号完整性,特别是TCK和TMS。一个通用的规则是,如果电路板线长相对较短,74244型缓冲器可扇出4~6个器件,如果缓冲器和边界扫描器件间导线较长(大于10cm),建议一个缓冲器扇出1~2个器件。

(3)、对非边界扫描器件的控制
对非边界扫描逻辑控制信号的访问:为了防止测试时的信号竞争而导致器件损坏或测试不可靠,非边界扫描器件的控制信号必须连到边界扫描单元,以实现对该器件的非使能控制。下图中,非边界扫描器件也要访问互连测试的地址和数据总线,非边界扫描器件的OE脚必须连到边界扫描单元,以实现对数据、地址总线的高阻控制。

图7 对非边界扫描器件的控制

时钟信号的控制:有时需要对同步存储器读写的时钟信号进行控制,用测试时钟替代或将时钟关断。在下图中,通过将振荡器的OE端连接到空闲的边界扫描单元,来关断时钟,使振荡器的输出脚为高阻,替代用的测试时钟,通过执行EXTEST功能的空闲边界扫描单元提供。


图8 对时钟信号的控制

对连接器的测试,可将连接器的脚接到边界扫描器件的扫描单元上,通过在连接器上外接的短接器,可实现直通测试。

(4)、对FPGA器件
IEEE 1149.1只提供了静态测试能力,对于高速应用的BIST,可以充分利用FPGA对软IP内核的支持能力和可重新配置能力,在电路板装配阶段,将FPGA配置为带BIST功能的内核,实现全速自测试,在系统集成阶段和产品发运时,将FPGA配置为其原有的正常功能。

结束语

IEEE 1149.1很好地解决了微型器件封装、高密度电路板的探测问题,它不但可对边界扫描器件进行互连测试,也可对与其挂接的器件进行测试,它是内置自测试(BIST)采用的主要技术。随着微电子技术的发展和印制板制造工艺水平的提高,边界扫描技术的应用将会非常普及。但要提高电路板测试的故障覆盖率、降低测试成本,在电路板的设计初期,就应考虑电路板的测试策略,采用可测试性设计方法,借助测试软件进行可测试性分析、评估和优化,以提高TPS开发的效率,增强电路板的可测试性。

相关推荐

基于边界扫描的电路板快速测试系统设计

电路板  JTAG  2011-06-03

如何由单片机升级到DSP

单片机  DSP  JTAG  2010-07-05

基于JTAG接口实现ARM的FPGA在线配置

JTAG  ARM  FPGA  2009-03-02

JTAG控制电路的应用与研究

JTAG  控制电路  2009-02-23

32位ARM嵌入式处理器的调试技术

嵌入式  调试  处理器  JTAG Nexus  ARM  2008-08-22

集成电路可测性设计中网表的解析与实现

在线研讨会
焦点