APP下载

基于USB2.0和LabVIEW的虚拟数字电工仪表设计

2014-05-16张秉仁闫立东

实验室研究与探索 2014年5期
关键词:控制卡采集卡端点

陆 浩,李 冶,张秉仁,闫立东,潘 红

(吉林大学仪器科学与电气工程学院,吉林长春 130026)

基于USB2.0和LabVIEW的虚拟数字电工仪表设计

陆 浩,李 冶,张秉仁,闫立东,潘 红

(吉林大学仪器科学与电气工程学院,吉林长春 130026)

为了有效地实现电工仪表功能的扩展和其自身的可维护性,设计了一款基于USB2.0和LabVIEW的新型虚拟数字电工仪表。基于虚拟仪器模块化的设计思想,搭建了基于FPGA的硬件电路,增强了扩展的功能,并采用LabVIEW图形化编程语言编写了仪表的服务程序和用户界面,可以根据实际情况修改各物理量参数,同时实现各种物理量的采集及实时显示、数据处理及存储与回放等功能。最后给出实验结果,验证该设计方案的可行性。

电工仪表;虚拟实验系统;LabVIEW

0 引言

通常传统的数字电工仪表是由专用集成电路和显示器件构成。专用集成电路实现模拟量的输入到数字量输出的功能,是数字电工仪表的核心部分。这种电工仪表不但设计简单,而且精确度很高,但由于这种设计方法缺乏灵活性,其系统功能固定,所以很难实现更新和扩展。后来数字电工仪表以微处理器(单片机)作为核心元器件来控制通用A/D转换,这种设计的灵活性有了提高,系统更新扩展也变得容易,但由于电子工业的快速发展,微处理器不足的引脚数量、有限控制转换速度和灵活性都难以满足需求。而应用FPGA(现场可编程门阵列)技术,其速度快、集成度高、性能十分可靠、易于编程、系统扩展功能非常强大[1-3]。

1 系统总体结构设计

虚拟数字电工仪表硬件部分主要由主控制卡、模块化采集卡和系统背板组成,再与计算机上的软件部分结合就构成了这套采集系统。本系统采用模块化的构建方式,主控制卡和模块采集卡均插在系统背板上进行数据传输,实现即插即用功能,提高了系统的灵活性和方便了仪器的可重构性;硬件采用FPGA技术,使其具有开放性,有利于功能的扩展;软件采用LabVIEW图形化编程语言,其开发效率高、可维护性好、自定义功能强大。系统总体结构如图1所示。

图1 系统总体结构

上层软件采用LabVIEW语言进行编程,通过驱动程序把控制命令传递到主控制卡上,主控制卡再通过系统背板总线与模块采集卡中的双口RAM保持通信、传递命令,微处理器通过解析双口RAM中的命令并控制译码控制电路输出高低电平,继而控制采集电路中的多路开关和继电器,达到选择量程和所测对象。采集到的数据存储到模块采集卡FIFO存储器中,当FIFO存满时再通过背板总线把数据传送到主控制卡,主控制卡再把数据传送到LabVIEW中,LabVIEW对数据进行分析、处理、显示,实现测试的目的。

2 系统的硬件组成

2.1 主控制器

主控制器具有以下几方面功能:

(1)命令解析。系统控制卡一方面对计算机发送过来的命令进行解析,再将命令下达到模块采集卡上,另一方面获取采集卡采到的数据,将数据上传到主机。

(2)系统监控。系统控制器对仪器电源、机箱内环境温度、模块采集卡的状态进行监控,分别有报警响应、启动风扇进行降温处理和LED状态显示功能。

(3)模块中断处理。当模块采集卡申请中断进行及时处理。

(4)触发管理。触发时进行资源的调度与分配。

(5)总线驱动。总线驱动为了提高总线带动负载的能力。

2.1.1 USB2.0 主控制卡的设计

主控制卡采用CY7C68013-128AC(EZ-USB FX2系列)芯片实现和主机的USB2.0接口,它集成了微处理器的USB2.0芯片,支持12 Mb/s的全速传输和480 Mb/s的高速传输,具有4种USB传输方式,完全符合USB2.0标准。此外 EZ-USB FX2系列芯片还包括USB2.0收发器、串行接口引擎(SIE)、增强型8051、8.5 KB的RAM、4 KB的FIFO存储器、I/O口、数据总线、地址总线和通用可编程接口(GPIF)。

USB2.0主控制卡的功能框图见图2,CY7C68013中的微处理器控制所有的监测单元,而总线处理单元、中断处理单元、时钟发生单元、触发单元等电路均是在FPGA中设计的。考虑到EP1C3T144C8输出带载能力有限,通过74HC245芯片对总线进行驱动[5]。

图2 USB2.0主控制卡的功能框图

2.1.2 USB2.0 协议的数据解析与处理

EZ-USB FX2具有3个固定的端点缓冲区和4个可配置端点缓冲区。EP0、EP1IN、EP2OUT使用3个固定的 64B 缓冲空间,EP2、EP4、EP6、EP8则可占用4KB的可配置缓冲区进行缓存。其中,默认端点0为控制端点,IN、OUT数据使用同一存储空间;端点1支持块传输、中断传输和同步传输。端点2、4、6、8则可以支持大容量高带宽的数据传输,其配置方式非常灵活,可以适应不同场合下的带宽要求。

主控制卡和模块采集卡之间传输数据都是先将数据传递到USB的端点缓存中,USB内置的增强型8051处理器对数据进行分析处理。因此,数据流的结构是处理器进行数据解析处理的基础。USB按默认的方式配置2、4、6、8端点,其中端点2和端点4为双缓冲、批输出,端点6和端点8为双缓冲、批输入,端点4和端点 8 保留[6]。

USB2.0的数据流结构如图3所示。数据流结构将数据分为三层,顶层是PC机,中间层是USB主控制卡,底层为模块化采集卡。

图3 USB2.0的数据流结构

2.2 系统背板的设计

系统背板是主控制卡与模块采集卡连接的枢纽,在其上印制的各种总线是信息传递的通道。系统背板总线结构如图4所示,从功能上分,背板系统总线可分为以下几种:

图4 系统背板总线结构

(1)电源总线。电源总线为总控制卡和模块采集卡提供必要的直流电源,分为模拟电源和数字电源,由一个开关电源提供。

(2)公用总线。公用总线包括系统时钟线、系统复位线、电源故障线。系统时钟线为系统提供一个时钟信号,作为系统操作时间基准。系统复位线为模块采集卡提供一个复位信号,当模块采集卡初始化或通信出现故障时,需要对其进行复位操作。电源故障线可监测电源,如果电源有故障,将进行报警处理[7]。

(3)数据传输总线。数据传输总线包括数据线、地址线、控制线。数据线为16 b,当进行8 b总线数据传输时,则使用数据线的低8 b,高8 b无效。地址线一共有20根,最大可以实现1 MB字的寻址空间。控制线提供控制信号控制模块采集卡。

(4)中断总线。中断总线用于模块采集卡向主控制卡申请中断请求。

(5)触发总线。为模块采集卡提供触发信号。

2.3 模块采集卡的设计

模块采集卡采用模块化的设计思想,是数据采集的核心,主要包括通信译码控制模块、数据采集模块、数据存储模块三大部分。

2.3.1 通信译码控制模块

通信译码控制电路见图5,此电路是通过FPGA中设计的双口RAM-IDT7130实现与背板总线接口通信。在给系统上电时,微处理器AT89C52单片机进行初始化,它把初始化配置信息写到双口RAM中,再通过背板总线传到主控制卡中,主控制卡进行分析处理判断配置信息是否有误。主控制卡发送控制命令时,就可以把数据写到双口RAM中,微处理器对读取的数据解析,再通过在FPGA中自行设计的译码控制电路,使其输出高低电平实现对采集电路中多路开关的选择和继电器的吸合,从而实现对量程和对象的控制[8]。

图5 通信译码控制电路

2.3.2 数据采集模块

数据采集模块是以ICL7107芯片为核心设计出一个多档电压、电流、电阻、电容测量电路。数据采集原理如图6所示,它是由直流电压测量电路、交流/直流转换电路、电流/电压转换电路、电阻/电压转换电路、电容/电压转换电路、模数转换、计数、译码电路组成。ICL7107是3 b半双积分器,范围是0~1999,芯片集成度高、测量准确[9]。它包括积分器、比较器、计数器,译码器等部分,所测结果通过自身电路译成七段码形式输出,输出结果直接输入到FPGA的FIFO存储器中,为了满足FPGA采集信号的电平标准,本设计提供ICL7107芯片±3.3 V基准电压。

图6 数据采集原理框图

2.3.3 数据存储模块

采集到的段码信号按每8 b数据缓存在FPGA中设计的FIFO存储器中,每个FIFO设置为2.5 KB的存数空间[10],共设计两个FIFO存储,每个FIFO存储两位七段码信号和标志位信号,标志位信号由转换时钟提供,转换时钟控制转换开关,实现数据的复用,同时转换时钟的高低电平作为缓存数据的最高位存储,防止上层软件对段码信号分析处理的混淆。

3 系统软件设计

本系统采用LabVIEW软件进行编程,主要由前面板和程序框图两部分组成。前面板为用户界面,用于设置参数和显示所测物理量;程序框图由节点按照一定逻辑关系相互连接,可控制数据的流动方向和进行数据的分析处理。

3.1 数据通信

LabVIEW中具有功能强大的接口通信函数,可以保障上位机与硬件电路的数据传递和连接控制。本数字电工仪表是通过调用库函数(Call Library Function,CLF)调用动态链接库(Dynamic Link Library,DLL)函数的方法实现LabVIEW与USB之间的通讯,动态链接库VI5102.DLL是用C++语言编写而成,加载后的CLF节点如图7所示,系统传递命令时,只需通过LabVIEW的CLF节点调用动态链接库的方式将所需的参数传递给USB控制器[11]。同样,在数据采集时,通过CLF节点函数将采集到的数据传递到上位机LabVIEW中,以完成进一步的分析处理和显示。

图7 加载后的CLF节点

3.2 数据处理

上位机通过CLF节点调用动态链接库函数的方法把十进制数据存储到LabVIEW的一维数组中,之后通过抽取一维数组函数把两个FIFO上传的数据抽取出来,其数据处理程序如图8所示,由于采集的数据是最高位为0或1标志的8位信号,所以通过数值最大值与最小值函数就可以判别每个FIFO的数据对应的显示位。每位显示的数据是0到9共十个值,采用在公式节点中编写c语言条件语句的方法就可以准确地将采集到的十进制段码信号转化为0~9[12]。将4位数值计算的结果乘以不同量程下的小数点系数,再把单位和数值捆绑在一起的结果显示到LabVIEW的前面板上。

3.3 数据存储与回放

图8 数据处理程序框图

对数据的存储与回放是该系统的主要功能之一,通过存储功能,用户可保存多组测量数据,通过回放功能,可对多组数据进行分析比对,有利于寻找规律和提高效率。如图9所示为数据存储与回放程序,在事件结构中分别实现数据存储和数据回放功能。通过替换数组子集函数将采集到的数据循环存储到10个元素大小的一维数组中,超过存储深度后可循环覆盖,如果用户想存储较多数据,只需在初始化数组中提高存储深度的大小,充分利用了LabVIEW软件自定义功能强大的特点,在前面板上点击回放按钮,就可以将存储的数据通过显示对话框显示出来。

图9 数据存储与回放程序

3.4 数据显示及实测结果

使用可调电源调出一个-9 V的直流电压信号,采用本虚拟数字电工仪表进行测试。首先添加动态链接库VI5102.DLL和选择设备槽号4,然后选择直流电压测量对象和20 V的电压量程,最后打开仪器开关进行测试,测试结果见图10,测得的电压与实际电压相符,满足要求,验证了该设计方案的可行性[13]。

4 结语

图10 虚拟数字电工仪表前面板

本文介绍了一款采用LabVIEW和FPGA技术设计的虚拟数字电工仪表,与传统电工仪表相比,它具备许多优点。首先,本系统采用了模块化设计思想,使得仪器的设计、调试和维护更加简单,方便。其次,在硬件上本仪器采用FPGA技术,使其具有开放性,有利于功能的扩展,如电感、电源的内阻、交流电的峰值等物理量的测量,只需在模块采集卡中搭建不同的硬件电路,就可以实现扩展的功能。最后,在软件上本仪器采用LabVIEW技术,LabVIEW具有开发效率高、可维护性好、自定义功能强大等特点,与传统仪器相比,本仪器用软件对信号进行分析、处理和显示,减少了电路的复杂程度,同时也减少了成本[14-15]。该虚拟数字电工仪表可广泛用于高校实验教学中,具有广阔前景。

[1] Nielsen D M.Electric measuring instruments[J].Electrical Engineering,1964,65(2):66-74.

[2] Arnold A H M.Performance limits in electrical instruments[J].Proceedings of the IEE-Part II:Power Engineering,1951,98(66):701-710.

[3] 周善芳,赵汝俭.浅谈万用表功能的扩展利用[J].实验室研究与探索,2004,23(3):48-49.

ZHOU Shan-fang,ZHAO Ru-jian.Discussion on the function of the expansion of the use of multimeter[J].Research and Exploration in Laboratory,2004,23(3):48-49.

[4] 吴忠杰,林 君,韦建荣,等.虚拟测试系统中模块化仪器关键技术研究[J].仪器仪表学报,2005,26(8):2083-2086.

WU Zhong-jie,LIN Jun,WEI Jian-rong,et al.Research on key technologies of modularized instruments in virtual test system[J].Chinese Journal of Scientific Instrument,2005,26(8):2083-2086.

[5] 刘 君,戚万忠.电工仪表的结构和工作原理[J].黑龙江科技信息,2012,(22):2.

LIU Jun ,QI Wan-zhong.The structure and working principle of electrical instrument[J].HeiLongJiang Science and Technology Information,2012,(22):2.

[6] 陈振荣,郑孔华,张华春.应用IEEE-488接口实现APPLE-Ⅱ微型机与HP3457A数字万用表的通讯[J].电子技术应用,1989,(2):2-3.

CHEN Zhen-rong, ZHENG Kong-hua, ZHANG Hua-chun.Implementation of APPLE-Ⅱmicrocomputer and HP3457A digital multimeter used IEEE-488interface communication[J].Application of Electronic Technique,1989,(2):2-3.

[7] 牛昱光,崔正文.多现场总线接口智能仪表设计[J].电子技术应用,2011,37(8):131-134.

NIU Yu-guang,CUI Zheng-wen.Design of multi-fieldbus interface in intelligent instrument[J].Application of Electronic Technique,2011,37(8):131-134.

[8] 吴月江.数字万用表的原理和使用[J].教学仪器与实验,2009,(4):7-9.

WU Yue-jiang.Principles and use of digital multimeter[J].Teaching Apparatus and Experimental,2009,(4):7-9.

[9] 刘洪彦.31/2位数字万用表的实验应用[J].实验室研究与探索,1995,(4):51-56.

LIU Hong-yan.31/2 bit Digital multimeter experimental application[J].Research and Exploration in Laboratory,1995,(4):51-56.

[10] 杨 艳,白连平.一种新型多功能电工仪表的设计[J].电测与仪表,1997,34(7):13-15.

YANG Yan,BAI Lian-ping.Design of a new type of multifunctional electrical meter[J].Electrical Measurement & Instrumentation,1997,34(7):13-15.

[11] 韦建荣.可重构测控系统的研究与设计[D].长春:吉林大学,2006.

[12] 耿艳敏,胡爱华,刘院英.虚拟万用表的设计与实现[J].电脑与微电子技术,2011(18):71-73.

GENG Yan-min, HU ai-hua, LIU Yuan-ying. Design and implementation ofa virtualmultimeter[J].Computer and Microelectronics Technology,2011(18):71-73.

[13] Uluisik,C.Sevgi,L.A LabVIEW-Based Analog Modulation Tool for Virtual and Real Experimentation[J].Antennas and Propagation Magazine,IEEE,2012,54(6):246-254.

[14] 高 原.浅析电工仪表的正确选用[J].电气传动自动化,2007,29(2):59-60.

GAO Yuan.Analysis of correctly choosing electrotechnical instruments[J].Electric Drive Automation,2007,29(2):59-60.

[15] 李 文.智能电工仪表特点及应用[J].中国计量,2007,(10):51-52.

LI Wen.The characteristics and application of intelligent electric meter[J].China Measurement,2007,(10):51-52.

Design of a Virtual Digital Electrical Instrument Based on USB2.0 and LabVIEW

LU Hao,LI Ye,ZHANG Bing-ren,YAN Li-dong,PAN Hong
(College of Instrument Science and Electrical Engineering,Jilin University,Changchun 130026,China)

In order to effectively realize the expansion of electrical instrument function and its maintainability,a novel virtual digital electric instrument based on USB2.0 and LabVIEW was designed.The design idea of virtual instrument was based on modularization,the hardware circuit was built based on FPGA,to enhance the expansion of the function,and the preparation of the instrument service programand The user’s interface was designed by using the graphical programming language LabVIEW.,various Various physical parameters can could be modified according to the actual situation,Mmeanwhile,the system can could implement the functions that such as acquisition and real-time display of the various physical quantities,date processing,and storage and playback,and the experiment results were listed to prove the feasibility of this design.

electrical instrument;virtual experiment system;LabVIEW

TM 933

A

1006-7167(2014)05-0067-05

2013-07-24

吉林省重点科技成果转化项目(20130303015GX)

陆 浩(1988-),男,吉林九台人,硕士生,主要研究方向:电子测量仪器、虚拟仪器。

Tel.:13596062473;E-mail:haoranzhengqi116@126.com

李 冶(1958-),男,吉林长春人,教授,主要研究方向:虚拟仪器、嵌入式系统。

猜你喜欢

控制卡采集卡端点
兼容多种运动控制卡的V割机数控系统关键技术*
非特征端点条件下PM函数的迭代根
高精度AD采集卡性能测试及评价方法研究
三轴机械手控制器设计
不等式求解过程中端点的确定
面向数控机床的多通道传感数据采集卡设计
基于运动控制卡的桁架机器人控制系统设计
并行高速采样在地震物理模拟采集中的应用
基丁能虽匹配延拓法LMD端点效应处理
PCI-e高速数据采集卡的驱动与上位机软件设计