【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口
CYUSB3014延续了CY7C68013A最吸引人的地方,那就是实现高速数据传输的Slave FIFO接口,应用这种模式,据说数据传输率可以达到320MB/s.
同USB2.0的芯片CY7C68013集成了一个通用可编程接口GPIF一样,USB3.0的芯片CYUSB3014也含有通用可编程接口GPIF,并且升级到GPIF II。通用可编程接口GPIF就是一个可编程的状态机,可以与外部的Processor, ASIC, 或者FPGA无胶粘逻辑相连,实现高速数据传输。CYUSB3014的通用可编程接口GPIF II 特点如下:
1、芯片CYUSB3014本身既可做主机,也可做从机;
2、最多提供256个可编程的状态(State);
3、支持8位、16位、32位的数据总线宽度;
4、最高工作频率可以至100MHHz;
5、最多提供16个输入输出的状态引脚,用来实现握手信号。
通用可编程接口GPIF II可以实现同步(synchronous)和异步(asynchronous)Slave FIFO接口,从编程的角度来说,是用描述符来实现的。安装完SDK后,可以打开相应的关于描述符的文件看一下,具体的目录如下:C:\Program Files\Cypress\FX3 SDK\firmware\slavefifo\slfifoasync\cyfxslfifogpifdscr.c;另一个目录是C:\Program Files\Cypress\FX3 SDK\firmware\slavefifo\slfifosync\ cyfxslfifogpifdscr.c。用记事本打开后,可以发现主要是定义了一个数组,const uint32_t CyFxSlFifoAsyncGpifConfData[][2] ={...},不像CY7C68013A是用分散的寄存器来定义的(原理上都一样,都是寄存器)。
要实现FIFO接口,硬件上要用到的引脚较多,可以自己查阅Datasheet,这里主要对异步传输,用一个引脚连接图和时序图来说明数据是怎样实现高速传输的。
下图是一个说明异步传输的引脚连接图,
从引脚连接上,可以说FX3与FX2并没有什么区别,用的还是那些引脚,名字也完全一样。外部的处理器充当主机,控制FX3进行数据传输。下图是一个异步传输的读时序,
下面对时序图进行一下分析:
1、外部主机发出片选信号,选中FX3芯片(上图中最上面的SLCS信号出高变低,低电平有效)。
2、外部主机发出FIFO ADDR选择信号,此信号与FX2中的FIFO ADDR信号相同,但概念上略有区别,以后会有说明(上图中上面的第二个信号FIFO ADDR)。
3、外部主机发出读SLRD信号,低电平有效(上图中的上面第三个信号SLRD,低电平有效)。
4、同时,外部主机发出SLOE信号,允许FX3将数据送到数据总线上;在读过程中,此信号可以一直保持为有效,低电平有效,或者些信号可以与SLRD连接在一起(上图中上面数第四个信号,低电平有效)。
5、外部主机发出SLRD信号后,FX3开始准备数据,之后将数据放在数据总线上(延迟时间为图中的tRDO)。第一个数据读取完后,FX3内部的数据指针自加1或减1,将第二个数据放在总线上(SLRD信号有效后),直到标志位FLAGA或FLAGB有效后(没有数据可读),结束此读的过程。
【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口的更多相关文章
- 关注图像采集视频传输之USB3.0 应用
参考文献 百度文库 http://baike.baidu.com/link?url=82OyhoL1AsNaT35CvscmeZqHjlggtFw-Cez2qYwjLHNXGhXfv38pUlsIJB ...
- 【关注图像采集视频传输】之CYUSB3014 EZ-USB FX3 Software Development Kit
网址:http://www.cypress.com.与之前的High Speed FX2相比,新的产品叫Super Speed FX3,沿用了之前的命名习惯.FX2芯片内嵌一个8051核,FX3则内 ...
- USB3.0 和usb 2.0的区别
USB3.0拥有10倍于USB2.0的速度,可惜DIY“江湖”险恶,如果咱们不掌握如何识别USB3.0的方法,很容易被JS忽悠.何况,USB3.0主板不等于USB3.0机箱,很多朋友在选购时都忽略了一 ...
- USB3.0之高速视频传输测试 双目相机(mt9p031、mt9m001)带宽高达300M测试 配合isensor测试 500万像素15fps
最近完善了下USB3.0的视频开发测试,主要优化了FPGA程序和固件,及其同步方式.对带宽和图像效果进行了仔细的测试 开发板架构(2CMOS+FPGA+2DDR2+USB3.0) 评估板底板配合2个M ...
- USB3.0 图像视频传输 开发 CYUSB3014开发基础(导入官方例程) 转
CYPREE提供的FX3_SDK开发包里面有很多基础的内容,除了前面提到的几个pdf文件外,还有三个文件夹,是官方提供的基础例程.学习CYUSB3014应该就从这里开始,从这几个例程开始.例程共有三个 ...
- CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评
CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...
- 速度竟差9倍!6款32GB USB3.0优盘横评
速度竟差9倍!6款32GB USB3.0优盘横评 2014-08-22 05:04:00 [ 中关村在线 原创 ] 作者: 蒋丽 | 责编:孙玉亮 收藏文章 分页阅读 分享到 评论(90) ...
- 第二十六篇:USB3.0高带宽ISO(48KBytes/125us)实战
USB3.1技术已经推出, 10Gbps的速率足以满足数据, HD视频传输的要求. 要步入USB3.1的研发, 还得将USB3.0的基础打扎实. 微软提供的SUPER MUTT仅仅包括一个接口0, 其 ...
- 硕盟SM-A44|USB3.0转RJ45千兆网口转换器(TYPE A USB3.0 TO RJ45)
硕盟SM-A44是一款USB3.0转RJ45千兆网口转换器.,转换USB端口到以太网端口.它让你投入低成本就可以轻松拥有千兆以太网.可将网络连接到台式机,笔记本电脑等等设备.硕盟 USB千兆网卡采用嵌 ...
随机推荐
- 创建OData Service(基于ASP.NET 4.6.1, EF 6),Part I:Project initialize
由于ASP.NET Core 1处于RC阶段,加上OData WebAPI 对ASP.NET Core 1的跟进不是很积极,基于ASP.NET Core 1的Alpha 1版本已经N月没有check ...
- 019.Kubernetes二进制部署插件dashboard
一 修改配置文件 1.1 下载解压 [root@k8smaster01 ~]# cd /opt/k8s/work/kubernetes/ [root@k8smaster01 kubernetes]# ...
- 语义分割学习之SegNet的C++编译
Abstract 安装好Segnet并使用Python进行训练和测试之后,考虑项目的应用,需要在C++的工程环境下进行继续开发,所以这里的主要内容是用C++建立工程,使用相应的数据集和权重参数文件进行 ...
- visible:hidden和dispaly:none的区别
display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被隐藏的对象保留其物理空间,即该对象在页面上彻底消失,通俗来说就 ...
- nyoj 1364-治安管理 (INT_MAX)
1364-治安管理 内存限制:128MB 时间限制:3000ms 特判: No 通过数:6 提交数:6 难度:2 题目描述: SZ市是中国改革开放建立的经济特区,是中国改革开放的窗口,已发展为有一定影 ...
- 无法优化的O(n!) 算法
旅行商问题: 有一位旅行商,他需要前往5个城市. 要前往这5个城市,同时要确保旅程最短. 对于每种顺序,他都计算总旅程,再挑选出旅程最短的路线.5个城市有120种不同的排列方式.因此,在涉及5个城市时 ...
- webuploader 快速应用(C#)
百度的WebUploader前端插件作为目前比较好用且免费的附件上传工具,利用了断点续传特点实现了大文件上传功能,其更好的兼容性与界面效果完全可以替换掉IE的activex 上传控件.许多人或许还不知 ...
- C#取视频某一帧图片
首先下载 ffmpeg http://ffmpeg.org/ 注意一定要从官网下载,其他地方可以会有问题 解压后在 bin 目录下找到 ffmpeg.exe 用到的使命是 -i 视频地址 -ss 第几 ...
- SpringBoot实现登录
1.使用Spring Initializer快速创建Spring Boot项目 1.1 IDEA:使用 Spring Initializer快速创建项目 IDE都支持使用Spring的项目创建向导快速 ...
- CentOS 7上利用systemctl添加自定义系统服务
Centos 7 之 systemctl CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方 ...