分布式虚拟化电子元器件测试系统开发与设计

(整期优先)网络出版时间:2017-12-22
/ 2

分布式虚拟化电子元器件测试系统开发与设计

樊自丽

漠河县公安局交巡警大队

摘要:业界提出了面向信号的自动测试系统概念,其主要从软件体系结构和测试系统资源的标准化上来解决自动测试系统通用性问题。同时,ABBET标准、STD标准、ATML标准和IVI仪器驱动规范的提出也为面向信号自动测试系统的实现提供了可行性。本文研究和分析了通用性问题产生的根源,依据ABBET标准对软件平台的层次划分设计了软件平台的整体框架,提出了实现面向信号的两项关键技术。

关键词:uIPTCP/IP栈;WebSocket技术;浏览器/服务器;Web服务器;虚拟化测试

1引言:

数据采集传输模块采用轻型以太网协议栈uIP,实现了多功能接口和总线到工业以太网的转换,为采集各种类型的测试数据提供了智能化接口。该系统经测试,各项功能运行正常,现场测试设备的数据能实时有效地传输到远程终端,用户可以实现随时随地进行测试,实现了分布式的资源共享。

2系统体系结构

本系统采用网络化虚拟仪器[1,2]的设计思想,把现场仪器的检测数据控制面板移植到Web页上,测试结果和数据通过Web服务器向授权用户实时发布。分布式应用程序之间的通信模式主要有两种:C/S模式和B/S模式。鉴于这两种模式的优缺点,本文提出一种基于B/S和C/S混合结构的分布式虚拟化测试平台模型,Web服务器与虚拟化测试平台之间采用B/S模式,而测试应用服务器与远程的数据采集传输模块之间则采用C/S结构。采用该技术的优点是,在未启动远程测试设备前,测试应用服务器不必分配资源来管理未激活的设备,而设备激活启动后后又能随时监控设备的状态,整个系统的工作更加灵活、高效。

为了解决Web服务器多用户对多个检测设备的实时访问时难以保证服务质量这一问题,本系统结合当前最新的HTML5体系中的WebSocket技术[7,8],开发了基于WebSocket的实时数据。

3系统设计与实现

3.1系统硬件设计

3.1.1数据采集传输模板

本模块提供了各种标准的通信接口和总线接口与现场检测设备相连,当接收到启动命令后该模块自动检测与各接口相连的设备,判断有那些接口连有检测设备以及接口的类型,然后调用相应的接口驱动程序完成对检测设备数据的采集。获取到采样数据后,再通过网络控制模块将数据发送到测试应用服务器,供测试应用服务器进行处理。本模块具有远程控制功能,即可通过远程检测应用服务器对模块进行激活和关闭,而采样数据的传输通道则是完全透明的,即采集到的数据完全保持原来的数据格式和传输速率。

3.1.2STM32F103VET6嵌入式微处理器

本系统采用STM32F103VET6为核心,STM32F103VET6是ST(意法半导体)公司推出的ARMCrotex-M3产品线中功能最强大的一款CPU。STM32F103VET6使用高性能的ARMCortex-M332位的RISC内核,工作频率72MHz,内置高速存储器(高达512K字节的闪存和64K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。STM32F103VET6芯片包含3个12位(16通道输入)ADC、2个12位(2通道输出)DAC、3个通用16位定时器和2个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和3个SPI、2个I2S、1个SDIO、80个GPIO、FSMC总线(支持NOR,NAND,SRAM)、3个USART、1个全速USB和1个CAN2.0。

3.1.310M以太网接口

ENC28J60是带有行业标准串行外设接口(SerialPeripheralInterface,SPI)的独立以太网控制器。它可作为任何配备有SPI的控制器的以太网接口。ENC28J60符合IEEE802.3的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。它还提供了一个内部DMA模块,以实现快速数据吞吐和硬件支持的IP校验和计算。与主控制器的通信通过两个中断引脚和SPI实现,数据传输速率高达10Mb/s。

3.2嵌入式工业以太网

3.2.1轻型以太网协议栈uIP

开源的uIP软件包为嵌入式微处理器建立TCP/IP协议栈提供了一种解决方案,它为互联网应用提供了一系列必要的协议,对代码和数据的内存要求量十分小。uIPTCP/IP栈[3,4]是适用于低至8位或16位微处理器的嵌入式系统的一个可实现的极小的TCP/IP协议栈,uIP代码的大小和RAM的需求比其它一般的TCP/IP栈要小,uIP栈使用一个基于事件驱动的编程模块来减少代码的大小和RAM的使用量。本设计选用uIP1.0版本作为移植版本,移植到了基于STM32F103VET6控制的ENC28J60网络模块上。

3.2.2uIP的接口技术

uIP使用一个基于事件驱动的编程模块,通过该模块可实现当事件出现时,uIP会响应发生的事件,使应用程序作为一个C函数被uIP调用。uIP在任何一个事件发生时会调用UIP_AP-PCALL(),测试函数可用于区别不同的事件。当应用程序调用时,uIP设置全局变量uip_con-n指向当前连接的uip_conn结构,这可以用来区别不同的服务。通过检查uip_conn->lport(当地TCP端口号)去决定启用那个连接提供服务。

3.2.3uIP接口的应用设计

uIP通过使用uip_connect()函数创建一个新连接。这个函数创建一个新连接到指定的IP地址和端口,返回一个新连接的指针到uip_conn结构。如果没有空余的连接槽,函数返回空值。为了方便,函数uip_ipaddr()可以用于将IP地址打包进两个16位的单元数组里,通过uIP去解析IP地址。

3.3Web公共服务平台

3.3.1HTML5WebSocket技术

针对实时Web业务的需要,HTML5作为下一代WEB标准,除了图像、位置、存储、多媒体编程接口等方面的新特性外,还创新性的应用了WebSocket协议等。WebSocket的出现是基于Web应用的实时性需要而产生的,HTML5WebSocket定义在HTML5规范的通信章节,它代表Web通信的下一代演变:通过一个单一的Socket实现一个全双工,双向通信的信道。HTML5WebSocket提供了一个真正的标准,开发人员可以使用它构建可扩展的实时Web应用程序。此外,由于它提供了一个浏览器自带的套接字,消除了轮询和流技术等解决方案的许多问题,WebSocket显著降低了系统开销和复杂性。

3.3.2Web平台的功能设计

本系统主要功能包括:实时检测数据显示、设备管理、远程传输设备激活、质量数据统计、生产数据统计、用户管理和专家咨询七大功能。

3.3.3Web平台的WebSocket实现

4测试结果

本系统在如下环境下进行了测试,操作系统:WindowsServer2008,数据库:SqlServer2008,Web服务器:InternetInformationServer7.0,.Net版本:.NetFramework4.0。远程激活页面如图3所示。

测试时,同时激活了3套检测设备进行实时数据的采集,每套设备位于某一工序,测试数据随生产线的运行同步传输到远程的虚拟测试终端。测试结果表明,现场设备的显示的测试数据与远程终端监测的数据基本保持同步,随着激活的设备数量的增加,数据刷新的速度略有下降,但任然能满足实时检测的要求。

5结语

本项目运用了WebSocket技术和嵌入式通信技术,实现了分布式虚拟化测试平台的设计,为远程测试技术提供了新的技术手段和方法。系统设计采用B/S和C/S混合结构的模型,综合了两者的优点,数据的实时传输则运用HTML5WebSocket技术实现,利用WebSocket协议,建立Web页面到测试服务器之间的Socket连接通道,实现网络数据实时传输。

参考文献:

[1]杨素荣,朱望纯.网络化虚拟仪器测试平台的设计与开发[J].测控技术,2010,29(10).

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

[3]岳世为,尹为民.uIP协议栈在基于DSP以太网通信系统中的应用[J].计算机与数字工程,2010(1):186-189.