基于USB2.0技术的高速双路数据采集系统

最新更新时间:2010-03-03来源: 微计算机信息关键字:CY7C68013  USB2.0  GPIF  高速数据采集 手机看文章 扫描二维码
随时随地手机看文章
  1.引言

  近年来,USB接口由于其传输速率高,真正的即插即用等优点正在逐渐取代传统的计算机接口如:RS232,EPP等。目前,许多的芯片生产商都推出了符合USB协议的芯片,如Philips公司的PDIUSBD12,NS公司的USBN9602等。在众多的USB2.0芯片中,Cypress公司的EZ-USB FX2(CY7C68013)芯片是一个不错的选择。本文设计了一种基于EZ-USB FX2和MAX1195的数据采集系统,该系统符合USB2.0协议标准,通过与高精度激光纵模分析仪连接进行调试,证明该系统达到了预定目的。

  2. CY7C68013芯片和MAX1195芯片介绍

  2.1 CY7C68013介绍:

  CY7C68013在一块芯片上同时集成了USB2.0收发器,串行接口引擎SIE,增强型的8051微控制器以及一个可编程外围接口GPIF(General Programmable Interface)。CY7C68013的“量子FIFO”(FIFO,先进先出存储器)特性使得无需8051CPU的任何干预,数据即可从外设上传到主机,这种数据传输模式彻底解决了USB2.0收发器与一般8051微控制器连接时由于8051的时钟频率低而导致的传输速率瓶颈问题。CY7C68013芯片的另一个突出优点是其“‘软’配置”,代码和数据能够直接通过USB接口下载到片内的RAM上,这一功能通过Cypress公司独创的“重枚举”(ReNumerationTM)功能实现。CY7C68013芯片有四个可编程的批量、中断、同步传输端点,可以分别设置为双缓冲,三缓冲和四缓冲模式,8位或者16位的外部数据接口,该接口可以根据需要工作在 GPIF或者SLAVEFIFO模式。其中GPIF能够和绝大部分并行接口如FIFO等实现“无胶”连接,即无需外加任何微控制器或CPLD、FPGA 等。本文的设计中采用了GPIF方式。

  2.2 MAX1195介绍:

  MAX1195是由MAXIM公司推出的一款低功耗、双路、高速、八位模数转换芯片,采用流水线(Pipeline)结构,最高采样率40Mbps,内部集成了两个 ADC,真正实现两路同步采样转换。其工作电压范围是2.7V-3.6V,具有减小功耗的休眠模式和关断(Shut-Down)模式,单端或者差分输入方式,片上采样保持(T/H)电路,内部或者外部参考电压,含有用户可选择的数据输出格式:二的补码格式或者补偿二进制码格式,具有输出使能控制,可以将输出置为高阻态。此外MAXIM还提供了与MAX1195引脚、封装完全兼容的10位、更高采样率的模数转换芯片,如MAX1197、MAX1198等,因此系统升级非常方便。在本文的工作中,采用了内部参考电压、双路单端模拟输入、补偿二进制码输出格式。

  3.系统整体构成及其工作原理介绍:

  3.1系统构成:

  系统的整体框图如图1所示。整个系统主要包括USB传输芯片CY7C68013,先进先出存储器(FIFO)SN74V235和模数转换芯片MAX1195组成。反相器74LVC04主要起MAX1195和FIFO之间的逻辑控制作用。

  图1       系统整体框图

  3.2系统工作原理:

  MAX1195的两路输入信号是同时被采样的,十六位的数据输出总线使两路数据可以同时输出,分别占八位,即:D0A~D7A和D0B~D7B;SN74V235输入为18位,根据CMOS技术的要求,将未使用的D16和D17引脚接地。MAX1195采集到的数据首先送进FIFO里, FIFO的写时钟(WCLK)和AD的转换时钟反相,这样可以充分满足MAX1195输出数据的建立时间,避免发生数据丢失或者数据重复写入现象。 SN74V235的 (Programmable Almost Full)可编程几乎满信号经74LVC04反相后接MAX1195的Sleep和 引脚,以免FIFO发生溢出而丢失数据。SN74V235的数据输出引脚Q0~Q15与CY7C68013的GPIF模式下的数据线FD[15:0]即端口B和端口D组成的十六位数据总线相连,数据SN74V235到EZ-USB FX2的时序过程由CY7C68013的GPIF 控制。FX2采用了“量子FIFO”结构,在FX2里面,数据可以分为两个域:USB域和GPIF接口域。这两个域是独立的,允许分别使用不同的时钟和逻辑控制数据的传输,USB域是由SIE控制的,SIE通过USB口接收或者发送端点FIFO的数据。FX2的“量子FIFO”能够几乎不花时间在这两个数据域中的转移数据,因为这两个域用的FIFO在物理上是同一个。所以根据“量子FIFO”原理,实际上数据已经存在于属于USB域的端点FIFO里面了,采用USB的BULK传输方式,使该数据完全不经过低频CPU干预,而是采用FX2提供的AutoIn模式,即一旦FX2端点缓冲区的数据达到指定字节数,数据将自动被打包从USB口上传到主机。

  3.3 GPIF波形及程序介绍:

  GPIF是FX2的端点FIFO的片内控制器,可以完全代替片外的控制器而实现FX2与外围FIFO的“无胶”连接。GPIF的核心是一个可编程状态机,可以产生六个“控制”(CTL)和九个“地址”(GPIFADR[8:0])信号,可以接收六个外部(RDY)“准备好”输入,八位或者十六位数据总线,时钟可以用FX2的IFCLK,也可以由外围提供。本文GPIF接口的详细硬件连接如图2所示。

  图2  GPIF与SN74V235详细连接图

  GPIF状态机可以定义四个波形描述符,一般情况下是:FIFO读,FIFO写,单字/字节读,单字/字节写。Cypress提供了图形化的波形描述工具GPIF Designer,用户只需要给出GPIF波形,GPIF Designer会自动生成C语言的波形代码Gpif.c,可以直接链接到用户的固件程序中。本文中用到了FIFORd描述符,波形如图3所示。

  图3      GPIF Designer设计的 FIFORd波形

  4.系统软件编写

  系统软件主要包括三个部分:下位机CY7C68013的固件,USB驱动程序和上位机主机应用程序。

  4.1 固件程序编写

  对于下位机CY7C68013的固件编写,Cypress公司给出了在Keil C51下的固件程序框架,固件框架完成EZ-USB FX2的初始化、USB标准设备请求处理、USB挂起模式下的电源管理服务和USB中断处理。Cypress还提供了函数钩子来加速用户代码的添加。用户只需要简单地提供一个USB描述符表和执行外围功能的代码即可。

  4.2 驱动程序编写

  Windows系统下的USB驱动包括三层,从高到低依次是:USB客户端设备驱动(USB Client Device Driver)、USB总线驱动(USB Hub(Bus) Driver)、主机控制器驱动(Host Controller Driver)。后两者由Windows系统提供,用户只需要开发USB客户端设备驱动程序,Cypress公司提供了一个通用的驱动程序 (General Purpose Driver),即ezusb.sys,一般情况下,该驱动程序可以满足FX2开发者的需要。本文使用了Cypress公司的通用驱动 ezusb.sys。为了使用ezusb.sys,用户必须编写对应的inf文件,inf文件将特定的USB设备绑定给相应的驱动程序,该inf文件参照 ezusbw2k.inf编写。

  4.3 主机应用程序编写

  通用驱动程序GPD即ezusb.sys提供了基本USB设备请求和数据传输的用户模式接口,用户模式应用程序通过Win32函数 DeviceIoControl()给设备驱动器发送请求。Ezusb.sys提供了基本设备请求、批量读写、同步读写等一系列IOCTL函数。这里以 IOCTL_EZUSB_BULK_READ(EZUSB批量传输)为例加以介绍。

  批量传输模式下读FX2的端点FIFO的关键代码如下:

  DWORD  ioctl_val=IOCTL_EZUSB_BULK_READ;  //设置从设备中读数据

  Bresult=DeviceIoControl ( hDevice , ioctl_val ,  //从设备读数据

  &bulkControl ,      //端点号

  sizeof ( BULK_TRANSFER_CONTROL),  //传入参数的大小

  buffer ,  //读数据的缓冲区

  length ,  //读数据的长度

  (unsigned long *)&nBytes , //驱动返回的数据的实际长度

  NULL);

  限于篇幅,其他程序代码从略。

  6.结束语

  本文的创新点是充分发挥了CY7C68013的优势,利用FX2的内部可编程状态机GPIF实现了与外围FIFO“无胶”连接,避免了使用外围ASIC或者CPLD、FPGA等的麻烦,系统升级方便。整个电路结构紧凑,占用面积小,便于携带。

  本文采用Cypress公司的USB2.0芯片CY7C68013设计了一种通用的高速双路同步数据采集系统,通过将其与高精度激光纵模分析仪连接进行试验,证明该系统实现了数据的高速实时传输,达到了预先设计的目标。随着USB口的进一步普及和计算机的发展,本文设计的这种USB数据采集系统必将得到更加广泛的应用。

关键字:CY7C68013  USB2.0  GPIF  高速数据采集 编辑:金海 引用地址:基于USB2.0技术的高速双路数据采集系统

上一篇:一种应用于SoC的高速数模转换器的设计
下一篇:TLV2544/2548多通道12位串行A/D转换器的原理与应用

推荐阅读最新更新时间:2023-10-12 20:16

基于FPGA的USB2.0虚拟逻辑分析仪的设计
  引言   传统的逻辑分析仪体积庞大、价格昂贵、通道数目有限,并且在数据采集、传输、存储、显示等方面存在诸多限制,在很大程度上影响了其在实际中的应用。选用高性能的FPGA芯片进行数据处理,充分利用PC的强大处理功能,配合LabView图形化语言开发的虚拟逻辑分析仪,其数据处理和传输速率大大提高,适用性极大增强,其显示、操作界面和低廉的成本较之传统的逻辑分析仪具有极大的优势和发展前景。    工作原理   本设计选用Altera公司的Cyclone系列FPGA器件EP1C3进行数据采集和处理,外接SRAM,用于数据的存储。系统通过高性能的PIC单片机PIC18F6620完成与PC的通信,接收PC发出的触发、配置
[测试测量]
基于高速数据采集卡的虚拟示波器设计
摘要:基于PCI接口的compuScope 82G型高速数据采集卡和Visual c++编程工具.设计了一种快速虚拟示波器试验系统,为了保证数据采集和波形显示的实时性,设计中采用了多线程技术。该系统集波形采集、数据分析、输出、显示为一体,实现了高速数据的采集和动态波形的显示,并且在此基础上实现了传统示波器无法实现的频谱分析和数字滤波功能。 关键词:虚拟仪器;虚拟示波器;数据采集;CompuScope 82G 1 引言 虚拟仪器(VI-ViItuaIInstrument)是指通过应用程序将通用计算机与功能化硬件结合起来,用户可通过友好的图形界面操作计算机,就像在操作自己定义、自己设计的单个仪器一样,从而完成对被测量的采集、处理
[测试测量]
基于USB2.0的红外数据传输系统的设计与实现
  1引言   随着测试技术和无线通信技术的发展和应用,测试仪器向微型化、低功耗发展,红外数据传输成本低廉,简单易用,在很多小型设备中得到广泛应用。为避免接口插拔造成仪器损坏,实现测试仪器与PC机间的无线数据传输,减少不必要的线缆连接,这里设计一种基于USB2.0的红外数据传输系统,该系统具有低功耗、控制简单、实施方便,传输可靠性高等特点。   2系统硬件设计   2.1主要器件选型   Cypress公司的CY7C68013器件包含USB2.0的集成 微控制器 。它内部集成有1个增强型的8051、1个智能USB串行接口引擎、1个USB数据收发器、2个UART、3个8位I/O口、16位地址线、8.5KBRAM和4K
[嵌入式]
一种高速化和集成化的数据采集系统的设计
随着嵌入式技术的飞速发展,对嵌入式系统的应用需求也呈现出不断增长的态势,因此,嵌入式技术也相应地取得了重要的进展,系统设备不断向高速化、集成化、低功耗的方向发展。现场可编程门阵列FPGA经过近20年的发展,到目前已成为实现数字系统的主流平台之一。 FPGA具有单片机和DSP无法比拟的优势,相对于单片机和DSP工作需要依靠其上运行的软件进行,FPGA全部的控制逻辑是由延时更小的硬件来完成的。 通用串行总线(USB)是现代数据传输的发展趋势,是解决计算机与外设连接瓶颈的有效手段,USB2.O版本在原先的版本基础上实现许多技术上的飞跃与进步。USB2.0协议规范有以下主要优点:1)速度快,接口的传输速度高达480Mh/s,远大于PCI接
[嵌入式]
换体DMA高速数据采集电路的CPLD实现
摘要:介绍了块体DMA高速数据采集电路原理及其CPLD实现。用CPLD设计双端口RAM缓存、控制译码、时序逻辑电路,很好地解决了电路元件所占体积大、电路复杂、不能实现在线升级等问题,大大提高了系统的整体性能。 关键词:换体DMA CPLD 双端口RAM 在线升级 在许多仪器和控制系统中,高速数据采集电路是必不可少的,也是经常需要解决的问题。数据采集电路设计方法很多,但往往离不开A/D转换电路、数据缓存电路、控制逻辑电路、地址发生器、址译码电路等。而数据缓存、控制逻辑、地址译码等电路通常是由RAM芯片、与非门、触发器、缓冲/驱动器等构成,导致数据采集电路复杂、芯片繁多,特别是硬件的固定使得采集系统在线升级几乎不可能。很多情况下
[应用]
USB2.0一致性测试常见问题汇总
问题1: 一个Workshop是否就是一个plug fest?什么是plug fest? 回答:Workshop就是Plug fest,即插拔大会。会上,有许多工作需要做,包括许多一致性测试和许多互操作测试。Plug fest最初来源于PCI plug fest和USB plug fest。那时候,你需要把每个被测试设备连接在一起,以验证互操作性,即确认是否可以在一起正常工作。现在我们通常叫Workshop而不是Plug fest,是因为我们需要做更多的测试,比以前的互操作测试多更多测试内容,比如电气参数一致性测试,与黄金组件连接的测试。因此,Workshop就是Plug fest。 问题2: 如果待测物是在某些罕见的情况下才
[测试测量]
NXP针对高速数据采集应用推出LPC4370
采用 204-MHz ARM Cortex-M 处理器的单芯片在 MCU 上配备最快的 12 位 ADC 中国上海,2013 年 11月6 日讯——恩智浦半导体 (NXP Semiconductors N.V.)(纳斯达克代码:NXPI)近日宣布推出高性能 LPC4370 微控制器,这是一款完整的单芯片高速数据采集应用解决方案。LPC4370 由业界最快的 204-MHz ARM® Cortex™-M4 处理器驱动,还配备了目前在 Cortex-M 微控制器上最快的 12 位 ADC,采样率高达 80 Msps。此外,LPC4370 还有一个用于卸载控制和 I/O 任务(诸如处理 USB 堆栈等)的 204-MHz Cort
[单片机]
亚信电子推出集成整合型单芯片AX88760
    亚信电子(ASIXElectronics)近日宣布,其针对嵌入式网络应用的USB2.0转以太网产品系列,新增一款整合型单芯片:AX88760,可同时提供三端口USB2.0MTT集线器及USB2.0转以太网功能,从而缩小嵌入式系统尺寸。工程师可利用此款单芯片设计出高性能、低成本、低功耗、且紧凑的嵌入式网络应用,可用于台式电脑、笔记本电脑、UMPC、电脑扩展基座(Cradles/Portreplicators/DockingStations)、游戏机、多功能打印机、数字家电及任何具备标准USB端口的嵌入式系统。     近来多媒体单芯片为求降低成本,正朝向小型化封装发展,降低外围引脚数的一个有效方法就是采用串行接口如US
[嵌入式]
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved