基于USB总线的高速数据采集系统

发布者:TranquilVibes最新更新时间:2016-07-15 来源: eefocus关键字:USB总线  高速  数据采集系统 手机看文章 扫描二维码
随时随地手机看文章
1 引言

现代工业生产和科学研究对数据采集的要求日益提高。目前比较通用的是在PC或工控机内安装数据采集卡(如A/D卡及422、485卡)。但这些数据采集设备存在以下缺陷:安装麻烦、价格昂贵、受计算机插槽数量、地址、中断资源的限制,可扩展性差,同时在一些电磁干扰性强的测试现场,可能无法专门对其作电磁屏蔽,从而导致采集的数据失真。

传统的外设与主机的通讯接口一般是基于PCI总线、ISA总线或者是RS-232C串行总线。PCI总线虽然具有较高的传输速度(132Mbps),并支持“即插即用”功能,但其缺点是插拔麻烦,且扩展槽有限(一般为5~6个),ISA总线显然存在同样的问题。RS-232C串行总线虽然连结简单,但其传输速度慢(56kbps),且主机的串口数目也有限。

通用串行总线(Universal Serial Bus,简称USB)是1995年康柏、微软、IBM、DEC等公司为了解决传统总线的不足,而推出的一种新型串行通信标准。该总线接口具有安装方便、高带宽、易扩展等优点,已经逐渐成为现代数据传输的发展趋势。基于USB的数据采集系统充分利用USB总线的上述优点,有效地解决了传统数据采集系统的缺陷。USB的规范能针对不同的性能价格比要求提供不同的选择,以满足不同的系统和部件及相应不同的功能,从而给使用带来极大方便。

2 系统介绍

2.1 数据采集系统的结构与功能

常见的数据采集系统的硬件总体结构如图1所示。其中数据采集接口卡是硬件部分的核心,它包括A/D转换器、微控制器、USB通信接口等。

在高速数据采集系统中由于现场输入信号是高频模拟信号,因而信号的变化范围都比较大如果采用单一的增益放大那么放大以后的信号幅值有可能超过A/D转换的量程所以必须根据信号的变化相应地调整放大器的增益。在自动化程度较高的系统中希望能够在程序中用软件控制放大器的增益AD8321正是这样一种具有增益可编程功能的芯片。AD8321是美国AD公司生产的一种增益可编程线性驱动器。它具有频带宽、噪声低、增益可编程且易于与单片机进行串行通信等优点,十分适合在数据采集系统中做前置放大。

经过调理后的信号可送入模/数变换器(ADC)进行A/D变换。笔者选用的ADC是TLC5540,它是一种高速8位模拟数字转换器,能以高达每秒40M的采样速率进行转换,由于采用半闪速结构和CMOS工艺制造,因此功耗和成本很低。其75MHz(典型值)的模拟输入带宽使该器件成为欠采样应用的良好选择。该器件带有内部电阻,可用于从5V电源产生2V满度的基准电压,以减少外部元件数。数字输出置于高阻方式。它仅需要5V电源工作,可由USB总线供电。

由于数据采集接口卡是硬件部分的核心,因此应选择能适用USB协议的合适芯片。EZ-USB FX2是一种USB2.0集成微控制器。它的内部集成了USB2.0收发器、串行接口引擎(SIE)、增强的8051微控制器和一个可编程的串行接口。其主要特性如下:

●带有加强的8051内核性能,可达到标准8051的5~10倍,且与标准8051的指令完全兼容;

●集成度高,芯片内部集成有微处理器、RAM、SIE(串行接口引擎)等多个功能模块,从而减少了多个芯片接口部分需要时序配合的麻烦;

●采用软配置,在外设未通过USB接口接到PC机之前,外设上的固件存储在PC上;而一旦外设连接到PC机上,PC则先询问外设是“谁”(即读设备描述符),然后将该外设的固件下载到芯片的RAM中,这个过程叫做再枚举。这样,在开发过程中,当固件需要修改时,可以先在PC机上修改好,然后再下载到芯片中;

●具有易用的软件开发工具,该芯片开发系统的驱动程序和固件的开发和调试相互独立,可加快开发的速度。

图2 USB接口示意图

    2.2 方案选择

FX2有三种可用的接口模式:端口、GPIF主控和从FIFO。

在“端口”模式下,所有I/O引脚都可作为8051的通用I/O口。

在“从FIFO”模式下,外部逻辑或外部处理器直接与FX2端点FIFO相连。在这种模式下,GPIF不被激活,因为外部逻辑可直接控制FIFO。这种模式下,外部主控端既可以是异步方式,也可以是同步方式,并可以为FX2接口提供自己的独立时钟。

“GPIF主控”接口模式使用PORTB和PORTD构成通向四个FX2端点FIFO( EP2 EP4 EP6和EP8)的16位数据接口。GPIF作为内部的主控制器与FIFO直接相连,并产生用户可编程的控制信号与外部接口进行通信。同时,GPIF还可以通过RDY引脚采样外部信号并等待外部事件。由于GPIF的运行速度比FIFO快得多,因此其时序信号具有很好的编程分辨率。另外,GPIF既可以使用内部时钟,也可以使用外部时钟。故此,笔者选择了GPIF模式。

高速数据采集卡的设计存在两大难点:一是模拟信号的A/D高速转换;二是变换后数据的高速存储及提取。对于第一个问题,由于制造ADC的技术不断进步,这个问题已经得到解决。而对于第二个问题,一般的数据采集系统是将A/D转换后的数据先存储在外部数据存储器中,然后再对其进行处理。对于高速数据采集而言,这种方式将严重影响采集速度,且存储值也会受到很大限制。而改进方案是将A/D转换后的数据直接送至计算机内存,这样,采集速度将大大提高,而且可存储大量数据,以便于下一步的处理。

为了解决同步问题,可以由CPLD产生同步时钟信号提供给ADC和FX2。在本数据采集系统的设计中,CPLD同时还可用于产生不同的控制信号,以便对采样进行实时控制。CPLD是复杂可编程逻辑器件,它包括可编程逻辑宏单元、可编程I/O单元和可编程内部连线。由于CPLD的内部资源丰富,因而可广泛应用在数据采集、自动控制、通讯等各个领域。在本系统的设计中,笔者选用的CPLD是Lattice公司的ispLSI1016。图2所示是其整个USB接口卡的硬件电路图。

3 系统软件设计

该系统软件主要包括USB设备驱动程序、设备固件和应用程序。

3.1 设备固件(Firmware)设计

设备固件是设备运行的核心,可采用汇编语言或C语言设计。其主要功能是控制CY7C68013接收并处理USB驱动程序的请求(如请求设备描述符、请求或设置设备状态,请求或设置设备接口等USB2.0标准请求)、控制芯片CY7C68013接收应用程序的控制指令、控制A/D模块的数据采集、通过CY7C68013缓存数据并实时上传至PC等。

即使外部逻辑或内置的普通可编程接口(GPIF)在没有CPU的任何干涉下能够通过四个大的端点FIFO来处理高速宽带数据,固件还是有如下固定的工作:

●配置端点;

●通过控制端点零来响应主机请求;

●控制和监测GPIF的活动;

●利用USART处理所有的特殊请求任务,如计时器、中断、I/O引脚等。

3.2 USB设备驱动程序开发

USB系统驱动程序采用分层结构模型分别为较高级的USB设备驱动程序和较低级的USB函数层。其中USB函数层由两部分组成:较高级的通用串行总线驱动程序模块(USBD)和较低级的主控制器驱动程序模块(HCD)。

在上述USB分层模块中,USB函数层(USBD及HCD)由Windows提供,负责管理USB设备驱动程序和USB控制器之间的通信;加载及卸载USB驱动程序;与USB设备通用端点(endpoint)建立通信并执行设备配置、数据与USB协议框架和打包格式的双向转换任务。目前Windows提供有多种USB设备驱动程序,但并不针对实时数据采集设备,因此需采用DDK开发工具来设计专用的USB设备驱动程序。该设备驱动程序应由初始化模块、即插即用管理模块、电源管理模块以及I/O功能等四个模块来实现。

初始化模块可提供一个DriverEntry入口点以执行大量的初始化函数。

即插即用管理模块用来实现USB设备的热插拔及动态配置。当硬件检测到USB设备接入时,Windows查找相应的驱动程序,并调用它的DriverEn-try例程,同时告诉它添加了一个设备;然后,驱动程序为USB设备建立一个FDO(功能设备对象)。在此处理过程中,驱动程序收到一个IRP MN START DE-VICE 的IRP,在它之中包括有设备的资源信息。至此,设备被正确配置,驱动程序开始与硬件进行对话。当然,在设备运行过程中,如果设备状态发生变化(拔除、暂停等),PnP管理器也同样发出相应的IRP,以便由驱动程序进行相应的处理。

电源管理模块负责设备的挂起与唤醒。

I/O功能实现模块可完成I/O请求的大部分工作。当应用程序提出I/O请求时,它将调用Win32 API函数DeviceIoControl向设备发出命令,然后由I/O管理器构造一个IRP并设置其MajorFunction.域为IRP MJ DEVICE CONTROL。在USB设备驱动程序收到该IRP后它将取出其中的控制码并利用一个开关语句查找对应的程序入口。

3.3 应用程序设计

应用程序设计由两个部分组成:动态链接库和应用程序。动态链接库负责与内核态的USB功能驱动程序通信并接收应用程序的各种操作请求,而应用程序则负责对所采集的数据进行实时显示、分析和存盘。

    动态链接库的工作原理如下:当它收到应用程序开始采样的请求后,首先创建两个线程:采样线程和显示存盘线程。采样线程负责将采样数据写到应用程序提交的内存;而显示存盘线程则负责给应用程序发送显示和存盘消息。当应用程序接收到此消息后,便从它提交的内存中读取数据并显示和存盘。要注意的是:采样线程和显示存盘线程在读写应用程序提交内存时要保持同步。

PC机或工控机应用程序是数据实时采集系统的中心可采用Labview编程。它是当今国际上唯一的编译型图形化编程语言,其特点如下:

(1) 能完成对固体表面速度的实时测量;

(2)主介面与多重窗口结合可完成数据连续采集、实时统计分析、系统参数设置、信号波形显示、被测参数输出等综合系统功能。

(3)能充分利用Labview开发平台和WINDOWS视窗所提供的良好操作环境集曲线、图形、数据于一体可准确描述过程参数的变化。

图3所示是用高速数据采集系统采集通过Lab-view显示的一个波形实例,其输入信号是一个频率为5MHz的正弦波。

4 结束语

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

关键字:USB总线  高速  数据采集系统 引用地址:基于USB总线的高速数据采集系统

上一篇:PCI总线接口芯片9050及其应用
下一篇:CAN中继器设计及其应用

推荐阅读最新更新时间:2024-05-03 00:31

大陆功率半导体高速成长,不过高端九成依赖进口
功率半导体分立器件为半导体行业的主要组成部分,更是发电、输电、变配电、用电、储能、家用电器、IT产品、网络通讯等领域的基础核心部件,因而功率半导体在人民生活和工业生产中得到广泛的应用,甚至随着物联网、云计算、新能源、节能环保等电子信息产业新领域的发展,中高阶的功率半导体器件也将迎来新一轮的发展高峰。 事实上,2018年大陆功率半导体市场规模预计将由2016年的1496亿元(人民币,下同)成长至2263.8亿元,显然未来成长空间仍大;不过大陆半导体企业技术水平相对落后,优势产品种类相对单一,和国际一流半导体公司在全控型功率半导体分立器件市场上的竞争能力上有明显差距,特别是高阶产品领域,90%的市场占有率被美日欧等国际企业占据, 显然
[半导体设计/制造]
德州仪器推出面向便携式应用的高速 USB 保护器件
首款采用统一封装高度集成 ESD、过温、过压与欠压保护功能的器件 日前,德州仪器 (TI) 宣布推出业界首款在单一封装内集成 4 种类型 USB 2.0 芯片保护功能的器件。该 TPD4S014 支持静电放电 (ESD) 高级保护,尺寸仅为 2 毫米 x 2 毫米,是适用于所有 4 通道USB的业界最小型 USB 保护器件。在器件接点温度(junction temperature)超过 150 摄氏度时,开关会关闭电源轨,对过温情况提供保护。如果电源降至 2.8 V 以下或升至 6.15 V 以上时,TPD4S014 的负载开关将立即打开,防止出现欠压或过压问题,从而可避免移动电压线路损坏电源轨。如欲下载产品说明书或订购样片,敬
[嵌入式]
带LCD人机交互功能的便携式高精度数据采集系统设计
在许多传统行业中,高精度温度 数据采集 系统是不可缺少的。近年来,随着高精度ADC价格的不断下降以及其功能的不断完善,研制廉价的多路、快速、高精度温度采集系统成为了可能。美国德州仪器公司(TI)推出的带24位ADC的微处理器MSC1210,特别适合于测量高精度温度、压力 传感器 等输出的微弱信号。本文以MSC1210作为测量、信号处理以及通讯的核心,设计了高精度温度采集系统模块。该系统测量通道易于扩充,测量精度高,可以快速地进行高精度数据测量。 系统总体方案设计 本系统的硬件部分主要由前端数据采集、处理电路和后端数据处理、LCD电路组成。两部分通过RS-232串行接口进行通信。系统的总体方案构图如图1所示。 图1
[单片机]
带LCD人机交互功能的便携式高精度<font color='red'>数据采集系统</font>设计
基于ARM和DSP架构的多处理器高速通讯协议设计
  目前,建立在宽带网络的多媒体应用日渐增多,高性能的DSP也不断推陈出新,由于DSP具备非常灵活的编程运算能力,针对不同的编码标准,采用不同的编码软件,加上合适的芯片价位,在视频会议终端、视频监控服务器、IP数字机顶盒等产品中已被普遍采用。   虽然DSP具备众多的优点, 但却不适合作系统控制,因为DSP通常没有强大的操作系统,没有完备的网络协议栈和可靠的文件系统,DSP架构在作控制指令时无法并行处理,分支判断和高速缓存没命中(cache miss)都会使运行效率极大降低。而这些正好是嵌入式RISC处理器的强项,比如ARM和MIPS系列,所以现在很多国际知名的半导体公司如PHILIPS和TI都推出了整合了RISC处理器和DSP的S
[单片机]
基于ARM和DSP架构的多处理器<font color='red'>高速</font>通讯协议设计
英特尔推服务器加速技术 提供高速数据吞吐量
英特尔公司18日宣布,英特尔将推广一种重要的服务器数据输入/输出加速技术(I/OAT)QuickData,这种技术已于今年年初开始应用于英特尔的服务器产品。作为英特尔输入/输出加速技术的一个组件,QuickData技术就像一部数据加速引擎,能够帮助网络与服务器供应商提高服务器的数据吞吐量。包括Broadcom、富士通西门子、IBM、Mellanox、微软和VMWare在内的各大厂商对英特尔QuickData技术提供了支持。 今年年初,作为英特尔服务器和工作站平台的芯片组的一部分和英特尔QuickData技术的基础,DMA(数据移动加速)技术作为IOAT的一部分和英特尔至强5100系列处理器平台共同推出。 I/OAT现已得到了众多服
[焦点新闻]
满足手机高速图像数据传输的差分串行接口方案
  Mobile Shrink DataLink(以下简称MSDL)差分串行接口解决方案能够大大节省日益复杂的折叠式 手机 翻盖连接处的线路数量。由于液晶面板不断迈向高精细化,手机图像数据传输需要增加更多的线路,而且高速数据传输还将产生电磁波干扰,而MSDL不仅可以解决以上类似问题,而且还可以解决手机研发中遇到的许多课题,所以在折叠式手机的应用上将发挥巨大作用。 图1:MSDL具有独特的低振幅传输模式。    折叠式手机面临的问题      近年来,手机正在由百万像素相机标准配置向更高清晰度照相机配置方向发展。因此,手机内部处理的数据量呈逐渐增大趋势,其中,由于液晶面板和内置相机不断实现高画质和高精细的原因,图像数据的量正
[安防电子]
满足手机<font color='red'>高速</font>图像数据传输的差分串行接口方案
基于FPGA的QPSK高速数字调制系统的研究与实现
摘要:介绍了一种基于FPGA的QPSK的高速数字调制系统的实现方案。先从调制系统的基本框图入手,简要介绍其实现原理及流程;然后着重介绍FPGA功能模块的软件编程、优化及整个系统的性能。 关键词:FPGA QPSK 直接序列扩频 高速调制 1 系统实现原理及流程 本调制系统的设计目的是实现高速数字图像传输。系统的硬件部分主要包括FPGA、A/D转换器、D/A转换器、正交调制器、输出电路等。根据数字图像传输的特点,采用扩频调制技术。这是因为扩频方式的抗干扰、抗衰落及抗阻塞能力强,而且扩频信号的功率谱密度很低,有利于隐蔽。同时,为了提高数据传输的可靠性和有效性,降低信号失真度,减少码间干扰,在调制系统中还加入编码、交比例中项及匹
[应用]
PC机和激光没距雷达双路高速数据通信接口卡
    摘要: 阐述了PC机和激光测距雷达双路高速串行数据通讯接口卡的系统构成。重点介绍了RS-422A高速串行通讯接口及收发控制、接口卡和PC机通信缓冲区的共享、卡上资源分配等关键性问题。     关键词: RS-422  高速串行通信  接口卡  双端口RAM  FPGA     在我们智能自主式移动机器人项目的研制中,采用了两路二维激光雷达来完成障碍物检测、路标检测及地图匹配等工作。我们采用的激光雷达均提供了一种RS-422串行通讯接口。雷达通过与PC机的握手通信完成初始化工作之后,便分别以40ms和80ms为工作周期将测距结果以500Kbps的速率发送至PC机。PC机收到每一帧数
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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