FPGA与CYUSB3014实现USB3.0数据传输学习笔记(1)
简单介绍
赛普拉斯将CYUSB3014简称为EZ-USB FX3,该芯片用于USB3.0的外设控制。
FX3有一个用于并行传输的通用接口:GPIF II。该接口可以与FP GA直接连接。
FX3功能及其强大,它集成了USB3.0 PHY物理层还有ARM核,i2c,uart等。
FX3主要功能是传输USB主机与外设之间的数据,可实现对高带宽数据的传输。
接口介绍
如图就是与FPGA,PC端的连接示意图。通过GPIF II接口的实现实例是异步和同步从器件FIFO的接口。如下图所示。FX3相当于是FPGA与上位机之间的桥梁,FX3内部会将收到的数据打包成usb3.0协议的数据包。
接口频率可高达 100 MHz。提供 256 种固件可编程状态 。支持 8 位、16 位和 32 位并行数据总线。
对上图接口功能简单介绍:D是32bit数据线,A是选择用内部的哪个缓冲区,每个缓冲区16kb
上图是同步读FIFO 时序图(FPGA读FX3),当SLRD#有效延迟的两个周期数据输出。SLRD#是FIFO读使能,这个使能的开启一定非空,通过FX3的输入信号来判断是否为空,这个信号就是flaga,只有当FX3输出了有效信号,才可以使SLRD#有效。
从FIFO中的地址读出数据到总线延迟三个周期。即片选有效以后的三个时钟周期以后数据才会出现在总线上。
当FLAGA拉低证明FIFO读空,该信号与SLRD#延迟两个时钟周期。
同步读和异步读的区别:同步读的FIFO指针是跟着时钟上升沿变的。而异步读FIFO的指针是随着SLRD#从有效至无效变化的。
上图是同步写数据时序图。
PKTEND:包结束信号,外部逻辑控制,在正常情况下,外部逻辑向FX2的FIFO中写数,当写入FIFO端点的字节数等于FX2固件设定的包大小时,数据将自动被打成一包进行传输,但有时外部逻辑可能需要传输一个字节数小于FX2固件设定的包大小的包,这时,它只需在写入一定数目的字节后,声明此信号,此时FX2硬件不管外部逻辑写入了多少字节,都自动将之打成一包进行传输。
当SLWR#有效时,在时钟上升沿数据被写入FIFO.在vivado写的时候可以认为写使能和数据是同时的不需要提前拉起(和一般fifo一样)。
---------------------------------------------------------------------------------------------------------------------------------
FPGA与CYUSB3014实现USB3.0数据传输学习笔记(1)相关推荐
- mysql查询数据为0的所有字段6_MySQL8.0 初级学习笔记(六)查询数据
MySQL8.0 初级学习笔记(六)查询数据 MySQL8.0 初级学习笔记(六)查询数据 查询有多种方法:单表查询,使用集合函数查询,连接查询,子查询,合并查询结果,为表和字段取别名,使用正则表达式 ...
- 日语课程0基础学习笔记——第一课
学习目标: 编程0基础学习笔记--前言 这是一个个人使用的日语学习记录博客!根据B站的up日语教程一直跟下来,从第一天开始记录.后续会把我学习的内容和知识点尽量多的记录在这个博客中,不仅是方便自己复习 ...
- FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
目录 1.前言 2.FT601芯片解读和时序分析 FT601功能和硬件电路 FT601读时序解读 FT601写时序解读 3.我这儿的 FT601 USB3.0通信方案 4.vivado工程1--彩条视 ...
- FPGA驱动FT601实现USB3.0相机HDMI视频采集 提供工程源码和QT上位机源码
目录 1.前言 2.FT601芯片解读和时序分析 FT601功能和硬件电路 FT601读时序解读 FT601写时序解读 3.我这儿的 FT601 USB3.0通信方案 4.详细设计方案 5.vivad ...
- away3d 4.0.9Gold 学习笔记 加载模型(6)
学习笔记提供模型和贴图请勿用于商业用途. 1 package 2 { 3 import away3d.containers.ObjectContainer3D; 4 import away3d.con ...
- 基于QT,cyapi的CYUSB3014,USB3.0上位机编写
一,环境搭建 cypress的FX3套件里给的cyapi是msvc编译的,如果QT使用的是mingw编译器,要用mingw重新编译一次. 二,接收方式 同步采集:同步采集方式通过xferdata实现, ...
- 0.数据结构学习笔记大纲
推荐学习参考书籍: 实体课本: 1.严蔚敏.吴伟民编著的教材(都是伪算法) 实现代码: 高一凡 数据结构概述 定义: 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的 ...
- .NET 2.0 CER学习笔记
CER是.NET 2.0 CLR方面的重要改进,旨在帮助那些对稳定性高度苛刻的程序对付.NET Framework的不稳定因素.因为普通的程序很少会用到,所以一直没有对这个特性加以足够重视.现在碰巧在 ...
- 【学无止境】 基于ThinkPHP的OAuth2.0实现 ----OAuth2.0 个人学习笔记 Two
ThinkPHP 结合 OAuth2.0 准备工作 第一我们得准备好OAuth2.0的源码包,下载地址点这里. 我们将下载好的源码包放在thinkphp的vendor文件夹下面.这里注意只要src文件 ...
最新文章
- WinAPI: 输入光标相关的函数[3]
- 做转录组测序前需要知道的那些事
- Windows11右下角出现评估副本水印如何去除?
- java基础学习——5、HashMap实现原理
- windbg-内存破坏实例分析
- CMake和Make——简介和对比
- 字节JAVA研发面试
- matlab波形反白,基于MATLAB的海岸污染物浓度扩散实验分析
- IOS开发-我的第一个IOS程序
- python自动化测试流程_接口自动化基本流程(python)
- .net小插件:indent guides
- Linux 系统批量安装字体的方法
- 如何快速注册一个谷歌gmail邮箱(2021)
- 搜狐CEO张朝阳决定分拆网游业务单独上市
- 2017-2018-2 20179209《网络攻防》第八周作业
- 从技术转管理的困惑(转)
- 计算机文字输入程序,电脑上怎么输入汉字
- miui9支持android,基于Android Q的MIUI来了 小米9尝鲜
- 22-2-21 ETH币价今日价格分析
- 计算机z,出国留学_计算机词汇(R-Z)_沪江英语
热门文章
- mysql goldengate_Goldengate完成Mysql到Mysql的数据同步
- sublime text 3 序列号
- vue的生命周期钩子是什么?
- 西门子PLC|梯形逻辑PLC编程
- 手把手教你读财报----银行业---第六课
- 明翰经验系列之恋爱篇V5.6(持续更新)
- CYPRESS代理64Kbit非易失性铁电存储器FM25640B
- matlab矩阵正交变换,在线计算专题(12):矩阵的特征值、特征向量、正交变换与二次型与常见矩阵分解...
- 【详解+安装失败解决】Win11系统装CH340驱动方法
- windows 文件与文件夹加密