本站小编为你精心准备了电路板全面测试中边界扫描技术探究参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《国外电子测量技术杂志》2016年第9期
摘要:
板级边界扫描测试技术,也就是IEEE-1149.1标准在电子行业得到了广泛的认可。对于一个特定的电路设计项目,为了实现最高的测试覆盖率和最优的测试性能,详尽的可测试性分析是不可或缺的。边界扫描的可测试性设计不仅仅是选择支持JTAG扫描链的芯片及设定芯片特定引脚这么简单,还需要关注边界扫描芯片周围的逻辑器件或存储器的簇测试。本文描述了边界扫描进行电路板测试的常用测试项并提出利用边界扫描技术提高测试覆盖率的一些方法。
关键词:
边界扫描;互联测试;簇测试
1引言
边界扫描技术(与IEEE1149.1,JTAG同义)如今已被越来越多的电子工程师所了解,本文旨在介绍边界扫描技术在电路板测试中的优势与不足,从而使读者有更深一步理解。基于边界扫描技术的测试内容有扫描链测试、边界扫描器件之间的互联测试、边界扫描器件与非边界扫描器件之间的簇测试等。IEEE-1149.1描述的是对数字电路的一种准静态测试方法,主要用于检测板级电路板连接性测试,检测焊接质量。对于PCB走线,元器件参数,例如电阻、电容、电感,晶振频率、功率等是无法测试的。虽然支持IEEE-1149.4标准的器件可以做电流注入和电压测量等部分模拟信号测试功能,但是由于支持该标准的器件寥寥无几,暂时仍无法大量应用。
2边界扫描互联测试
2.1板级边界扫描互联测试
通常情况下,今天的数字电子产品通常会涉及一片或多片支持IEEE-1149.1的器件,如DSP、FPGA/CPLD、ARM、ASIC芯片等。通过编程口JTAG建立边界扫描链,可完成互联测试,互联测试可以检测结构性的故障,如网络的固定故障、短路、开路。扫描链测试是测试边界扫描器件是否焊接完好,这是基于边界扫描技术完成测试的基础,如图1所示,为一条扫描链上有4个边界扫描芯片,读出芯片的ID为正确值则扫描链测试通过。互联测试是在边界扫描器件在外测试模式(EXTEST模式)内完成的,测试序列包含边界扫描单位预加载和输入单元的逻辑电平采集两步骤。数字PCB板上一个网络上的边界扫描测试资源决定了该网络的可测试性。如图2所示提供了一些不同边界扫描测试资源的样本。图2(a)代表一个只有边界扫描输出单元的网络。该输出无法被控制,同时该网络没有边界扫描输入单元,因此,边界扫描技术无法检测开路或固定故障。为满足测试条件,需要在外部增加资源,如在电路板外部连至另一个支持输入边界扫描单元的I/O,或者用万用表采集电压。图2(b)网络只有含有一个输入边界扫描端口,没有输出能力。这样的网络也无法用边界扫描技术进行检测。如果在该网络上增加上拉电阻,可检测网络固定0的故障,但仍无法检测网络固定1的故障。图2(c)包含一个输入边界扫描端口和一个输出边界扫描端口。图2(d)代表一个输入边界扫描端口和一个输出可被控制边界扫描端口。图2(e)包含一个输入边界扫描端口和一个输出可被控制、可被监视的输出边界扫描端口。图2(f)包含两个双向边界扫描端口,每个端口可以实现输出控制、输入、输出值设定。该种设计是最常用的,一般的FPGA引脚均是双向边界扫描端口。图2(c)到图2(f)的网络,运用边界扫描技术可以检测开路、短路、固定故障,但是无法定位出是哪个芯片引脚出现问题。图2(g)表示一个网络含有3个双向边界扫描端口,这样的网络可以实现所有的测试,如果出现短路故障,通过边界扫描可以将故障定位到芯片引脚。图2(h)中,有些边界扫描引脚输出端是共享控制单元的。这些控制单元限制了对边界扫描引脚的测试,因为共享了控制端意味多个端口需同时设为输入端或输出端。在图2(h)中,左面上部是两个输出控制端共享,无输入功能的引脚。右面是两个输出控制端共享,有输入功能的引脚。左面下部是一个无控制端的输出引脚,为了保护芯片,边界扫描软件自动生成的测试程序会将边界扫描器件设置在安全的状态下,对于该网络,由于左面是常输出端口,因此右面的端口需始终配置为输入模式。同时右面的输出端口是共享控制端的,所以右面的两个引脚均只能配置为输入模式,进而导致故障定位能力降低。图2(h)中的所有网络可以检测开路、短路、固定故障,但是无法定位故障是哪个芯片引脚。图2中所有的电路均无非边界扫描器件,在实际应用中,边界扫描器件的引脚还可能会连接至电阻、电容、连接器等无源器件上,还可能连接至ADC、DAC、数字逻辑芯片上。利用自动测试向量生成(ATPG)工具,为了安全和全面的测试所有网络,边界扫描软件需要了解到每一个器件的功能,从而决定是否配置及如何设置非边界扫描器件的引脚。在理想状态下,所有的非边界扫描器件均需要在边界扫描软件的器件库中描述其模型。这样边界扫描软件可以自动产生以最少的安全测试向量完成尽可能多的测试覆盖率。如图3所示,两个双向缓冲器U600、U601和一个存储器U500共享一个数据总线。U300和U603为两个边界扫描器件。任何边界扫描测试均需使所有器件处于安全的状态,在本例中,两个缓冲器的选通方向必须保持一致,U600、U601可以在互联测试中判断是否出现短路、断路,也可以单独设计簇测试完成U600、U601的网络测试。
2.2IEEE-1149.1互联测试的不足
边界扫描互联测试的不足是仅能测试边界扫描器件I/O引脚间的网络(包含有缓冲器电路在内),并且测试速度相对较慢,在一定程度上可以认为是静态测试。举例来说,一条完整的扫描链上存在10000个边界扫描单元,控制器以10MHz的测试时钟(TCK)速率进行测试,相当于是以1kHz的速度做测试。这意味着边界扫描互联测试无法检测只有在正常工作速率下才能出现的故障。互联测试的另一个不足是非边界扫描器件无法在互联测试中完成测试(缓冲器、总线收发器、上拉/下拉电阻除外),但是非边界扫描器件可在簇测试中完成检测。
3簇测试
部分电路不可通过互连测试检测,则一般考虑用簇测试,簇测试的含义是利用边界扫描器件的资源完成对周围非边界扫描器件的测试。如连接至边界扫描I/O引脚的逻辑芯片的测试被称为逻辑簇测试(如图4所示);电源和运放等被称为模拟簇测试;分立的(相对于嵌入式的)存储器器件被称为存储器簇测试;还有接口簇测试是边界扫描器件I/O连到电路板边缘连接器的部分。图4中的逻辑簇测试,一般会由多个逻辑器件组成,它们的输入输出均连接至边界扫描I/O引脚中。这样就可以通过边界扫描I/O模拟逻辑输入,再采集逻辑输出。完成对逻辑器件的功能测试,但是有一点需要注意,测试是在相对较低的速度下完成的,这取决于边界扫描链长度和TCK的速率。一般无法达到正常工作模式的速度。
3.1逻辑和接口簇测试
逻辑簇测试是通过逻辑器件连至边界扫描器件引脚来完成测试的,测试覆盖率和故障检测率取决于逻辑簇内部有多少测试点连接至边界扫描器件引脚中。在逻辑簇测试中一个要点是避免总线竞争,图4中包含4个2输入与非门和4个非反向缓冲器,缓冲器U702B和U702C输出连接R705的两端,并设计至边界扫描I/O中,在边界扫描测试中电阻被认为是一根直连导线,这样就导致了两个缓冲器的输出是短路的,如果同时配置为输出则可能会导致缓冲器损坏,因此边界扫描软件只能允许同一时间内一个缓冲器使能输出,否则软件会提示错误。接口簇测试是验证边界扫描芯片引脚到连接器的连接性和基本功能。接口部分一般会设计有边缘连接器,如果需要进行接口簇测试,需要在电路板外部增加额外的边界扫描资源来提高可测试性。
3.2存储器簇测试
存储器簇测试的目的是确定是否所有存储器都与边界扫描器件焊接良好,保证存储器能够正常工作,没有短路、断路、固定故障。存储器簇测试很多情况都不是与边界扫描器件直连的,中间会增加逻辑芯片,如图5所示,SRAM(U500)由3个边界扫描器件所控制(U300、U603、U700),同时数据总线和地址总线经过了3个缓冲器(U600、U601、U604)。存储器簇测试通常是由ATPG工具自动产生的。但是ATPG工具需要存储器的模型才可自动产生测试向量。为了简化开发难度和时间,一般边界扫描软件提供器件库描述所有的器件模型。边界扫描软件依赖器件模型提供的信息生成存储器测试程序。同样,通过逻辑缓冲器和收发器的模型也可以自动生成测试程序。值得注意的是存储器簇测试的目的不是遍历所有存储器的地址空间内的数据,而是判断存储器与边界扫描器件之间焊接的好坏。如图5所示中的RAM是一个标准的异步SRAM,读写时序相对比较简单,只有3条控制线(器件使能、写使能和输出使能),存储器簇测试的同时完成对逻辑器件的控制,RAM测试算法可参考如图6所示流程,该RAM数据总线是16位,地址总线是18位。
4在线编程应用
如今的可编程逻辑器件如PLD和FPGA都利用IEEE-1149.1接口进行配置和下载程序。边界扫描技术可以以多种文件格式完成对边界扫描器件在线编程,如SVF格式、STAPL格式或IEEE1532文件格式。在线编程的实现使得自动测试设备(ATE)可以将下载程序和功能软件设计为一个整体,减少人工点击下载软件的工作。但值得注意的是FPGA一旦下载程序后,FPGA的I/O引脚配置和电平可能与未下载之前是不同的,配置后的边界扫描描述语言(BSDL)文件可在FPGA设计软件中单独导出使用。
5总结
边界扫描技术IEEE1149.1发展已较为成熟并在欧美国家得到广泛应用,通过边界扫描技术可大幅提高产品的测试覆盖率和故障检测率,国内的使用率较低但也呈现逐年上升的趋势。本文介绍了边界扫描技术在电路板测试的优势和不足,希望读者可以更深入的理解边界扫描技术,从而改善中国电子产品的可测试性并最终提高可靠性。
作者:陆云云 单位:北京泛华恒兴科技有限公司