一种新型数字芯片测试仪的设计与实现 · studio2005环境和dotnetbar

4
PROCESS AUTOMATION INSTRUMENTATION Vol郾 35 No郾 11 November 2014 国家自然科学基金青年基金资助项目( 编号:31100711); 河北省高等学校科学技术研究青年基金资助项目( 编号: 20111122)。 修改稿收到日期:2014-02-20第一作者李天义(1986-),,现为河北工业大学计算机应用技术专 业在读硕士研究生;主要从事嵌入式系统的研究种新型数字芯片测试仪的设计与实现 Design and Realization of a New Digital Chip Tester 李天义 1,2 耿跃华 3 1 张梅芳 1 ( 河北工业大学计算机科学与软件学院 1 ,天津 300401; 中国人民解放军 93642 部队 2 ,河北 唐山 064000;河北工业大学电气与自动化学院 3 ,天津 300401) : 针对传统数字芯片测试设备检测芯片固定、PC 机软件不可扩展测试电路复杂等问题,设计了一种新型数字芯片测试仪器设计为上位机和下位机两部分,并着重突出了上位机的作用对组成上位机的编译模块数据管理模块、SQLite 数据库测试模块 和串口设置模块进行了研究,同时对以 PL2303 芯片为主的串口通信模块和以 STC89C52 为控制芯片的下位机电路进行了设计系统 能够准确地检测组合逻辑芯片定位故障点,并能动态生成测试集扩展可测组合逻辑芯片关键词: 编译功能 SQLite 数据库 芯片测试 测试集 结果集 故障检测 中图分类号: TP36 文献标志码: A Abstract: Aiming at the problems of traditional digital chip test equipment, such as the tested chips are fixed, PC software cannot be extended, and the testing circuit is complex, etc. , a new digital chip tester has been designed. The design consists of two parts: the host computer, and the lower computer, and the role of the software in host computer is highlighted emphatically. The compositions of host computer , including compilation module, data management module, SQLite database, test module and serial port setup module are researched, in addition, the serial communication module based on PL2303 as the core, and the circuit with STC89C52 as control chip in lower computer are designed. The system can precisely detect combinational logic chip, positioning the fault point, and dynamically create test set, expand measurable combinational logic chip. Keywords: Compilation function SQLite database Chip test Test set Result set Fault detection 0 引言 随着电子技术的不断发展, 组合逻辑芯片被广泛 使用在数字系统研究中, 因其反复使用频繁插拔等, 极易出现故障为及时检测出问题芯片提高芯片利 用率,各大高校和实验室纷纷推出自己的芯片测试仪 器或设备 [1-5] 这些测试仪器在一定程度上实现了对 问题芯片进行检测的目的然而, 这些测试仪器注重 对芯片测试能力的设计,对适用范围交互能力没有进 行充分的考虑,主要体现在 3 个方面:一是将被测芯片 的测试集提前写入检测系统中,导致被测芯片型号固 ;二是忽略了上位机软件的扩展开发,使得测试系统 不能够扩充被测芯片;三是通过拨码开关来对芯片类 型和型号进行选择, 增加了硬件电路的复杂度本文 引入软件编程技术数据库技术等,将研究重点放在上 位机的开发上,通过增加上位机的编译模块和 SQLite 轻型数据库管理模块,配合下位机相应的硬件电路,效地解决了上述问题1 系统总体设计 1.1 测试原理分析 数字芯片测试仪的基本测试原理是:首先,根据被 测试片的逻辑功能生成测试集和结果集;然后,利用硬 件电路将测试集转换成电平信号并加载到被测芯片的 输入引脚,而后读取被测芯片的输出电平信号;最后将 采集到的输出电平信号与结果集进行比对,判断出被 测芯片的完整性上述基本原理在实际应用过程中有 2 个突出问题 需要解决一是测试集和结果集的存放问题每一芯 片都有其对应的测试集和结果集,存储测试集和结果 集是需要空间开销的如果将测试集和结果集存放在 下位机的硬件存储设备中,会使得原本就有限的下位 机存储空间更为拮据,故本文将测试集和结果集存放 在上位机中二是被测数字芯片输入输出引脚的确立 问题每组数字芯片对其各自的引脚定义不一定相 ,一些引脚是信息量输入引脚,一些则是信息量输出 引脚,在测试开始之初便需要确立引脚的输入输出状 0 6 一种新型数字芯片测试仪的设计与实现 李天义,

Upload: dangthuy

Post on 28-Jul-2018

263 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 一种新型数字芯片测试仪的设计与实现 · Studio2005环境和DotNetBar

PROCESS AUTOMATION INSTRUMENTATION Vol郾 35 No郾 11 November 2014

国家自然科学基金青年基金资助项目(编号:31100711);河北省高等学校科学技术研究青年基金资助项目(编号:20111122)。修改稿收到日期:2014-02-20。第一作者李天义(1986-),男,现为河北工业大学计算机应用技术专

业在读硕士研究生;主要从事嵌入式系统的研究。

一种新型数字芯片测试仪的设计与实现

Design and Realization of a New Digital Chip Tester

李天义1,2 摇 耿跃华3 摇 富摇 坤1 摇 张梅芳1

(河北工业大学计算机科学与软件学院1,天津摇 300401;

中国人民解放军 93642 部队2,河北 唐山摇 064000;河北工业大学电气与自动化学院3,天津摇 300401)

摘摇 要: 针对传统数字芯片测试设备检测芯片固定、PC 机软件不可扩展、测试电路复杂等问题,设计了一种新型数字芯片测试仪。 仪

器设计为上位机和下位机两部分,并着重突出了上位机的作用。 对组成上位机的编译模块、数据管理模块、SQLite 数据库、测试模块

和串口设置模块进行了研究,同时对以 PL2303 芯片为主的串口通信模块和以 STC89C52 为控制芯片的下位机电路进行了设计。 系统

能够准确地检测组合逻辑芯片、定位故障点,并能动态生成测试集、扩展可测组合逻辑芯片。关键词: 编译功能摇 SQLite 数据库摇 芯片测试摇 测试集摇 结果集摇 故障检测

中图分类号: TP36摇 摇 摇 摇 文献标志码: AAbstract: Aiming at the problems of traditional digital chip test equipment, such as the tested chips are fixed, PC software cannot beextended, and the testing circuit is complex, etc. , a new digital chip tester has been designed. The design consists of two parts: the hostcomputer, and the lower computer, and the role of the software in host computer is highlighted emphatically. The compositions of hostcomputer, including compilation module, data management module, SQLite database, test module and serial port setup module are researched,in addition, the serial communication module based on PL2303 as the core, and the circuit with STC89C52 as control chip in lower computerare designed. The system can precisely detect combinational logic chip, positioning the fault point, and dynamically create test set, expandmeasurable combinational logic chip.Keywords: Compilation function摇 SQLite database摇 Chip test摇 Test set摇 Result set摇 Fault detection

0摇 引言

随着电子技术的不断发展,组合逻辑芯片被广泛

使用在数字系统研究中,因其反复使用、频繁插拔等,极易出现故障。 为及时检测出问题芯片、提高芯片利

用率,各大高校和实验室纷纷推出自己的芯片测试仪

器或设备[1-5]。 这些测试仪器在一定程度上实现了对

问题芯片进行检测的目的。 然而,这些测试仪器注重

对芯片测试能力的设计,对适用范围、交互能力没有进

行充分的考虑,主要体现在 3 个方面:一是将被测芯片

的测试集提前写入检测系统中,导致被测芯片型号固

定;二是忽略了上位机软件的扩展开发,使得测试系统

不能够扩充被测芯片;三是通过拨码开关来对芯片类

型和型号进行选择,增加了硬件电路的复杂度。 本文

引入软件编程技术、数据库技术等,将研究重点放在上

位机的开发上,通过增加上位机的编译模块和 SQLite

轻型数据库管理模块,配合下位机相应的硬件电路,有效地解决了上述问题。

1摇 系统总体设计

1. 1摇 测试原理分析

数字芯片测试仪的基本测试原理是:首先,根据被

测试片的逻辑功能生成测试集和结果集;然后,利用硬

件电路将测试集转换成电平信号并加载到被测芯片的

输入引脚,而后读取被测芯片的输出电平信号;最后将

采集到的输出电平信号与结果集进行比对,判断出被

测芯片的完整性。上述基本原理在实际应用过程中有 2 个突出问题

需要解决。 一是测试集和结果集的存放问题。 每一芯

片都有其对应的测试集和结果集,存储测试集和结果

集是需要空间开销的。 如果将测试集和结果集存放在

下位机的硬件存储设备中,会使得原本就有限的下位

机存储空间更为拮据,故本文将测试集和结果集存放

在上位机中。 二是被测数字芯片输入输出引脚的确立

问题。 每组数字芯片对其各自的引脚定义不一定相

同,一些引脚是信息量输入引脚,一些则是信息量输出

引脚,在测试开始之初便需要确立引脚的输入输出状

06

一种新型数字芯片测试仪的设计与实现摇 李天义,等

Page 2: 一种新型数字芯片测试仪的设计与实现 · Studio2005环境和DotNetBar

《自动化仪表》第 35 卷第 11 期摇 2014 年 11 月

态性质。 本文通过建立上位机和下位机的通信协议、通信协议来配置上位机所传递的数据。1. 2摇 系统设计

通过上述分析,将系统总体框架设计为上位机和

下位机两部分,如图 1 所示。淤 上位机软件部分主要由编译模块、数据管理模

块、测试模块、串口设置模块以及 SQLite 数据库构成,主要实现对被测芯片的选定、类型扩充以及通信设置

等基本操作。于 下位机则由以 PL2303 芯片为主的通信模块和

以 STC89C52 芯片为控制芯片的检测模块配以外围扩

展电路组成,主要实现对芯片的测试信号加载以及测

试结果捕捉等操作。

图 1摇 系统总体框架图

Fig. 1摇 Framework of the whole system

系统工作时,上位机的测试模块将被测芯片的测

试集发送到下位机通信模块。 通信模块接收测试集并

发送测试信号到下位机测试模块,由测试模块产生激

励信号对被测芯片进行检测,并采集被测芯片的输出

响应。 检测模块将输出响应发送到通信模块,进而发

送到上位机的测试模块。 测试模块将反馈信息集与被

测芯片结果集进行比对,从而判断被测芯片的好坏。1. 3摇 通信格式

系统中上位机与下位机的通信需要有特定的格式,

使上位机和下位机程序的编写遵循一定的依据,同时

保证数据的完整性。 上下位机间的数据通信协议具体

格式如图 2 所示。

图 2摇 上位机与下位机间的数据通信格式

Fig. 2摇 The data communication format between hostcomputer and lower computer

上位机与下位机间的通信是通过数据帧来完成的。一个标准的数据帧分为 32 位:1 ~3 位为起始位,标示该

帧数据发送开始;4 ~ 5 位为标志位,用于说明该帧数据

的作用;6 ~29 位为端口引脚的设置信息或输入输出情

况;30 ~32 位为结束位,标示该帧数据发送结束。

2摇 上位机设计实现

上位机软件使用 C#语言编写,在 Microsoft VisualStudio 2005 环境和 DotNetBar 开发工具支持下完成。 系

统具有 2 个特色功能:一是能够由芯片的功能表达式生

成测试集和结果集,二是芯片的测试集和结果集能够导

出导入。 这两个功能均需要在上位机上实现。 由此可

见,上位机是整个系统的指令控制枢纽。 为实现有效的

测试数据传输和数据存储管理,系统将上位机功能划分

为 4 个模块。上位机的软件体系架构如图 3 所示。

图 3摇 上位机软件体系架构图

Fig. 3摇 The architecture of the host computer software

16

一种新型数字芯片测试仪的设计与实现摇 李天义,等

Page 3: 一种新型数字芯片测试仪的设计与实现 · Studio2005环境和DotNetBar

PROCESS AUTOMATION INSTRUMENTATION Vol郾 35 No郾 11 November 2014

摇 摇 淤 编译模块,为有效扩展测试芯片,需要为每一个

新增加的被测试芯片添加相应的测试集,这里采用编译

模块来完成该项工作。 根据用户输入的芯片功能表达

式,利用编译原理的思想,结合测试集生成算法,生成被

测芯片的测试集和结果集,并将测试集、结果集和被测

芯片基本信息存入 SQLite 数据库中。 编译模块的作用

是根据用户要求动态添加新的芯片测试支持。目前,常用的测试集生成算法有临界通路法、D鄄算

法、FAN 算法[6-9]、布尔差分法[10] 等,每种算法各有其

优缺点。 本文采用操作简单、易于程序实现的临界通

路法为数字芯片的测试集生成算法。于 数据管理模块,主要是通过操作 SQLite 数据

库,完成对已存在的数字芯片的类型、基本信息及其测

试集和结果集进行查找、修改、删除等基本数据操作。同时,数据管理模块具备整体数据的导入和导出功能,通过该功能及时更新数据库,从而满足用户对被测试

芯片种类的及时更新要求。开源的关系型数据库 SQLite 数据库,支持大部分

标准 SQL 语言[11]。 它没有独立的数据引擎,本文使用

可视化管理工具 SQLite Expert Pro v3. 4. 17 实现对

SQLite 文件的构建和编写。 SQLite 数据库的数据文件

是后缀名为. db 的文件。 该文件可直接由上位机程序

通过 API 接口进行调用,实现对数据库的存取操作。盂 测试模块,是直接实现对数字芯片进行检测的

关键模块。 测试模块根据用户对芯片类型的选择信

息,从 SQLite 数据库中提取出对应芯片的测试集与结

果集。 同时,测试模块根据串口设置模块提供的串口

传输信息,输出测试集、接收反馈信息,与结果集进行

对比分析得出测试结论并显示。榆 串口设置模块,是设置串口通信的基本配置模

块,主要是针对不同的下位机对测试的串口设置要求不

同而进行设计的。 Microsoft Visual Studio 2005 开发环境

提供了 SerialPort 类,用于实现对串口通信的支持。 通

过初始化该类的实例即可完成对串口资源参数的配置。除上述 4 个基本模块功能外,为满足用户的多样

性要求,软件还包括如工具软件、快捷方式、日期提示、帮助文档、主题风格等多种功能。

3摇 下位机设计实现

3. 1摇 程序流程设计

下位机是系统中具体的指令执行体,负责执行设备的

控制指令,同时将测试结果反馈到上位机。 下位机程序的

执行主要分为串口中断处理程序和数据执行程序两部分。淤 串口中断处理程序流程图如图 4 所示。

图 4摇 串口中断处理程序流程图

Fig. 4摇 The flowchart of the serial port interrupt program

每当下位机接收到上位机通过串口发送的指令时,下位机执行串口中断程序。 根据定义的通信协议,中断

程序首先判断该组数据的起始位和结束位是否完全正

确。 若不正确,则舍弃该组数据;若正确,则将数据存入

getstr 寄存器中,同时对数据执行程序进行信息反馈。于 下位机数据执行程序流程图如图 5 所示。

图 5摇 数据执行程序流程图

Fig. 5摇 The flowchart of the data execution program

26

一种新型数字芯片测试仪的设计与实现摇 李天义,等

Page 4: 一种新型数字芯片测试仪的设计与实现 · Studio2005环境和DotNetBar

《自动化仪表》第 35 卷第 11 期摇 2014 年 11 月

收到串口中断程序的反馈信息后,数据执行程序

开始执行,程序首先判断 flag 和 begin 标志位是否均为

1。 若是,则执行测试程序;否则退出程序。3. 2摇 硬件设计

根据上述下位机程序的分析可知,下位机需要识

别处理上位机的串口数据请求,需要有引脚与被测芯

片进行连接,并具有一定的指令执行能力。 经过仔细

分析,系统采用 STC89C52 芯片作为下位机 MCU,配合

其他外部设备构成。 下位机主要分为 3 个部分:USB

转串口通信、STC89C52 芯片最小系统、40 引脚芯片锁

紧座。完成上位机与下位机进行通信数据解析的 USB

转串口通信电路图如图 6 所示。 模块中采用 PL2303芯片作为主要的数据处理芯片,另外包含驱动芯片

工作的晶振电路以及稳压电路等。 PL2303 芯片能够

将上位机提供的 5 V 电压进行转换,可提供 3. 3 V 和

5 V 的两种电压型号,实现对不同工作电压芯片的

检测。

图 6摇 USB 转串口通信电路图

Fig. 6摇 The conversion circuit of USB to serial port communication

摇 摇 下位机工作的 STC89C52 最小系统电路由晶振电

路、开关复位电路等构成。 为使芯片的 P1 引脚能够正

常工作,将 P1 引脚进行上拉,上拉电阻为 10 k赘。系统通过 40 引脚芯片锁紧座,将被测芯片与

STC89C52 的 3 组(P0、P1、P2 ) I / O 口连接。 由于被测

芯片的最后一个引脚为 VCC,因此本设计将最后一个

引脚直接接电源,并通过 STC89C52 的 P1. 0引脚选择是

连接 3. 3 V 还是连接 5 V 电源。3. 3摇 硬件测试

硬件测试既是对所设计的下位机硬件电路的检测

也是对上位机软件功能的检验。 如对一片 AT28C16芯片进行测试,需将芯片置放于芯片放置端,用锁紧座

将其固定供电,在上位机的“其他芯片冶一栏中选择

AT28C16 芯片,对其双击进行检测,实现硬件检测的

目的。

4摇 结束语

本设计通过在上位机软件中引入编译功能和

SQLite 轻型数据库,以及对相应下位机硬件电路的

设计,实现了新型数字芯片测试仪。 该仪器具有两

个突出特性:一是能够检测多种型号、不同功能的数

字芯片;二是在系统中没有该芯片的测试集和结果

集的情况下,可以通过编译功能实现测试集和结果

集的生成,也可以通过数据导入的方式对测试芯片

种类进行更新。 因此,本设计具有更强的适应性和

灵活性。另外,本设计只能对 24 位以内引脚数目的芯片进

(下转第 67 页)

36

一种新型数字芯片测试仪的设计与实现摇 李天义,等