论文部分内容阅读
【摘 要】本文以边界扫描测试技术为基础,对电路板的故障定位方法进行了深入研究。以走步算法为核心来完成整个测试软件的设计,达到快速定位故障的目的。
【关键词】边界扫描;故障定位;软件设计
1、研究背景
随着电子技术的飞速发展,通过探头与测试点接触获取信息的方式已经很难满足当前的测试需求。边界扫描测试技术是一种可以脱离物理探针来完成复杂电路板测试的技术。
当前各种复杂的软件设计限制了边界扫描的使用,因此需要一种简单且快速进行故障定位的测试方法。
2、边界扫描测试技术的原理。
边界扫描实现的原理如图1所示。
在边界扫描器件的每一个管脚上都有一个BSC,即边界扫描寄存器单元,它在器件正常工作状态下犹如透明元件,不影响器件的正常工作。在进入边界扫描测试状态后,通过TAP控制器,把数据通过TDI管脚打到对应的测试寄存器中,之后通过TDO管脚采集输出,通过对比输入激励和输出响应来判断是否存在故障。
3、测试软件与设计
3.1软件设计综述
本文中主要使用了TCL脚本语言,TCL脚本语言是一种解释性语言,扩展性和移植性较好,可以在不同的电路板之间快速移植代码。
主要针对走步算法进行分析,测试开始后,首先进行全0全1测试,全0全1测试是为了防止在测试呆滞故障时出现故障混淆,通过对比测试激励与测试响应来判断是否存在固定故障,若存在,则记录故障引脚及故障类型;然后进行走步1测试,通过对比测试激励与测试响应来判断是否存在线或短路故障以及开路故障等,并记录相应的故障管脚;最后进行走步0测试,同理通过对比测试激励与测试响应来判断是否存在线与短路故障与开路故障。如果走步1走步0测试通过则证明相应测试模块无故障,测试结束。
3.2互联测试中测试向量生成及应用
要完成故障的精确定位,必须依照测试算法产生测试向量来进行测试,因此测试向量的生成是测试代码中非常重要的一个环节。
本文基于走步算法来完成测试向量生成,走步1算法的初始串行测试向量为“1,0,0,…,N”然后让“1”顺序移位,构成N个串行测试向量的组合,与走步1算法對应的是走步0算法,走步0算法的初始测试向量为“0,1,1,…,N”,然后让“0”顺序移位。基于以上原理,在测试代码中利用移位指令来生成所需的测试向量。利用走步1算法的函数,将产生的测试向量依次取反后再与“1”相与即可获得走步0的测试向量。通过测试对比可以精确的定位呆滞故障、开路故障、线或故障和线与故障。
3.3功能测试中测试向量生成及应用
功能测试中测试向量的产生与互联测试测试向量的产生方法一致,但在测试方法上有所不同,如图2所示为实例电路中边界扫描器件控制的功能测试。
功能测试需要参照相应器件的数据手册,例如FLASH。需要按照手册中的时序图完成状态控制以及数据的读写。
在数据线测试时,将走步算法产生的测试向量,也即是将数据向一个固定的地址上写入,然后再去读取该地址的数据,来判断写入的数据与读出的数据是否一致,一致则表明无故障,不一致则表明对应的某一数据线存在故障。
地址线测试时需要分两步进行:第一步测试地址线短路,首先将地址线低位到高位依次拉高,也即是用走步1算法产生的测试向量作为写入的地址,向这些地址内容写入一个固定的数据0x555,然后向地址空间0x00内写入数据0x00,分别读取上述地址空间的内容,任何一根地址线短路,其地址将变为0x00,其地址空间中的数据都将被后写入的数据覆盖,不能再读出0x555,从而判断出某一地址线故障;第二步测试地址线开路,用走步0算法产生的测试向量作为写入的地址,然后向上述地址空间写入数据0xaaa,然后向最高位地址0xfff写入0x00,任何一根地址线开路的话,地址将变为0xfff,其内容将被后写入的0x00所覆盖,不能再读出0xaaa。
由上述测试流程,可完成NVRAM以及FLASH等存储器的测试。
4、结论
边界扫描测试技术是一种适用于大规模集成电路的测试技术,其独特的优势必将在大规模集成电路的测试方面处于领先地位。本文主要以走步算法为核心介绍软件的设计实现,使走步算法产生的测试向量能使用在互联测试与功能测试中,大大简化测试方法并可对故障进行快速定位。
(作者单位:中国航空工业集团公司洛阳电光设备研究所)
【关键词】边界扫描;故障定位;软件设计
1、研究背景
随着电子技术的飞速发展,通过探头与测试点接触获取信息的方式已经很难满足当前的测试需求。边界扫描测试技术是一种可以脱离物理探针来完成复杂电路板测试的技术。
当前各种复杂的软件设计限制了边界扫描的使用,因此需要一种简单且快速进行故障定位的测试方法。
2、边界扫描测试技术的原理。
边界扫描实现的原理如图1所示。
在边界扫描器件的每一个管脚上都有一个BSC,即边界扫描寄存器单元,它在器件正常工作状态下犹如透明元件,不影响器件的正常工作。在进入边界扫描测试状态后,通过TAP控制器,把数据通过TDI管脚打到对应的测试寄存器中,之后通过TDO管脚采集输出,通过对比输入激励和输出响应来判断是否存在故障。
3、测试软件与设计
3.1软件设计综述
本文中主要使用了TCL脚本语言,TCL脚本语言是一种解释性语言,扩展性和移植性较好,可以在不同的电路板之间快速移植代码。
主要针对走步算法进行分析,测试开始后,首先进行全0全1测试,全0全1测试是为了防止在测试呆滞故障时出现故障混淆,通过对比测试激励与测试响应来判断是否存在固定故障,若存在,则记录故障引脚及故障类型;然后进行走步1测试,通过对比测试激励与测试响应来判断是否存在线或短路故障以及开路故障等,并记录相应的故障管脚;最后进行走步0测试,同理通过对比测试激励与测试响应来判断是否存在线与短路故障与开路故障。如果走步1走步0测试通过则证明相应测试模块无故障,测试结束。
3.2互联测试中测试向量生成及应用
要完成故障的精确定位,必须依照测试算法产生测试向量来进行测试,因此测试向量的生成是测试代码中非常重要的一个环节。
本文基于走步算法来完成测试向量生成,走步1算法的初始串行测试向量为“1,0,0,…,N”然后让“1”顺序移位,构成N个串行测试向量的组合,与走步1算法對应的是走步0算法,走步0算法的初始测试向量为“0,1,1,…,N”,然后让“0”顺序移位。基于以上原理,在测试代码中利用移位指令来生成所需的测试向量。利用走步1算法的函数,将产生的测试向量依次取反后再与“1”相与即可获得走步0的测试向量。通过测试对比可以精确的定位呆滞故障、开路故障、线或故障和线与故障。
3.3功能测试中测试向量生成及应用
功能测试中测试向量的产生与互联测试测试向量的产生方法一致,但在测试方法上有所不同,如图2所示为实例电路中边界扫描器件控制的功能测试。
功能测试需要参照相应器件的数据手册,例如FLASH。需要按照手册中的时序图完成状态控制以及数据的读写。
在数据线测试时,将走步算法产生的测试向量,也即是将数据向一个固定的地址上写入,然后再去读取该地址的数据,来判断写入的数据与读出的数据是否一致,一致则表明无故障,不一致则表明对应的某一数据线存在故障。
地址线测试时需要分两步进行:第一步测试地址线短路,首先将地址线低位到高位依次拉高,也即是用走步1算法产生的测试向量作为写入的地址,向这些地址内容写入一个固定的数据0x555,然后向地址空间0x00内写入数据0x00,分别读取上述地址空间的内容,任何一根地址线短路,其地址将变为0x00,其地址空间中的数据都将被后写入的数据覆盖,不能再读出0x555,从而判断出某一地址线故障;第二步测试地址线开路,用走步0算法产生的测试向量作为写入的地址,然后向上述地址空间写入数据0xaaa,然后向最高位地址0xfff写入0x00,任何一根地址线开路的话,地址将变为0xfff,其内容将被后写入的0x00所覆盖,不能再读出0xaaa。
由上述测试流程,可完成NVRAM以及FLASH等存储器的测试。
4、结论
边界扫描测试技术是一种适用于大规模集成电路的测试技术,其独特的优势必将在大规模集成电路的测试方面处于领先地位。本文主要以走步算法为核心介绍软件的设计实现,使走步算法产生的测试向量能使用在互联测试与功能测试中,大大简化测试方法并可对故障进行快速定位。
(作者单位:中国航空工业集团公司洛阳电光设备研究所)