刘军 中国电子科技集团第38研究所数字技术部 230031
基于边界扫描技术的PCB测试
刘军 中国电子科技集团第38研究所数字技术部 230031
现代雷达中使用的PCB中大量采用集成度很高的IC,尤其是BGA器件。传统的测试方法无法进行或者测试效率低下,并且测试的覆盖率也不高,PCB调试工作极为困难,迫切需要一种高效的测试手段来解决硬件测试中遇到的难题。边界扫描测试结构提供了一种方法,可以高效的测试PCB上面的器件,采用边界扫描技术设计的PCB自动测试设备(ATE)很好的解决了高性能PCB测试的难题。
自动测试设备;BGA器件;边界扫描
我们知道早期雷达的数字处理技术水平较低,我国第一代采用脉冲压缩技术的警戒雷达甚至是用模拟器件(声表面波滤波器)而非数字器件来压缩雷达回波。随着大规模集成电路和计算机技术的发展,越来越多的高性能通用及专用CPU、DSP、FPGA等超大规模数字器件在雷达中被广泛使用。雷达中使用的PCB越来越复杂,器件安装密度也越来越高,我们以往采用的电装检测方法已经不能满足要求。本文介绍了边界扫描技术的原理、优势,以及基于边界扫描技术设计的一种PCB自动测试设备(ATE),并通过实际的测试报告说明了这种设备的实用性及先进性。
上世纪八十年代,联合测试行动工作组(JTAG)开发出边界扫描的测试规范,这个规范后来被制定为IEEE1149.1-1990标准。边界扫描测试结构提供了一种方法,可以高效的测试PCB上面的器件。它提供了对设备的观察和控制能力,1149. 1标准被设计用来改进电路错误检查和隔离的能力。
大多数复杂数字器件以这种或那种方式用到了IEEE1149.1(JTAG)标准。如FPGA或CPLD,几乎可以肯定这些硬件是通过JTAG端口来进行配置、加载的。实际上,许多CPLD和FPGA制造商都将JTAG作为其器件在系统编程与配置的标准方法。目前,利用仿真工具来进行调试的硬件,如ADI的虎鲨系统高性能浮点DSP——TS101和TS201,也是通过JTAG端口与处理器对话。说明了JTAG端口在几乎所有使用高性能数字器件的印刷电路板中都会出现,这就为采用基于边界扫描技术来测试PCB提供了基本条件。
边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描单元,可以实现对芯片输入输出信号的观察和控制。
对于芯片的输入管脚,可以通过与之相连的边界扫描单元把信号(数据)加载到该管脚中去;对于芯片的输出管脚,也可以通过与之相连的边界扫描寄存器“捕获”(CAPTURE)该管脚上的输出信号。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一个便捷的方式用以观察和控制所需要调试的芯片。另外,芯片输入输出管脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Bcan Chain)。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信号,就可以方便的观察和控制处在调试状态下的芯片。
图1展示了一个芯片的边界扫描逻辑结构。
图1 边界扫描逻辑结构
边界扫描单元信号(Boundaryscan cell signals)
在并行输入端PI俘获数据
在并行输出端PO更新数据
串行扫描数据从SO到与它相邻的SI
行为透明:PI到达PO
TAP控制器信号(TAP controller signals)
测试信号输入TDI
测试信号输出TDO
测试模式选择TMS
测试时钟TCK
可选择的测试复位信号TRST
在IEEE1149.1标准里面,寄存器被分为两大类:数据寄存器(DR)和指令寄存器(IR)。边界扫描链属于数据寄存器中很重要的一种,边界扫描链用来实现对芯片的输入输出的观察和控制。而指令寄存器用来实现对数据寄存器的控制,例如:在芯片提供的所有边界扫描链中,选择一条指定的边界扫描链作为当前的目标扫描链,并作为访问对象。
TAP(Test Access Port)是一个通用的端口,通过TAP可以访问芯片提供的所有数据寄存器和指令寄存器。而对整个TAP的控制是通过TAP Controller(测试访问端口控制器)来完成的。TAP总共包括5个信号接口:TCK、TMS、TDI、TDO和TRST。测试访问端口控制器,本身是一个状态机,有16个状态,通过三个控制信号(TMS,TCK,TRST)来对它进行控制,在图2中说明了此状态机各个状态迁移的流程。
图2 测试访问端口控制器状态机
图3展示了一块拥有四个边界扫描器件的PCB。你能够发现:
TDI、TDO是串联在一起的;
TMS、TCK分布到每一个边界扫描器件上。
图3 拥有四个边界扫描器件的PCB
我们来分析图3,通过边界扫描链这种结构我们能实现哪些类型的测试:
(一)内部结构测试
首先,我们可以对扫描链的完整性进行测试,如果扫描链路断开,测试工具会知道当前的扫描链不是完整的;
TAP controller,可以检查它是否正常工作;
器件缺失;
器件错误安装,通过读取器件的ID号来了解器件安装是否正确。
(二)互连测试
固定电平(0/1)测试;
开路/短路测试;
边沿连接器测试;
(三)簇器件(本身不支持边界扫描)测试
功能测试;
存储器测试。
目前PCB测试面临的困难:电路规模越来越大,电路物理节点的可访问性正逐渐削弱以至于消失。BGA(ball grid array)器件封装是伴随着日益提高的器件内时钟速度发展起来的一种封装技术。这种元器件的管脚全部集中在器件下面,管脚数量及密度不断提高,在这种情况下对管脚测试点的访问极为困难。
采用普通的光学手段无法观察BGA器件的物理管脚,想要观察这种封装的器件管脚只能采用X光照相手段,含铅材料对X光的阻挡是X光照相测试的基础。图4展示了一个BGA器件的X光照相顶视图,从这张照片中我们发现含铅元件对X光起到了阻挡作用,所以我们很难从照片中区分良好焊点和虚焊。虽然目前多维X光机可以从多种角度观察BGA器件管脚的焊接情况,但也要依赖人眼,使用久了容易疲劳。和所有光学的检测方法一样,X光照相仅仅得到了焊点的静态图像,而不是提供确保连接性所需的动态电气报告,因而极难判断虚焊和可靠焊点之间的差异。所以,传统光学测试的方法已经不能满足目前PCB常规测试的需求了。
图4 BGA器件的X光照相
在使用针床夹具这项历史悠久的传统PCB测试方法来测试目前PCB的时候会遇到哪些困难呢?
a)在产品设计过程中不断增加测试点,致使多次制作PCB板,延长了产品开发周期,从而延迟了产品上市时间,丧失了占领市场的先机;
b)每一次在PCB上增加测试点,都会导致重新制作昂贵的ICT测试针床,代价巨大;
c)PCB上设置了大量的测试点,导致电路信号完整性、电磁兼容性能严重下降,产品设计风险增加;
d)PCB上的测试点引发大量过孔、埋孔、盲孔,增加焊接故障。这些故障通常表现为:PCB易分层、爆板、过孔撕裂,PCB翘曲导致焊点桥接、开路故障,球形焊点中出现空洞、开路故障;
e)BGA芯片阴影效应,从而导致隐蔽焊点,易发生虚焊、冷焊故障;
f)PCB测试覆盖率不高,产品可靠性风险增加。
所以采用表面测试针技术——针床夹具,同样不能适应目前PCB测试的需求了。
基于boundary scan(JTAG)的PCB测试能以非传统的方式获得PCB电气连接性的信息,它有几大优点:
a)一个是方便芯片的故障定位,迅速、准确地测试两个芯片管脚的连接是否可靠,提高测试、检验效率;
b)另一个是采用无物理接触的“虚”导通访问,无需外加硬件电路,测试起来简洁快速,且准确安全;
c)从测试成本上评估,这种测方式非常低廉,因为它不需要特殊的设备,如针床、X-ray机等。只需要把故障PCB插在测试台上,然后运行测试工程,几十秒,最多几分钟就可以得到准确、详细的测试报告,经济效益显著。
自动测试设备分软件和硬件两大部分:
测试软件的开发工具为法国Tomento Systems公司的DiaTem。针对一块PCB,较为完整的测试软件开发流程大致可以分为四个步骤:
a)在DiaTem开发环境中创建PCB系统板的工程,建立同类器件库文件;
依据原理图构造JTAG链,并核检JTAG链的完整性;
在相应的类库中导入新的元器件及其对应的BSDL文件;
如果是FPGA器件,还需要根据FPGA的管脚文件*.pin,使用转换脚本程序把器件的BSDL文件转换成新的BSDL文件,然后导入进DiaTem。
b)建立板级链后,导入设计文件,并设定相应规则;
分析网表,检查记录测试覆盖率;
开始自动运行仅JTAG类器件的测试-ATPG。
c)在JTAG类器件进行ATPG后在添加cluster类器件进行测试;
测试及调试PCB板;
得到出错报告及相应的处理建议。
d)编程元器件;
导出测试结果。
在整个流程中,设定规则是重要的一个环节,规则有错误会导致测试报告出错,严重的时候会损坏PCB本身。对某些cluster器件需要添加适当的测试脚本来设置测试条件(如开放总线等),这类脚本可以归入初始化脚本。另外针对一些比较特殊的器件或使用者的特殊用法,在测试开发工具无法自动生成测试向量的情况下,需要设计师自己阅读器件手册并在领会PCB设计师设计意图(通过原理图)的情况下编写出测试脚本,来完成测试。如果器件是自设计的器件,需要测试设计师充分了解其时序关系后,编写出符合要求的测试脚本方可得到正确的测试结果。
自动测试设备的硬件部分包括一个测试底板,一个JTAG适配器,一台PC机。如图5所示,图中的边界扫描测试接口就是JTAG适配器,I/O适配器就是一块测试底板。每部分的作用是:
a)JTAG适配器,它提供了一个或多个测试端口;
b)测试底板,它为被测试PCB提供电源,以及提供接插件测试时需要的测试激励;
c)PC机,在上面运行测试软件。
将JTAG适配器引出的测试接头插在被测试PCB的JTAG端口上,然后再将PCB插在测试底板上就可以测试了。测试时间从几十秒到几分钟不等,这主要取决于测试时钟速度(由器件本身或由PCB的SI特性来决定)、被测PCB的复杂程度、测试覆盖率、功能测试的难易及校验次数等因素。
图5 自动测试设备的硬件构成
运行测试软件后就可以得到PCB测试报告,测试报告是基于PCB电气连接性的电子文档,内容非常详细,不仅包括对整个测试工程的描述(表格1),还有对所有出错的网络及器件管脚的描述及分析。
表格1
如下部分报出了一个开路故障:
Net at cluster pin Address[8]connected to jtag pin(s) D22/230 (/ DSP_BOARD) is Open/stuck at 0
Related Net: AD48
根据报告中的提示,测试人员很容易定位故障点。
基于边界扫描的测试技术在PCB生命周期的每个阶段都可以发挥巨大作用,如:
工程阶段(Engineering Station)
借助边界扫描和JTAG标准带来的潜在优势,在工程阶段,PCB设计师和测试工程师可以验证和排除电路板和系统中的错误。
在这个阶段允许你在两天之内定义你的电路板并且建立一个测试工程,从而留出更多的时间去做调试。然后,你可以静态的分析测试覆盖率和检测PCB的易测性。这种分析就像网络浏览器,让你很快的了解怎样能够在JTAG易测性方面做出改进,确认你的设计可以在生产之前就得到优化。
产品阶段(Production Station)
边界扫描测试设备可以高效的完成批量产品的硬件测试工作。生产、加工部门可以用它来完成产品最初的测试及检验,查出问题立刻返修,不让存在硬件故障隐患的PCB流入下一个环节。
维修和维护阶段(Repair and Maintenance Station)
售后服务部门可以使用边界扫描测试设备测试用户返修的故障PCB。通过准确、快速的故障定位不仅可以节约大量的人力资源,还可以避免物料的浪费。
通过测试报告说明了基于边界扫描测试技术设计的PCB自动测试设备是先进、可靠、有效的,很好的解决了雷达中使用的复杂数字PCB测试困难的问题。
[1]System Test with Boundary Scan (JTAG),By David Bonnett Technical Product Manager ASSET InterTech, Inc.
[2]IEEE Standard Test Access Port and Boundary-Scan Architecture.
[3]Tomento System,Scan and JTAG concepts.
10.3969/j.issn.1001-8972.2010.16.062
刘军 男,1974年生于安徽淮南,学士,工程师。现在中国电子科技集团第38研究所数字技术部从事雷达信号处理研究,研究方向为雷达信号处理实时处理平台和高性能PCB测试技术。