『USB3.0Cypress』汇总导航

Welcome

大家好,欢迎来到瑾芳玉洁的博客!
😑励志开源分享诗和代码,三餐却无汤,顿顿都被噎。
😭有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩,不出意外被敷衍、被唾弃、被埋在了垃圾堆。
🙂喜欢舞文弄墨咬文嚼字的混沌世界,懵懂无知走上了工科直男01的不归路。
😎八十公斤的体重勉强与大鹏一日同风起的浮力动态平衡,做不到宠辱不惊无欲无求的匀速直线运动,就按部就班的小波浪式前进,螺旋式蠕动。
🤵🤵🤵我是一名FPGA工程师!我就是我,一个没有颜色的错过的烟火,一个立志成为CSDN TOP100的黑铁FPGA选手!👌✌哦耶~~~

前言

基于Cypress cyusb3014芯片以及赛普拉斯官方对于此芯片的支持,开发基于USB3.0的应用。提供从控制器到PC端到端的解决方案。简单来说,是将含控制器板卡与PC端通过USB3.0连接线相连,可以使二者之间进行高速通信。一个成熟的应用框图如下图所示,控制芯片(通常是FPGA、ASIC)通过GPIF II接口(通常用GPIF II状态机实现为同步从模式接口)与cyusb3014芯片通信(FX3),该芯片将数据打包成USB3.0协议的数据,通过传输线将最左端器件的数据传输到PC端,通过定制上位机程序,可以获取下位控制器发出的数据。当然,数据方向相反亦可通信。我的最终目的就是实现这个端到端的通信,将其中涉及到的内容做成了一个系列。
在这里插入图片描述

知识架构

涉及到的内容大致包括USB本身的知识、FX3芯片的知识、主机端上位机软件、FPGA端下位机这四个方面。如下图所示。首先,从USB本身出发,要了解USB出现的来龙去脉、使用USB的优缺点、当前USB的生态、USB的发展前因后果(usb2-usb4,速度,理念等),以及关于USB的常识(结构,接口,电气信号,logo,class等),资源整合(TI FIDI cypress的方案,两个链接);其次,从USB原理的角度出发,应认识标准请求、熟悉上电连接的枚举过程(通信过程的建立)、事务与包的概念、了解四种传输方式的特点、描述符字段等内容;那么关于FX3芯片,应了解赛普拉斯提供的支持,包括了开发环境,文档资源整合管理,总的架构说明,测试速度的方法;固件开发角度,需要了解,GPIF II接口原理,数据流的过程(基本的概念),代码结构,代码流程,吞吐量的优化,控制传输原理与实现,同步传输原理与实现;关于FPGA端,应了解数据接收打拍的原因,时钟相位反转180°的原因,基本的读写时序,明确每一个沿的来由,典型现象的分析;Qt端开发usb的应用,如何添加库,如何用这个类,如何烧写。最后提供的一些调试的经验,出现的问题和现象。以上是本系列成稿初期规划的内容,刚开始看时不明就里属于正常,随着学习的深入返回来再看,是否清晰自一目了然。知识是反复迭代的痛苦过程,追求的便是醍醐灌顶那瞬不由自主的得意洋洋。
在这里插入图片描述

系列文章目录

💼Part1:USB原理
    USB(Universal Serial Bus)是一种通用的、标准化的接口技术,通过统一的连接标准和协议,实现了设备之间的互联互通。USB接口的普及使得设备之间的连接更加简便和灵活,为用户提供了更便捷的数据传输和通信方式。同时,USB接口也在不断发展和演进,不断提升传输速度和功能,以满足不断增长的设备连接需求。本部分通过以下几篇文章介绍USB相关原理,目的是理清USB开发过程中需要熟悉的原理概念,同时普及USB相关的知识,最后能够把握开发的方向。

    🔒第一篇文章USB原理(1)发展历程简要
    简介: 介绍USB诞生的背景,迭代的历程,与雷电之间的关系,介绍当前现状与今后趋势。
    🔒第二篇文章USB原理(2)相关概念
    简介:介绍USB相关概念,包括USB拓扑结构、接口类型、电气标准,Class等。
    🔒第三篇文章USB原理(3)设备连接、传输类型
    简介:介绍USB设备之间建立主从点对点通信的过程,梳理相关概念之间的关系,介绍四种传输模式。
    🔒第四篇文章USB原理(4)标准请求、传输结构
    简介:介绍标准请求、传输结构与数据交互之间的关系,介绍包、域、事务、传输模式之间的关系。
    🔒第五篇文章USB原理(5)枚举描述符
    简介:介绍各种USB描述符的各字段的含义,这对后续的固件开发至关重要。

💼Part2:Cyusb3014固件开发
    固件(firmware)开发指的是给Cyusb3014芯片编程,通过Cypress资源整合、开发环境简介熟悉开发流程。通过内部结构、数据流走向介绍,以及对固件代码结构、流程的分析,帮助读者开发适合自己应用的固件。给出控制传输,同步传输实现的案例以供参考,谈及吞吐量优化的方法实现性能提升。

    🔒第一篇文章Cyusb3014开发(1)资料整合
    简介:简介市场上USB3.0的方案,简介Cypress的USB方案,梳理概括Cypress提供文档的内容。
    🔒第二篇文章Cyusb3014开发(2)开发环境
    简介:USB开发过程中用到的调试工具和开发环境介绍,工欲善其事必先利其器。
    🔒第三篇文章Cyusb3014开发(3)FX3内部数据流
    简介:介绍Cyusb3014芯片内部数据流的构建,以及数据流过程中涉及到的概念和术语。
    🔒第四篇文章Cyusb3014开发(4)固件代码解析
    简介:基于AN65974工程代码,介绍固件代码的组成结构,固件代码的运行流程,介绍如何构建自定义应用。
    🔒第五篇文章Cyusb3014开发(5)GPIF II接口
    简介:介绍GPIF II接口特性,系统构成及应用;详细说明GPIF II Designer工具interface、statemachine面板。
    🔒第六篇文章Cyusb3014开发(6)控制传输实现
    简介:从原理到实现,介绍USB控制传输如何发起,上位机、FPGA、固件端分别如何实现。
    🔒第七篇文章Cyusb3014开发(7)同步传输实现与吞吐量优化
    简介:介绍了同步传输的原理,基于AN65974实现同步传输的步骤以及影响吞吐量的因素和实测数据。

💼Part3:FPGA GPIF II接口开发
    Cyusb3014芯片通过GPIF II接口与外部控制器通信,通过介绍各个信号的作用,读写操作的时序,以及通过零包和短包实现更为灵活的数据的传输,最后对USB3.0接口完成读写测试,提供源码。

    🔒第一篇文章FPGA开发(1)明确固件配置
    简介:FPGA开发要与固件配合,因此要明确当前FPGA开发基于怎样的固件配置并指出原因,此外介绍引脚功能。
    🔒第二篇文章FPGA开发(2)GPIF II读写时序分析
    简介:介绍基本的读写时序,并分析读写过程中产生的现象,分析官方代码。
    🔒第三篇文章FPGA开发(3)GPIF II短包零包时序分析
    简介:介绍时序参数,阐明源同步时钟反相原因,介绍短包和零包的应用场景和时序,本文是GPIF II接口的重要组成部分。
    🔒第四篇文章FPGA开发(4)上下位机读写测试
    简介:上下位机配合,在明确固件配置的情况下,完成上下位机读写测试,给出源代码。

💼Part4:QT上位机

    🔒第一篇文章QT基于CyAPI开发USB3.0上位机
    简介:介绍基于Qt开发需要的准备工作,开发环境搭建;介绍BULK、控制、同步传输的实现;最后介绍了应该如何发送不同长度的数据包。

💼Part5:总结应用篇
    总结Cyusb3014芯片开发过程中涉及上位机,下位机,固件开发部分的调试经验。将前面文章提及的理论知识与实践结合,将上下位机以及固件开发结合起来,开发具有实际应用意义的项目。

    🔒第一篇文章FX3开发调试经验总结
    简介:分固件、FPGA、上位机三个部分介绍开发过程中积累的宝贵经验。
    🔒第二篇文章FX3应用(1)采集OV5640显示
    简介:采集OV5640摄像头数据,进入DDR3做乒乓缓存,随后经过USB3.0发送到上位机,并在上位机实时显示。提供工程源码和设计思路。
    规划中:UVC应用🤪~~

开发环境

如无特殊说明,本系列文章开发环境配置如下:
OS: Windows10 64bit
开发环境:CypressSDK1.3.4 QT5.15.2 Vivado2020.2
芯片厂家:Cypress cyusb3014
仿真工具:Vivado Simulator
开发语言:C/C++ Verilog-HDL

传送门

    FPGA通信接口专栏
    FPGA原语和IP核
    FPGA开发必备技能专栏
    Qt实战提升篇专栏
    基于matlab与FPGA的图像处理

文章持续更新中🤪

🔈 欢迎您关注我的CSDN博客:https://blog.csdn.net/weixin_40615338?type=blog
🔈 本文由 瑾芳玉洁 原创👨‍🎓,相互学习,共同进步!
🔈批评,宝贵建议,兼职合作,欢迎交流📧jackxi0207@gmail.com


  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
Cypress USB芯片是一种高性能的USB解决方案。它由美国半导体公司Cypress Semiconductor Corporation开发和生产。 Cypress USB芯片具有可靠性高、性能出色、应用广泛等特点。它能够实现高速数据传输和稳定连接,支持USB 2.0、USB 3.0USB 3.1等多种协议,满足不同设备的需求。 Cypress USB芯片在各种应用中被广泛使用。它们可以用于个人电脑、平板电脑、手机、摄像头、外部存储设备等各种USB设备中。此外,由于Cypress USB芯片可编程性强,也可以用于一些特定领域的应用,例如工业自动化和医疗设备等。 Cypress USB芯片系列包括FX2LP、FX3、EZ-USB FX3S、EZ-USB HX3等。FX2LP是一款高集成度的USB控制器,适合低速和全速USB应用。FX2LP具有灵活的配置和丰富的接口选择,可与各种外围设备进行高效通信。 FX3是一款超高速的USB 3.0控制器,支持5Gbps的数据传输速率。它还具有片上RAM和集成的ARM处理器,可通过固件进行灵活配置。FX3适用于对数据传输速度有较高要求的应用,如高清视频采集和数据存储等。 EZ-USB FX3S是FX3的低功耗版本,适用于对功耗要求较高的应用场景。EZ-USB HX3是一款USB集线器控制器,可一对多地进行USB连接,适用于需要连接多个USB设备的应用。 总的来说,Cypress USB芯片是一种可靠、高性能的USB解决方案,广泛应用于各种USB设备和特定领域的应用中。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FPGA小油条

原创不易,请多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值