USB接口的高速数据采集卡的设计与实现

合集下载

一种基于USB2.0接口的高速数据采集系统的设计

一种基于USB2.0接口的高速数据采集系统的设计

Sa e lO 模 式 的时 序 。 Iv FF 其 中 , lv FF 模 式 接 口工作 时序 如 下 : Sa e IO IL : 写事 件 发 生 时 , 状 态 1 D E当 进 ;
真 , U B设 备 具 有 安装 方 便 、 插 即 用 、 带 宽 、 传 输 速 度 、 而 S 即 高 高
易 于 扩 展 等优 点 ,得 到 了更 加 广 泛 的 应用 。本 文应 用 F G 和 P A C 7 81 Y C6 0 3芯 片 设 计 一 种 基 于 U B . S 20接 口的 数 据 高 速 采 集 传输 系统 , 可广 泛 应 用 。
1 基 于 F GA 和 C 7 6 0 3芯 片 的 U B . P Y C 81 S 20接 口数 据 采 集 传 输 系统
F G n Y C 8 1 h s a e n te U B 2 n r c s o b , e w r rg ri Y C 8 1 h ( S . i P A a d C 7 6 0 3 c i ,b s d o h S . i ef e .N t lt ok e adn C 7 6 0 3 c i U B 2 n p 0 t a a yh g p 0 — tr c )i p r r d i Sa ei d ,n h IO i CY C6 0 i c nrl d b P ef e s ef me n l fo mo ea d te FF n a o v f 7 8 1 s o t l y F GA (xen lman c nrlr o c r 3 oe e tra i o t l )t a— oe
状态 1使 FF A [:1 向 I IO, : IO DR 10指 N FF 进状态 2;
状 态 2: FF 满 , 如 IO 在本 状 态 等 待 , 则 进 状 态 3 否 ;

基于USB接口的数据采集卡的设计论文(硬件部分)

基于USB接口的数据采集卡的设计论文(硬件部分)

南昌工程学院毕业设计(论文)信息工程学院系(院)电子信息工程专业毕业设计(论文)题目基于USB接口的数据采集卡的设计(硬件)学生姓名杨宏华班级06电子信息工程(1)班学号2006100126指导教师完成日期2010 年 6 月19 日基于USB接口的数据采集卡的设计(硬件)The data acquisition cardbased on USB interface (hardware)总计毕业设计(论文)30 页表格0 个插图15 幅南昌工程学院本科毕业设计论文摘要随着科技的发展和社会各个行业对点子设备集成化的需求,越来越多的电子设备将直接与计算机通信,与计算机系统融为一体,以实现各种实时的只能控制与监测。

列如在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。

但是现在通用的高速数据采集卡一般多是PCI 卡或ISA 卡,存在安装麻烦,价格昂贵,受计算机插槽数量、地址、中断资源限制,可扩展性差,在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真等缺点。

因此通用串行总线USB 是为解决传统总线不足的首选。

该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。

随着USB技术的成熟,USB传输已经上升到3.0协议,最大速度已经达到每秒4.8Gb,跟其他接口设备的传输速度相比好不逊色。

基于USB 的高速数据采集卡充分利用USB 总线的上述优点,有效解决了传统高速数据采集卡的缺陷。

在本次设计中使用PUIUSBD12 USB接口芯片,选择ADC0809芯片作为模数转换器,使用AT89S52单片机作为控制器。

为了USB接口设计调试时方便,加上了RS232串行接口,用来监测PC机与数据采集卡之间的通信过程。

关键词: USB接口、数据采集卡、PUIUSBD12、模数转换器AbstractAbstractWith technological development and social sectors to all other devices, more and more compositive demand of electronic devices communicate directly with computers and computer system to the implementation of real-time can only control and monitoring. the column as in a transient signal measure, image processing some high speed, high precision measurement of data collection. the need for rapid. But now common data collection of cards are usually ISA and PCI card or present the installation of trouble, and expensive, is computer slot number, address and interrupt resource constraints, scalability and electromagnetic interference in the nature of the test site, not special to do the electromagnetic shielding and to collect data such shortcomings. the general level of the serial bus USB is traditional for the first bus limited. Interfaces have the installation of the bus conveniently, high bandwidth and expand the advantages and has gradually become the trend of modern data transmission. the USB technology,USB transport has increased by 3.0 protocol, the maximum rate has reached 4.8GB per second, the interface device speed, no less than good. based on the USB of data collection card full use of USB strengths of the bus, the effective solution to the traditional high data collection of defects.In this design uses PUIUSBD12 USB interfaces, select ADC0809 chips as the module, for use as a controller AT89S52 monolithic integrated circuits design usb interfaces. in order to debug, and with RS232 serial interface to monitor the pc and data gathering card communication process.Key words: Usb interfaces;data acquisition;PUIUSBD12;ADC南昌工程学院本科毕业设计(论文)目录摘要 (I)Abstract (II)第一章引言 (1)1.1 当今国内数据采集卡的研究现状............................ 错误!未定义书签。

USB接口的高速数据采集卡的设计与实现

USB接口的高速数据采集卡的设计与实现

USB接口的高速数据采集卡的设计与实现现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。

现在通用的高速数据采集卡一般多是PCI卡或ISA卡,存在以下缺点:安装麻烦;价格昂贵;受计算机*槽数量、地址、中断资源限制,可扩展*差;在一些电磁干扰*强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。

通用串行总线USB是1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准。

该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。

基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统高速数据采集卡的缺陷。

1USB数据采集卡原理1.1USB简介通用串行总线适用于净USB*设备连接到主机上,通过PCI总线与PC内部的系统总线连接,实现数据传送。

同时USB又是一种通信协议,支持主系统与其外设之间的数据传送。

USB器件支持热*拔,可以即*即用。

USB1.1支持两种传输速度,既低速1.5Mbps和高速12Mbps,在USB2.0中其速度提高到480Mbps。

USB具有四种传输方式,既控制方式(Controlmode)、中断传输方式(Interruptmode)、批量传输方式(Bulkmode)和等时传输方式(Iochronousmode)。

考虑到USB传输速度较高,如果用只实现USB接口的芯片外加普通控制器(如8051),其处理速度就会很慢而达不到USB传输的要求;如果采用高速微处理器(如DSP),虽然满足了USB传输速率,但成本较高。

所以选择了TI公司内置USB接口的微控制器芯片TUSB3210,开发了具有USB接口的高速数据采集卡。

1.2系统原理图系统原理图如图1所示。

整个系统以TUSB3210为核心,负责启动A/D转换,控制FIFO 的读写及采样频率的设定,与主机之间的通信及数据传输。

USB的高精度多通道数据采集卡设计.

USB的高精度多通道数据采集卡设计.

USB的高精度多通道数据采集卡设计USB的高精度多通道数据采集卡设计摘要:详细叙述了用USB控制器CY7C68013与A/D转换器ADS8364,构成高精度多路同步数据采集卡的过程,并给出了相应的前端电路和FPGA的控制流程。

数据采集卡通过USB协议进行数据传输,增加了数据传输的有效性和采集卡的通用性。

ADS8364可以进行6通道高精度的数据采集,符合大部分的数据采集要求。

通过运用FPGA对数据采样,传输等进行控制,并在传输过程中进行一些基本的数据处理。

在电子测量中,不仅USB的高精度多通道数据采集卡设计摘要:详细叙述了用USB控制器CY7C68013与A/D转换器ADS8364,构成高精度多路同步数据采集卡的过程,并给出了相应的前端电路和FPGA的控制流程。

数据采集卡通过USB协议进行数据传输,增加了数据传输的有效性和采集卡的通用性。

ADS8364可以进行6通道高精度的数据采集,符合大部分的数据采集要求。

通过运用FPGA对数据采样,传输等进行控制,并在传输过程中进行一些基本的数据处理。

在电子测量中,不仅需要对多路信号进行高精度的采集和预处理,而且要将其快速地传送到计算机,以便于对测量的监测。

文中选用ADS8364来进行多通道信号采集,通过CY7C68013芯片采用USB2.O协议进行数据的快速传输。

1 多通道,高精度的A/D转换ADS8364是美国TI公司生产的高速、低功耗,6通道同步采样16位模数转换器。

ADS8364采用+5 V工作电压,并带有80dB共模抑制的全差分输入通道以及6个4μs连续近似的模数转换器、6个差分采样放大器。

当ADS8364采用5 MHz的外部时钟来控制转换时,它的取样率是250kHz,同时对应于4μs的最大吞吐率,这样,采样和转换共需花费20个时钟周期。

另外,当外部时钟采用5 MHz时,ADS8364的转换时间是3.2μs,对应的采集时间是0.8μs。

因此,为了得到最大的输出数据率,读取数据可以在下一个转换期间进行。

基于USB接口的高速信号采集系统设计

基于USB接口的高速信号采集系统设计

通讯技术数码世界 P.38基于USB接口的高速信号采集系统设计丁传勇 刘婧 翁铁 张燕 天津博远华信科技有限公司摘要:USB接口具有很广的应用,本文把USB3.0与FPGA协议进行高度结合,设计基于USB接口的高速信号采集系统,可供相关人员进行参考。

关键词:USB接口 FPGA通信协议 信号采集USB3.0采用了双总线拓扑结构,可以实现数据的串行通信,无须等待应答包则可以同时同方向输出多个数据包,还可以实现对其它版本USB的兼容,可以有效对数据传送过程中的干扰进行处理。

该串行通信系统中的两条总线采有通信电缆和连接器实现并连,采用星型的拓扑结构,超速总线利用分层的数据信息通信架构,利用了8b/10b 编码和解码方式,可以实现编码过程中的DC平衡,数据信息传送过程中的0、1数量基本一致,持续的0、1数量不会超过5个。

编码的原理是把持续的8位数据划分成低5位数据、高3位数据,两组数据之间填加1个数据控制位,成为10位的数据组。

在进行解码时,把这10位数据转变成contrl+8bi的数据信息,两个控制位可以使USB3.0可以对以下版本进行兼容。

可以实现同步的数据传输、中断传输、控制传输以及块传输,而块传输方式具有超高速数据通信的功能。

1系统硬件设计高速数据采集系统需要等待开关控制信号接通,之后把信号接入到调理电路中滤波、去噪。

再通过模数转换之后传输到USB3.0端口,从而实现数据采集的全过程。

在具体应用过程中,需要利用USB端口把数据采集系统与PC机进行数据连接,通过系统初始化之后,再经过I2C电路和FX3控制芯片来接收到USB端口传送过来的固件程序,对寄存器进行初始化操作之后,再设置好外围电路运行状态,数据采集系统的上位机便可以数据接收。

高速数据采集系统是由软、硬件两部分构成,硬件主要有电源模块、信号调理模块,数据采集处理模块、高速数据传输模块和其它的辅助模块构成。

控制模块的核心主要为FPGA,而数据采集的实现主要依据A/D转换,高速数据传输的技术核心在于USB。

USB接口数据采集卡的设计

USB接口数据采集卡的设计

机 的命令对 MD转换进行控 制 , 另一方 面, 它对转换后 的数 据进
行处理后规范为 U B协议规定的数据包格式发送 给主机 ,从 而 S
+v 5
D 十 ●・- — US B
数据

(l)ye 口 序 SEbt 接 s 程
D — G D N 串行 — — _◆ 接口 引擎 I M 认
21 年 第9卷 第 3 总第 16 ) 00 期( 4期
器 、 nhrC r 、增 强型 8 5 、K A co o n 0 1 8 B的片 内 R M及 Y A O接 口等 。 其电路体积小,执行 速度快 。AN 1 1C的简要结构如 图 2 2 23S — 所
示:
41
上 电时 , 自动从主机或外部 的 E P O 中 自动加载 85 将 ER M 0 1固件 代码 , 可以随时加载 、 并 多次加载。 这给开发人员带来了极大 的方 便, 他们可 以随时更改或 升级 固件代码 , 而不 需使用额外 的编程 器和其他开发装 置。这种机制 的不利 是延长了 U B设备 的列举 S 时间, 增加 了驱动程序 的复杂性 。AN 1 1C各管脚功能及其在 2 3S 电路 中的接法如表 2 l : 一 田 2 A D转换 模块 的设 计。本0 2i 所选 用的 MD转换器是 8 、/  ̄ t
中图分类号:P 3 . T 3 47 Leabharlann 引 言 文献标识码 : A
文章编号 :6 18 8 (0 0 0 — 0 0 0 17 — 0 92 1 )3 04 - 3


上位机
数据 采集(aaA q it n是获取信息 的基本手段 , 据采 D t c u io) si 数
集技术作 为信息科学的一个重要分支 , 是与传感器 、 信号测量与 处理、 微型计算机等技术为基础而形成的一 门综合应用技术 。它 研究信息数据 的采集、 存储、 处理及控制等作业 , 具有很强 的实用 性。而利用 U B总线接 口比较容易 的实现低成本 、 S 高可靠 性的多

基于USB2.0与FPGA模块的高速数据采集系统的设计实现

基于USB2.0与FPGA模块的高速数据采集系统的设计实现

基于USB2.0与FPGA模块的高速数据采集系统的设计实现近年来笔记本电脑迅速普及和更新,其中大部分已经不配置RS232接口,而USB接口已成为今后一段时间PC机与外设接口的主流。

本采集系统的设计构建了一个基于USB接口的多功能通用数据采集、传输平台,将嵌入式系统的实时性、灵活性和PC机强大的数据存储、处理、显示功能结合起来。

该采集系统在智能仪器仪表、测控系统、工控系统等领域有广阔的应用前景。

1 系统总体结构设计1.1 系统总体结构系统总体结构框图如图1所示,系统包括:单片机与USB接口模块、FPGA模块、信号调理及A/D模块。

其中,单片机外围电路相对简单,整个系统主要通过PC机的程序界面控制操作;USB接口负责与PC机通信;FPGA模块负责完成数据的采集与缓存。

1.2 单片机与USB接口模块本设计的目的是构建以PC机为平台的数据采集系统,单片机的功能仅限于接收PC机的命令、控制FPGA工作。

PC机作为整个系统的人机界面,控制整个数据采集系统进行采集、存储和处理。

由此单片机可以选择低成本的8XC51系列。

为了提高系统的灵活性,采用单片机与USB接口芯片分离的方案,选择Philip公司的ISP1581 USB2.0接口芯片。

该芯片与8XC51系列单片机的接口非常简单,可以极大地降低系统成本。

1.3 FPGA模块采用FPGA进行采样控制的最大特点是系统具有重构性和通用性。

设计中采用了Altera 公司的低成本FPGA的Cyclone系列(实际试验时,在更便宜的Acex1k器件上也可以实现),控制高速A/D芯片以20MSPS的速度采样。

FPGA模块的设计具体包括FIFO、单片机接口、A/D控制接口、DMA控制模块和主控制器等子模块的设计。

1.4 PC机端软件平台PC机采集程序使用VC++实现,直接调用Philips公司提供的驱动程序进行数据读写,大大降低了开发难度与风险。

本设计中,PC机端软件设计包括应用程序的界面设计、多线程数据采集、存储与处理模块的设计,以及与USB底层驱动程序的通信动态链接库的设计。

基于USB接口的视频采集卡设计与制作

基于USB接口的视频采集卡设计与制作

基于USB接口的视频采集卡设计与制作第一章:引言随着数字化技术的飞速发展,人们对影像与多媒体数据的需求越来越高,尤其是视频数据的产生量也不断攀升。

人们不仅需要更高质量、更清晰的画面,也需要更快的传输速度和更广泛的设备接入途径。

USB(Universal Serial Bus,通用串行总线)接口作为一种高速、简易、灵活的接口方式,因其在数据传输方面突出的优势而被广泛应用于各种设备中。

本文将探讨基于USB接口的视频采集卡设计与制作的相关内容。

第二章:基础知识2.1 USB接口基本原理USB是由英特尔、微软、Compaq、IBM等公司联手开发的一种序列总线标准,目的是解决现有器件与计算机之间数据传输方式的不便。

USB采用主-从结构,通过控制传输方式及周期来实现设备之间的交换。

其工作原理为计算机通过USB控制器驱动传送到USB总线上的数据,在传输到设备时需要遵循USB的协议和标准。

USB由4根线汇聚而成:VCC(电源正极)、GND(电源负极)、D+(数据正极)和D-(数据负极)。

2.2 视频信号获取原理视频信号是电视信号的一种,在传输和处理过程中需要转换成数字信号,视频采集卡则是专门负责将模拟信号转换成数字信号的设备。

视频信号的采集过程一般经过模数转换、滤波、降噪等流程。

典型的采集卡有普通USB接口的“全能采集卡”和PCI接口的“高速采集卡”。

全能采集卡更加灵活,可接受多种视频信号输入,并可进行采集、编码、存储、加密等多种操作。

而高速采集卡则可以在短时间内采集大量数据,速度比其他采集卡更快。

第三章:设计与实现3.1 设计方案本文主要使用STM32F103单片机作为主控芯片,MAX14872芯片为USB接口控制器。

在模拟电路方面,使用多路交换器、信号放大器等模拟电路对模拟信号进行处理。

同时为了满足不同类型的视频信号输入,特别针对PAL、NTSC、SECAM等不同信号进行优化处理。

同时为了保证数据传输的稳定性和可靠性,在硬件方面采用多路滤波器等硬件设施来保证稳定的数据传输。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

USB接口的高速数据采集卡的设计与实现摘要:讨论了基于USB接口的高速数据采集卡的实现。

该系统采用TI公司的TUSB3210芯片作为USB通信及主控芯片,完全符合USB1.1协议,是一种新型的数据采集卡。

关键词:USB A/D FIFO 固件现代工业生产和科学研究对数据采集的要求日益提高,在瞬态信号测量、图像处理等一些高速、高精度的测量中,需要进行高速数据采集。

现在通用的高速数据采集卡一般多是PCI卡或ISA卡,存在以下缺点:安装麻烦;价格昂贵;受计算机插槽数量、地址、中断资源限制,可扩展性差;在一些电磁干扰性强的测试现场,无法专门对其做电磁屏蔽,导致采集的数据失真。

通用串行总线USB 是1995年康柏、微软、IBM、DEC等公司为解决传统总线不足而推广的一种新型的通信标准。

该总线接口具有安装方便、高带宽、易于扩展等优点,已逐渐成为现代数据传输的发展趋势。

基于USB的高速数据采集卡充分利用USB总线的上述优点,有效解决了传统高速数据采集卡的缺陷。

1 USB数据采集卡原理1.1 USB简介通用串行总线适用于净USB外围设备连接到主机上,通过PCI总线与PC内部的系统总线连接,实现数据传送。

同时USB又是一种通信协议,支持主系统与其外设之间的数据传送。

USB器件支持热插拔,可以即插即用。

USB1.1支持两种传输速度,既低速1.5Mbps和高速12Mbps,在USB2.0中其速度提高到480Mbps。

USB具有四种传输方式,既控制方式(Control mode)、中断传输方式(Interrupt mode)、批量传输方式(Bulk mode)和等时传输方式(Iochronous mode)。

考虑到USB传输速度较高,如果用只实现USB接口的芯片外加普通控制器(如8051),其处理速度就会很慢而达不到USB传输的要求;如果采用高速微处理器(如DSP),虽然满足了USB传输速率,但成本较高。

所以选择了TI公司内置USB接口的微控制器芯片TUSB3210,开发了具有USB接口的高速数据采集卡。

1.2 系统原理图系统原理图如图1所示。

整个系统以TUSB3210为核心,负责启动A/D 转换,控制FIFO的读写及采样频率的设定,与主机之间的通信及数据传输。

2 USB数据采集卡硬件2.1 TUSB3210芯片TUSB3210是TI公司推出的内嵌8052内核并带有USB接口的微控制器芯片。

TUSB3210有256字节的内部RAM,8K字节的程序RAM,512字节的USB数据缓冲和端点描述块EDB(Endpoint Descriptor Blocks),4个通用的GPIO端口P0、P1、P2、P3,I2C接口电路,看门狗电路等。

TUSB3210的USB接口符合USB1.1协议,有4个输入端点(Input Endpoint)和4个输出端点(Output End-Point),支持全速和低速传输速率,并具有USB 协议所规定的4种传输方式。

TUSB3210的USB接口采用串行接口引擎(SIE)编码和解码串行数据,并且进行校验、位填充,执行USB所需要的其他信号。

这样采用硬件完成USB协议,简化了固件代码的编制。

[!--empirenews.page--]TUSB3210采用基于内部RAM的解决方案,允许通过I2C总线从串行EEPROM中读入固件或从主机中下载固件程序。

这项功能便于设备的开发与在线升级。

2.2 A/D芯片MAX1449MAX1449是MAXIM公司生产的10位、105MSPS、单3.3V 电源、低功耗的高速A/D芯片。

它采用差分输入,带有高宽带采样/保持(T/H)的10阶段流水线(pipeline)型结构的ADC,如图2。

采样信号每半个时钟周期通过一个流水线段,完成连续转换到数据输出共需5.5个时钟周期。

每个流水线首先通过一个1.5位的闪速ADC对输入电压量化,由DAC产生一个对应于量化结果的电压并与输入电压作差,输出电压放大2倍后送到下一级流水线处理。

每级流水线提供1位的分辨率,并进行差错校正,得到良好的线性和低失调。

MAX1449提供一个2.048V的精确带隙基准源,用来设定ADC满量程范围,也可以用外部基准源改变量程范围。

MAX1449的最大差分输入电压范围为2V。

2.3 输入信号处理电路MAX1449芯片的输入信号为差分输入时有最佳的采样效果。

在本系统中用TI的HTS4503作为单端输入到差分输出的转换电路。

THS4503高性能的全差分运放,带宽可达270MHz,具有非常好的线性,在100MHz下可支持11位的A/D转换要求,适合作为A/D变换的前端接口电路。

具体电路见图3所示。

2.4 FIFO和时钟发生电路高速A/D变换的数据不能直接通过USB送入主机,系统中通过FIFO来缓冲数据。

本系统采用TI公司SN74V293芯片。

它的容量为65536×18或131072×9,最快读写周期为6ns,可以满足100MHz采样数据的存储。

用户可以选择输入、输出宽度,当选择输入、输出宽度为18时,可存储64K×10位的数据。

如果选择输入、输出为9位,则可使存储容量扩大到128×9位,这样对精度要求不高的用户可以获得更多数据。

SN74V293有独立的读写时钟控制电路,允许读写操作同时进行。

SN74V293内部有满、空、半满输出信号以及可编程设定的几乎满和几乎空输出信号,通过这些信号控制器可以灵活控制FIFO的读写操作。

对于高速数据采集系统,时钟信号很重要。

在本系统中选用DALLAS公司的DS1073时钟芯片。

DS1073是无需外部元件的频率振荡器。

通过DALLAS独有的1-wire技术,可以设定内部的分频器数值,实现输出频率从27.3kHz~100MHz 可调,从而方便地改变采样时钟,简化电路设计。

MAX1449数据输出时下降沿有效,而FIFO 写入时上升沿锁存数据。

系统中采用DS90LC028A实现对时钟信号的取反。

2.5 PCB板制作由于是高速A/D采集,在制作PCB板时有一些需要注意的地方。

电路板最好使用多层板,元件尽量选用表面封装器件。

这样可以减小元器件之间的距离,减小寄生电感、寄生电容,同时减小电路板的尺寸。

所有的旁路电容都要尽量靠近芯片的电源管脚。

模拟公共地和数字公共地要分开,选一点通过低值表贴电阻(1~5Ω)、磁珠或直接连接,以免数字地电流干扰模拟地。

电源最好用线性稳压电源,A/D和前端处理电路要用同一电源地输出,减小电源波动对采集的影响。

[!--empirenews.page--]3 USB高速数据采集卡的软件开发一个USB设备,软件设计是必不可少的。

USB应用系统软件设计分为三部分:USB外设端的固件(Firmware)、主机操作系统上的客户驱动程序以及主机应用软件。

主机应用软件通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作;固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。

3.1 USB接口编程固件程序主要是实现USB通信。

TUSB3210采用SIE来管理USB通信。

当主机与芯片进行USB通信时,会产生外部中断0,[1][2]下一页通过中断矢量寄存器判断。

Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这三个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int 这两个中断主要在批量传输时使用。

在固件中分别执行不同的中断程序来实现USB的数据传输。

Void EX0_int(void) interrupt 0 //外部中断0{EA=DISABLE; //关中断switch (bBECINT)(//确定中断IDcase VECINT_OUTPUT_ENDPOINT0:bVECFINT=0x00;Ep0QutputInterruptHandler();break;case VECINT_INPUT_ENDPOINT0:bBECINT=0x00;Ep0InputInterruptHandler();break;case VECINT_OUTPUT_ENDPOINT1:bVECINT=0x00;Ep 1 OutputInterruptHandler();Break;caseVECINT_INPUT_ENDPOINT1:bVECINT=0x00;Ep1InputInterruptHandler();break;case VECINT_SETUP_PACKET_RECEIVED:SetupPacketInterruptHandler();bUSBSTA=USBSTA_SETUP; bVECINT=0x00;break;[!--empirenews.page--]default:break; //不知道中断IDEA=ENABLE; //开中断}3.2 主机软件设计笔者首先开发TUSB3210在主机中的驱动程序。

用WinDK3.0开发了Win2000下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。

在应用程序开发中,可用VC++编制应用程序。

可以把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DeviceIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。

程序实例如下:HANDLE m_hUsbSample; //USB句柄m_hUsbSample=CreateFile(\\.\USBSampl0,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULI,OPEN_EXISTING,0,NULL); //打开USB句柄DeviceIoControl(m_hUsbSample,IOCTL_USBSAMPL_REBOOT, NULL,0,NULL,0,&length,NULL); //控制传输WriteFile(m_hUsbSample,pBuffer,writelength,&writelength,NULL); //批量输出传输ReadFile(m_hUsbSample,pBuffer,64,&lgngth,NULL); //批量输入传输CloseHandle(m_hUsbSample); //关闭USB句柄使用上述函数编制USB高速数据采集卡的主机软件。

通过以上设计实现了基于USB数据采集卡的基本功能。

但还有一些如信号的触发、事件的捕获功能还需完善;需开发基于USB2.0的系统,进一步提高数据传输的速率。

相关文档
最新文档