基于USB 2. 0数据采集系统的实现

发布者:pengbinyyy最新更新时间:2011-05-12 关键字:USB2.0  数据采集 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  在工业生产和科学技术研究的各行业中, 常利用PC或工控机对各种数据进行采集, 如压力、频率、液位、温度等。常用的采集方式是通过数据采集板卡, 其不仅安装麻烦, 易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制, 不可能挂接很多设备。而通用串行总线( Universa l Ser ia l Bus, USB )的出现, 很好地解决了以上这些冲突, 可实现低成本、高可靠性、多点的数据采集。USB 2. 0 是一种计算机外设连接规范, 除了USB1. 1中规定的1. 5Mb it / s和12Mb it / s两个模式以外, 还增加了480Mbit / s( 60MB / s)这一 高速 模式, 将USB的应用范围得到进一步扩大。

  本文介绍的基于USB 2. 0的两路力信号采集传输系统, 可用于销盘式摩擦实验机, 测量材料的摩擦系数。


图1 硬件框图

  2 硬件设计

  2. 1 系统方案

  外部传感器的摩擦力信号和压力信号分别通过两片8位AD转换器转换为数字信号, 由USB 芯片直接传输至计算机中处理, 并使用软件演示两路力之间的关系, 计算出材料的摩擦系数。主机同时负责数据传输的启动与停止, USB 控制器控制信号的采集并读取到内部缓冲区。

  2. 2 控制器芯片选择USB 控制器采用56 脚SSOP 封装的CY7C68013, 属于Cypresss 公司FX2 系列。

  Cypresss EZFX2将USB 2. 0的收发器、SIE、增强型8051 和一个可编程逻辑接口集成在一个芯片上。在EZUSB FX2 上, 灵活的SIE 处理大部分USB1. 1和USB 2. 0硬件协议, 释放了用于特殊应用功能的嵌入式微控制器。通用可编程接口( GPIF)和主控/伺服端点FIFO ( 8..或16..位数据总线) 提供了其与常用接口, 如: ATA, UTOPA, EPP,PCMC IA, 以及大多数DSP /处理器的简单无缝连接。其有如下特点:

  内核: 增强型8051的时钟频率高达48M; 每个周期4个时钟; 运行来自内部RAM的程序。

  四个可编程BULK / INTERRUPT / ISOCHRONOUS端点: 缓冲区可选择为双缓冲区, 三缓冲区或四缓冲区; 外部数据接口可为8或16位。

  GPIF: GPIF对于FX2的FIFO来说是一个内部主机, 可编程状态机是它的核心。对于56脚封装,它可以产生三个‘控制?’( CTL [ 2: 0] ) 和九个‘地址’ (GPIFADR [ 8: 0] )输出, 能接收两个外部和两个内部‘准备’ ( RDY [ 1: 0] )输入。控制状态机由四个用户定义的!波形描述‘控制’。内部RAM 中的波形描述符描述每个GPIF信号的行为。初始化阶段, 波形描述符由FX2固件下载到GPIF寄存器中,通过GPIF接口在传输操作的代码执行全过程使用它。控制输出信号( CTL[ 1: 0] )通常用做闸门控制(使能信号线)、读/写信号线等。CTLx波形边沿可通过编程进行传输, 速率可达每个IFCLK时钟一次( IFCLK 运行于48MH z)。RDY[ 1: 0]由GPIF取样,而且能迫使一个传输处于等待, 继续, 或重复状态,直到它们处于一个特殊的状态。

  2. 3 硬件电路图

  根据所选控制器和具体条件, 设计硬件电路如图2所示。


图2 硬件电路图。

  采用从主机下载固件程序的方法, SCL, SDA引脚通过两个2. 2k 的电阻接3. 3V 电源, RESET引脚有滞后作用, 低电平有效; 内部PLL 在V cc 到达3. 3V后约200s后稳定。典型电路是外接一个RC电路(R = 100K, C = 0. 1F)提供RESET:信号;软件部分采用GPIF Master模式, 16 位数据总线,将两路8位ADC 数据线直接连到GPIF数据总线上: FD[ 0: 7]接摩擦力数据信号FDATA [ 0: 8] ,FD[ 8 : 15] 接压力数据信号PDATA [ 0 : 7 ]。

  CTL0, CTL1分别连接ADC 的READ 和WRITE 引脚, 用于控制其工作时序。REY0连接ADC 的INTR, 用于判断是否开始读取数据, 并由此判断何时改变GPIF状态。

  芯片电源使用USB 总线电源, 采用MAX IM 公司的MAX882 芯片, 把5. 25V 的Vbus转换为3.3V, 如图3所示。


图3 电源转换电路。

  对于USB 2. 0系统, D + 和D - 信号线上的差分特性阻抗会严重影响到信号眼图、EOP、带宽、信号抖动和干扰的大小。根据U SB 2. 0规范的要求,差分线对的特性阻抗要求控制在90 ? 10% 以内,使D+ 和D - 布线长度在1英寸以内, 匹配误差在50m il以内。

  3 软件设计

  USB接口程序设计包括三部分: 固件程序设计、硬件驱动程序设计、高级应用程序设计。

  3. 1 固件( firmw are)设计

  设备固件程序的主要功能是控制EZUSB FX2接收并处理USB 驱动程序的请求、控制芯片中应用程序控制指令的接收、控制ADC 中的数据读入等。该设计的固件程序除能够使内置的GPIF在没有CPU 的干涉下通过四个端点FIFO ( EP2、EP4、EP6、EP8)中的两个处理数据传输外, 还有配置端点、通过控制端点0 来响应主机请求、控制和监测GPIF的活动等固定工作。

  GPIF的波形描述符通过FX2的固件保存在波形寄存器中。FX2可以保持多达4个波形描述符,均可采用4种传输方式( Single 读, Single写, FIFO读, FIFO写)中的一种。

  一个波形由7 个可编程的状态( S0 ~ S6 ) 和一个特殊的IDLE 状态S7 组成, 当程序分支到它的IDLE 状态时波形终止。从一种状态到另一个状态的转换发生在IFCLK 的上升沿, 但GPIF可以保持在同一种状态很多IFCLK 周期。每一个状态都通过一个32位的状态指令定义: 1) NDP状态: 在整个状态期间, 控制输出CTLx 被GPIF 指令定义为1, 0, 或三态。NDP状态有一个以IFCLK 周期为单位的程序固定周期。如果一个波形定义的状态少于7个, 最后一个编程的状态结束后不会自动进入IDLE状态, 即最后一个编程状态的状态指令必须包含一个IDLE 状态的明确分支。2) DP 状态: 任何一个状态都可以定义为DP, 允许GPIF采样两个信号, 对采样值进行布尔操作, 根据结果跳转到其它状态(或循环到自身)。若一个状态指令包含一个控制任务(递增FIFO 指针, 增加GPIFADR 地址等) , 这些任务总是在进入该状态时执行一次。若该状态是一个循环到自身的DP, 可以编程为在每一个循环中重新执行控制任务。

  GPIF的设计使用的是Cypress的GPIF Design工具, 可根据ADC 的时序和控制要求方便地设计,设计波形如图4。采用Sing le Read 方式, 每一个状态的持续时间可设置为0~ 256个IFCLK 个周期。

  在Status中设置了一个DP, 当RDY0( INTR )信号为高时, 跳转到状态0 重新下一次数据采集; 当为低时, 则返回到自身继续执行。定义好波形后, 由工具栏中的Too ls菜单中的Export to GPIF. c file导出为C语言文件。定义端点2, 6 为输入端点, 对应的FIFO 缓冲区为双缓冲区, 保证不会因为缓冲区中的数据没有传送完毕而被覆盖。每次采集数据的高字节存入端点2缓冲区, 低字节存入端点6缓冲区。


图4 波形设置。

  3. 2 驱动程序的设计

  该系统需要两个驱动程序, 下载固件的驱动程序和功能驱动程序。采用固件从主机下载的方式,由固件下载驱动程序完成。当设备连接到U SB 总线后, 负责把固件程序下载到CY 7C68013的RAM中, 完成重列举工作, 使内核正常工作。主机根据其设置的V ID /PID寻找并安装功能驱动程序, 从而实现主机与设备的通信。用户程序与设备的通信及控制由功能驱动程序负责完成。

  驱动程序设计采用WDM (W indow s DriveMode)。其引入设备对象的概念来描述一个设备,主要包括物理设备对象( PDO )、功能设备对象( FDO)、过滤设备对象( f ilter DO )。其中, PDO 对应实际的物理设备, FDO 和f ilterDO 是相应驱动程序的处理对象。WDM 驱动程序直接操作的不是硬件本身, 而是相应的PDO, FDO, 和filter DO。当用户发出请求时, 操作系统会将其打包形成一个IRP结构, 并发送至驱动程序, 通过识别IRP 中的设备对象来区分它是发送给哪个设备。

  USB设备最大优点就是即插即用功能( PnP) ,PnP设备具有不同的设备状态, 当它接收到某些PnP IRP时, 其所处的设备状态就会发生改变。图5描述了PnP设备状态及其相应的PnP IRP。


图5 PnP设备状态。

  为保证USB设备连入系统时, W indow s能够找到并加载与其进行通信的设备驱动程序, 除提供的编译好的驱动程序外, 还需为其提供一个设备信息文件( DIF) , 该文件包含USB 设备、设备驱动程序及其安装过程的详细信息, 如该为设备使用哪个驱动、系统注册表中应存储哪些信息等, 以确保其硬件设备能正确地配置和安装。在U SB 设备驱动程序安装完毕后, 该设备的一些基本信息将被存储到W indow s系统注册表中, 驱动程序可执行文件和其DIF也被复制到指定的系统目录, 该USB 设备将出现在W indow s设备管理器中。

  3. 3 应用程序设计

  高级应用程序建立在驱动程序之上, 主机应用程序的编写使用VC 编译环境中的API函数实现。

  应用程序的编程方法与串口编程类似。首先必须查找设备, 打开设备的句柄, 然后进行读写和控制操作, 最后是关闭设备句柄。为了提高效率,可使用多线程技术实现读写。

  4 结语

  本文设计的用于摩擦实验机的USB 数据采集系统, 采用Cypress FX2系列芯片CY7C68013, 利用其GPIF Master模式的16位数据线与两块8位数模转换芯片连接, 准确地保证了两路力信号的同步。该芯片灵活的接口大大简化了硬件连接。其固件程序自动下载功能可方便地对固件进行修改和调试。此USB设备的即插即用特性满足了该系统便携式及使用方便的要求。

关键字:USB2.0  数据采集 引用地址:基于USB 2. 0数据采集系统的实现

上一篇:基于W3150A的虚拟仪器通用以太网接口设计
下一篇:基于MC9S08JS16和AES的USB Key设计

推荐阅读最新更新时间:2024-05-02 21:23

由AT91 M55800A构成的简易数据采集方案
0 引 言 在计算机测量、控制及信号处理中,数据采集发挥着至关重要的作用。数据采集是获取数据的重要手段,它是从传感器或其他待测设备等模拟或数字被测单元中自动采集信息的过程。而采用ARM内部的A/D转换资源,具有转换速度较高、工作可靠、设计的复杂度较低等优点。同时,ARM还具有体积小、运算速度高,A/D转换分辨率较高的特性,使ARM得到了广泛的应用。本文利用ATMEL公司ARM7系列中的AT91M55800A设计了一个简易的数据采集方案。该方案具有结构简单、开发容易,可靠性强、价格低廉等特点,有一定的实用价值。 1 数据采集方案的结构和功能 方案结构如图1所示。 该方案是由接收、A/D转换和处理、输出3部分组成。本方案以AT
[工业控制]
如何构建交流和直流数据采集信号链
简介 模数转换器(ADC)中的采样会产生混叠和电容反冲问题,为此设计人员使用滤波器和驱动放大器来解决,但这又带来了一系列相关挑战。尤其是在中等带宽应用中,实现精密直流和交流性能面临挑战,设计人员最终不得不降低系统目标。 本文介绍连续时间Σ-Δ ADC,通过简化信号链来有效解决采样问题。采用这种方法无需使用抗混叠滤波器和缓冲器,并可解决与额外组件相关的信号链失调误差和漂移问题。进而可缩小解决方案尺寸,简化设计,并改善系统的相位匹配和整体延迟。 本文还将连续时间转换器与离散时间转换器进行了比较,并着重介绍使用连续时间Σ-Δ ADC的系统优势和存在的限制。 采样基本原理 数据数字化包含采样和量化两个基本过程,如图1所
[模拟电子]
如何构建交流和直流<font color='red'>数据采集</font>信号链
NI 推出内置信号调理的PXI Express数据采集产品
美国国家仪器有限公司(National Instruments,简称NI)近日发布了公司第一款带有内置信号调理的数据采集(DAQ)模块,用于PXI Express可扩展、高性能测量。新款NI SC Express系列产品具有更高的精确度、高数据吞吐量,在同类产品中具有最佳的同步性,可用于测量应变计、电桥传感器、热电偶和高压模拟输入。PXI Express为机箱内的每个SC Express模块提供250 MB/s的专用带宽,从而帮助工程师提高通道数的同时,不影响采样率或数据吞吐量。由于具有更小的体积、更简易的电缆管理,以及在软件中自动实现同步等特性,SC Express模块简化了工程师创建和管理高通道数传感器测量系统的复杂性。
[测试测量]
NI 推出内置信号调理的PXI Express<font color='red'>数据采集</font>产品
用MSP430实现微波成像的扫描控制与数据采集
在无源微波遥感中,微波辐射计是一种获取场景微波特征的重要手段。微波辐射计通常是一部超外差接收机,通过接收被测场景在一定频带内的电磁辐射,转换为输出的低频信号,来表征被测场景的地物信息。利用微波辐射计来探测、接收被测目标、背景在微波波段的电磁辐射,并把接收到的辐射信号按比例用伪彩色图像直观地显现出来的系统称为微波辐射成像系统。 微波辐射成像系统要求在恶劣的环境和天气下长期稳定地进行天线扫描成像,所以要求系统设备用于天线扫描控制及数据采集的电路尽量简单、稳定。基于以上的要求,采用了TI公司所生产的MSP430F149型超低功耗FLASH单片机作为这套系统的从机部分,该单片机有60KB的FLASH存储器和2KB的RAM存储器,可以在一台
[单片机]
用MSP430实现微波成像的扫描控制与<font color='red'>数据采集</font>
基于ARM9和μC/OSII的多频道数据采集系统的智能化设计
引言 随着IT技术、电子技术、通信技术、以及自动控制技术的飞速发展,对工业现场数据的高速实时采集就成为电子产品和工业控制技术发展不可避免的一个环节。 本文针对高速实时多任务数据采集中的多任务实现算法以及实时性、实效性和高速性的要求,提出了基于ARM9和μC/OSII操作系统的智能化设计方案,实现了任务优先级动态调度、系统工作参数动态设定、系统内部软件智能化设计,针对低速外围设备进行了系统优化,并提高了系统可靠性改善了内部任务同步性。 1 整体电路设计 整个采集系统的硬件电路如图1所示。首先利用多路调制电路对12路信号进行调制,这部分包含相应的信号转换、抗干扰、以及初步的信号处理等,使得各路采集信号能够达到ARM9内核对信号采集的要求
[单片机]
基于ARM9和μC/OSII的多频道<font color='red'>数据采集</font>系统的智能化设计
基于DSP和以太网的数据采集处理系统
随着测试技术的不断发展进步,低功耗、高性能的DSP可取代通用单片机,用在数据采集处理系统中;以太网技术也正在数据采集、测试测量技术中发挥越来越大的作用。本文主要从软件、硬件出发,介绍一种基于DSP和以太网的数据采集处理系统的设计思路及实现。 1 基于以太网的数据采集处理系统 由于生产和科研领域对测试的要求越来越高,所需测试和处理的数据量也越来越大,可能需要多个测试仪器同时进行处理,也可能需要在各测试仪器之间进行数据交换;而且,有些时候不适合工作人员亲临现场,这时就需要进行网络控制。以太网技术在数据采集处理系统中的应用如图1所示。 和现在使用于工业现场比较多的现场总线比较,以太网最大的特点是开发性好、成本低。通
[测试测量]
采用RS232接口标准的SMT数据采集方案
  随着我国信息化建设的飞速发展,表面贴装技术日益普及,其生产线已经从当初的十几条发展到了现在的数千条,我国也由此一跃成为了世界SMT第一应用大国。目前国防科研生产领域所拥有的表面贴装生产线已达几百条,但是在表面贴装技术领域中MES技术的应用却还很少,极大地制约了信息技术的发展和表面贴装技术水平的提高。虽然目前国外存在一些MES,如日本松下公司、JUKI公司、德国西门子公司等开发研制的,适用于自己贴片机等SMT设备的MES,,但这些系统存在着仅适用于自己厂家的表面贴装设备等缺点。   由于MES的关键是数据采集技术的实现,因此,针对以上情况,本文提出了一种基于RS 232接口标准的SMT数据采集技术。本文首先介绍了RS 232接口的
[嵌入式]
GPS在PCI同步数据采集卡中的应用
摘要:介绍的功角测量数据采集卡是采用Cygnal公司C8051F021型单片机实现的PCI总线接口卡。该卡通过2片双口RAM分别实现与GPS接收板和上位机(PC)的数据交换,从而实现高速、可靠的数据采集、处理与传送。本数据采集卡采用片内12位高速ADC并配以片外采样保持电路,通过直接交流采样方法精确快速地实现对电压和电流的采样,保证了电力系统实时测量的要求。 关键词:C8051F021 PCI GPS 功角 双口RAM 交流采样 1 引言 国家电力公司陆延昌副总经理在第26届中国电网调度运行全闭幕式上的讲话中指出了今后一段时期内的电网技术的发展上应重点研究和解决的问题,其中,在电网安全、稳定、经济运动领域,互联电力系统实时
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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