微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于CYUSB3014 USB3.0总线开发技术

基于CYUSB3014 USB3.0总线开发技术

时间:02-25 来源:电子爱好者博客 点击:

配合使用其提供的通用驱动程序,可以便利地调用控制USB设备。应用程序的主要功能是发送命令,并将USB输入数据保存下来,程序主要界面如图6所示。

  

  4.测试结果及分析

  4.1 写入数据测试

  当应用程序向USB发出写命令时,FPGA产生测试数据并传给FX3以便上传给PC机。

  采集1000MB的数据进行记录,以便在MATLAB中进行分析。

  CYPRESS官方开发包中自带了streamer软件进行速度测试。在Endpoint选项中选择Bulk in endpoint端点(Bulk Out对应的是PC机向FPGA写数据)。由于批量传输时的最大包为1024字节,因此需要将Packets perXfer设置为256或以下,Xfers to Queue置为4。不同的USB3.0控制器,速度的测试结果会有所不同。如图7所示是在64位WIN7系统下的测试及分析结果。如图7(a)中所示,经过一段时间的速度测试,23704个成功包,0失败,往P C中写入数据的速度能够达到178800KB/S,即1.43Gbps。为了验证数据的正确性,在MATLAB中对采集的8.0Gb数据进行分析。由于测试数据是0~255之间循环变化,因此可以根据每一包数据的数据差是否为1来判断数据的正确性,当不为1时报错。

  如图7(b)所示,读取的数据是正确的,没有发生丢数或错数的情况。

  

  4.2 读出数据测试

  类似的,当应用程序向USB发出读命令时,同时会产生一组有规律的测试数据,并传送给CYUSB3014,FPGA直接读取数据。如下图8(a)所示是读入速度测试结果,18252个成功包,0失败,往USB中写入数据的速度能够达到179000KB/S,即1.432Gbps。在FPGA中记录下随机采集的32k数据并进行分析,同样的可以根据数据间的差来判断数据的正确性,如图8(b)所示,写入的数据时正确的,没有发生丢数错数的情况。

  

  5.结束语

  本文在FPGA和CYUSB3014的基础上,对USB3.0进行了开发应用。鉴于本文的系统架构,虽然测试数据都是FPGA内部产生,但是对于实际使用高采样率AD的数据采集系统具有很大的借鉴意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top