FPGA和USB3.0通信
1、USB3.0介绍
USB3.0协议:协议就是传输数据的规则,定义接口设备、器件及信号、总线及通道之间需要满足的关系。
USB3.0接口:接口是一种连接标准,又常常被称之为物理接口。
USB3.0总线:总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由由数据线、地址线、控制线等构成。
组成部分:
①通用可编程接口 (GPIF II)
GPIFI是一种可编程的状态机,它所启用的灵活接口使用自己的高速时钟,完全独立于ARM9。在工业标准或专用接口中,GPIFII能够作为一个主设备或从设备运行。GPIFll可支持并行和串行接口。
GPIF II的主要特性包括:
·可作为主设备或从设备使用。
·提供256种可编程状态。
·支持8位、16位、24位和32位的并行数据总线。支持频率高达100 MHz的接口。
·使用32位数据总线时,支持14个可配置的I/O 引脚输出或双向引脚使用。
·使用16/8位数据总线时,支持16个控制V/O引脚。控制引脚可作为输入、输出或双向引脚使用。
②32 位 CPU
·FX3拥有一个片上32位200 MHz ARM926EJ-S内核CPU。该内核能直接访问16KB的指令紧密连接内存(TCM)和8KB的数据紧密连接内存。ARM926EJ-S内核还提供了用于固件调试的JTAG接口。
·FX3集成了512KB 或,256KB的嵌入式SRAM(取决于所选择的设备型号),并支持四种启动代码的方法(USB、GPIF II、I2C或者 SPI)。
· FX3能在多种外设(如USB、 GPIFII、12S、SPI 以及UART)间实现高效灵活的DMA 连接。
·FX3固件配置外设间的数据访问后,DMA结构将管理传输,而不需要 ARM9内核参与。安装EZ-US:FX3SDK后可以使用FX3示例固件。
③JTAG接口
JTAG协议制定了一种边界扫描的规范。边界扫描架构提供了有效的测试布局紧凑PCB板上元件的能力。边界扫描可以在不使用物理测试探针的情况下测试引脚连接,并在器件正常工作的过程中捕获运行数据。
FX3的JTAG接口包含一个标准的5引脚接口,用于连接JTAG 调试器,以便通过CPU 内核的片上调试电路来调试固件。ARM926EJ-S 内核的业界标准调试工具可用于FX3应用开发。如Jlink。
④外设
- I2C 主控制器:FX3的I2C接口作为I2C主设备使用,同I2C从设备进行通信。例如,可从连接至I2C接口的 EEPROM启动。FX3的I2C主控制器支持多主控制财能和I2C时钟延展。I2C控制器所支持的总线频率有100 kHz、400Hz和1MHz。
- UART:FX3的UART 接口支持全双工通信,包括TX、RX、CTS以及 RTS信号。UART支持各种波特率,从 300 bps 到4608 Kbps,可通过 FX3件进行选择。(一般用于调试串口使用)
- SPI 主控制器:FX3支持作为SPI主设备接口,其最大工作频率为33MHz。SPI控制器支持四种 SPI通信模式,传输数据大小为4位到32位。
- I2S 主控(仅发射器):FX3拥有一个12S发送器,用于支持外部音频编解码器和其它12S接收器。I2S接口支持的采样频率有32 kHZ、44.1 kHz和48 kHz。
FX3应用:
1.(主要)作为协处理器
利用USB PHY的特点,通过GPIF接口向内部写入数据,通过USB接口输出。
2.作为主处理器
利用ARM内核功能+USB,功能类似STM32F103,但是USB功能升级了。
①FX3芯片应用——与FPGA进行连接
通过高速并行 GPIF II接口,某些应用可以将 FPGA或ASIC连接到 FX3。作为数据的源或库的其它设备则被连接到FPGA或 ASIC。这样的应用包括数据采集设备、打印机、扫描仪和成像设备等等。
在上述应用中,FX3作为与USB主机进行数据发送和接收的快速数据管道。对于这些应用,FX3到FPGA/ASIC的接口通常是同步从设备FIFO接口。
②FX3芯片应用——与图像传感器(摄像头)进行连接
在图像应用中,图像传感器通过并行GPIF II接口直接与FX3相连,视频流通过 FX3从传感器发送给USB主机。通过使用合适的固件对 FX3进行编程,可使该系统同USB视频类别(UVC)相兼容。
FX3芯片电路设计
FX3芯片电路设计主要包括以下内容:
-电源电路
-USB接口电路
-时钟配置电路
-启动配置电路
-lIC电路
-SPI电路
-lIS电路
-GPIF II接口
硬件设计
1、时钟
FX3有19.2、26、38.4 和 52 MH,有晶体输入和有源晶振输入两种,通过配置FSLC[0…2]让内部PLL(锁相环)知道是哪种时钟输入:
2、 复位
通过激活 EZ-USB FX3 上的 Reset# 引脚来初始化硬复位。复位序列和时序的具体要求详见下图。
常规的使用就是RC复位即可,想控制FX3,把Reset# 引脚拉到FPGA即可(注意电平匹配)。
3、 引导选向
FX3 为了灵活使用,加载程序时可从多个源加载引导二进制文件(编译出来的),可通过 PMODE 引脚配置来选择。EZ-USB FX3 有下列引导选项:
从 USB 引导
从 I2C 引导
从 SPI (支持的 SPI 器件为 M25P16 (16 Mbit)、M25P80 (8 Mbit) 和 M25P40 (4 Mbit))或同类器件引导
从 GPIF II 异步 ADMUX 模式引导
从 GPIF II 同步 ADMUX 模式引导
从 GPIF II 异步 SRAM 模式引导
(F代表的是悬空)
常用的:
F11(USB引导):用来调试和下载固件;
I2C引导:用来从EEPROM启动;
SPI引导,用来从SPI FLASH启动。
FPGA和USB3.0通信相关推荐
- FPGA和USB3.0通信知识记录(3)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》
PS FPGA和USB3.0通信知识记录(2)最后FX3驱动安装由于还未拿到开发板,后面再学习.我是个新人,请多多关照. 第四章 第一个例程与FPGA下载配置 4.1流水灯例程 介绍了Vivado创建 ...
- FPGA和USB3.0通信-FX3硬件设计简谈
FPGA和USB3.0通信-FX3硬件设计简谈 本次演示用的是USB3.0芯片-CYPRESS CYUSB3014(下称 FX3),该芯片是标准的USB3.0 PHY,可以大大简化使用USB通信时FP ...
- FPGA和USB3.0通信-USB3.0 PHY介绍
可以和FPGA搭配使用的USB3.0 PHY芯片 通过之前的介绍<FPGA和USB3.0通信-USB3.0协议介绍 USB3.0 PHY简介 首先我们需要了解PHY具体完成哪些工作以及我利用FP ...
- FPGA和USB3.0通信知识记录(2)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》
一.注册XILINX账户 二.Vivado下载安装(先注册账户才行) Downloads (xilinx.com) 以上是我下载的那个版本对应的链接. ①点击如图所示版本 ②点击后填写账户信息,填写好 ...
- FPGA和USB3.0通信知识记录(5)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》(Uart-lookback实验)
上一篇(4)简单介绍了PLL IP核的用法,这一篇继续记录一个例程--FPGA串口通信. 之前学习51单片机的串口通讯实验的时候,似乎不是很难,简单了解一下协议就开始编程了,殊不知其实单片机的硬件串口 ...
- FPGA和USB3.0通信知识记录(4)——基于特权同学图书《Xilinx FPGA伴你玩转USB3.0与LVDS》
上一次第(3)篇我记得记录了一下软件安装.这一节我来记录一个小例程--配置PLL 一.设计源文件 如图是工程主界面. 按红色箭头(从上到下)的顺序找到名为Clocking Wizard的IP核. 如上 ...
- 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 ...
- CYUSB3014 USB3.0与FPGA设计
目录 1. USB3014连接框图 2. 复位设置 3. 时钟晶振 4. 时钟源配置 5. 引导方式配置 6. IIC存储器 7. SPI flash存储器 8. FPGA外接串口 1. USB301 ...
最新文章
- 【原创】设置头文件路径, gcc -I 选项写法
- Excel制作带勾的方框
- IT资料,重磅来袭!
- mysql查询优化之一:mysql查询优化常用方式
- 常用技巧 —— 离散化
- 插件式架构设计实践一:插件式系统架构设计简介
- JAVA写的多线程下载程序,并具有断点续传功能
- 使用指针时的“陷阱”
- Oracle Dataguard 管理命令
- guido发布python版本的年份_Guido van Rossum
- Qt 设置应用程序图标(windows)
- 破解中兴ZXV10 H108L电信猫超级密码,附赠破解路由限制
- TiDB错误码与故障排除
- flask_web 蓝本基模板继承问题
- 听说,在巴别鸟评审文件特别快?
- 获取显示器分辨率大小更改页面字体大小JS
- LPN(Request,Offer,Poll / Update,Establish,Cache)
- 聊聊Windows的销售渠道和授权版本
- 用find在html中找字符串,Windows CMD中 find命令(字符串查找)
- 手写中文数字识别PyTorch实现(全连接卷积神经网络)