数据采集卡USB2_0接口设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式技术
电 子 测 量 技 术
EL ECTRON IC M EASU REM EN T TECHNOLO GY
第33卷第1期
2010年1月 数据采集卡USB2.0接口设计
乔立岩 吴江伟 徐红伟
(哈尔滨工业大学自动化测试与控制系 哈尔滨 150001)
摘 要:数据采集在工业生产中的使用日益普遍。在对数采卡硬件组成进行综述的基础上,详细描述了一种USB 接口的设计方案,包括USB接口的硬件结构设计、接口逻辑编写和USB固件程序、驱动程序以及应用程序的设计方法。并通过实验对整个接口设计进行检测,实验结果证明该接口设计满足预期的目的和设计精度要求,传输速度可达20MB/s。
关键词:USB;固件程序;通用驱动程序;Lab windows/CV I
中图分类号:TP334.7 文献标识码:B
Designs of USB2.0interface of data acquisition card
Qiao Liyan Wu Jiangwei Xu Hongwei
(Dept.of Automatic Test and Control,Harbin Institute of Technology,Harbin150001)
Abstract:Data acquisition has been widely used in industrial production.Based on summarization of the hardware architecture,the thesis gives a detailed description of the design of USB interface,including the hardware design of USB2.0,The interface logic design in FP GA,USB firmware design,USB driver program design,and the application design.Through the experimental test,the result proves the design meets the accuracy and application objective expected,the data transporting rate is up to20MB/s.
K eyw ords:USB;Firmware;GPD;Lab windows/CVI
0 引 言
本设计中数据采集卡依据给定的激励信号将采集到的数据实时保存到板卡上的存储器中,待采集完成后上传到计算机中进行分析处理。针对设计中对数据传输接口的速度、准确性以及操作方便快捷等方面的要求,在本设计中选择U SB作为数采卡与计算机之间的通信接口。
U SB(universal serial bus),即通用串行总线,主要用于处理器与U SB设备的互联,是目前使用最为广泛的总线。该总线结构支持热插拔,操作简单,携带方便,可靠性高,传输速度快,可独立供电,支持多媒体技术,成本低廉,最多可连接127个外围设备[1]。随着U SB3.0的问世,其超高速模式传输速度可以达到U SB2.0的10倍,可以实现更低的功耗和更高的协议效率,U SB3.0的端口和线缆能够实现向后兼容,支持未来的光纤传输。因此U SB总线技术已逐渐成为自动测试领域的发展趋势。
Cypress公司的C Y7C68013A接口芯片,它通过集成的发送器、SIE、增强型的8051内核、存储器和可编程I/O 接口来支持USB2.0协议,并且支持USB2.0的全带宽传输[2]。每条指令占4个时钟周期,在48M时钟频率下工作时,单指令周期为83.3ns,执行速度远快于标准的8051单片机[3]。本设计采用C Y7C68013A芯片设计的USB
接口实现计算机与数采卡之间的正常通信,完成指令信号的传送和采集信息的存储处理。本文重点介绍数采卡USB接口的硬件和软件设计方案。
1 USB接口的硬件组成
本设计中的数据采集系统由硬件电路和软件系统两部分构成,硬件电路即数据采集卡部分,它的设计包括数据采集电路设计和USB接口电路设计两部分内容。数据采集系统硬件电路的整体组成框图如图1所示。
图1 数采卡硬件组成框图
第33卷电 子 测 量 技 术
USB 接口作为数采卡和计算机之间的交流平台,主要
负责发送用户指令和接收采集的数据信息。其硬件设计采用与FP GA 交互的方式来实现,FP GA 选用TI 公司的EP1C12Q240I7。FP GA 作为系统的主控制器,接收上位机通过USB 发送的指令信号,并将指令信号译码之后发送到数采卡完成存储器擦除、系统复位以及数据上传等操作;同时FP GA 将数采卡采集到的数据信息传送到USB 接口芯片,经SIE 打包后送到计算机。本系统接口设计方案中,选择USB 接口芯片的Slave
FIFO 通信模式,用FP GA 控制同步方式的数据读写。USB 接口的硬件组成框图如图2所示。
图2 USB 接口硬件设计框图
其中,IFCL K 为USB 接口芯片内部产生的48M Hz
时钟,引入FP GA 芯片作为与USB 接口通信的主时钟;FL A GA ~FL A GD 信号作为USB 芯片端点FIFO 的状态检测标志位,用来反映对应端点FIFO 的空、满状态;FD [15:0]为FP GA 与USB 之间16位双向数据通信总线,FD[15:8]取代端口D ,FD [7:0]取代端口B ;硬件设计中将FIFOADR [0]下拉为低电平,通过FP GA 逻辑控制FIFOADR[1]电平的高低来选择当前操作的端点存储器,低电平为端点2,高电平为端点6;SL RD 和SL WR 为同步读、写控制信号;SLO E 用于使能数据总线的输出,只有在SLO E 有效(低电平)时,选择的操作端点才能正常进行数据传输,SL RD 和SL WR 信号才有效;P KTEND 信号在发送长度小于寄存器中指定长度的数据包时被激活,完成“短”包数据传输。
2 USB 接口的软件设计
USB 接口的软件设计主要包括USB 接口的固件程
序、USB 驱动程序以及用户应用程序3部分[4]。数据采集
的后续工作是靠这3部分程序的协同工作来完成的,软件
运行的交互关系如图3所示。其中,固件程序包括FP GA
中的接口逻辑和68013中的固件程序两部分。应用程序通过驱动程序将指令信号传送到USB 接口芯片,然后固件程序做相应的解析处理,将指令信号传送到数采卡,从而实现用户指令传送以及相关功能实现;
FP GA 接收到上传数据指令时,向数采卡发送数据上传命令,数据通过FP GA 传送到68013,然后将数据上传到计算机中,由应用程序完成数据的存储和处理。
图3 USB 接口软件运行解析图
2.1 FPG A 接口逻辑设计
FP GA 接口逻辑主要负责数采卡与USB 接口之间的
正常通信,它主要包括同步FIFO 的读操作和写操作。这
里的写操作是指将FP GA 中的数据写入68013,读操作是指从68013中读取指令到FP GA 。
同步FIFO 的写操作状态转换图如图4所示。状态转换过程如下所述:当写事件发生时,转到状态1;状态1指向输入FIFO (即端点6的FIFO ),将FIFOADR[1]置为高电平,转向状态2;如果端点6的FIFO 不满,则激活SLO E 并转向状态3,否则停留在原状态;状态3传送FP GA 上传的数据,当IFCL K 上升沿(上升沿为有效触发沿)到来时,激活SL WR 信号,继续向端点6的
FIFO 写数据,然后转向状态4;如果还有数据要写则从状态4转向状态2,重复上述写操作,否则转向空闲状态。
图4 同步FIFO 写操作状态转换图
同步FIFO 的读操作状态转换图如图5所示。状态转换过程如下所述:当读事件发生时,转到状态1;状态1指向输出FIFO (即端点2的FIFO ),将FIFOADR[1]置为低电平,转向状态2;如果端点2的FIFO 不空,则激活SLO E 并转向状态3,否则说明当前没有指令,停留于状态2等待用户指令;状态3传送总线指令信号,当IFCL K 上升沿到来时,激活SL RD 信号,将指令信号读到FP GA 中,然后转向状态4;如果还有指令要读则从状态4转向状态2,否则转向空闲状态。