基于LABVIEW平台的USB接口多路高速数据采集系统的设计

发布者:HappyExplorer最新更新时间:2012-08-20 来源: 21ic 关键字:LABVIEW  USB接口  高速数据采集系统 手机看文章 扫描二维码
随时随地手机看文章

  引言

  在日常的测试测量中,经常使用数据采集卡采集数据。但是很多数据采集卡往往通过PCI总线完成数据的传输,它有诸多弊端,例如操作不便,受限于计算机插槽数量和中断资源,现场信号对计算机安全有威胁,计算机内部的强电磁干扰对被测信号也会造成很大的影响,最耗时最复杂的数据分析却由用户通过第三方软件(如VC,VB等) 在PC机上编写上位机软件来完成,因此用户不得不在这方面花费大量精力。这些问题都遏制了基于PCI总线的数据采集系统的进一步开发和应用,因此迫切需要设计一种更为简便通用的高速数据采集通信系统来完成数据采集以及与计算机的数据交互。

  近年来通用串行总线(USB)以即插即用等技术优势得到了广泛的应用,INTEL等公司最近公布了USB 3.0主控制器规范,该标准的数据传输速率有望达5Gbps,且支持双向同时传输,完全可以满足实时数据采集的要求。LABVIEW是美国NI公司基于图形化编程语言的虚拟仪器开发环境,内置信号采集、测量分析与数据显示功能,集开发、调试、运行于一体,其交互式的Express VI 易与各种范围的I/O信号连接,可以非常容易地与各种主流的现场总线通信以及与大多数通用数据库链接,大大简化了开发进程。如果根据DSP本身的特点,把DSP集成到采集卡上,并把数据采集和部分数据处理工作留给DSP来完成,然后计算机再利用LABVIEW强大的数据处理显示功能,这无疑将大大提高测量速度和精度。

  系统总体设计方案

  本文提出了一种基于LABVIEW的USB接口高速数据采集系统的设计,充分利用DSP丰富的片上外设以及高性能的数字信号处理能力,将采集的数据经DSP处理后通过高速USB接口传输到PC机上,通过LABVIEW软件按照用户的特定要求来处理并显示。

  TMS320F2812型DSP芯片是TI公司推出的具有高速处理能力的高精度32位定点数字信号控制器,指令速度高达150MIPS,片内集成了模数转换器(A/D转换器)、脉宽调制电路、捕获单元、光电编码器、串行外设接口等模块,为进一步拓展DSP的应用领域提供了丰富的资源。本设计采用TMS320F2812芯片(DSP)作为数据采集与控制单元,以CYPRESS公司的高速USB接口芯片CY7C68001为基础,利用DSP片上A/D转换器采集数据,经处理后把数据通过USB总线传输至PC机,PC机接收到数据后按照用户的要求通过LABVIEW处理并显示数据。该系统主要有三部分组成:4通道被测信号调理部分、数据采集控制处理部分和上位机控制面板部分,系统总体框图如图1所示。
 

系统总体框图

  系统硬件设计

  信号调理模块

  由于被测输入信号范围为-15V~+15V,而DSP片上高速A/D转换器要求输入信号必须为0~3V,所以需要对被测信号进行调理。

  信号调理模块主要由高速运算放大器AD8028组成。很多运放都有这样一个特点:当输入信号接近门槛电压时,输出从一个差分对到另一个差分对变换时会产生失真,再加上信号调理模块对输入信号衰减的比例很大,如果设计不当误差会更大,因此运放的选择非常关键。AD8028是Analog Devices公司的轨到轨输入输出的高速运算放大器,工作电压2.7V-12V,共模抑制比110dB,带宽190MHz,压摆率100V/μS,它有一个突出的优点:即允许用户通过片上特定的引脚选择门槛电压,这无疑大大减小了失真,因此AD8028是一个理想的选择,其单通道信号调理模块电路图如图2所示。
 

系统总体框图

  数据采集模块

  DSP片上ADC模块是可配置为2个独立的8通道模块、也可以级联构成一个16通道的带流水线的12位ADC,最高采样速率12.5MHz,流水线转换时间是80ns,单次转换时间是200ns。该模块主要由前向模拟多路复用开关、采样/保持电路、变换内核、结果寄存器、排序器、电压参考等部分组成,ADC模块的功能框图如图3所示。
 

系统总体框图

  USB从接口CY7C68001模块

  CY7C68001集成有USB2.0收发器(物理层)、USB2.0串行接口引擎SIE(链路层)、4kB的FIFO和电压调节器、锁相环,支持高速(480Mb/s)或全速(12Mb/s)传输,3.3V操作电压,具有同步与异步的FIFO接口,支持USB2.0协议要求的全部4种传输方式(控制传输、中断传输、批量传输和同步传输),可以满足用户对各种数据传输方式的需求。片上的串行接口处理器(SIE)能完成大部分的USB协议操作,使用户可以摆脱复杂的协议细节,简化用户配置代码,加快程序开发过程。但是由于不带MCU内核,所以USB应用层协议应该由DSP编程实现,USB固件的加载必须靠DSP控制来完成。 [page]

  本设计将CY7C68001映射为DSP的外设,占用DSP的外扩区域XINTF0空间,地址分配如下:FIFO2,FIFO4,FIFO6,FIFO8和命令口的地址分别为000,001,010,011,100,采用并行异步读写方式完成二者之间数据和命令的交换。当CY7C68001的地址线FIFOADR[2:0]为100时,选中CY7C68001的命令口,通过CY7C68001的命令口,可以访问其内部37个寄存器、Endpoint0缓冲器(64个字节FIFO)和描述表(500个字节FIFO)等。CY7C68001中断信号INT#和4个状态信号READY、FLAGA、FLAGB、FLAGC分别与DSP的外部中断1 (XINT1), GPIOA0,GPIOA1,GPIOA2,GPIOA3相连。在实际应用中,由于通信速度达480Mb/s,所以要对电源进行退耦处理, 另外CY7C68001最好使用24MHz有源晶振以增强系统的抗干扰能力,硬件电路图如图4所示。 

系统总体框图

  系统软件设计

  传统的开发USB应用系统的步骤是:先用Windows DDK(设备驱动程序开发包)或第三方开发工具(如Driver Studio)开发USB驱动程序,然后用Visual C++编写DLL(动态连接库),最后再调用DLL来开发应用程序。本文介绍一种简单快速开发USB接口应用系统的方法,它直接在LABVIEW环境下通过NI-VISA开发能驱动用户USB系统的应用程序,完全避开了以前开发USB驱动程序的复杂性,大大缩短了开发周期。

  LABVIEW及其对VISA的调用 

  VISA(Virtual Instrument Software Architecture)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API),不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。当进行USB通信时,VISA提供了两类函数供LABVIEW调用:USB INSTR设备与USB RAW设备。USB INSTR设备是符合USBTMC协议的USB设备,可以通过使用USB INSTR类函数控制,通信时无需配置NI-VISA;而USB RAW设备是指除了明确符合USBTMC规格的仪器之外的任何USB设备,通信时要配置NI-VISA。

  (1)配置NI-VISA的步骤  

  ①使用Driver Development wizard(驱动程序开发向导)创建INF文档;

  ②安装INF文档,并安装使用INF文档的USB设备;

  ③使用NI-VISA Interactive Control(NI-VISA互动控制工具)对设备进行测试,以证实USB设备已正确安装,并获得USB设备的各属性值。

  (2)与Nl-VISA相配合的LABVIEW模板中VI子节点  

  ViOpen,打开并指定VISA resource name的设备的连接;

  ViProperty,VISA设备的属性子节点,可以设置端点或传输方式;

  ViWrite,向VISA resource name指定的设备写入数据;

  ViRead,从VISA resource name指定的设备读出数据;

  ViClose,结束设备读写并关闭与指定设备的连接。  

  (3)USB RAW设备读写的操作

  USB RAW设备的读写流程图如图5所示。
 

读写流程图

  前面板部分

  LABVIEW是NI公司开发的一种基于图形程序的编程语言,用户利用创建和调用子程序的方法编写程序,使创建的程序模块化且编制简单直观。一个LABVIEW程序分为3部分;前面板、框图程序和图标/接线端口。前面板提供与用户交互的图形化界面,通过面板上的各种按钮、开关等控件可以实现对整个系统的操作或控制;实时波形显示窗口能对产生的信号波形进行预览和监视。还可以通过LABVIEW波形显示器自带的功能对波形进行观察和测量,对稳定的周期信号可以直接准确地读出幅值和频率,采集的正弦波波形如图6所示

读写流程图

  结束语

  随着电子计算机的广泛应用,社会的数字化程度越来越高,数据采集也越来越重要,本系统是一种通用的高速数据采集系统,可用于生物电波、电子学频谱、声波分析等瞬态信号的实时采集和观察等场合。其中基于USB总线的高速数据采集系统具有可靠性高、数据不丢失、抗干扰性强、便于数据传输和处理等优点,因而具有良好的应用前景和实用价值。 

关键字:LABVIEW  USB接口  高速数据采集系统 引用地址:基于LABVIEW平台的USB接口多路高速数据采集系统的设计

上一篇:基于LabVIEW的机械振动信号分析系统开发
下一篇:泛华恒兴携手哈工大,成功举办智能球创新大赛

推荐阅读最新更新时间:2024-03-30 22:29

Xilinx与NI为LocalGrid颁发All Programmable创新奖
2013年9月2日中国北京讯 — All Programmable FPGA、SoC和3D IC的全球领先供应商赛灵思公司 (Xilinx, Inc. (NASDAQ:XLNX) )与美国国家仪器公司 (NASDAQ: NATI) 今天联合宣布,LocalGrid Technologies和多伦多水电系统有限公司 (Toronto Hydro)荣膺All Programmable创新奖,并由赛灵思公司在德克萨斯州奥斯汀NIWeek 2013大会的“图像系统设计成就奖”颁奖仪式上为这两家公司颁奖。 由美国国家仪器公司(NI)和赛灵思两家公司共同设计理念的All Programmable创新奖旨在表彰最具影响力和创新表现的应
[嵌入式]
LabVIEW中调用VC++生成的DLL文件
1.// 新建一个空的Win32 Dll 工程,加入新的cpp,写入下面代码 _declspec(dllexport) int sum(int a, int b) { return a+b; } //Build出一个dll:sum.dll 2.// 新建一个新的Win32 Console程序 //选择Simple Console Application,修改main函数所在的cpp #include stdafx.h #include iostream using namespace std; // for base type and LoadLibrary #include WI
[测试测量]
基于LabVIEW的智能开关综合保护装置的数据获取与处理
1 引 言 我国电力工业充满生机与活力,这为高压开关制造业带来了难得的发展机遇和严峻的考验。而高压开关制造业必须不断地进行技术创新,推出一代又一代新品,才能满足电力市场日益增长的需求。目前来看高压开关有着良好的发展势头。然而高压隔离开关作为电力系统重要开关设备,其运行状况直接影响电能的传输、分配及系统的安全可靠运行。近年来,随着用电负荷的增加,新变电所的建设,各种新型结构、材料的电气设备亦层出不穷,高压隔离开关也从功能、结构、用途由单一趋于多样化以适应不同地域、不同接线方式的需要,各种型号的隔离开关虽然用途相同,但结构、适用范围各不相同,各类隔离开关的检修维护工作也大相径庭。伴随着高压开关的广泛使用,高压开关的事故也是不断。给
[测试测量]
基于<font color='red'>LabVIEW</font>的智能开关综合保护装置的数据获取与处理
LabVIEW2011中NI错误报告器的解决方法
在LabVIEW2011中,NI提供一种更简单的方式,用来对软件的崩溃进行报告。在LabVIEW发生崩溃时,你可以使用NI错误报告器(NI Error Reporter,NIER)将错误报告至NI社区。NIER将发送一个错误日志,其中含有导致出错的根本原因,同时你也可以填加一些描述以及代码,以便NI可以更快地找到解决方案。 同时,导致每个软件崩溃的原因将被给予一个唯一的ID号码。你可以使用此ID在NI网站上进行搜索,如果有人曾对同样的错误进行过报告,你就可以找到NI给出的相应解决方案,避免再次发生崩溃。 图1. 通过添加描述和代码,并将其发送给NI进行调查,从而使错误报告更有效。
[测试测量]
在<font color='red'>LabVIEW</font>2011中NI错误报告器的解决方法
LabVIEW动态事件的注册
  动态事件注册可完全控制LABVIEW产生的事件的类型和时间。动态事件可使事件仅在应用程序的某个部分发生,也可在应用程序运行时改变产生事件的VI或控件。使用动态注册,可在子VI中处理事件而不是仅在产生事件的VI中处理事件。   处理动态注册的事件主要包括以下4个步骤。    第1步:获取要处理的事件对象的VI服务器引用;    第2步:将VI服务器引用连接至 注册事件 函数以注册对象的事件;    第3步:将事件结构放在While循环中,处理对象事件直至出现终止条件为止;    第4步:通过取消注册事件函数以停止事件发生。   要动态注册对象事件,必须先获取该对象的VI服务器引用。可通过打开应用程序引用和打开VI引用函数来获取应
[测试测量]
Labview2011破解方法
1 运行破解软件NI License Activator.exe 2 依次右键点击相应模块,点击Activate激活即可。 如果打开后,主界面里什么也没有。 解决办法: 点击右键获取目录,option,第二个选项,open license folder 安装路径为选择安装的地方例如D盘D:Program FilesNational InstrumentsSharedLicense ManagerLicense 如果License 里面没有,请选择Bin或其它。 之后就会出现第一步骤中的内容,进行激活即可
[测试测量]
基于USB接口设备的固件程序设计
  一、 引言      USB是应用在PC领域中的新型接口技术,它由三部分组成:具有USB接口的PC系统,能够支持USB的系统软件和使用USB接口的设备。它的提出是基于采用通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目地。它的最显著优点是支持热插拔,当用户插入USB外设后,计算机能够自动识别接入的外设,而不需要重新启动系统。 二、USB设备硬件结构    为了提高系统的可扩展性,也便于选择高性能的单片机,以实现更多的功能,我们使用较为广泛的Philip公司的单纯的接口芯片 PDIUSBD12 。下面介绍USB设备硬件的相关情况。 1. PDIUSBD12 芯片的内
[嵌入式]
基于USB接口和FPGA控制的虚拟仪器设计
   0 引 言   随着目前科学技术的发展,电子技术的应用领域越来越广。电子测试测量仪器作为电子技术的基础,其应用范围也越来越广。在许多领域对这些仪器提出了很高的要求,不仅要有高的测量、传输速度,高的精确度、稳定性、可靠性等,有的甚至要有一定的智能化,能够实现自动测量、自动控制,还要能够快速完成一些复杂的数学运算与处理,能够根据实际应用的情况,快速开发出新的功能。传统的测试测量仪器由于设计理念落后、发展缓慢、功能单一,开发新功能或新产品的难度大,已经无法适应各种新的测量情况。而且其价格昂贵、体积大、不易操作,已经无法满足人们的要求。   虚拟仪器作为传统测试测量仪器的可能的替代品,从1986年美国国家仪器公司(NI)首先提出
[测试测量]
基于<font color='red'>USB接口</font>和FPGA控制的虚拟仪器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
最新测试测量文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved