基于LabVIEW的USB设备无线测试系统设计
2016-11-17杨向萍陆纪勋马利腾
杨向萍,陆纪勋,马利腾
(东华大学 机械工程学院,上海 201600)
基于LabVIEW的USB设备无线测试系统设计
杨向萍,陆纪勋,马利腾
(东华大学 机械工程学院,上海 201600)
针对传统有线USB设备测试系统存在布线、单目标、通用性差等缺陷,设计一套基于LabVIEW的USB设备无线测试系统;系统以LabVIEW为软件开发平台,进行虚拟仪器前面板设计与后台程序的编写;利用无线数据收发模块及其余硬件设备,搭建上位机与设备间无线数据通讯的桥梁;以宏晶STC12C5A60S2单片机为核心控制器,通过引入USB总线接口芯片CH375扩展了USB-HOST功能,从而实现上位机和USB设备间数据的无线采集与传输;本系统主要应用于对USB设备的开发调试和测试过程。
单片机;无线测试;上位机;USB设备
0 引言
随着计算机通信技术的高速发展,通用串行总线USB以其高速、支持多种传输类型、即插即用、易扩充等优点被广泛应用于数据通信领域[1]。在日常办公和生活中,USB接口设备占据的市场份额越来越大,批量化生产成为需要。传统的设备出厂测试过程是PC通过数据线和设备相连运行测获,这不仅导致测试设备投入高,而且测试装置的灵活性也很低。
本文设计的USB设备无线测试系统,以STC12C5A60S2单片机作为系统的控制器芯片,通过LabVIEW调用ASSCEE预设数据经无线模块发送给多个测试模块。摆脱批量测试设备对多台电脑的依赖,实现快速、高效和简便的测试。本设计是针对深圳某USB接口设备出厂测试部门要求设计的测试系统。
1 系统的总体设计
根据市场的应用需求,USB设备的快速测试系统应具备的主要功能为:除满足常规测试任务外(测试设备机械运动),还要有性能可靠、数据传输稳定和故障警报等功能,才能对设备的异常情况进行快速准确的判断,并给出相应的处理建议。由于测试工作是针对大批量的设备,故设备测试装置需满足便于携带,且测试速度快的要求。在功能设计上,即要考虑不同系列设备的通用性,又考虑读回数据的处理结果的可读性,还要考虑人机互交界面性能[2]。
系统设计是基于STC12C5A60S2单片机主控制模块、串口传输模块、LabVIEW上位机和无线数据传输模块组成,系统结构框图如图1所示。在USB作为主机模式下,单片机通过枚举过程识别USB设备类型,同时返回给上位机所测试的USB设备信息,单片机对传输的数据进行编码和解码分析处理,并通过无线模块传送到无线路由器,LabVIEW对接收的数据进行分析,与数据库设定的值进行比较,当检测信号与设定的相关信息匹配时,会及时将信息反馈回LabVIEW界面和下位机的显示屏,实现实时监测测试信息。
图1 系统的结构框图
2 系统的硬件设计
2.1 主控芯片、USB接口芯片的选择
本设计的硬件系统由以STC12C5A系列单片机为核心的主控模块、USB接口模块、LCD显示屏、5V电源模块和无线通讯模块组成。系统采用宏晶科技公司生产的STC12C5A60S2芯片作为主控芯片,该款芯片是增强型8051CPU,其指令代码完全兼容传统的8051,但速度要快8~12倍。5V工作电压,支持串口程序烧写,24MHz外部晶振,这种单片机对开发设备的要求很低,开发时间也大大缩短。
CYPRESS公司的SL811HS、Philips公司的ISP1161A以及南京沁恒公司的CH37X系列芯片是行业内具有代表性的USB接口芯片。虽然前两种芯片都能够实现USB-HOST功能,但是沁恒的CH37X将USB协议、MASS-STORAGE协议、SCSI协议都集成到了片内,而且CH37X系列的接口芯片是一款支持USB2.0协议的USB接口芯片,相对于Philips公司的PDIUSBD 12不仅能兼容USB1.1的传输规范,更能提升对外围USB设备的识别范围。它只有一个USB控制器和一个通用数据总线接口,内部没有集成CPU。用户可以利用这个优势将USB控制器连接到任何MCU上。CH375为该系列的最新产品,全速设备接口,兼容USB2.0,外围元器件简单,只需要晶体和电容[3]。具有8位数据总线和读、写、片选控制线以及中断输出功能[4]。USB相关协议在内置固件模式下被屏蔽,并自动配置USB枚举过程。外置固件模式下,单片机可以根据自己需要处理各种类型USB传输控制请求。此芯片需要与主控芯片I/O口相连接,来提高研发系统的灵活性。
2.2 系统的硬件连接
系统各模块间的电路框图如图2所示,主要由单片机、无线模块、LCD1602液晶显示电路和5V直流电源电路等组成。串口电路连接单片机的P3.0和P3.1引脚。CH375分别与单片机的P0和P3.5~P3.7引脚连接。LCD1602液晶显示电路分别与单片机的P2和P4.4~P4.6引脚连接。蜂鸣器与P1.3引脚相连。按键模块连接单片机的P1.0~P1.4引脚。
图2 系统电路连接图
3 系统主要硬件电路设计
3.1 CH375接口模块的应用电路
CH375是南京沁恒电子有限公司生产的一种USB总线的通用芯片,有USB-DEVICE/SLAVE和USB-HOST方式。该该款芯片具有8位双向数据总线,可方便地连接到单片机、MPU和DSP等外部微处理器系统的总线上,具有完整的读、写、片选信号以及中断输出等控制功能。CH375芯片是被动的接口芯片,在本地端提供了通用的被动并行接口和点对点的串行接口。CH375与单片机的连接方式有并口和串口两种方式。并口方式的数据传输速度相对串口方式要快很多,结合单片机STC12C5A60S2引脚资源以及高速数据传输,故此采用并口连接方式。在实际的测试过程中,虽然超高速数据传输易出现数据丢失,但本系统的传输速度仍符合设计的要求。其模块并行接口连线图见图3。
图3 接口芯片并行接线图
CH375芯片的Vcc引脚连接5 V直流电源,并且V3引脚外接容量为0.01 μF独石电容的外部电源退耦电容[5],以配合芯片在+5 V工作的必要条件;USB_D+、USB_D-为USB的数据线接口,连接外部USB母口;X0、X1外接12 MHz的卧式晶振为芯片提供工作时钟;RST、RST#分别是芯片接受正、负电平的复位引脚;TXD决定芯片的工作方式,低电平使能并口方式,高电平使能串口方式,图中TXD接地使得芯片在并口方式工作;D0-D7为芯片的8位数据总线直接连接单片机I/O;RD#、WD#、INT#分别连接单片机的RD,WR,INTO;CS#为芯片的片选接口;A0引脚用于芯片区分命令口和数据口的接口[6]。
3.2 无线通讯模块
无线通讯模块是搭建测试板和上位机间信息通讯的桥梁,实现数据的无线通信,从而控制整个系统的正常运行。结合无线模块的使用环境,应满足功能、稳定性、低成本等要求。本项目选用无线ATK-RM04 WIFI模块进行设计,该模块具有较好的抗干扰性能,应用广泛,开发便捷等特点。需要配合无线路由进行使用,并开启WIFI DHCP功能,然后模块会通过WIFI连接到路由器,从而实现电脑和模块的通信。无线模块和智能终端间的通讯流程如图4所示。该WiFi模块有两种模式,一种是STA模式,一种是AP模式,无线WiFi模块处于STA模式,与单片机的串口P3.0和P3.1引脚相连。上位机通过网络连接指定的无线模块,基于TCP协议的无线模块的IP地址是区分下位机的依据。
图4 通讯流程图
4 单片机软件设计
基于选定的无线WIFI模块和USB接口模块的通讯协议,用C语言编写程序代码, 充分利用该语言移植性好、可读性强、代码效率高等特点,由串口模块将程序下载至单片机中,进行编译和调试。
4.1 主控模块程序流程图
主控模块作为软硬件系统的主控制中枢,需要完成无线模块、显示器和USB设备间的通信等智能控制,其程序流程图如图5所示。主程序首先设定变量,初始化串口模块、无线模块及显示屏模块。通过CH375模块配置USB设备,并读取USB设备数据返回到上位机,与上位机数据库配对处理后将数据返回到LabVIEW终端并传给显示屏。当显示器提示一切准备就绪后,LabVIEW调取设备数据库中的测试指令,经无线/串口模块到单片机,数据经CH375缓存区发送给设备,设备执行测试工作。执行过程中,会实时将设备的状态信息返回到CH375缓存区,由单片机读取缓存后经无线模块/串口模块发回上位机,LabVIEW收到设备的状态信息后进行解析处理后与数据库中的设备状态数据比对,最后将处理后的状态信息返回显示器和电脑终端。通过读取显示屏或者LabVIEW界面的状态代码判定设备测试结果,以便操作者进行下一步处理。
图5 主程序流程图
4.2 CH375模块程序流程图
该模块是连接单片机和USB设备的桥梁,程序流程图如图6所示。CH375初始化主要使用库函数CH375.LIB完成[6]。程序在CH375初始化完成后,等待设备的接入。当有设备接入后,CH375内置的固件程序将完成对USB设备的配置过程。在设备枚举初始化过程将得到完整准确的设备信息,包括设备的描述符、配置描述符、端口号,PID和VID等信息[7]。该信息会上传至上位机用于匹配设备型号,确定设备测试的数据库,以便进行下一步的操作。
图6 接口模块程序流程图
5 LabVIEW人机互交界面
LabVIEW是NI公司开发的一种图形化的虚拟仪器开发平台,在许多的工业控制和测试系统中被广泛应用,多用于数据采集、处理应用程序等方面。操作简单、界面友好、开发周期短和易于维护等特点给测试和开发带来极大的便利。
5.1 LabVIEW软件设计
基于LabVIEW软件设计主要包括:数据发送、数据接收、数据比对,数据记录和数据库调用等。
5.1.1 数据通信方式
在硬件上,上位机和下位机的数据交换有两种方式。1)下位机模块通过无线WIFI模块与上位机进行通信。上位机程序的无线通信功能主要通过LabVIEW中自带的TCP函数和VI来实现[8]。依照用户设定的设备测试项目,通过按键快速选择测试类型,下位机发送测试类型代码发送至上位机位机,上位机根据提前设置的指令迅速调取数据库中对应机型的测试代码,经过LabVIEW格式处理发送给下位机,最后发送给设备。在设备测试过程中的任何故障信息,将实时返回到上位机,经数据库比对处理后,将故障状态发送至下位机的LCD显示屏上,同时有警报提醒测试者,完成一次完整的测试工作。无线的通讯方式,克服了测试位置的局限性,扩大了测试数量和测试的范围。在实地测试过程中,工人通过持有多个测试模块同时工作,大大提升了测试效率。2)下位机模块通过串口线与上位机进行通信,主要用于测试模块的性能。根据具体的应用环境可以选择任何一种方式。
5.1.2 数据库建立和数据处理
设备测试部门提供不同品牌不同系列产品的测试项目,经代码采集后转码录入到ASSCEE数据库中,分别建立错误代码库、测试项目库和处理故障库。系统运行过程中的不同阶段,LabVIEW会通过调取不同库进行高速比对和处理,然后计算机监测终端将根据解析后的数据进行判断是否需要发出报警或者进行下一步处理。数据显示和系统报警都采用多方式,LABVIEW系统界面会显示设备的运行状况,同时也会将设备运行状态发送至下位机的液晶显示模块,系统报警有指示灯和声音两种方式。使用者通过电脑端或手持的测试模块便可进行迅速的判断。
6 系统测试与分析
在深圳某USB设备出厂测试过程中,测试装置进行网络端口和相关设置后,便可实现一台PC同时对多台设备进行测试工作,相比于原来的测试工作方式速度提高了至少5倍,而且大大降低了设备的投入。测试过程中,当出现设备故障时,PC的Labview终端会有相应的提示,测试模块的LCD屏幕同时显示错误代码类型,蜂鸣器会报警提醒工人。测试的准确率可达100%。无线测试模块的测试范围完全适合测试工作区域。在电脑终端,管理者可以根据模块使用者的测试错误类型分析常见的测试问题,为设备的生产提出建议和意见。在测试距离路由器较远的地方,会因信号不好而出现测试任务无法正常进行,因此在远距离测试方面还有待提高。
7 结束语
本系统将成本低廉、技术成熟的单片机系统与无线通讯技术、LabVIEW界面和USB总线技术紧密的结合起来,为高速数据传输和处理提供了人性化的用户界面和通用的接口功能。克服了原有测试空间和时间的局限,实现无线、多目标、多任务和高效率的测试工作。可更改数据库实现对其他USB设备的测试工作。
[1]吴东艳.基于USB总线的数据采集器/信号发生器的设计[D].哈尔滨:哈尔滨理工大学.2005
[2]曾素琼,黄华杰.基于单片机和LabVIEW的无线火灾监测系统设计[J].计算机测量与控制,2015(1):43-45.
[3]杨应平,石 城,李振华,等.基于CH372接口芯片的USB高速数据采集系统[J].武汉理工大学,2006(8):9-11.
[4]夏布礼,丁克勤.基于USB串口多点温度采集系统的设计[J].电子设计工程,2009(3):40-42.
[5]张跃均.基于DSP的励磁控制器USB通信研究[D].天津:天津理工大学,2006.
[6]魏景斌,刘俊峰, 钱 稷,等.基于CH375的USB数据传输[J].微计算机信息,2010(2):150-151.
[7]樊星男.基于USB传输的针式打印机系统开发[D].大连:大连理工大学,2009.
[8]梁惺彦,和卫星.LabVIEW实现远程数据采集与传输日[J].微计算机信息,2004,20(9):44-45.
Design of Wireless Testing System for USB Device Based on LabVIEW
Yang Xiangping,Lu Jixun,Ma Liteng
(College of Mechanical Engineering,Donghua University,Shanghai 201600,China)
Animing at disadvantages of the traditional USB equipment testing system, such as: single objective and poor universality, design a USB equipment wireless test system based upon LabVIEW.System with LabVIEW as software development platform for the virtual instrument front panel design and the preparation of the background program;Using wireless data transceiver module and other hardware equipment, build up the bridge between the host computer and the equipment of the wireless data communication;In STC12C5A MCU as the core controller, through the introduction of USB bus interface chip CH375 extend the USB-HOST function, enabling wireless acquisition and transmission between the host computer and the USB device data.This system is mainly used in the development process of debugging and testing USB devices.
microcontrollers; wireless test; upper; USB devices
2016-03-07;
2016-05-05。
通讯作者:杨向萍(1965-) 女,上海人,副教授,主要从事物联网技术、嵌入式技术方向的研究。
1671-4598(2016)09-0035-04
10.16526/j.cnki.11-4762/tp.2016.09.010
TP29
A