简单介绍
赛普拉斯将CYUSB3014简称为EZ-USB FX3,该芯片用于USB3.0的外设控制。
EZ-USB FX3 集成了 USB 3.0 和 USB 2.0 物理层 (PHY) 以及 32 位 ARM926EJ-S 微处理器,具有强大的数据处理能力,并可用于构建定制应用。 本产品采用了一种巧妙的架构,使从 GPIF II 到USB 接口的数据传输速度可达 320 MBps。
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一样)。
———————————————————————————————————————————
EZ-USB FX3
器件可以使用:
1) 19.2 MHz
晶振或
2)
频率为
19.2 MHz
、
26 MHz
、
38.4 MHz
或
52 MHz
的时钟作为时钟源。