APP下载

基于SQLite的边界扫描测试链路自动生成研究与实现

2018-04-13侯杏娜陈寿宏颜学龙

现代电子技术 2018年8期
关键词:数据表

侯杏娜 陈寿宏 颜学龙

摘 要: 为了提高边界扫描测试效率,提出一种基于嵌入式开源数据库SQLite的边界扫描测试链路自动生成方法。根据边界扫描编译结果得到SQLite数据库的各个数据表数据,分析各表间的数据关系,结合边界扫描矢量生成算法,从任意点随机触发,开始遍历数据库各表,引入模糊查询模式更有效匹配各表关系,快速形成完整边界扫描测试链。所设计的边界扫描链路自动生成方法可替代人工生成链路方法,简化测试准备和节省处理数据时所需时间,降低系统成本,具有较好的应用前景。

关键词: 边界扫描; SQLite; 链路生成; 数据表; 数据关系; 模糊查询模式

中图分类号: TN820.2?34; TN958 文献标识码: A 文章编号: 1004?373X(2018)08?0064?04

Abstract: To improve the testing efficiency of boundary scan, an embedded open source database SQLite based method of automatic generation for boundary scan testing chain is proposed. The data of each data table in the SQLite database is obtained according to the compiling results of boundary scan, and the data relationships between tables are analyzed. Combined with the boundary scan vector generation algorithm, each table in the database is traversed from any randomly?triggered point. The fuzzy query mode is introduced to match the table relationships more effectively and form a complete boundary scan test chain rapidly. The designed boundary scan chain automatic generation method can replace the manual chain generation method, simplify the test preparation, save the data processing time, reduce the cost of the system, and has a good application prospect.

Keywords: boundary scan; SQLite; chain generation; data table; data relationship; fuzzy query mode

0 引 言

边界扫描技术是新兴的测试技术,它是一种在实际测试时不需借助复杂和昂贵装置,并提出一种独立于电路板技术的测试方法。边界扫描测试系统主要包括硬件系统和软件系统。软件系统主要由测试矢量自动生成模块和测试故障诊断模块组成。在测试矢量生成的过程中边界扫描测试链的形成是重要一环,它构成整个边界扫描过程的基础框架。由于整个边界扫描系统存在信息量大,人工形成测试粗链的方式已无法满足现代测试的要求的问题,本文针对该问题,根据编译提取的信息存入SQLite嵌入式数据库,建立相互联系,从任意点随机触发,遍历各关系数据库,快速有效形成测试链。

1 自动生成扫描链路原理

用户可以自定义一个描述该电路板上扫描链基本组成信息的文件,包含边界扫描器件的BSDL文件名、电路板的网表文件名、扫描链的条数、每条链的TDI、TDO等端口号和含有边界扫描的器件名。通过对该文件的编译可以得到扫描链路的信息,然而由于文件需用户自定义,所以称之为手动生成扫描测试链路。通过对Protel网表信息以及BSDL信息进行梳理,建立关系,可以自动生成边界扫描链。

首先,确定信息来源,通过Protel网表编译及BSDL文件编译,得到9张数据库表,它们之间存在连接关系;然后,取用其中部分表数据作为自动生成扫描测试链的数据依据。应该注意的是有的数据表来自于Protel网表文件,而其余表格来源于BSDL文件,整个过程要在两个不同的文件之间建立联系,通过共同信息,引入模糊查询机制,最大限度上匹配相关信息,形成链路信息,如图1所示。

2 基于SQLite的Protel网表和BSDL文件数据表

因嵌入式数据库SQLite可高效处理数据,且具有易用、小巧、开源、高效等特点,满足设计要求,同时方便各模块间数据的调用。可设计基于SQLite的数据库表。

2.1 Protel网表文件数据表的建立

根据Protel网表文件自身构造特点,配合矢量生成信息需求,设立合适的数据库表。这些数据库表,具有易插入、适合矢量生成调用的特点。将Protel网表文件信息划分为4张数据库表,它们分别如表1~表4所示。

这些数据表共同属于一个数据库中,它们之间具有连接关系。通过表的相同信息建立联系,分表描述,更有利于观察其细节特征,方便矢量生成信息的提取。表1描述了Protel网表器件信息部分,包括器件名、封装形式以及属性等,主要在匹配规则时,进行动作插入数据库,第一列描述的是每个器件的编号,以出现的先后顺序进行编号;表2是对网络连接关系中所用器件引脚号的分析,与表1建立关系,主要说明某个器件的某个管脚在网络之中;表3是对网络名的提取,为每个网络编号;表4描述每个引脚在网络中与其余引脚相连。

2.2 BSDL文件数据表建立

BSDL文件主要包含可测型器件的管脚映射、指令集、封装等信息,其信息结构和规则位置相关。结合矢量生成的需求,将BSDL信息存储于表5~表9中,各表之间通过共有信息直接或间接建立关联。

3 测试扫描链自动形成

测试扫描链自动形成的流程图如图2所示。

首先选定一个可测性器件作为中心器件,向器件两侧展开。然后确定该器件的TDI,TDO管脚,先从TDO方向扩展,确定与TDO连接的管脚,判断连接器件是否为可测件。如果不是,则该器件TDO方向链路结束;如果是判断是否连接器件的TDI。找到连接器件的TDO,进行相同操作,直到TDO方向链路结束。返回核心器件,找到TDI,向TDI方向进行延伸,查找到TDI的连接器件是否为可测器件。如果不是,则该方向链路结束;如果是可测器件,查看是否连接TDO。查找连接器件的TDI,进行相同操作,直到找到非可测性器件,单链结束。

具体表的操作如下:首先从表5 BSDL器件类型表中任意取一个BSDL器件类型名以及对应的器件类型ID;到表1中查找之相匹配的Protel网表器件名,该器件作为中心器件,标记此条信息用过,取出器件名、封装名以及器件ID;到表6中查找封装ID,到表7中查找TDO,TDI引脚号,进入表2中查找TDO在Protel网表中的引脚ID,在表4中查找与TDO的引脚ID相连的网络引脚ID,进入表2中取引脚号以及器件ID,进入表1取出封装名以及器件类型名,在表5中,找到对应BSDL器件类型ID,进入表6找到封装ID,根据所提供信息,进入表7查找引脚名是否为TDI或者TDO;如果是,则继续重复操作上述步骤;如果不是则该链结束。

一个电路中可能有多条链路,当一条链结束后,将进行其他链路的生成,其流程如图3所示。

在表5中取出BSDL器件类型,到表1中去匹配。当匹配到器件,且器件未被标记,说明还有链路存在,则调用图3所示流程图进行链路分析;当取出的BSDL器件类型匹配到的器件已经被标记,则继续匹配下一个器件;当所有可以匹配到的器件均被标记,则循环在表5中取出下一条BSDL器件类型,再次进行上述同样操作。如果循环表4、表5取出的BSDL器件类型,在表1中所对应的器件均被标记过,则表示该电路中没有闲置的边界扫描器件,即所有链路均被找出,则结束测试粗链自动生成,将所有链路信息存入对应的数据库表中。数据库表中描述的信息有:链路名字、链路BS芯片个数、芯片对应的BSDL名、芯片在链上的位置(从TDI到TDO编号)以及锁链下一个芯片名(从TDI到TDO编号)。表格如表10所示。

4 结果验证

在扫描链验证过程中,以Demo板的用户自定义TAP文件,作为比较对象,进行验证。

圖4中所表示的数据结果信息是通过配置后调用扫描链自动生成程序得到的。它清晰反映了扫描链的链路信息。从数据库可得,该测试板上有两条链路:第一条链路由7个可测器件组成,按照TDI到TDO的连接方式,它们的先后顺序为u2,u1,u3,u4,u5,u6,u10,并标注了每个可测性器件的BSDL器件名,通过比对,完全符合TAP表的内容;第二条链路由2个可测性器件组成,连接顺序为u8到u7,同样标注了BSDL器件名,比对后发现,与TAP文件具有同样结果,但大幅缩短时间。

5 结 论

本文所设计的边界扫描链自动生成方法通过对链路信息的研究,利用SQLite数据库自动生成代替人工方式,快速生成相关链路。该设计具有通用性,快速准确,节约了时间,减少了人工成本,简化了测试准备和节省处理数据时所需的时间,降低了系统成本,具有较好的应用前景。

参考文献

[1] IEEE Standards Association. IEEE Std 1149.1?2001?IEEE standard test access port and boundary scan architecture [S]. [S.l.]: IEEE, 2001.

[2] 陈寿宏,颜学龙,黄新.基于IEEE 1149.7标准的CJTAG测试设计方法研究[J].电子技术应用,2013,39(1):79?82.

CHEN Shouhong, YAN Xuelong, HUANG Xin. Research of the technology of CJTAG test method based on IEEE 1149.7 [J]. Application of electronic technique, 2013, 39(1): 79?82.

[3] 陈寿宏,侯杏娜,韦翠荣,等.基于SQLite的边界扫描互连测试矢量生成设计[J].计算机测量与控制,2015,23(6):1854?1855.CHEN Shouhong, HOU Xingna, WEI Cuirong, et al. Design of boundary scan interconnect test vector generation based on SQLite [J]. Computer measurement &; control, 2015, 23(6): 1854?1855.

[4] CHEN Shouhong, WANG Zhuang, HOU Xingna, et al. A general boundary scan test system based on EDIF netlist file transfer to Protel netlist file [J]. International journal of materials and structural integrity, 2016, 10(1): 70?80.

[5] GEBREMESKEL U I, FERREIRA J M M. An IEEE 1149.x embedded test coprocessor [J]. Circuits &; systems, 2014, 5(7): 170?180.

[6] UNGAR L Y. Boundary scan as a system?level diagnostic tool [C]// Proceedings of IEEE AUTOTESTCON. Anaheim: IEEE, 2012: 8?15.

[7] LO W H, HSIEH A C, LAN C M, et al. Utilizing circuit structure for scan chain diagnosis [J]. IEEE transactions on very large scale integration systems, 2014, 22(12): 2766?2778.

[8] POMERANZ I. Built?in generation of functional broadside tests using a fixed hardware structure [J]. IEEE transactions on very large scale integration systems, 2013, 21(1): 124?132.

[9] IEEE Standards Association. IEEE Std 1149.7?2009?IEEE standard for reduced?pin and enhanced?functionality test access port and boundary?scan architecture [S]. [S.l.]: IEEE, 2010.

[10] 谭剑波,尤路,黄新,等.边界扫描测试技术[M].北京:国防工业出版社,2013.

TAN Jianbo, YOU Lu, HUANG Xin, et al. Boundary scan test technology [M]. Beijing: National Defense Industry Press, 2013.

猜你喜欢

数据表
联合收获机知识库数据多表联合查询方法研究
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
InnoDB表空间修复步骤
图表
基于SPI软件的仪表数据表生成
QH165点焊机器人数据库开发技术
基于VSL的动态数据表应用研究