APP下载

基于PC104总线的综合测试系统研究

2014-09-15文涛左东广李站良

现代电子技术 2014年18期
关键词:综合测试电路设计控件

文涛+左东广+李站良

摘 要: 为解决某型武器系统测试过程中方法繁琐、检测结果不够直观的问题,在分析测试需求的基础上,提出了基于PC104嵌入式计算机的测试方案,搭建了自动化测试系统硬件环境,并在Visual Studio 2010开发环境下,采用模块化与多线程处理方式实现了测试系统的交互式测试。对部分原理电路进行了分析,详细介绍了软件编程中数据库、报表打印等关键技术。结果表明,该系统可靠性高、实时性好、界面简洁、操作简单,有效地保障了部队的作战和训练任务。

关键字: PC104; 自动化测试; Visual Studio; C#

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2014)18?0072?03

Research of a comprehensive test system based on PC104 bus

WEN Tao, ZUO Dong?guang, LI Zhan?liang

(Second Artillery Engineering University, Xian 710025, China)

Abstract:In order to solve the problems that a weapon testing method is tedious and the results are not intuitive, a testing scheme based on PC104 embedded computer is proposed on the basis of the testing demand analysis. The hardware environment of an automation testing system was built. The interactive testing was completed by modular and thread processing mode in Visual Studio 2010 development environment. In this paper, part of the circuit is analyzed, and the key technologies of database and report printing in software program are introduced in details. The application result indicates that the system works reliable, and has advantages of high real time performance, succinct interface and simple operation. It safeguarded the combat and training mission effectively.

Keywords: PC104; automatic testing; Visual Studio; C#

0 引 言

随着电子技术和计算机技术的突飞猛进,测试系统出现了以总线技术为基础的自动化测试系统[1]。目前,PXI、EISA、PC104等总线被广泛应用在自动化测试系统中[2],PC104因为其体积小、成本低、兼容性好等优点,被广泛地应用于商业、工业、航空以及军事等众多领域[3]。

目前,我国的武器系统正处在快速发展的新阶段,而保障其发挥优越性能的地测设备发展却相对滞后。某型武器综合测试系统自动化程度还不是很高,且采用PC机进行测试,整个测试系统体积庞大,严重影响了部队的应急作战能力。因此,本文针对测试需求,构建了基于PC104总线的嵌入式系统结构,并利用Microsoft Windows XP系统平台,在Visual Studio 2010开发环境和.NET框架下,设计了自动化测试系统,该系统能够多种信号并发采集,且满足实时性和精度的要求。

1 系统硬件总体设计

测试系统以基于PC104规范的工业控制计算机为核心[4],选择符合系统精度要求的兼容采集卡并设计信号调理电路,构成自动化测试平台。该测试系统硬件结构框图如图1所示。

图1 系统原理框图

PC104工控机采用AMD高性能、高集成、低功耗嵌入式专用CPU,主频可达800 MHz,在主板上固化有256 MB DDR2内存,有双向并口、4个串口、2个USB口、IDE硬盘驱动器及PS/2键盘、鼠标接口。它采用工业级器件,运用防静电及抗干扰电路,保证了系统的稳定性和可靠性。

A/D转化模块采用西安亿浩电子科技有限公司生产的EAD1612,其具有较高的共模抑制比和输入阻抗,完全兼容PC104总线的微主控制器。A/D单端通道为16路,差分通道为8路,输入信号量程有(±5 V,±10 V,0~20 V)三档,转换分辨率为12位。由于采集卡共模抑制比很大,所以本系统选用了差分8路通道,很好地减小了误差。

触摸屏有2条线与主板相连接,一条与显示接口连接;另一条通过USB接口与触摸屏控制器相连进行触摸控制。触摸屏控制器采用支持4,8线式的触控屏幕的USB接口的PenMount5126触摸屏控制板,它的驱动程序支持全部的Microsoft操作系统平台,具有非常好的兼容性和高度稳定性。

I/O模块采用EIO48,EIO48是基于PC104系统的3通道定时计数器48位DIO模块,带3个中断源。在本系统中它主要应用于数字量输入/输出。

打印机选用HP1008型激光打印机,其数据接口与PC104的USB口连接进行数据通信。

2 信号调理电路设计

综合测试系统主要完成对数据的采集,一般由传感器、信号调理电路、A/D转化电路等几部分构成[5]。其中,传感器的作用是将被测量转换成电信号,然而,其所产生的电信号通常不能直接输入微机,必须经过调理才能被数据采集设备可靠的采集。因此,信号调理电路是数据采集系统非常重要的组成部分,其电路一般包括信号幅值变换、隔离、模拟滤波等。

2.1 电压信号调理电路设计

(1) 输入电路设计

为了避免信号调理电路的引入对测量结果产生较大影响,往往需要调理电路中输入阻抗足够大。

(2) 幅值变换电路设计

EAD1612采集卡分辨率为12位,其采集精度可达到mW级,在信号的软件采集模块中将采集范围设置为-10~10 V。系统中的电压幅值在28 V左右,需要经过调理电路的降压处理才可直接被采集卡采集。

(3) 滤波器的设计

一般情况下,经传感器转换的电信号,会受到传感器以及电路本身的影响,而含有多种频率的噪声,噪声对被测信号存在着严重的干扰,在很大程度上影响着测试的可靠度。所以,在设计数据采集系统时,必须考虑到噪声对系统的影响,在硬件上设计滤波器来除去测量信号中的噪声,增强系统的抗干扰能力。

在实际测试中,几乎所有的数据采集系统都会受到来自电源线的50 Hz噪声干扰。因此,信号调理模块需要包含低通滤波器,最大限度地剔除50 Hz噪声。本文采用二阶有源低通滤波器。电压信号调理电路原理图如图2所示。

图2 电压信号调理电路

2.2 电流信号调理电路设计

为了将模拟的电流信号转化为计算机可识别的数字信号需要先把电流信号转化为电压信号。具体到本系统,需要将大小为400 mA左右的电流信号采集到计算机中。所以,设计I/V转换电路如图 3所示。

图3 I/V转换电路

2.3 开关量信号抗干扰问题

在测试系统中,需要使用继电器对一些开关进行控制,而开关量具有数字电路中的开关性质,因此,将开关量信号经过光电耦合电路后被采集卡采集,可以防止干扰信号进入系统。

3 系统软件总体设计

自动化测试软件是基于Windows XP操作系统,在Visual Studio 2010开发环境和.NET框架下编写的面向对象的可视化应用程序,其测试流程如图 4所示。软件采用模块化设计,综合测试主界面如图 5所示。

主要功能有:

(1) 进行综合测试前,系统自动对工控机、板卡、触摸屏等进行自检;

(2) 控制PC104工控机及板卡实时采集输出信号,将采集值与理论基准值进行对比,并判断各功能部件是否工作正常,其测试数据表1所示。

(3) 实现数据的显示、存储、查询和打印功能。

图4 软件测试流程图

图5 测试系统主界面

表1 测试数据

3.1 多线程程序设计

自动化测试系统对实时性要求比较高,需要在同一时间对多路电压进行监测,而多线程技术可以满足测试的实时性。C#语言中,对线程进行操作时,主要用到Thread类,该类位于System.Threading命名空间下。通过使用Thread类,可以对线程进行创建、暂停、恢复等操作,设计程序如下:

//引用Thread类命名空间

using System.Threading;

//实例化线程对象

Thread td=new Thread(new ThreadStart(this.Measure1));

//开启线程

td.start();

private void Measure1()

{

//调用动态链接库采集数据

U1=dll.EAD1612_IORead(Index,Port);

}

3.2 数据定时采集

在测试系统中,合理数据采集的关键是是定时。在Windows窗体环境下,Timer控件可以定期引发事件,从而实现对数据的定时采集。Timer控件概述见表2。

表2 Timer控件概述

3.3 数据库程序设计

在测试完成后,往往需要对测试数据和测试结果进行存储,以便日后数据的查询。而数据库是存储和管理数据的仓库,可以很方便地对数据进行管理,本文中使用的是SQL Sever 2008数据库。在C#语言中,可以通过编写SQL语句来查询、添加、更新和删除数据。

3.4 报表打印程序设计

水晶报表(Crystal Reports)是内置于Visual Studio开发环境中的一种报表设计工具,它能够在.NET平台上创建复杂且专业的报表。本文中,将水晶报表协同数据库一起工作,可创建测试数据和测试结果报表,而且设计好报表之后,可以通过多种形式输出,例如Word、Excel等。Windows应用程序中还提供了一组打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在输出报表时,可以直接使用这些控件控制打印文本的格式。

4 结 语

本文介绍了一种基于PC104总线技术的综合测试系统,采用了工控机、信号采集卡和I/O模块相结合的方式,通过搭建硬件平台和软件平台的方式,实现了对多路信号的实时采集、处理、存储等功能。结果表明,该系统可靠性高、实时性好、界面简洁、操作简单。

参考文献

[1] 秦红磊, 路辉,郎荣玲.自动测试系统:硬件及软件技术[M].北京:高等教育出版社,2007.

[2] 王毅,石志勇,王怀光,等.基于 PC104 总线的某随动系统自动测试设备设计[J].国外电子测量技术,2011,30(7):43?45.

[3] 邓卫强,卞树檀,曾昌锦.PC/104 通用外围接口电路设计[J].国外电子测量技术,2006,25(4):19?21.

[4] 王昊鹏,范惠林,齐铎.基于 PC104 的电动投弹器检测系统电路设计与实现[J].电子设计工程,2011,19(17):179?182.

[5] 黎琼,温泉彻,方大良.数据采集系统中通用信号调理电路的分析[J].湛江师范学院学报,2006,27(3):130?133.

[6] 王俊生,蔡文澜,马宏绪.基于Linux的PC104总线与CAN总线通信设计[J].现代电子技术,2007,30(23):152?154.

2 信号调理电路设计

综合测试系统主要完成对数据的采集,一般由传感器、信号调理电路、A/D转化电路等几部分构成[5]。其中,传感器的作用是将被测量转换成电信号,然而,其所产生的电信号通常不能直接输入微机,必须经过调理才能被数据采集设备可靠的采集。因此,信号调理电路是数据采集系统非常重要的组成部分,其电路一般包括信号幅值变换、隔离、模拟滤波等。

2.1 电压信号调理电路设计

(1) 输入电路设计

为了避免信号调理电路的引入对测量结果产生较大影响,往往需要调理电路中输入阻抗足够大。

(2) 幅值变换电路设计

EAD1612采集卡分辨率为12位,其采集精度可达到mW级,在信号的软件采集模块中将采集范围设置为-10~10 V。系统中的电压幅值在28 V左右,需要经过调理电路的降压处理才可直接被采集卡采集。

(3) 滤波器的设计

一般情况下,经传感器转换的电信号,会受到传感器以及电路本身的影响,而含有多种频率的噪声,噪声对被测信号存在着严重的干扰,在很大程度上影响着测试的可靠度。所以,在设计数据采集系统时,必须考虑到噪声对系统的影响,在硬件上设计滤波器来除去测量信号中的噪声,增强系统的抗干扰能力。

在实际测试中,几乎所有的数据采集系统都会受到来自电源线的50 Hz噪声干扰。因此,信号调理模块需要包含低通滤波器,最大限度地剔除50 Hz噪声。本文采用二阶有源低通滤波器。电压信号调理电路原理图如图2所示。

图2 电压信号调理电路

2.2 电流信号调理电路设计

为了将模拟的电流信号转化为计算机可识别的数字信号需要先把电流信号转化为电压信号。具体到本系统,需要将大小为400 mA左右的电流信号采集到计算机中。所以,设计I/V转换电路如图 3所示。

图3 I/V转换电路

2.3 开关量信号抗干扰问题

在测试系统中,需要使用继电器对一些开关进行控制,而开关量具有数字电路中的开关性质,因此,将开关量信号经过光电耦合电路后被采集卡采集,可以防止干扰信号进入系统。

3 系统软件总体设计

自动化测试软件是基于Windows XP操作系统,在Visual Studio 2010开发环境和.NET框架下编写的面向对象的可视化应用程序,其测试流程如图 4所示。软件采用模块化设计,综合测试主界面如图 5所示。

主要功能有:

(1) 进行综合测试前,系统自动对工控机、板卡、触摸屏等进行自检;

(2) 控制PC104工控机及板卡实时采集输出信号,将采集值与理论基准值进行对比,并判断各功能部件是否工作正常,其测试数据表1所示。

(3) 实现数据的显示、存储、查询和打印功能。

图4 软件测试流程图

图5 测试系统主界面

表1 测试数据

3.1 多线程程序设计

自动化测试系统对实时性要求比较高,需要在同一时间对多路电压进行监测,而多线程技术可以满足测试的实时性。C#语言中,对线程进行操作时,主要用到Thread类,该类位于System.Threading命名空间下。通过使用Thread类,可以对线程进行创建、暂停、恢复等操作,设计程序如下:

//引用Thread类命名空间

using System.Threading;

//实例化线程对象

Thread td=new Thread(new ThreadStart(this.Measure1));

//开启线程

td.start();

private void Measure1()

{

//调用动态链接库采集数据

U1=dll.EAD1612_IORead(Index,Port);

}

3.2 数据定时采集

在测试系统中,合理数据采集的关键是是定时。在Windows窗体环境下,Timer控件可以定期引发事件,从而实现对数据的定时采集。Timer控件概述见表2。

表2 Timer控件概述

3.3 数据库程序设计

在测试完成后,往往需要对测试数据和测试结果进行存储,以便日后数据的查询。而数据库是存储和管理数据的仓库,可以很方便地对数据进行管理,本文中使用的是SQL Sever 2008数据库。在C#语言中,可以通过编写SQL语句来查询、添加、更新和删除数据。

3.4 报表打印程序设计

水晶报表(Crystal Reports)是内置于Visual Studio开发环境中的一种报表设计工具,它能够在.NET平台上创建复杂且专业的报表。本文中,将水晶报表协同数据库一起工作,可创建测试数据和测试结果报表,而且设计好报表之后,可以通过多种形式输出,例如Word、Excel等。Windows应用程序中还提供了一组打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在输出报表时,可以直接使用这些控件控制打印文本的格式。

4 结 语

本文介绍了一种基于PC104总线技术的综合测试系统,采用了工控机、信号采集卡和I/O模块相结合的方式,通过搭建硬件平台和软件平台的方式,实现了对多路信号的实时采集、处理、存储等功能。结果表明,该系统可靠性高、实时性好、界面简洁、操作简单。

参考文献

[1] 秦红磊, 路辉,郎荣玲.自动测试系统:硬件及软件技术[M].北京:高等教育出版社,2007.

[2] 王毅,石志勇,王怀光,等.基于 PC104 总线的某随动系统自动测试设备设计[J].国外电子测量技术,2011,30(7):43?45.

[3] 邓卫强,卞树檀,曾昌锦.PC/104 通用外围接口电路设计[J].国外电子测量技术,2006,25(4):19?21.

[4] 王昊鹏,范惠林,齐铎.基于 PC104 的电动投弹器检测系统电路设计与实现[J].电子设计工程,2011,19(17):179?182.

[5] 黎琼,温泉彻,方大良.数据采集系统中通用信号调理电路的分析[J].湛江师范学院学报,2006,27(3):130?133.

[6] 王俊生,蔡文澜,马宏绪.基于Linux的PC104总线与CAN总线通信设计[J].现代电子技术,2007,30(23):152?154.

2 信号调理电路设计

综合测试系统主要完成对数据的采集,一般由传感器、信号调理电路、A/D转化电路等几部分构成[5]。其中,传感器的作用是将被测量转换成电信号,然而,其所产生的电信号通常不能直接输入微机,必须经过调理才能被数据采集设备可靠的采集。因此,信号调理电路是数据采集系统非常重要的组成部分,其电路一般包括信号幅值变换、隔离、模拟滤波等。

2.1 电压信号调理电路设计

(1) 输入电路设计

为了避免信号调理电路的引入对测量结果产生较大影响,往往需要调理电路中输入阻抗足够大。

(2) 幅值变换电路设计

EAD1612采集卡分辨率为12位,其采集精度可达到mW级,在信号的软件采集模块中将采集范围设置为-10~10 V。系统中的电压幅值在28 V左右,需要经过调理电路的降压处理才可直接被采集卡采集。

(3) 滤波器的设计

一般情况下,经传感器转换的电信号,会受到传感器以及电路本身的影响,而含有多种频率的噪声,噪声对被测信号存在着严重的干扰,在很大程度上影响着测试的可靠度。所以,在设计数据采集系统时,必须考虑到噪声对系统的影响,在硬件上设计滤波器来除去测量信号中的噪声,增强系统的抗干扰能力。

在实际测试中,几乎所有的数据采集系统都会受到来自电源线的50 Hz噪声干扰。因此,信号调理模块需要包含低通滤波器,最大限度地剔除50 Hz噪声。本文采用二阶有源低通滤波器。电压信号调理电路原理图如图2所示。

图2 电压信号调理电路

2.2 电流信号调理电路设计

为了将模拟的电流信号转化为计算机可识别的数字信号需要先把电流信号转化为电压信号。具体到本系统,需要将大小为400 mA左右的电流信号采集到计算机中。所以,设计I/V转换电路如图 3所示。

图3 I/V转换电路

2.3 开关量信号抗干扰问题

在测试系统中,需要使用继电器对一些开关进行控制,而开关量具有数字电路中的开关性质,因此,将开关量信号经过光电耦合电路后被采集卡采集,可以防止干扰信号进入系统。

3 系统软件总体设计

自动化测试软件是基于Windows XP操作系统,在Visual Studio 2010开发环境和.NET框架下编写的面向对象的可视化应用程序,其测试流程如图 4所示。软件采用模块化设计,综合测试主界面如图 5所示。

主要功能有:

(1) 进行综合测试前,系统自动对工控机、板卡、触摸屏等进行自检;

(2) 控制PC104工控机及板卡实时采集输出信号,将采集值与理论基准值进行对比,并判断各功能部件是否工作正常,其测试数据表1所示。

(3) 实现数据的显示、存储、查询和打印功能。

图4 软件测试流程图

图5 测试系统主界面

表1 测试数据

3.1 多线程程序设计

自动化测试系统对实时性要求比较高,需要在同一时间对多路电压进行监测,而多线程技术可以满足测试的实时性。C#语言中,对线程进行操作时,主要用到Thread类,该类位于System.Threading命名空间下。通过使用Thread类,可以对线程进行创建、暂停、恢复等操作,设计程序如下:

//引用Thread类命名空间

using System.Threading;

//实例化线程对象

Thread td=new Thread(new ThreadStart(this.Measure1));

//开启线程

td.start();

private void Measure1()

{

//调用动态链接库采集数据

U1=dll.EAD1612_IORead(Index,Port);

}

3.2 数据定时采集

在测试系统中,合理数据采集的关键是是定时。在Windows窗体环境下,Timer控件可以定期引发事件,从而实现对数据的定时采集。Timer控件概述见表2。

表2 Timer控件概述

3.3 数据库程序设计

在测试完成后,往往需要对测试数据和测试结果进行存储,以便日后数据的查询。而数据库是存储和管理数据的仓库,可以很方便地对数据进行管理,本文中使用的是SQL Sever 2008数据库。在C#语言中,可以通过编写SQL语句来查询、添加、更新和删除数据。

3.4 报表打印程序设计

水晶报表(Crystal Reports)是内置于Visual Studio开发环境中的一种报表设计工具,它能够在.NET平台上创建复杂且专业的报表。本文中,将水晶报表协同数据库一起工作,可创建测试数据和测试结果报表,而且设计好报表之后,可以通过多种形式输出,例如Word、Excel等。Windows应用程序中还提供了一组打印控件,包括PageSetupDialog、PrintDialog、PrintDocument、PrintPreviewControl和PrintPreviewdialog控件。在输出报表时,可以直接使用这些控件控制打印文本的格式。

4 结 语

本文介绍了一种基于PC104总线技术的综合测试系统,采用了工控机、信号采集卡和I/O模块相结合的方式,通过搭建硬件平台和软件平台的方式,实现了对多路信号的实时采集、处理、存储等功能。结果表明,该系统可靠性高、实时性好、界面简洁、操作简单。

参考文献

[1] 秦红磊, 路辉,郎荣玲.自动测试系统:硬件及软件技术[M].北京:高等教育出版社,2007.

[2] 王毅,石志勇,王怀光,等.基于 PC104 总线的某随动系统自动测试设备设计[J].国外电子测量技术,2011,30(7):43?45.

[3] 邓卫强,卞树檀,曾昌锦.PC/104 通用外围接口电路设计[J].国外电子测量技术,2006,25(4):19?21.

[4] 王昊鹏,范惠林,齐铎.基于 PC104 的电动投弹器检测系统电路设计与实现[J].电子设计工程,2011,19(17):179?182.

[5] 黎琼,温泉彻,方大良.数据采集系统中通用信号调理电路的分析[J].湛江师范学院学报,2006,27(3):130?133.

[6] 王俊生,蔡文澜,马宏绪.基于Linux的PC104总线与CAN总线通信设计[J].现代电子技术,2007,30(23):152?154.

猜你喜欢

综合测试电路设计控件
Altium Designer在电路设计中的应用
负反馈放大电路设计
关于.net控件数组的探讨
解三角形综合测试(A卷)
解三角形综合测试(B卷)
有机化学基础知识综合测试
基于UC3843的60W升压电路设计
ASP.NET服务器端验证控件的使用
汉语拼音综合测试
基于UC3842应用电路设计