基于USB 2.0的高速数据采集卡在虚拟仪器中的应用

发布者:DelightfulGaze最新更新时间:2013-10-26 来源: dzsc关键字:USB  2.0  数据采集卡  虚拟仪器 手机看文章 扫描二维码
随时随地手机看文章
引言

  虚拟仪器,就是在通用计算机平台上,用户根据自己的需求定义和设计仪器的测试功能,与传统仪器相比,虚拟仪器在智能化程度、处理能力、性能价格比、可操作性等方面均具有明显的技术优势。

  本文将着重介绍一种新型优良的下位机—基于USB2.0的高速数据采集卡在虚拟仪器中的应用。

  本文重点分析的下位机即智能A/D,是虚拟仪器硬件设备中的关键环节。下位机通过特定接口接受来自上位机的指令并向上位机提供自身所处的状态:在收到采集指令后,对传感器发送的模拟电信号进行A/D采样以转化为数字信号,然后将数字信号通过USB接口传给上位机。

  本系统的下位机支持2个通道的传感器信号进行A/D转换,其最高采样效率为120MHz,采样转换精度为8位,系统采用了一个内含先进先出(FIFO)内存的USB2.0控制芯片,该内存用于存放A/D转换后的数据,使用FIFO可以有效地缓冲采集数据,减少频繁的指令传送,使上位机有更多的时间进行其他处理,并且不容易丢失数据。该下位机可以编程控制采集频率和采样增益,具有较大的灵活性。

基于USB2.0的高速

数据采集卡

硬件系统

  虚拟仪器硬件的核心部分是USB设备接口模块,其功能是由硬件和软件共同来完成的。USB接口示意图如图2所示。下面介绍一下主要功能模块器件的选择和功用。

ADC的选择

  本设计中选用了AD9059。该器件是8位单片双通道ADC,具有高速、高性能、低功耗及易使用等特性,60MSPS的编码速率和120MHz的最大功率模拟带宽使其在多路数据采样系统中表现出优秀的动态性能。大部分情况下,AD9059仅需要一个单极性的5V电源和一个编码时钟即能正常工作。编码时钟提供与TTL/CMOS兼容的逻辑数据输出,并控制两个A/D转换通道同时对数据进行采样。如长时间不需要采集数据,可启动休眠模式使总功耗小于12mW。ADC的时钟及控制信号等由CPLD提供。

CPLD的选择

  在高速数据采集卡中,时序复杂而且精细,可能会因为一个门的时延,而导致整个硬件电路的失败。所以在本设计中采用了CPLD来实现电路的数字控制功能。

  CPLD主要任务是负责在EZ-USB FX2(即CY7C68013)处于Slave FIFO模式时实现读/写控制信号、时钟、输出使能、端点的选择以及对放大器和ADC的控制等功能。?

  基于CPLD容易开发升级的优点,在本设计中,所有的数字电路部分,全部是在CPLD内实现的,本设计采用了Lattice公司的ISP1032芯片,所用的EDA软件是Lattice公司的ispEXPERT系统,编程语言为ABEL语言。

  经过在实践中检验,在高速数据采集卡中,用ISP1032来实现数字逻辑电路功能,可以使高速数据采集卡工作稳定,各方面性能良好。

信号调理模块

  在高速数据采集系统中, 现场输入信号是高频的模拟信号,信号变化的范围都比较大,如果采用单一的增益放大,那么放大以后的信号幅值有可能超过A/D转换的量程,所以必须根据信号的变化相应地调整放大器的增益。在自动化程度较高的系统中,希望能够在程序中用软件控制放大器的增益,经过考虑本文选择具有增益可编程功能的芯片—AD8321。该芯片具有频带宽、噪声低、增益可编程且易于与单片机进行串行通信等优点,十分适合在数据采集系统做前置放大。程控放大模块的的控制字可在labview设定,再经过USB接口由EZ-USB FX2传给AD8321。[page]

USB控制器

  数据采集接口卡是硬件部分的核心,选择合适的能适用于USB协议的芯片是关键。EZ-USB FX2(即CY7C68013)是世界上首批USB2.0集成微控制器。其内部集成了USB2.0的收发器、串行接口引擎(SIE)、增强的8051微控制器和一个可编程的串行接口。

  在外设未通过USB接口接到PC机之前,外设上的固件存储在PC上;一旦外设连接到PC机上,PC先确认外设身份(即读设备描述符),然后将该外设的固件下载到芯片的RAM中,这样在开发过程中当固件需要修改时,可以在PC机上修改好后,下载到芯片中。

固件开发

  设备固件是设备运行的核心,它控制整个硬件系统的运行,并负责处理PC机发来的各种USB请求,以完成它们之间的数据传输。其主要功能包括控制放大模块,实现通道选择;控制A/D模块的数据采集;通过FX2实时上传采集数据给PC;控制FX2芯片接收并处理USB设备驱动程序的请求(如设置USB接口状态等多种USB协议标准请求)等。

  由于固件的开发流程比较复杂,故本设计中采用C语言进行开发,这样比较容易实现模块化和分层结构化的程序设计。

  EZ-USB FX2固件库为用户提供了底层Keil C函数库。EZ-USB FX2软件开发包提供了该库的目标文件,同时还提供了该函数库的源代码,用户可以利用Keil C来重新编写该函数库。

  EZ-USB FX2固件是使用EZ-USB FX2程序框架或直接使用EZ-USB FX2固件库开发的程序,这是开发USB外设的重要部分。EZ-USB FX2在其固件程序中把自己定义为USB大存储类、块传输子类,操作系统中(Win98以上)有相应的USB类设备驱动程序来支持这种USB类外设。在FX2的固件程序中写入USB通信模块,就可以实现主机和USB设备的通信。

  固件程序必须包括DSCR.A51(A51宏汇编器)、USBJmpTb.OBJ(目标文件转换器)和Ezusb.lib(Ezusb C编译器库文件和启动代码)。在固件程序框架中,定义了基本的USB设备的功能,一般不许修改。本设计要实现的具体功能则在应用层中的固件程序中完成。

应用程序开发

  根据实际要求,本系统需要通过软件下载固件程序,以及对ADC、放大模块、采集模块进行控制,同时还要接收或者发送数据。在采集开始前,可以先将命令发送出去,实现在固件程序中定义的相应功能,如通过EZ-USB FX2口线控制前置放大模块等。然后可以读取传送到主机的数据,或者向设备发送数据等。

  Visual C++作为一种面向对象的集成开发软件,它最突出的特性就是封装性、继承性和多态性。所以,我们选用Visual C++来设计应用程序。

  最后将用Visual C++编写好的USB应用程序封装成DLL,即可在用Labview编写的虚拟仪器最上层应用程序中直接调用。

结语

  本文就基于USB2.0的高速数据采集卡在虚拟仪器中的应用做了具体的阐述,将该系统应用于虚拟仪器中可实现热插拔,克服了传统数据采集卡插拔麻烦且扩展槽有限的缺点。USB2.0传输率达到480Mbps,可充分满足高速采集的需求。所以,本文给出的基于USB2.0的高速数据采集卡在虚拟仪器的研制开发中有着很强的实用性和广阔的应用前景。



参考文献:

[1]. AD9059 datasheet http://www.dzsc.com/datasheet/AD9059_122633.html.
[2]. CPLD datasheet http://www.dzsc.com/datasheet/CPLD_1136600.html.
[3]. AD8321 datasheet http://www.dzsc.com/datasheet/AD8321_1055558.html.

关键字:USB  2.0  数据采集卡  虚拟仪器 引用地址:基于USB 2.0的高速数据采集卡在虚拟仪器中的应用

上一篇:基于USB息线的多路电话录音系统
下一篇:基于USB通信的多功能智能插座

推荐阅读最新更新时间:2024-03-16 13:29

基于DSP的 USB 口数据采集分析系统
摘要:介绍了一种基于DSP的USB口振动、噪声信号采集分析系统构造方案,并对其各模块进行了分析,该方案完全实现了在系统编程和配置。针对USB模块详细介绍了CYPRESS公司的EZUSB芯片,说明了其固件(Firmware)和驱动程序框架。 关键词:DSP USB FPGA CPLD Firmware 驱动程序 随着DSP芯片功能越来越强,速度越来越快,性价比的不断提高以及开发工具的日趋完善,广泛用于通信、雷达、声纳、遥感、生物医学、机器人、控制、精密机械、语音和图像处理等领域。作为计算机接口之一的USB(Universal Serial Bus)口具有势插拔、速度快(包括低、中、高模式)和外设容量大(理论上可挂接127个设备
[应用]
USB Type-C 升压降压充电器在无人机上的应用
近几年,发展得如火如荼,除了、京东等电商公司将其列为未来的“快递员杀手”,平时在公园里漫步我们也可以看到很多小朋友在驾驶无人机进行航拍,游戏市场也异常火爆,未来预计会用到农业、运输等各种工作场景。但是无人机也存在一个问题,那就是飞行时间很短,不负重的情况下,一般10-30分钟就需要充电一次或者更换一次。因此,在飞行间隔期间,用户需要快速而安全地对电池进行充电做以备用,同时无人机这样的多元电池组很有必要使用降压升压充电器,说到充电,我们也不得不提到 的诸多优势。 USB Type-C具有更加纤薄的设计、更快的传输速度(最高10Gbps)和更强悍的电力传输(最高100W)等外观和技术优势,因此一经推出就被业界看好,越来越多产品开
[机器人]
USB无线网络适配器在嵌入式系统中的应用
引言 WLAN技术和嵌入式技术是目前比较热门的两个研究方向,而将二者相结合,即具有无线接入功能的嵌入式系统更具有诱人的发展前景。本文介绍了将IEEE802.11b无线网络适配器与嵌入式主机通过USB总线进行连接的系统设计与实现。系统采用了先进的ARM处理器,除具有10M/100M以太网接口外,还提供USB主接口方便连接具有USB接口的IEEE 802.11b无线网络适配器。 1.系统的总体实现   1.1系统的构成   系统 CPU采用Samsung公司推出的带有ARM7TDMI内核的S3C4510B作为CPU,RAM采用8M 32位SDRAM,ROM采用4M 16 位FLASH。带有一个JTAG接口用于系统调试,一个
[电源管理]
<font color='red'>USB</font>无线网络适配器在嵌入式系统中的应用
OK6410A 开发板 (八) 5 linux-5.11 OK6410A usb 移植
s3c6410 有两个USB实例(板子也都引出来了), 分别是 USB host 和 USB OTG , 这里说的是 usb host 代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11 提交id : dc485e937e8bccc1fc01b5e6d9025bf83b2b6f83 defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_lcd_x11_usb_defconfig CONFIG_USB_NET_DRIVERS=y CONFIG_USB_HID=y CONFIG_USB_OHCI_LI
[单片机]
OK6410A 开发板 (八) 5 linux-5.11 OK6410A <font color='red'>usb</font> 移植
MoCA® 联盟宣布MoCA 2.0进一步成功实地测试结果
90%的同轴电缆插座均实现高达400 Mbps网络吞吐率; MoCA联盟正在积极争取与中国付费电视运营商合作,以期望对运营商网络开展测试。 2015 年 3 月 26 日 CCBN 北京 MoCA (同轴电缆多媒体联盟)今日发布目前正在进行的MoCA 2.0 实地测试的最新结果。基于在美国202个家庭中实施的测试表明,90%的同轴电缆插座已经实现高达400 Mbps的网络吞吐率(MAC速率),并且95%的路径同样实现了高于350 Mbps的净吞吐量。 在今年一月份,MoCA联盟在108个家庭中展开的测试同样取得了出色的结果。近期,在大约两倍的家庭测试中所获得的同样出色结果进一步证明了MoCA技术的卓越性
[网络通信]
MoCA® 联盟宣布MoCA <font color='red'>2.0</font>进一步成功实地测试结果
USB 3.1元年,看芯片大厂布局厮杀
包括微软(Microsoft)、英特尔(Intel)、苹果(Apple)纷将2015年新款PC介面全面升级至USB 3.1规格,Wintel阵营2015年新款PC产品亦将全面采用USB 3.1介面设计,国外芯片大厂透露,在众厂力拱及欧盟、大陆等官方机构陆续通过USB 3.1规格认证程序,加上2014年第4季USB 3.0连接器报价突然下杀至低于0.5美元,均透露2015年USB 3.1规格应用将全面窜起,2015年上半相关周边产品及芯片出货量可望提前起飞。 国外芯片大厂指出,从近期品牌客户突然爆大量的订单来看,2015年可能全面更换为USB 3.1新介面,而相关芯片出货量可望在2015年第1季底、第2季初提前起飞。由于Wint
[嵌入式]
STM32F103系列USB问题
1. usb和can公用512B的RAM,但是RAm地址为0x40006000-0x40006400,分明为1KB啊,为什么还是说512B. 2. 若PC机读RAM中数据时,我同时对RAM进行写操作,怎么办,我感觉库中并没有对这种操作进行处理啊。 3. 对于缓冲区,不理解为什么给了个地址,又同时给了个USB本地地址,并且我认为,地址偏移应该为 *2+n*16+(0,4,8,12),也就是缓冲区描述表也应该扩大2倍,不知道是不是 4.不理解为什么USB_BTABLE设置成13+3位的,反正一共就512B(我理解为1K),8位就够了 1)这个缓冲区是个双端口RAM,CPU一端是以32位宽访问,而USB一端是以16位宽访问,因此从CPU
[单片机]
基于NS1021/1021E的车载USB技术
前言: USB接口基于标准化的传输协议,可以方便地实现设备间互联。USB 2.0标准最高支持480Mbps的传输速率。普通USB传输系统存在抗干扰性差和传输距离近的问题,对其应用场合带来了限制。本文以车载应用为例,提出车载USB传输方案,有效地解决了上述问题,可作为与车载以太网并列的下一代车载数据传输方案。 图1给出了车载视频与数据传输的典型应用,中控主机连接前/后视摄像头、激光雷达、DSM、行车记录仪、USB Hub扩展等设备。其中主机与很多设备间需要传输多种数据类型,USB 2.0作为使用最广泛的接口,在电子设备中无所不在,使用USB 2.0协议进行车载数据传输具有天然的优势。USB 2.0支持480Mbps的传输速率且功耗
[汽车电子]
基于NS1021/1021E的车载<font color='red'>USB</font>技术
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved