USB3.0之高速视频传输测试 双目相机(mt9p031、mt9m001)带宽高达300M测试 配合isensor测试 500万像素15fps
最近完善了下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的更多相关文章
- CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评
CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...
- AC6102开发板USB3.0测试和使用说明
AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲, ...
- USB3.0测试和使用说明
概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数 ...
- 基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头
基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ...
- 关注图像采集视频传输之USB3.0 应用
参考文献 百度文库 http://baike.baidu.com/link?url=82OyhoL1AsNaT35CvscmeZqHjlggtFw-Cez2qYwjLHNXGhXfv38pUlsIJB ...
- 【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口
CYUSB3014延续了CY7C68013A最吸引人的地方,那就是实现高速数据传输的Slave FIFO接口,应用这种模式,据说数据传输率可以达到320MB/s. 同USB2.0的芯片CY7C6801 ...
- USB3.0 图像视频传输 开发 CYUSB3014开发基础(导入官方例程) 转
CYPREE提供的FX3_SDK开发包里面有很多基础的内容,除了前面提到的几个pdf文件外,还有三个文件夹,是官方提供的基础例程.学习CYUSB3014应该就从这里开始,从这几个例程开始.例程共有三个 ...
- 5. MIZ7035 PCIe测试 RIFFA【PCIE视频传输】
1.前言 MIZ7035官方提供了两种pcie的demo,一个就是普通的PIO测试,一个是BMD测试.我只是试验了PIO功能,可以对板卡直接进行IO寄存器读写.而另外一个BMD功能使用了DMA来加速数 ...
- linux下视频传输测试
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 在上一篇<ubuntu下基于qt+OpenCV控制摄像头>的基础上测试了视频传输. 环境:主 ...
随机推荐
- (C#)WPF:关于INotifyPropertyChanged接口的介绍
注意:INotifyPropertyChanged接口位于System.CompenentModel名称空间中,想使用INotifyPropertyChanged接口时,头文件需添加“using Sy ...
- pat 1013 Battle Over Cities(25 分) (并查集)
1013 Battle Over Cities(25 分) It is vitally important to have all the cities connected by highways i ...
- XjhDemo 插入数据
create database XjhDemo gouse XjhDemogo --商品类别Create table Sort( SortId int primary key identity(1,1 ...
- 领扣(LeetCode)翻转二叉树 个人题解
翻转一棵二叉树. 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 备注:这个问题是受到 Max Howell的 原问题 ...
- Jrebel 激活的方法
jrebel 激活的方法: 试了很多都不好用,下面这个方法比较简单快捷.(不知道可以坚持多久) myjrebel 7月分官方正式停用,致使广大朋友无法使用jrebel/XRebel,可按如下地址进行 ...
- Hadoop之HDFS文件系统(二)
HDFS客户端 通过IO流操作HDFS HDFS文件上传 @Test public void putFileToHDFS() throws Exception{ // 1 创建配置信息对象 Confi ...
- mysql--时区问题(时间差8个小时?修改Mysql 时区)
发现评论时间比本地时间晚8小时,原因:mysql默认时区选择了CST 解决办法: Ubuntu系统环境下: 1.检查mysql系统时区 进入mysql:mysql -u root -p mysql&g ...
- Spring中常见的设计模式——原型模式
1.原型模式应用场景 当遇到大量耗费劳动力的 get,set赋值场景时,如下: public class SetGetParam { public void setParam(UserDto user ...
- 修改Linux克隆的物理地址 和 IP地址
实在不行就重新启动一下 才会改成 ech0 完成后文件配置环境变量 作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具.
- overflow属性值
overflow属性的可取值有四种:visible.hidden.scroll.auto visible:不裁剪溢出的内容.浏览器把溢出来的内容呈现在其内容元素的显示区域以外的地方,全部内容在浏览器的 ...