新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于USB通信的FPGA高速数据采集系统

基于USB通信的FPGA高速数据采集系统

作者:时间:2011-06-29来源:网络收藏

2.3
中,控制器被配置为SlaVe FIFO模式,CY7C68013A Slave模式接口引脚的连接如图4所示,这样可以将控制器当成FI-FO来控制,而不用考虑USB标准的各种规则。而USB控制器则将USB标准的各种规则通过许多特殊寄存器来设置,将USB控制简化。
因此,此部分的软件实现包括2个部分。从图4可以看出,对各RAM轮流读取数据,由于RAM大小与USB数据包大小设定一致,直接把数据送入CY7C68013A即可。而把CY7C68013A当成FIFO来控制,所以该部分程序比较简单。而CY7C68013A内程序设计主要是通过固件程序对传输速度、传输方式、传输模式等进行设置。

本文引用地址:http://www.eepw.com.cn/article/156123.htm

e.jpg


固件程序是指运行在设备CPU中的程序,只有在该程序运行时,外设才能称之为具有给定功能的外部设备。把固件代码固化到1片E2PROM中,外设加电后由FX2通过I2C总线下载到片内RAM中自动执行。固件架构是由Keil C51编译器与其整合开发工具所编写和构建。其主要文件包括:fw.c负责设备连接、重枚举、设备初始化;periph.c负责响应各种中断事件,是主要的用户函数应用代码;gpif.c含有GP IF波形描述符表,可以实现波形的传输;dscr.a51文件定义USB设备握手时需要的各种描述符;fx2.h定义各种二级中断向量和描述符的数据结构;fx2 regs.h定义USB单片机中所有的寄存器。
USB支持4种传输类型:控制传输、中断传输、等时传输、批量传输。批量传输可以是双向的,也可以是单向的。它特别适合大数据量的传输,而且它对传输的准确性要求较高。因此,通过固件程序设定本采用Slave FIFO模式,批量(BULK)传输方式进行数据传输。

3 实验结果
为了方便实验,使用耦合器将一路光信号分为16路相同的信号,这样所有采集到的信号波形基本相同。实验时,AD7356设定为1 MHz采样速率,USB数据包大小为512 Kb,CY7C68013A采用异步SlaveFIFO模式发送数据,上位机采用Cypress公司自带的EZ-USB Interface软件采集实验数据。采集到的信号如图5所示,系统在16.7 Mb/s的传输速率下工作正常。

a.JPG



4 结语
本文采用目前使用最为广泛的EZ-USB FX2LP芯片,给出了USB系统的设计。该系统充分表现了USB接口传输数据量大,传输速度快的特点,非常的适合大批量数据实时的传输场合,尤其适合系统和主机的,能够实时的处理采集到的数据。这克服了以往速度慢,采集数量少,接口复杂等特点,实现了数据采集的率、多通道。系统进行实测实验表明,在CY7C68013A设定为16.7 Mb/s的传输速率下,系统工作正常。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭