使用iCamera 测试MT9F002 1400w高分辨率摄像头说明
一、硬件准备
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://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高分辨率摄像头说明的更多相关文章
- 使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!!
使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!! 本方案测试两种种分辨率输出(其他更多分辨率设置,可以参考手册配置) 4608*3288=1515万像素 11 ...
- 使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2
使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2 本方案测试三种分辨率输出(其他更多分辨率设置,可以参考手册配置) 3776*3288=1241万像素 3776*2832= ...
- 使用iCamera 测试AR0331 300w高分辨率摄像头小结
使用iCamera 测试AR0331 300w高分辨率摄像头小结 先看下sensor特性 分辨率最高可达:2048*1536=300w像素 1080p帧率最高可达60fps 本次使用usb2,帧率14 ...
- 使用iCamera 测试mt9d111 200w高分辨率摄像头小结
使用iCamera 测试mt9d111 200w高分辨率摄像头小结 先看下产品特性 安装效果 根据前面博客的经验,该摄像头,默认配置即有输出,分辨率为800*600,yuv 于是可以写 如果使用默认配 ...
- 使用iCamera 测试MT9M001 130w高分辨率摄像头说明
该摄像头默认分辨率为1280*1024,即不设置任何寄存器参数,只要给该模块提供时钟,就可以输出. 在这里 我们可以通过右侧寄存器栏动态调整各寄存器 观察效果. 0x09寄存器可以调整曝光值,可以根据 ...
- 基于iCamera测试宽动态全局摄像头mt9v034或mt9v032小结
基于iCamera测试宽动态全局摄像头mt9v034或mt9v032小结 先看看硬件特点 主要是:全局快门.宽动态 然后看看硬件测试,usb采集出图 再看看寄存器配置 主要测试,可以修改分辨率,修改曝 ...
- 基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结
基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结 先看实物 M12标准无畸变镜头效果 标准CS镜头效果 iCamera底板+mt9p001安装效果 再看看c ...
- 基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结
基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结 先看看官方的接口 组委会指定的模块接口 信号定义说明: VDD:3.3v GND:地 SCK:摄像头寄存器的iic配置信号的时钟线 ...
- 基于iCamera测试模拟摄像头-TVP5150模块小结
基于iCamera测试模拟摄像头-TVP5150模块小结 首先先认识下模拟摄像头,相信大家都不陌生, CCD模拟摄像头 CMOS模拟摄像头 可以看到,ccd摄像头电路较复杂,接口少,而cmos摄像头, ...
随机推荐
- tensorflow中的学习率调整策略
通常为了模型能更好的收敛,随着训练的进行,希望能够减小学习率,以使得模型能够更好地收敛,找到loss最低的那个点. tensorflow中提供了多种学习率的调整方式.在https://www.tens ...
- ffmpeg centos yum安装
CentOS 6&7安装ffmpeg CentOS 6和7安装方法是不一样的,下面分别说明: 安装前都需要先安装epel扩展源 yum -y install epel-release ce ...
- nyoj 263-精 挑 细 选 (sort(P, P+m, cmp); bool cmp(node a, node b)...)
263-精 挑 细 选 内存限制:64MB 时间限制:3000ms 特判: No 通过数:14 提交数:26 难度:1 题目描述: 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根 ...
- linux磁盘分区、格式化、挂载
新建分区的操作步骤,如下图: 1)RAID卡: 机器有没有RAID卡可以在开机时看有没有出现配置RAID什么的提示(亲测),系统运行时有没有,不知道! 服务器大多有这个新加硬盘后不修改raid,开即f ...
- 【dp】you are the one
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4283 题解: 当最优解下, a1在j的位置排出, 则a2 ——aj-1 和 aj——an为两个独立事件 ...
- 关闭Eslint检查
Eslint是一个JavaScript的校验插件,通常用来校验语法或代码的书写风格.不过有点过于严格,通常缩减不同也会报错... 这会影响工作效率啊,最好就是在创建项目的时候不要ESlint(选择No ...
- LoadRunner中的90%响应时间
LoadRunner中的90%响应时间是什么意思?这个值在进行性能分析时有什么作用? 为什么要有90%用户响应时间? 这个跟超女.舞林大会等比赛那样在比赛后都要去掉一个最高分一个最低分在取平均值有点类 ...
- 2019-10-31:渗透测试,基础学习,mongodb注入学习
mongodb命令删除文档,db.集合名.remove({键:值})更新文档,db.集合名.update({被更新的对象},{$set:{要更新的内容}}),默认只更新检测到的第一条文档更新全部匹配到 ...
- linux计算机网络基础
OSI7层协议和TCP/IP4层网络协议 第一层:物理层,定义各种物理设备的规范,如通信距离,接口大小等. 第二层:数据链路层,基于mac地址通信是,数据报文封装和相应方式. 第三层:网络层,基于IP ...
- 数据表与简单java类映射转换
简单的Java类的定义来源于数据表的结构, 例如:雇员信息表.部门信息表描述的就是雇员或部门的信息, 在实际的开发之中,数据表和简单java类之间的映射关系如下: 1. 数据实体表设计 = 类的定义: ...