APP下载

XML文件解析技术在边界扫描测试中的应用

2012-11-10王春艳史军军

中国电子科学研究院学报 2012年2期
关键词:插件文档器件

王春艳,史军军

(1.华东电子工程研究所,合肥 230088;2.解放军69079部队博士后科研工作站,乌鲁木齐 830013)

0 引言

通过对测试结果文件的二次解析,智能分析冗余信息后归一化处理,生成用户易读的精简边扫报告,并且提取解析结果信息与数据库中的插件、元器件和故障信息进行比对,实现了故障诊断的可视化定位显示,并将可视化结果生成到测试报表中,便于统计故障,提高了测试人员的快速排除故障的效率。

1 文档对象模型(DOM)

DOM(Document Object Module)是W3C制定的一种独立语言和平台的标准,它提供一个可以通用于各种程序语言、操作系统和应用程序的接口,定义了文档的逻辑结构及存取和维护文档的方法。利用DOM中的对象,可以对XML文档进行读取、搜索、修改、添加和删除等操作。DOM是对XML数据的描述体系,用树型结构文档来保存XML数据,包括对XML的解析和处理XML数据的API。

1.1 DOM工作原理

使用DOM对XML文件进行操作时,首先要解析文件,将文档中的元素、属性、注释和处理指令都看作节点(Node),然后在内存中以节点树的形式创建XML的文件表示,通过节点树访问文档的内容,并根据需要修改文档,这就是DOM的简要工作原理[4]。

DOM提供了一种从其他的应用程序中调用或管理XML数据的方法。处理方法是将一个XML文档看作一个对象,通过固定的方法和属性对XML文档的不同标记进行读写。DOM规范的核心就是树模型[5],对于要解析的XML文档,解析器会把XML文档加载到内存中,在内存中为XML文件建立逻辑树,DOM就是XML文档的一个结构化视图,它将一个XML文档看作是一棵节点树,而其中的每一个节点代表一个可以与其进行交互的对象。树的节点是一个个对象,通过操作这棵树和这些对象就可以完成对XML文档的操作,为处理文档提供了一个完美的概念性框架。通过DOM解析器处理XML文件的优点是效率高,但是,十分消耗系统的资源,比较适合复杂但相对较小的文件。概括起来,DOM解析器解析 XML 文件需要下列几个步骤[6,7]。

(1)建立一个DOM解析工厂;

(2)通过解析工厂创建DOM解析器;

(3)解析指定的XML文件;

任何事情,都有前因后果,都有来龙去脉,在语句中表现为前项和后项。但是第一,如果我们没有找到真正的原因,那么所找的原因就是一个任意因果的原因,而不是必然因果的原因。第二,前项和后项在语句中的完备,不能代替事实中的正确的因果关系。

(4)根据标记名称获得node标记列表;

(5)遍历每一个node节点;

(6)获得标记内容。

1.2 DOM主要接口

在DOM接口规范中,有四个基本的接口,分别是:Document、Node、NodeList和 NamedNodeMap。

Document代表整个XML文档,提供了对文档的数据进行访问和操作的入口。Document节点就是DOM树中的根节点,通过Document节点可以访问到文档的其他节点。

Node代表了树中的一个节点,DOM树中包含很多不同类型的节点均是从Node继承过来的。Node中定义了所有不同类型的节点中都有的属性与方法。

NodeList提供了对节点集合的抽象定义,用于表示有顺序关系的一组节点。在DOM中,NodeList是动态的,即对文档的改变会直接反映到相关的NodeList对象中去,它的每个Item都可以通过一个索引来访问,该索引值是从0开始的。

NameNodeMap所包含的节点集中的节点是无序的,表示一组节点和其唯一名字的对应关系,也可以通过索引来进行访问。索引的使用方法和NodeList是一样的。

通过以上接口可以完成对XML文档绝大多数属性的操作,如对XML文档进行创建、加载和遍历及对XML文档中的元素进行添加、删除和修改。

2 边界扫描文件解析

通过对边界扫描测试产生的XML文件进行解析,智能分析冗余错误信息后,结合数据库信息实现故障器件的拾取与故障器件位置在硬件电路板图的匹配,通过故障原因、故障器件信息与故障器件位置的交互显示,辅助测试人员从包含大量冗余测试结果的信息中,快速得到故障器件位置与故障原因。最终将繁琐的边界扫描测试结果通过图形化交互界面和统一的报表呈现给测试人员,提高了故障检测和维修的效率。边界扫描解析结构框图,如图1所示。

图1 边界扫描解析结构框图

根据Action类型,将整个测试流程分为五类:SPV(扫描链)测试、Interconnect(互连)测试、MAV(存储器)测试、Flash测试和Macro(宏)测试。在一个测试工程中,五种测试可根据需要设计,每一种测试类型的Action可能有很多个,以Action Name区分。针对每种测试类型选择相应的文件解析模型。

以SPV测试解析模型为例,如图2所示,阐述解析过程。SPV测试按照 DRSCAN → nstCapture→Bypass →IDCODE →ScanLength →USERCODE(在建立Action时这些步骤均为可选)的顺序进行。

图4(a)为将扫描链断开后,产生的故障。该被测板的扫描链顺序为 U7 → U8 →U1,在板上将U8 →U1处TDO→TDI断开,即出现图4(b)中的错误。

SPV测试是边界扫描测试的基础,只有在扫描链测试通过时才可进行后续测试。扫描链测试失败的原因有很多,如连接电缆故障、ASSET控制器故障和Scanworks软件故障,对于这些故障,均设计了相应的故障信息提示。

3 故障诊断可视化显示

边扫测试系统主要采用DOM模型对边扫结果文件进行解析,结合数据库中的插件信息进行故障元器件定位。通过解析xml文件,按照测试类型对冗余信息的智能分析,提取有用的信息并归类,以文本的形式显示。在故障判断中,依据对故障点的进一步智能分析,将故障点的范围由器件缩小至具体管脚。以框图显示可疑故障器件在电路板中的对应位置,解决了非专业硬件人员无法读懂边界扫描结果的困难,通过对边界扫描结果的解析,选取大量信息中的相关信息,以图形化的方式直观展现检测电路板的故障器件,从而对检测人员检测电路板进行了引导。

以时域脉压插件为例,如图5所示。图5(a)是SPV测试通过的演示界面,表明插件通过SPV测试,可以继续进行后面的测试。图5(b)是Interconnect测试未通过的演示界面,显示相关故障信息,包括故障原因(可精确定位至故障管脚)、故障所在网表和故障元器件的位置。

4 结语

基于DOM模型实现对XML文件的解析,在Visual Studio6.0平台下将其应用于雷达插件故障检测系统中,实现了对第三方软件的二次解析。在智能分析后,剔除冗余的信息,以精简的解析报告、图形化的人机交互界面,方便检测人员快速排除故障和进行故障修复,并将其集成到综合电路自动化测试系统中。该方案已经在某出口三型雷达自动测试系统中得到应用。实践证明,该应用系统具有操作方便、定位准确和执行效率高等优点。

[1]IEEE Std 1149.1-2001.IEEE Standard Test Access Port and Boundary Scan Architecture[S].IEEE Standard Board,2001.

[2]IEEE Std 1149.4-2001.IEEE Standard a Mixed-signal Test Bus[S].[S.1.]:Test Technology Technical Committee of the IEEE Computer Society,1999.

[3]NATANYA PITTS.XML 技术内幕[M].徐晓梅,龚志翔,王晓云,等,译.北京:机械工业出版社,2002.

[4]赵辉.一种基于DOM的XML解析器的设计与实现[D].太原:山西大学,2005.

[5]杨虹,徐超强,侯华敏.基于边界扫描技术的集成电路可测性设计[J].重庆邮电学院学报(自然科学版),2006,18(6):686-723.

[6]张华,陈朝阳,沈绪榜.基于微机的边界扫描测试主控系统的设计[J].华中科技大学学报(自然科学版),2002,30(5):22-24.

[7]倪军,杨建宁.基于边界扫描技术的数字系统测试研究[J].电子技术应用,2006(09):107-110.

猜你喜欢

插件文档器件
有人一声不吭向你扔了个文档
自编插件完善App Inventor与乐高机器人通信
基于RI码计算的Word复制文档鉴别
旋涂-蒸镀工艺制备红光量子点器件
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
MapWindowGIS插件机制及应用
面向高速应用的GaN基HEMT器件
基于Revit MEP的插件制作探讨
一种加载集总器件的可调三维周期结构
高分辨率遥感相机CCD器件精密热控制