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

发布者:CW13236066525最新更新时间:2014-09-04 来源: elecfans关键字:DDR2  FPGA  USB总线 手机看文章 扫描二维码
随时随地手机看文章
  1.引言

  USB(Universal Serial Bus,通用串行总线)以其无需配置、即插即用等特性获得了广泛的应用。2004年提出的USB2.0标准,传输速度最大能够达到480Mbps。但在 USB3.0标准中,它的最大传输速度几乎是传统USB2.0传输速度的10倍,达到了5.0Gbps,被定义为“超高速U S B接口”。本文基于CYPRESS的FX3系列USB3.0芯片,对USB3.0总线进行研究开发。

  2.USB3.0接口芯片概述

  赛普拉斯的EZ-USB FX3是新一代的USB3.0外设控制器,具有高度集成的灵活特性,允许系统设计者将USB3.0添加至任何系统。本文采用的是FX3系列USB3.0芯片CYUSB3014

  

  FX3是完全兼容USB3.0 V1.0和USB2.0规范的,集成的USB2.0 OTG控制器允许芯片作为主从设备使用。另外,它还支持一些常用的外设接口,如SPI,I2C,UART和I2S可以与外部设备进行通信。

  FX3具有一个可进行完全配置的并行通用可编程接口GPIF II,它可以与任何处理器、ASIC或是FPGA连接。它可以轻松无缝地连接至多种常用接口,比如异步SRAM、异步和同步地址数据复用式接口、并行 ATA等等。EZ-USB FX3集成了USB3.0和USB2.0物理层(PHY)以及32位ARM926EJ-S微处理器,具有强大的数据处理能力,并可用于构建定制应用。

  3.系统整体设计

  本系统设计主要由软件部分和硬件部分组成。软件部分主要包括三大部分:PC机应用程序、FX3固件程序FPGA程序。硬件部分主要由FPGA、USB3.0芯片和DDR2组成,硬件的系统框图如图2所示。本文主要完成了硬件、PC机应用程序和FPGA程序的设计。

  FX3固件程序使用的是Cypress的SDK开发包的固件程序。

  

  3.1 DDR模块设计

  与FPGA相比,USB3.0接口是一个高速的接收单元。在不同工作速度的系统之间,数据缓存是不可或缺的部分,一般来说,使用FIFO基本可以使各系统工作在自己的时钟频率下,而不需要反复的互相握手信号就能进行数据的交流。本文设计的数据是保存在计算机上,由于各计算机的硬件配置可能会不一样, 我们设计了DDR2虚拟FIFO模块来进行数据缓存,为批量传输时能够提供足够的缓存,不用担心为缓存不够电脑来不及存取数据造成数据丢失。

  本系统选用两片MT47H64M16HR,两片DDR并联控制总线和地址总线,总存储容量达到2Gbit,读写宽度都为16bit,它具有丰富的资源,足够满足本系统的需要。

  3.2 USB3.0接口设计

  与USB2.0不同的是,USB3.0在与计算机通讯时,它有自己专用的数据通路,专用的数据发送线路和独立的数据接收线路,即图3中四线差分信号 SSRX+/-和SSTX+/-,从而可以真正的实现全双工。同时,USB3.0还兼容了USB2.0的D+/-信号接口,从而可以与USB2.0无缝连接。使用从器件FIFO接口与FPGA链接,传输速度能达到可达到320MBps。图3为USB芯片与FPGA和PC机的电路连接。

  

  3.3 FPGA逻辑设计

  FPGA是整个系统的核心,它需要产生测试数据并将数据存储到DDR2中,以及将DDR2中读出的数据转移到CYUSB3014大的内部FIFO中,因此它主要由如图2内部所示模块构成。

  

  3.3.1 USB接口模块

  USB接口模块主要处理读写命令。读写命令需要计算机通过USB控制传输,传递到CYUSB3014中,再由CYUSB3014将具体的命令转化为电平信号送到FPGA的IO口。USB接口模块根据UART_RX上的电平信号,判断出是读命令还是写命令,最终产生CYUSB3014的片选CS、使能 OE、读/写控制等有效信号。[page]

  当为写命令时,CYUSB3014需要将从DDR2中读取的数据发送出去;当为读命令,读取CYUSB3014传递过来的数据,流程图如图4所示。图5、图6分别为同步写入和读出数据的时序图。由于读写最大包为1024字节,所以实际每一包传输需要256个周期。图中的输入/出DQ数据为测试数据模块和PC机产生的测试数据,RX即UART_RX信号。

  

  3.3.2 测试数据模块

  当计算机向FPGA发出读命令时,FPGA产生测试数据。32位数据,高16位为0,低16位循环计数,发送一个周期后,自动清零。

  批量(bulk)传输时的最大包大小为1024字节,因此测试数据在0~255之间循环变化。

  产生测试数据后,数据传输流程为DATA->

  DDR2->FIFO->CYUSB3014->PC机,实现了将测试数据上传到PC机的功能。

  3.3.3 DDR2接口模块

  该部分直接负责外围DDR2接口,利用FPGA的DDRII SDRAM IP核实现,按照DDR2芯片MT47H64M16HR来设定控制器的时序参数,控制器根据这些参数值生成满足MT47H64M16HR时序的接口,再由DDR2模块进行读写控制。

  3.4 应用程序的设计

  应用程序由VC++编写,利用与设备驱动关联的API与设备联系。CYPRESS公司提供了完整的API库,配合使用其提供的通用驱动程序,可以便利地调用控制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的数据采集系统具有很大的借鉴意义。

关键字:DDR2  FPGA  USB总线 引用地址:基于CYUSB3014 USB3.0总线开发技术

上一篇:便携式移动机器人手持监控系统设计
下一篇:赛普拉斯推出49美元的SuperSpeed探索者开发套件

推荐阅读最新更新时间:2024-05-02 23:09

多路同步串口的FPGA传输实现
简介:随着集成电路技术的发展,FPGA和DSP以及ARM以其体积小、速度快、功耗低、设计灵活、利于系统集成、扩展升级等优点,被广泛地应用于高速数字信号传输及数据处理,以DSP+FPGA+ARM的架构组成满足实时性要求的高速数字处理系统已成为一种趋势,本文主要研究FPGA在高速多路数据传输中的应用。 系统结构 在DSP多路串行数据同时向ARM发送的系统中,因为数据通道有并行要求,应用FPGA硬件并行的特点,由FPGA并行接收多路数据,经过缓冲后再发送至ARM进行数据的高级处理的方案,系统结构图如图1所示。 图1 系统结构图 FPGA处理模块实现 DSP的串口传输方式为同步串口,每组DSP串口有4个端口,分别
[单片机]
多路同步串口的<font color='red'>FPGA</font>传输实现
基于ARM与FPGA的LCD控制器设计
  随着显示屏技术的不断发展,真彩液晶显示屏以其高分辨率、高对比度及高清晰度等优势逐渐在嵌入式显示系统中占据重要地位。目前,基于嵌入式平台的LCD显控技术的实现主要有两种方式:ARM内嵌LCD控制器和独立的控制器件。但是这两种实现方式都存在着不足之处,内嵌控制器的使用可能增大处理器的负担和限制显示帧率,而外部控制器件不仅成本高,而且专用性比较强,很难适应不同类型的液晶屏。   据此存在的问题,这里提出一种基于ARM与FPGA的LCD控制器设计方案,该设计方案一方面能够通过操作LINUX OS下的Framebuffer设备提高显存的写入速率及减轻处理器的负担,另一方面用FPGA来实现LCD控制器的设计,开发周期短、功耗低,同时具有
[嵌入式]
基于ARM与<font color='red'>FPGA</font>的LCD控制器设计
打开通往30亿美元增量市场的新大门
全新低功耗中端Avant FPGA平台的面世,不但意味着莱迪思迈入了中端FPGA供应商的行列,还打开了一扇通往30亿美元增量市场的新大门。 与此前的产品相比,主要面向通信、计算、工业和汽车等领域的Avant平台在性能和硬件资源方面得到了进一步的强化,例如逻辑单元容量达到了500K,相比以往100K-150K的配置,提升了5倍;带宽提升了10倍,计算性能提升30倍。 “低功耗”、“先进的互联”和“优化的计算”是该平台的三大核心特点,其关键的架构亮点包括25G SERDES和并行I/O标准,可满足各种接口的需求,支持各类外部存储器接口,包括DDR4、DDR5和LPDDR4以及传统标准。同时,与同类竞品器件相比,封装尺寸减
[嵌入式]
打开通往30亿美元增量市场的新大门
Altera发布第10代FPGA的30 A集成数字DC-DC转换器EM1130
具有自适应数字控制功能的Altera新PowerSoC针对Power FPGA内核进行了优化 2015年3月12号,北京 Altera公司(NASDAQ: ALTR)在其越来越多的FPGA Enpirion电源解决方案中增加了30-amp PowerSoC DC-DC降压转换器。30-amp EM1130是集成数字DC-DC降压转换器系列的第一款产品,为Altera的第10代FPGA提供电源管理功能,特别是Arria 10和Stratix 10 FPGA内核以及收发器电源轨。自Altera于2013年成功收购Enpirion公司电源IC之后,EM1130数字电源管理器件是Altera努力为可编程逻辑市场提供最优电源
[电源管理]
英特尔推出面向工业和汽车市场的全新多功能FPGA
为支持日益增多的物联网(IoT)应用,英特尔公司今天发布了英特尔® Cyclone® 10 系列现场可编程门阵列(FPGA)。该系列旨在提供快速、节能的处理能力,可用于广泛领域,包括汽车、工业自动化、专业视听和视觉系统等。 随着“万物”具有更高的互联水平并能够彼此共享大量实时数据,数据处理变得愈发困难。建筑物、工厂、家庭和车辆中的传感器和摄像头发出的信息日益增多,微处理器或微控制器已经无法单独处理这些信息。 英特尔FPGA等高性能处理设备能够收集和发送数据,根据物联网设备的输入做出实时决策。FPGA 可通过专门编程,提供不同物联网应用需要的特定计算和功能。 Cyclone® 10 FPGA–Cyclone® 10 GX和Cyclo
[汽车电子]
基于GB3442-82的集成运放参数测试仪设计
   1 引言   集成运放以其价格低廉、性能优越等特点在个人数据助理、通信、汽车电子、音响产品、仪器仪表、传感器等领域得到广泛应用。随着数字技术的不断进步和集成电路市场的发展.兼有模拟和数字集成电路的SOC或混合集成电路将越来越受重视。与此同时,集成运放参数的测定也将对研发人员和技术仪器提出更高的要求,传统的运放测试仪校准方案已不能满足市场特别是国防军工的要求.运放测试仪的校准面临严峻挑战。因此,提高运放测试仪的测试精度,保证运放器件的准确性是目前应解决的关键问题。    2 系统方案论证   2.1 信号发生器方案论证   考虑到单片函数发生器的外接电阻电容对参数影响很大,因而产生的频率稳定度较差、精度低、抗干扰能力
[模拟电子]
基于FPGA和单片机的多功能计数器设计
  一、系统方案   方案1:采用中小规模数字电路构成系统,由计数器构成主要的测量模块。用定时器组成主要的控制电路。此方案软件设计简单,但外围芯片过多,且频带窄,实现起来较复杂,功能不强,而且不能程控和扩展。   方案2:采用单片机实现。被测信号经调理后送入单片机,利用其内部的计数器完成计数,然后再进行数据处理和显示,但单片机在处理高速信号时略显吃力。   方案3:利用FPGA对调理后的被测信号实现高速计数,单片机软件执行高精度浮点数运算并显示。单片机完成系统的数据处理、逻辑控制和人机交互功能;大规模现场可编程器件(FPGA)实现外围计数功能。电路框图如图1所示。    图1 方案3系统框图   方案比较与选择:方
[单片机]
基于<font color='red'>FPGA</font>和单片机的多功能计数器设计
一种基于FPGA实现的全数字锁相环
摘要:锁相环被广泛应用于电力系统的测量和控制中。介绍了一种新型的基于比例积分控制逻辑的全数字锁相环。通过对其数学模型的分析,阐述了该锁相环的各项性能指标与设计参数的关系,并由此提出了具体的设计方法,同时提供了一个基于MAX+PLUS II软件和FPGA器件完成的设计实例。仿真和实测结果表明了该锁相环设计方法的正确性和易实现性,也验证了该锁相环的良好性能。 关键词:同步采样 同步控制 锁相环 FPGA 同步技术在电力系统的测量和控制中起着非常重要的作用。基于同步采样和整周期截断的离散傅立叶算法可以提高谐波或纹波的分析准确度。有些电力系统设备需要实现同步控制,如电机同步调速、换流器的同步触发等。为了实现同步测量和控制,可以采用锁相
[应用]
小广播
热门活动
换一批
更多
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved