最近完善了下USB3.0的视频开发测试,主要优化了FPGA程序和固件,及其同步方式。对带宽和图像效果进行了仔细的测试

开发板架构(2CMOS+FPGA+2DDR2+USB3.0)

评估板底板配合2个MT9M001摄像头安装效果

准备工作

1、下载安装isensor app kit 软件 链接:http://pan.baidu.com/s/1pKodddL 密码:248s

2、更新usb固件程序 通过官方软件

3、下载fpga程序

fpga顶层结构

顶层代码

module fpga_usb_slfifo_top(
input wire i_ref0_clk50 , // T1, 50MHz
input wire i_ref1_clk10 , // L22, 10MHz, from mother board OCXO

output wire o_loop0clk , // H2
//output wire o_loop1clk , //
output wire o_loop2clk , // H21
output wire o_loop3clk , // C10

input wire i_loop0clk , // G2
//input wire i_loop1clk , //
input wire i_loop2clk , // G21
input wire i_loop3clk , // B11

output wire [3:0] o_led_ctrl , // ctrl0 = G8,H7,J7,J6
input wire [3:0] i_key_ctrl , // ctrl0 = N22,N21,M21,M22

// UART FPGA --> RX232
output wire o_uart_rts , // G16
input wire i_uart_cts , // F16
input wire i_uart_rxd , // C17
output wire o_uart_txd , // D17

// UART USB --> FPGA
input wire i_usburt_rts , // B6
output wire o_usburt_cts , // D6
output wire o_usburt_rxd , // A6
input wire i_usburt_txd , // F7

// I2C USB --> FPGA
input wire i_i2c0scl , // B5
inout wire io_i2c0sda , // A5

///////////////////////////////////////////////////////////
// mother board ctrl
/*
output wire o_ref1_clk10 , // M2
output wire o_ref0_clk5 , // C4

// ADC common
output wire o_adc_dith , // J17
output wire o_adc_shdn , // K21
output wire o_adc_rand , // L21

// ADC input
output wire o_adc0_rfgc , // J4
input wire i_adc0_pclk , // H6
input wire i_adc0_ovrf , // G4
input wire [15:0] i_adc0_data , // data0 = B1,B2,C1,C2,F2,E1,H1,F1
// data8 = H5,E6,C6,D2,E5,E3,E4,G3

output wire o_adc1_rfgc , // J3
input wire i_adc1_pclk , // AA1
input wire i_adc1_ovrf , // J2
input wire [15:0] i_adc1_data , // data0 = U2,U1,V1,V2,W2,W1,Y2,Y1
// data8 = AA2,N2,N1,P2,P1,L8,K8,J1

// AD9518(PLL) ctrl
output wire o_pll_resetn , // A4
output wire o_pll_pdn , // B4, power down
output wire o_pll_csn , // C3
output wire o_pll_sclk , // A3
output wire o_pll_sdout , // B3
*/

output wire o_cmos_sck , // AA2
output wire io_cmos_sda , // AA1

output wire o_cmos_rstn , // M2
input wire i_cmos_trig , // J2
input wire i_cmos_stro , // J1

output wire o_cmos_refclk , // W2
input wire i_cmos_pclk , // W1
input wire i_cmos_hsync , // Y2
input wire i_cmos_vsync , // Y1

input wire [7:0] i_cmos_data , // data0 = N2,N1,P2,P1,U2,U1,V1,V2

///////////////////////////////////////////////////////////
// USB signals
output wire o_usb_refclk , // B16, output 19.2MHz for USB3014

output wire o_usb_rstn , // A15
input wire i_usb_intn , // A18

output wire o_usb_pclk , // H11
output wire [31:0] o_usb_data , // data0 = A20,F15,D19,E15,G14,G15,C15,B14
// data8 = D15,E16,B19,B18,A19,A14,B15,H15
// data16 = A17,E11,B10,A10,G13,B9 ,G10,F11
// data24 = E10,H10,F10,G9 ,F9 ,B8 ,E7 ,C8

output wire [1:0] o_usb_add , // add0 = C13,G11. same as CTL12, CTL11

output wire o_usb_slcsn , // A16, same as CTL0
output wire o_usb_slwrn , // B17, same as CTL1
output wire o_usb_sloen , // E14, same as CTL2
output wire o_usb_slrdn , // D13, same as CTL3
output wire o_usb_pktendn , // F14, same as CTL7

input wire i_usb_flagan , // C19, same as CTL4
input wire i_usb_flagbn , // C7 , same as CTL5
input wire i_usb_flagcn , // F13, same as CTL6
input wire i_usb_flagdn , // D10, same as CTL8

input wire i_usb_ctl9 , // B13, CTL9
input wire i_usb_ctl10 , // E12, CTL10
input wire i_usb_i2s0 , // A8
input wire i_usb_i2s1 , // B7
input wire i_usb_i2s2 , // A7

//ddr2-0
output wire[12: 0] ddr2a_addr , //A0-7 :N16,AA4,T16,AA3,R15,T8,T11,Y6
//A8-13:U14,T9,AB3,T10,V6
output wire[ 2: 0] ddr2a_ba , //B0 :U13,AB10,V7
output wire ddr2a_cas_n , //T12
output wire ddr2a_cke , //AB5
inout wire ddr2a_clk , //U7
inout wire ddr2a_clk_n , //U8
output wire ddr2a_cs_n , //P15
output wire[ 1: 0] ddr2a_dm , //dm0-3 :V5,AA7
inout wire[15: 0] ddr2a_dq , //q0-7 :W8,Y3,W7,Y7,W6,U9,AA5,V8
//q8-15 :W10,AB8,AA9,Y8,AA8,V11,AB7,U10
inout wire[ 1: 0] ddr2a_dqs , //dqs0-3:V10,AB9
output wire ddr2a_odt , //P16
output wire ddr2a_ras_n , //R14
output wire ddr2a_we_n , //Y10

/*
//ddr2-1
output wire[12: 0] ddr2b_addr , //A0-7 :W22,U20,W21,R16,V22,AA21,V21,U15,U22
//A8-13:AA22,P17,R22,T14
output wire[ 2: 0] ddr2b_ba , //B0 :W20,R20,Y17
output wire ddr2b_cas_n , //Y21
output wire ddr2b_cke , //U19
inout wire ddr2b_clk , //AA17
inout wire ddr2b_clk_n , //AB17
output wire ddr2b_cs_n , //R21
output wire[ 1: 0] ddr2b_dm , //dm0-3 :AA16,AA10
inout wire[15: 0] ddr2b_dq , //q0-7 :W17,W15,V15,AB16,V14,AB20,T15,AB18
//q8-15 :AA14,U12,AB14,W13,AB13,AB15,AA13,AA15
inout wire[ 1: 0] ddr2b_dqs , //dqs0-3:V13,Y13
output wire ddr2b_odt , //Y22
output wire ddr2b_ras_n , //U21
output wire ddr2b_we_n //R19
*/
input wire i_dbg
);

测试效果及其带宽计算

单MT9M001  48M xclk输入,全像素输出130万像素(1280*1024)  帧率为30fps,带宽39Mbyte per  sec

单MT9P031  80M xclk输入,全像素输出500万像素(2592*1944)  帧率为12fps,带宽60Mbyte per  sec

单MT9P031  96M xclk输入,全像素输出500万像素(2592*1944)  帧率为14fps,带宽70Mbyte per  sec

极限测试(FPGA控制 80M时钟,32bit总线模拟视频输出演示)

使用模拟1080p视频(1920*1080) 每帧图像2.1Mbyte  帧率 150fps

带宽合计 300M byte per sec  无数据丢失

模拟1080p灰度图像,逐步渐变过程

联合博客技术交流(您可以通过以下方式了解,关注我们的博客和交流)

http://blog.chinaaet.com/shenyae86

http://www.openedv.com/posts/list/58978.htm

http://www.cnblogs.com/ccjt/

http://blog.sina.com.cn/u/5625282126

http://xinanhejishu.blog.163.com/

QQ交流群:层层惊涛 26210916

辐射防护交流群 224673609

百度云盘资料下载

http://yun.baidu.com/s/1kThKzaf

http://yun.baidu.com/s/1c0SKEC4

http://yun.baidu.com/s/1mgVml3i

USB3.0之高速视频传输测试 双目相机(mt9p031、mt9m001)带宽高达300M测试 配合isensor测试 500万像素15fps的更多相关文章

  1. CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评

    CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...

  2. AC6102开发板USB3.0测试和使用说明

    AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲, ...

  3. USB3.0测试和使用说明

    概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数 ...

  4. 基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头

    基于USB3.0的双目相机测试小结之CC1605配合CS5642  双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ...

  5. 关注图像采集视频传输之USB3.0 应用

    参考文献 百度文库 http://baike.baidu.com/link?url=82OyhoL1AsNaT35CvscmeZqHjlggtFw-Cez2qYwjLHNXGhXfv38pUlsIJB ...

  6. 【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口

    CYUSB3014延续了CY7C68013A最吸引人的地方,那就是实现高速数据传输的Slave FIFO接口,应用这种模式,据说数据传输率可以达到320MB/s. 同USB2.0的芯片CY7C6801 ...

  7. USB3.0 图像视频传输 开发 CYUSB3014开发基础(导入官方例程) 转

    CYPREE提供的FX3_SDK开发包里面有很多基础的内容,除了前面提到的几个pdf文件外,还有三个文件夹,是官方提供的基础例程.学习CYUSB3014应该就从这里开始,从这几个例程开始.例程共有三个 ...

  8. 5. MIZ7035 PCIe测试 RIFFA【PCIE视频传输】

    1.前言 MIZ7035官方提供了两种pcie的demo,一个就是普通的PIO测试,一个是BMD测试.我只是试验了PIO功能,可以对板卡直接进行IO寄存器读写.而另外一个BMD功能使用了DMA来加速数 ...

  9. linux下视频传输测试

    本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 在上一篇<ubuntu下基于qt+OpenCV控制摄像头>的基础上测试了视频传输. 环境:主 ...

随机推荐

  1. Class文件结构全面解析(上)

    什么是Class文件? 在Java刚刚诞生的时候就提出了一个非常著名的口号:"一次编写,到处运行.(Write Once,Run Anywhere)".为了实现平台无关性,各种不同 ...

  2. 三张关联表,大表;单次查询耗时400s,有group by order by 如何优化

    问题SQL: select p.person_id as personId, p.person_name as personName, p.native_place as nativePlace, c ...

  3. nyoj 97-兄弟郊游问题(数学)

    97-兄弟郊游问题 内存限制:64MB 时间限制:3000ms 特判: No 通过数:18 提交数:32 难度:2 题目描述: 兄弟俩骑车郊游,弟弟先出发,每分钟X米,M分钟后,哥哥带一条狗出发.以每 ...

  4. HTML基础学习心得分享

    开始学些Html的时候主要进行一些简单的静态网页的处理: 1.HTML 标题 HTML 标题(Heading)是通过 h1-h6 加中括号<>等标签进行定义的. 2.HTML 段落 HTM ...

  5. 0xe7f001f0!?NDK调试过程,无故抛出SIGSEGV。

    arm调试过程,如果抛一个SIGSEGV,地址在 0xe7f001f0 附近,原因居然是因为我在调试.当我使用n指令跳到下一行代码时,往往变成了continue指令一样地执行.还不确定地抛出SIGSE ...

  6. python进程池与线程池

    为什么会进行池化? 一切都是为了效率,每次开启进程都会分配一个属于这个进程独立的内存空间,开启进程过多会占用大量内存,系统调度也会很慢,我们不能无限的开启进程. 进程池原来大概如下图 假设有100个任 ...

  7. Web Deploy远程发布

    前言 我们在使用VS开发.net网站的时候,部署时可能会遇到缺少dll的问题,每次都远程桌面登陆,然后拷贝过去,太麻烦了.我们可以使用Web Deploy这个远程部署工具,不仅部署容易了,也方便进行迭 ...

  8. 浅谈.NET中的反射

    一.概述  1.通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象 2.反射机制允许程序在执行过程中动态地添加各种功能 二.运行时类型标识 1.运行时类型标志(RTT ...

  9. 新闻实时分析系统 大数据Web可视化分析系统开发

    1.基于业务需求的WEB系统设计 2.下载Tomcat并创建Web工程并配置相关服务 下载tomcat,解压并启动tomcat服务. 1)新建web app项目 创建好之后的效果 2)对tomcat进 ...

  10. java中大整型BigInteger及setBit和testBit方法

    最近在修改公司之前的项目,在项目中遇到了权限校验的问题,代码中出现了BigInteger的setBit()testBit()方法,之前未接触过,所以了解了下BigInteger. 在Java中,由CP ...