一、硬件准备

l MT9F002摄像头模块

l iCamera 硬件主板CC1601

l MT9F002转接板(FPC_MT9F002 CB1602)

二、软件准备

l 下载iCamera软件

l 安装驱动(可以参考iCamera说明文档)

l 软件注册

下载地址

http://pan.baidu.com/s/1cLoejc

若下载失败可以通过以下途径联系我们

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

QQ:蓝天  2947269204

QQ群:层层惊涛 26210916

淘宝:https://ccjt.taobao.com/

https://shop126144436.taobao.com/

参考文档:

《iCamera 用户使用手册 20160327.pdf》

三、工作原理

1、原理框图

iCamera 工作原理框图(暂未正式发布,公测阶段)

2、硬件介绍

iCamera采用USB2.0作为数据通信,最大传输速率可达433Mbps。Mini USB接口既作为通信接口也作为电源供电。也可以采用CYUSB3014 USB3.0方案最大传输速率达300M Byte/s。

CJ1601标准接口(17-20p用户自定义)

主板可以直接为摄像头提供24Mhz 固定频率的时钟作为xclk输入。方便大多数sensor的测试。对于此款mt9f002摄像头,因为板载晶振,所以xclk不需要理会。

SCCB总线可以通过主控芯片控制,配置摄像头寄存器参数,由上位机发送,也可以在usb固件预先初始化。

17-20p可以用户自定义,作为其他特殊功能。

主板供电能力:200mA@3.3v,满足大多数sensor需求,用户也可以自行改造。

本接口支持市面上绝大多数的摄像头模块,如有不兼容,按照此标准其他型号自己做个转接板即可。

3、更新固件

iCAMERA_f002_QSXGA.iic

此固件将初始化mt9f002寄存器(至于为什么这么配置,请查阅该摄像头的数据手册,知道的均已全部注释,别的问我也不知道哦)

此配置,将分辨率设置为2560*2048

wrMT9X001Reg(0x0103, 0x1); //Software Reset = 0x1

usleep(30000);

wrMT9X001Reg(0x31AE, 0x301); //Serial Format = 0x301

wrMT9X001Reg(0x0112, 0x0808);    //CCP Data Format = 0x808

wrMT9X001Reg(0x301A, 0x0010);    //Reset Register = 0x10

wrMT9X001Reg(0x3064, 0x0805);    //SMIA Test = 0x805

wrMT9X001Reg(0x301E, 0x0048);    //Data Pedestal = 0xA8

wrMT9X001Reg(0x301A, 0x10DC);    //Reset Register = 0x10DC

wrMT9X001Reg(0x0104, 0x1 );  //Grouped Parameter Hold = 0x1

wrMT9X001Reg(0x0100, 0x0 );  //Mode Select = 0x0

wrMT9X001Reg(0x0300, 0x3 );  //vt_pix_clk_div = 0x3

wrMT9X001Reg(0x0302, 0x01);  //vt_sys_clk_div = 0x1

wrMT9X001Reg(0x0304, 0x08);  //pre_pll_clk_div = 0x8

wrMT9X001Reg(0x0306, 0x90);  //pll_multiplier = 0xBA

wrMT9X001Reg(0x0308, 0x08);  //op_pix_clk_div = 0x8

wrMT9X001Reg(0x030A, 0x01);  //op_sys_clk_div = 0x1

wrMT9X001Reg(0x3016, 0x111); //Row Speed = 0x111

wrMT9X001Reg(0x0344, 0x420); //Column Start = 0x420

wrMT9X001Reg(0x0348, 0xE1F); //Column End = 0xE1F

wrMT9X001Reg(0x0346, 0x28C); //Row Start = 0x28C

wrMT9X001Reg(0x034A, 0xA8B); //Row End = 0xA8B

wrMT9X001Reg(0x3040, 0x0041);    //Read Mode = 0x41

wrMT9X001Reg(0x0400, 0x0);   //Scaling Mode = 0x0

wrMT9X001Reg(0x0404, 0x10);  //Scale_M = 0x10

wrMT9X001Reg(0x034C, 640); //Output Width = 0xA00

wrMT9X001Reg(0x034E, 480); //Output Height = 0x800

wrMT9X001Reg(0x0342, 7324);    //Line Length = 0x1B00 1c9c

wrMT9X001Reg(0x0340, 2759);    //Frame Lines = 0x890  ac7

wrMT9X001Reg(0x3010, 0x00CF);    //Fine Correction = 0xCF

wrMT9X001Reg(0x3012, 0x081E);    //Coarse Integration Time = 0x1E

wrMT9X001Reg(0x3014, 0x0761);    //Fine Integration Time = 0x761

wrMT9X001Reg(0x3018, 0x0000);    //Extra Delay = 0x0

wrMT9X001Reg(0x3028, 0x0046);   //analogue_gain_code_global_

wrMT9X001Reg(0x0104, 0x0001);   //GROUPED_PARAMETER_HOLD

wrMT9X001Reg(0x0382, 1);   //x_odd_inc

wrMT9X001Reg(0x0386, 1);   //y_odd_inc

wrMT9X001Reg(0x0344, 100);   //x_addr_start

wrMT9X001Reg(0x0346, 100);   //y_addr_start

wrMT9X001Reg(0x0348, Image_X+100);  //X_ADDR_END

wrMT9X001Reg(0x034A, Image_Y+100);  //Y_ADDR_END

wrMT9X001Reg(0x034C, Image_X);  //X_OUTPUT_SIZE

wrMT9X001Reg(0x034E, Image_Y);  //Y_OUTPUT_SIZE

wrMT9X001Reg(0x0104, 0x0000);   //GROUPED_PARAMETER_HOLD

wrMT9X001Reg(0x3012, Image_Y);  //coarse_integration_time 16

wrMT9X001Reg(0x3014, 0x1386);  //fine_integration_time 1386

wrMT9X001Reg(0x0304, 0x8);     //PLL Divider

wrMT9X001Reg(0x0306, 0x48);    //PLL multipler

wrMT9X001Reg(0x301e, 0x0000);   //Constance offset

wrMT9X001Reg(0x3028, 0x0016);   //analogue_gain_code_global_

wrMT9X001Reg(0x302A, 0x0012);   //analogue_gain_code_greenR_ 12

wrMT9X001Reg(0x302C, 0x0018);   //analogue_gain_code_red 18

wrMT9X001Reg(0x302e, 0x0018);   //analogue_gain_code_blue 18

wrMT9X001Reg(0x3030, 0x0012);   //analogue_gain_code_greenB 12

wrMT9X001Reg(0x301a, 0x5ccc);   //reset_register

wrMT9X001Reg(0x306e, 0x9080);   //datapath_select 
4、iCamera 配置文件编写

此文件主要作用是告诉iCamera软件,此摄像头输出的分辨率,格式等,以及需要对寄存器写入什么参数等。

上述过程完成后,即可点击采集,此时可以看到当前帧率信息

三、开始运行软件

1、显示软件是否正常注册(非注册功能会略有限制)

2、选择对应测试的摄像头型号(选择后,下方可以看到对应的分辨率、格式等)

3、点击PLAY(若正常,点击后此按钮变为stop)

4、若采集正常,此处将看到帧率会发生变化,显示实时帧率,若为0,则不正常。

5、若图像显示效果不正确(颜色),可以通过此下拉控件配置属性

6、若要观察曝光值,修改或读取寄存器值,可以点开此处。

例:配置mt9f002摄像头显示

通过修改0x0344、0x0346、0x0348、0x034A寄存器值,可以调整显示窗口。

Mt9f002为1400万像素(4608*3288),本配置显示为2560*2048,可以在摄像头固定情况下,对应上述四个寄存器,达到调整显示区域的效果,具体寄存器说明可以参考对应数据手册。

四、常见问题

1、USB插入未反应

请检查usb线缆是否正确

2、USB无法识别

请检查usb线缆供电是否正常,可能是线缆质量问题导致供电不足,或摄像头功耗太大。

可以先拔掉摄像头板再重新插拔usb试试

也可以通过镊子短路P2,重新上电。

3、图像显示条纹

分辨率设置不对,与上位机配置不一致,或摄像头安装不正确

更多问题请关注我们的博客或QQ群讨论

QQ群柴草电子之层层惊涛26210916

五、附录

资料介绍

本着绿色环保原则,资料包全面而精小,最终压缩为两个压缩包通过邮件或离线方式发送给客户。并不定期更新,敬请关注!

联系方式:

QQ:蓝天  2947269204  注明:柴草电子

Email:shenyae86@163.com

淘宝店铺:http://ccjt.taobao.com/https://shop126144436.taobao.com/

层层惊涛博客:http://www.cnblogs.com/ccjt/p/4469947.html

软件及资料下载地址:百度云

链接:http://pan.baidu.com/s/1ntIbt37 密码:f65x

Ps:

如有发现相关问题或相关意见或建议,请与我联系!!谢谢

还是cb的那一句话,完美是没有极限的!!

感谢:crazybingo、许sir、xiaomagee、小二马 大力支持!

柴草电子

2016-03-27 奇迹再现

使用iCamera 测试MT9F002 1400w高分辨率摄像头说明的更多相关文章

  1. 使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!!

    使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!! 本方案测试两种种分辨率输出(其他更多分辨率设置,可以参考手册配置) 4608*3288=1515万像素 11 ...

  2. 使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2

    使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2 本方案测试三种分辨率输出(其他更多分辨率设置,可以参考手册配置) 3776*3288=1241万像素 3776*2832= ...

  3. 使用iCamera 测试AR0331 300w高分辨率摄像头小结

    使用iCamera 测试AR0331 300w高分辨率摄像头小结 先看下sensor特性 分辨率最高可达:2048*1536=300w像素 1080p帧率最高可达60fps 本次使用usb2,帧率14 ...

  4. 使用iCamera 测试mt9d111 200w高分辨率摄像头小结

    使用iCamera 测试mt9d111 200w高分辨率摄像头小结 先看下产品特性 安装效果 根据前面博客的经验,该摄像头,默认配置即有输出,分辨率为800*600,yuv 于是可以写 如果使用默认配 ...

  5. 使用iCamera 测试MT9M001 130w高分辨率摄像头说明

    该摄像头默认分辨率为1280*1024,即不设置任何寄存器参数,只要给该模块提供时钟,就可以输出. 在这里 我们可以通过右侧寄存器栏动态调整各寄存器 观察效果. 0x09寄存器可以调整曝光值,可以根据 ...

  6. 基于iCamera测试宽动态全局摄像头mt9v034或mt9v032小结

    基于iCamera测试宽动态全局摄像头mt9v034或mt9v032小结 先看看硬件特点 主要是:全局快门.宽动态 然后看看硬件测试,usb采集出图 再看看寄存器配置 主要测试,可以修改分辨率,修改曝 ...

  7. 基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结

    基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结 先看实物 M12标准无畸变镜头效果 标准CS镜头效果 iCamera底板+mt9p001安装效果 再看看c ...

  8. 基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结

    基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结 先看看官方的接口 组委会指定的模块接口 信号定义说明: VDD:3.3v GND:地 SCK:摄像头寄存器的iic配置信号的时钟线 ...

  9. 基于iCamera测试模拟摄像头-TVP5150模块小结

    基于iCamera测试模拟摄像头-TVP5150模块小结 首先先认识下模拟摄像头,相信大家都不陌生, CCD模拟摄像头 CMOS模拟摄像头 可以看到,ccd摄像头电路较复杂,接口少,而cmos摄像头, ...

随机推荐

  1. LoadRunner具体流程

    创建负载测试场景场景目标:模拟10个用户同时登陆.搜索航班.购买机票.查看航班路线并退出打开Controller并创建一个新场景1.打开HP LoadRunner2.打开Controller在Load ...

  2. 微擎 manifest.xml

    微擎 manifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns= ...

  3. 【Java】面向对象初探

    前段时间经历了一段心态浮躁期,这让我想起了自己最初的计划,要提升自己知识体系的广度.前几年一直做的是web前端这一块的工作,但我希望通过自己在学习Java这样的过程来提升自己的知识广度. 面向对象概述 ...

  4. 领扣(LeetCode)单词模式 个人题解

    给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式. 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向 ...

  5. php中 continue break exit return 的区别

    php 中的循环有 for foreache while do{} whlie这几种. 1.continue continue是用来在循环结构中,控制程序放弃本次循环continue: 之后的语句,并 ...

  6. 程序员常用6 个 Python 的日期时间库

    内建的 datetime 模块 在跳转到其他库之前,让我们回顾一下如何使用 datetime 模块将日期字符串转换为 Python datetime 对象. 假设我们从 API 接受到一个日期字符串, ...

  7. 从Netty EventLoop实现上可以学到什么

    本文主要讨论Netty NioEventLoop原理及实践,关于Netty NioEventLoop,首先要知道NioEventLoop是什么,为什么它会是Netty核心Reactor处理器,实现原理 ...

  8. 如何理解Nginx, WSGI, Flask(Django)之间的关系

    如何理解Nginx, WSGI, Flask(Django)之间的关系 值得指出的是,WSGI 是一种协议,需要区分几个相近的名词: uwsgi 同 wsgi 一样也是一种协议,uWSGI服务器正是使 ...

  9. DOM属性

    节点属性: 文档里的每个节点都有以下属性. nodeName nodeName属性将返回一个字符串,其内容是给定节点的名字: name = node.nodeName 如果给定节点是一个属性节点,no ...

  10. [ch04-03] 用神经网络解决线性回归问题

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.3 神经网络法 在梯度下降法中,我们简单讲述了一下神 ...