具有USB2.0接口的高速数据采集卡设计

时间:2023-03-18 14:41:07 理工毕业论文 我要投稿
  • 相关推荐

具有USB2.0接口的高速数据采集卡设计

摘要:讨论基于USB接口的高速数据采集卡的设计与实现。详细讲述数据采集卡的硬件部分设计,并简要介绍固件程序、驱动程序和应用软件的设计。

引言

数据采集在现代工业生产及科学研究中的重要地位日益突出,并且实时高速数据采集的要求也不断提高。在信号测量、图像处理、音频信号处理等一些高速、高精度的测量中,都需要进行高速数据采集。现在通用的高速数据采集卡一般多是PCI卡或ISA卡,这些采集卡存在很多缺点,比如安装麻烦,价格昂贵,尤其是受计算机插槽数量、地址、中断资源的限制,可扩展性差。

通用串行总线USB是用来连接外围设备与计算机之间的新式标准接口总线。它是一种快速、双向、同步传输、廉价的并可以实现热拔插的串行接口。USB技术是为实现计算机和通信集成而提出的一种用于扩充PC体系结构的工业标准。基于USB接口的高速数据采集卡,充分利用了USB总线的优点,它也必将被越来越多的用户所接受。

1 USB数据采集卡原理

1.1 USB简介

USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。它支持在主机与各式各样即插即用的外设之间进行数据传输。它由主机预定传输数据的标准协议,在总线上的各种设备分享USB总线带宽。当总线上的外设和主机在运行时,允许自由添加、设置、使用以及拆除一个或多个外设。USB总线技术的提出就是想利用单一的总线技术,来满足多种应用领域的需要。USB1.1协议支持两种传输速度,即低速1.5Mbps和高速12Mbps。为了在高速接口之争中占有一席之地,2000年发布了USB2.0协议,它向下兼容USB1.1协议,数据的最高传输速率提高到480Mbps,这就使USB对打印机和其它需要快速传递大容量数据的外设更具吸引力。

为了满足实际数据采集USB传输速度较高的需要,选择了Cypress公司的内置USB接口微控制器芯片EZUSB FX2系列,开发了具有USB接口的高速数据采集卡。

1.2 系统框图

USB系统是一个主从系统,而非对等(peer-to-peer)系统。在主从系统中,命令是由主设备发出,而从设备只能接收命令,只有在主设备读取数据时,从设备才能提交数据。如图1所示,在USB控制器与外围电路之间需要一个FIFO,来充当数据的缓存区。那么,在USB从设备向主设备发送数据时存在一个问题:FIFO多大才能满足要求。为了满足数据采集中高速实时流数据垢应用,避免FIFO溢出,在我们的系统中,通过FPGA及SDRAM构造一个容量的FIFO(图1虚线框内所示),可以提供一个低成本并能满足高速实时流数据传输的解决方案。

图2

2 USB数据采集卡硬件

2.1 EZ-USB FX2(CY7C68013)芯片

Cypress公司的EZ-USB FX2系列芯片是最早符合USB2.0协议的微控制器之一,它集成了符合USB2.0协议的收发器(transceiver),串行接口引擎(SIE),增强型的8051内核以及可编程的外围接口。FX2系列芯片独特的结构使得数据传输速度最高可达56Mbps,最大限度地满足了USB2.0的带宽。

EZ-USB FX2的微处理器是一个增强型的8051内核,性能可达标准8051的5~10倍,并与标准8051的指令完全兼容。增强型的8051内核使用RAM世馘 作程序指令和数据存储器,从而使得EZ-USB FX2具有“软”特性,也就是说,可以通过自行编写程序指令来实现所需的功能。EZ-USB FZ2使用增强型SIE/USB接口(称为USB核),通过执行USB部本身的协议来简化8051代码编写的工作。这样采用硬件完成USB,简化了固件代码的编制。对于固件代码的使用,主机通过软件下载的方法实现。这种方法充分利用FZ2内部的8KB RAM来装载8051代码和数据。由于EZ-USB FZ2具有重新枚举的能力,所以在初始化枚举时,用户并不需要断天设备就可以装载新的描述符。设备描述符和8051程序代码都能通过主机中的磁盘文件下载,只有制造商号、产品号和设备号从启动时从一个16字节的EEPROM下载到硬件中的。通过这种方式,可以比较容易地从主机升级软件和修改USB总线设备的固件代码。

EZ-USB FX2的通用可编程接口GPIF以及Master/Slave端点FIFO所对应的8/16位数据总线,可以很容易地实现FX2与当前一些主流通过接口(如ATA、UTOPIA、EPP、PCMCIA和大部分DSP处理器)的互连。它共有7个端点,端点0,端点1和IN和OUT,还有端点2、4、6和8。其中,前3个端点的大小是固定的64字节,后4个端点默认大小是2级512字节的FIFO,端点2和端点4默认是OUT端点,端点6和端点8默认是IN端点,而端点2和6分别可以定义为2级、3级或4级的存储器,每级的大小也可以是512字节或1024字节。从EZ-USB FX2方向来看,一个端点相当于通过总线收发数据的缓冲区,EZ-USB FX2从OUT缓冲区中读取端点数据,将通过USB传的端点数据写入IN缓冲区。它求全责备速(12 Mbps)和高速(480 Mbps)传输速率,并具有USB协议所规定的4种传输方式,即控制方式(control mode)、中断传输方式(interrupt mode)、批量传输方式(bulk mode)和等时传输方式(isochronous mode)。

EZ-USB FX2系列是基于RAM的“软”结构,在开发过程中允许无限制设置和升级;它支持全速USB总线吞吐量的传输,使用EZ-USB FX2进行设计,可以不受端点数、缓冲区大小和传输速度的限制;此外,其内核中做了大量的辅助指令,简化了编码,同时也加快了对U

【具有USB2.0接口的高速数据采集卡设计】相关文章:

ISDN网与普通电话接口(POTS)设计05-29

数字视频接口-DVI 1.005-31

局域网数据库环境下数据采集及处理05-08

数据建模论文格式06-29

数据库开题报告10-29

档案利用数据统计与实际效益05-12

旅游管理下数据挖掘运用论文11-18

浅析电力调度数据专网05-18

计算机数据库论文07-20

计算机数据库论文07-21