1 引言
自边界扫描技术问世以来 ,国际上一些公司均推出了各自的支持边界扫描的测试设备 ,可以对被测设备的边界扫描机制进行校验 ,并对被测设备的静态故障进行测试 。
测试结果以逻辑真值表的形式提供 ,不具备对被测设备进行故障诊断定位的能力 ,并且其测试软件以英文DOS为平台,操作较为不便 ,不适宜在国内使用
[1] 。
国内从90年代中期开始研究边界扫描技术 ,取得了一定的成果 ,但多是对完全BS (boundary scan)器件的边界扫描测试 ,对由非BS器件组成的逻辑簇的测试还鲜见报道 。
本文所介绍的基于边界扫描的逻辑簇测试诊断软件以Borland
C++
Builder为开发工具 ,能够自动产生逻辑簇的串行测试矢量 ,准确进行故障定位 ,并附加有边界扫描结构完备性测试功能模块 ,提高了测试可靠性 。
2 逻辑簇测试诊断软件设计
一个边界扫描测试诊断过程可以简述为:首先输入测试矩阵进行激励 ,然后输出响应矩阵 ,最后通过分析响应矩阵就可达到对故障进行诊断定位的目的 。
所以说 ,故障诊断问题就集中在测试矩阵的构造、列测试向量的并行加载、列响应向量的并行采集和响应矩阵的分析上 。
UED登录入口在进行软件设计时 ,利用并行测试矢量描述与簇描述文件来构造完备的测试矩阵 ,将其以串行扫描方式由边界扫描器件的TDI经BS链路串行移位送到与逻辑簇相连的相应BSC ,然后通过TMS发送测试控制命令 ,经TAP控制器控制BSC完成测试码的并行加载和响应码的并行采集 。
测试响应码则经BS链路串行移位从边界扫描器件的TDO送到测试机处理得到响应矩阵 ,最后通过对响应矩阵的分析来进行逻辑簇电路故障的诊断定位 。
2.1 软件设计流程图
逻辑簇测试的程序流程图如图1所示 ,其中各步骤的具体作用如下 。
边界扫描信息数据选择与设置:设置PCB板边界扫描链的组成、选择PCB板的网络表、选择各BS器件的BSDL信息、选择被测逻辑簇描述文件、输入其并行测试矢量描述文件 。
编译信息:从BS器件信息数据库中读取各芯片的边界扫描长度、指令码、边界扫描单元总数、逻辑簇与BS器件互连网络总数及各网络的组成 ,并根据
PCB板的BS链组成给各BSC从最靠近TDO端开始编排序号 ,然后译出加载诊断矩阵和采集响应结果的对应BSC序号 。
生成测试矩阵:根据逻辑簇与BS器件互连网络总数及各网络的组成 ,结合逻辑簇的并行测试矢量或簇描述文件 ,利用测试生成算法生成测试矢量集 ,构成测试矩阵 。
边界扫描结构完备性检查:进行边界扫描寄存器、指令寄存器等寄存器的功能测试和各TAP端口信号故障测试 。
TAP控制器复位并控制其进入移位指令寄存器状态:在测试时钟的上升沿发送“11111”到TMS引脚 ,扫描链所有芯片TAP控制器处于复位状态 。
然后再次发送“01100”到TMS引脚 ,TAP控制器进入移位指令寄存器状态 。
选择边界扫描寄存器连接在扫描链上:从TDI
引脚发送各芯片的SAMPLE指令至各芯片的指令寄存器 。
在测试时钟的上升沿发送
“11100”到TMS端 ,各芯片选择边界扫描寄存器连接在扫描链上 , TAP控制器进入移位数据寄存器状态 。
测试矢量输入扫描链并串行移位到相应BSC:读取测试矢量集中的列向量送入对应边界扫描单元(即逻辑簇的虚拟输入端)等待加载 。
向扫描链各BS器件输入对应的EXTEST指令:在测试时钟的上升沿发送“111100”至TMS端 ,TAP控制器进入移位指令寄存器状态 ,发送各芯片
EXTEST指令至各芯片的指令寄存器 。
发送“111100”至TMS端 ,通过各芯片输出端口上的BSC将数据加载到网络 ,TAP控制器处于移位指令寄存器状态 。
扫描链各BS器件输入对应的SAMPIE指令:发送各芯片的SAMPLE指令至指令寄存器 。
在测试时钟的上升沿发送“11100”至TMS端 ,各芯片从互连网络上获取数据并存入输入端口的BSC中 ,各芯片TAP控制器进入移位数据寄存器状态 。
从边界扫描链TDO端串行输出响应数据并存储:连续发送N(BSC总数)个测试时钟到TCK端 ,并在每个测试时钟的下降沿采集TDO引脚移出的数据 ,提取并保存各逻辑簇虚拟输出端对应的响应数据构成响应向量 。
组成响应矩阵分析测试结果:将所有的响应向量组成响应矩阵 ,与正确测试响应相比较和分析 ,判断逻辑簇是否存在故障 。
2.2 逻辑簇测试的设置
在进行边界扫描测试时 ,首先要对测试矢量自动生成所需的若干信息进行设置 。
对于BS器件之间的互连测试 ,其设置只需填写扫描链信息和选择网络表文件 。
而对逻辑簇的测试因为涉及到簇的定义及针对其功能的并行测试矢量 ,设置所需信息相对复杂 ,包括有:
⑴扫描链路的组成芯片、各芯片的边界扫描指令与其BSC单元信息;
⑵被测电路板的网络表文件*.edf;
⑶逻辑簇的并行测试矢量描述文件*.vdf;
⑷簇描述文件*.cld 。
本软件逻辑簇设置界面如图2所示 。
扫描链路设置要依次选择或填写组成扫描链的芯片总数、芯片序号(第*片)、芯片标称(网络表中芯片的名称
U1、U2等)以及芯片的具体名称和相关边界扫描信息 。
芯片的边界扫描相关信息是一个可以编辑、增添、修改信息的数据库 ,选择了芯片名称即可调用其数据库信息 。
“逻辑簇测试选择”一栏用来选择被测的是单个非BS器件还是由非BS器件组成的簇 ,对于单个非BS器件 ,只需填写器件标称 ,而对于簇测试 ,还需编写一个定义簇的输入输出、端口名称的簇描述.cld(cluster
description)文件 。
另外 ,它们的并行测试矢量文件.vdf(vector description
file)也需由用户编写输入 。
cld与vdf文件都是自行设计的有一定语法规范的的文件编辑格式 ,简捷易用 ,用户只需了解逻辑簇的组成和功能就可以容易地编辑 。
逻辑簇测试所有信息选择填写完成后 ,点击 “确定”开始测试或选择“保存设置”、“载入设置”等命令 。
3 逻辑簇测试实例验证
3.1 试验板结构
为研制基于边界扫描的逻辑簇测试诊断软件 ,UED登录入口在一块带有示范性的试验板上对某逻辑簇进行了测试实例验证 。
被测逻辑簇为试验板的一部分 ,其电路如图3所示 。
试验板采用了边界扫描测试性设计技术 ,逻辑簇器件74LS04(U
5)的输入输出管脚均与BS器件U1、U 2(Altera公司的EPM7128SL84)相连 ,因而可以把U
1、U2的边界扫描单元作为其虚拟测试点 ,实现了可观性、控制性 。
开关K1用来控制U1与U5 连线的通断 ,以模拟U5的故障情况 。
3.2 测试矢量的加载
本试验中 ,74LS04的6个输入管脚1、3、5、
9、11、13与U1的63、64、65、67、68、69管脚相连 ,其对应的输出型BSC序号为53、56、59、65、
71、74;74LS04的6个输出管脚2、4、6、8、10、12与U 2的63、64、65、67、68、69管脚相连 ,其对应的输入型BSC序号为72、69、63、57、54、51 。
74LS04是一个简单的非逻辑 ,输入管脚1、3、
5、9、11、13与输出管脚2、4、6、8、10、12对应为反 ,对它的功能测试比较简单 ,且故障能够定位到它与U1、U2的连线 。
其测试矢量应先给各输入端赋值0 ,输出端应该输出1;再给各输入端赋值1 ,输出端应该输出0 。
如果某一对端口不能完成此测试 ,而其它端口可以 ,则说明这一对端口与U1
或U2的连线有故障;若全部逻辑不符 ,则说明芯片 74LS04出故障 。
首先按照并行测试矢量文件VDF的语法格式 ,根据以上逻辑编写出逻辑簇的并行测试矢量文件(此处略) 。
为利用U1的BSC单元把测试矢量加载至U5 ,首先要由网络表和BSDL编译函数把并行测试矢量加载到与U
5相连的U1对应管脚的输出型BSC单元 。
U5的 I/O管脚是三态管脚 ,其每个管脚对应的BSC单元控制必须赋输出允许值“1” ,经过软件的网络表和BSDL
编译分析 ,最终从TDI输入U1的第一组串行测试矢量为“111…00111110110…111” ,这样 ,序号为53、56、59、65、71、74的U1的BSC单元赋值为0 ,其余为1 。
第二组串行测试矢量为“111…111” ,即全1 。
3.3 测试响应的输出
在指令移位状态下输入EXTEST指令“0000000000” ,U
1将测试矢量加到U5的输入端 ,U5完成各输入端逻辑非的功能 ,输出端得到对激励的响应 。
同时U2捕获U5输出管脚的数据 ,送入U
2对应管脚的输入型BSC单元 。
控制TMS ,转换至数据移位状态 ,串行输出U2的288个BSC单元值 ,对第一组串行测试矢量的输出响应如图4(a) 。
经过对TDO值的分析编译 ,从中提取出U
5输出管脚2、4、6、8、10、12对应的值为全“1” ,说明第一组测试无故障 。
用同样的控制过程得到TDO对第二组串行测试矢量的输出响应如图4(b) 。
同样对TDO值进行分析编译 ,从中提取出U5输出管脚2、4、6、8、10、12对应的值为全“0” ,第二组测试亦无故障 。
软件输出互连网络完好的结果提示 。
为模拟逻辑簇的故障情况 ,用开关K
1断开U1与U5的两条连线 ,重复以上测试过程 ,通过对测试矢量和测试响应的对比分析 ,可以准确地将故障定位到断开的连线上 。
另外 ,逻辑簇测试前需执行边界扫描结构完备性测试程序 ,具体过程请参见文献[2] 。
4 结束语
本文详细介绍了基于边界扫描的逻辑簇测试诊断软件的设计原理、流程图与应用 ,并通过测试实例初步验证了软件的有效性与可靠性 。
但由于逻辑簇的复杂不一、串/并行测试矢量相结合的工作方式 ,不可避免地会带来扫描链管理、器件隔离等诸多问题 ,它们在软件调试过程中也时有发生 ,如何解决这些问题UED登录入口将在后续工作中继续研究 。
|