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

首先先认识下模拟摄像头,相信大家都不陌生,

CCD模拟摄像头

CMOS模拟摄像头

可以看到,ccd摄像头电路较复杂,接口少,而cmos摄像头,电路简单接口较多,

大家可以百度搜索下,关注下cmos和ccd的优缺点,及其性能特点。

这里的两款主要区别如下:

1、ccd清晰度较高,低照度效果也较好。

2、ccd不需要ircut,cmos需要ircut。在户外需要加650nm滤片图像才能正常。

再看看接线

此种线缆为我们准备的标准连接线,对外的接口就是:电源和信号(标准的DC头和Q9头)

接电路板的接头也比较简单,都是防反插的插头,3芯的是包含电源和信号,其中地是公共的。

2芯的是电源,可以接灯板,在我们的应用的并不适用。

当然摄像头板卡上也仅有和只有一个3芯的座子。所以不会接错。

视频采集方案

TVP5150+iCamera+USB+PC

因为iCamera接口与摄像头线序略有出入,所以准备了转接板一块,有一根分线,仅是调整线序,使用avid信号。

800线ccd模块

安装示意图

到此就实现了模拟摄像头,usb视频采集的原型了。

下面再看iCamera配置

TVP5150_DF_YUV
mode=Video
iface=Cypress
format=Yuv
Type=YUYV
imagesize=720x263
afmode=CYPRESS_IIC
[SENSOR]
; VENDOR 0x1a for configuration
; VENDOR 0x1e for vcm
; VENDOR 0x12 for 1 byte address and 1 byte data
; VENDOR 0x22 for 1 byte address and 2 bytes data
; VENDOR 0x32 for 2 bytes address and 1 byte data
; VENDOR 0x42 for 2 bytes address and 2 bytes data
; VENDOR 0x52 for 1 byte address and sequence datas
; VENDOR 0x62 for 2 bytes address and sequence datas

0x1a, 0x00, 0xBA, // 42 0x5A // sensor slave id
0x1a, 0x01, 0x00, // pwdn low
0x1a, 0x02, 0x01, // wordwide <1:8 bit, else:16 bit>
0x1a, 0x03, 0x01, // register address length 2byte
0x1a, 0x04, 0x01, // register value length 1byte
//0x1a, 0x05, 0x01 // reset pin(PC2)
0x1a, 0x06, 0x01 // IFCLK polarity

0xfe,0x01,0x01  //最新命令,因为视频为隔行扫描,奇偶帧,此命令实现,跳过一帧,取一半,不作拼接。

0xff,0xff,x0ff
0x12,0x00,0x00
0xff,0xff,x0ff
0x12,0x03,0xaf
0xff,0xff,x0ff
0x12,0x0f,0x02
0xff,0xff,x0ff
0x12,0x09,0xb4 //180
0xff,0xff,x0ff
0x12,0x0a,0xc8 //200
0xff,0xff,x0ff
0x12,0x0c,0xac //172
0xff,0xff,x0ff
0x12,0x0D,0x40
0xff,0xff,x0ff
0x12,0x12,0x04

0x1a, 0x0e, 0x01, // external clock

视频采集效果

注意:

本次测试,可能iic时序不是太完美,初始化往往需要多次才能成功,如:重复多次上电,不断点击,开始,停止初始化,3-5次后就正常了

此时看到的分辨率为:

720*263,因为该模版最大输出是720*525,一半即可

所以连续采集会出现错位现象,偶尔,也是这个原因。

主要是最后两个寄存器比较重要,如果出现下述问题,可能是最后两个寄存器初始化未完成造成的,重复写入,即可解决

最后感谢:

网友鬼算子的大力支持。

基于iCamera测试模拟摄像头-TVP5150模块小结的更多相关文章

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

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

  2. 基于iCamera测试高清摄像头SIV100B(替代ov7670)小结

    基于iCamera测试高清摄像头SIV100B(替代ov7670)小结 先看看siv100b主要关键参数 SIV100B与OV7670分辨率和基本特性都差不多,而siv100b,像素尺寸更小,灵敏度更 ...

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

    本次使用单色版本,镜头使用近焦镜头,拍摄大约30cm以内的物体和图像 更多原始图像效果,请关注百度云盘 http://pan.baidu.com/s/1cumqia

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

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

  5. 基于iCamera测试mt9m034 1280X960 高动态相机模块小结

    基于iCamera测试mt9m034 高动态相机模块小结 首先看看此模块的特性 mt9m034 高动态 CMOS模块 1280*960像素 5.48 V/lux-sec >115db 摄像头模块 ...

  6. 基于iCamera测试AR0134 960p 全局快门相机模块小结

    基于iCamera测试AR0134 960p 全局快门相机模块小结 首先看看此模块的特性 AR0134 全局曝光 CMOS模块 1280*960像素 5.3 V/lux-sec 摄像头模块实物靓照(上 ...

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

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

  8. 基于iCamera测试高清摄像头OV7725小结

    基于iCamera测试高清摄像头OV7725小结 先看看硬件特点 然后看看硬件测试,usb采集出图 默认是不带晶振的,可以通过usb提供提供12M.24M.48M时钟 软件出图 可以通过修改0x11, ...

  9. 模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出

    模拟摄像头解码模块最新测试  TVP5150模块  FPGA+SDRAM+TVP5150+VGA  实现PAL AV输入 VGA视频输出 测试使用电视机顶盒的AV模拟信号输入,VGA显示器输出测试,效 ...

随机推荐

  1. C++图像加Lidar点云转写rosbag

    近期需要处理一批Lidar+image的数据,拿到的是其他格式,但要转存成rosbag使用,参考部分网上做法,完成并记录. 1.Lidar处理 主要是将Lidar点云信息按点转为pcl::PointX ...

  2. lqb 基础练习 字母图形 (循环)

    基础练习 字母图形 时间限制:1.0s   内存限制:256.0MB     问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBAB ...

  3. 力扣(LeetCode)长按键入 个人题解

    你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的名字(其中一 ...

  4. Sequelize小记

    http://docs.sequelizejs.com/   官方英文 Object-Relational Mapping 增 Model.create({field1:'a', field2:'b' ...

  5. linux下制作linux系统盘(光盘、U盘)

    cdrecord制作启动光盘 首先cdrecord -scanbus输出设备列表和标识,(我的此次为5,0,0)  [ˈrekərd] 然后用cdrecord -v dev=5,0,0 -eject ...

  6. 关于log4j

    搭建完maven+SpringMVC以后,我们还需要添加日志功能,方便记录应用在应用中产生的日志信息. 1.添加依赖包:依赖中除了对slf4j依赖外还有对邮件插件的依赖.当遇到报错的时候可以发送邮件到 ...

  7. 转:MySQL中变量的定义和变量的赋值使用(转)

    MySQL中变量的定义和变量的赋值使用(转)   说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较 ...

  8. vim编辑中断后,重新编辑的警告删除

    使用vim 编辑,遇到突然中断,比如ssh远程时断网了. 如果再次ssh连接,重新vim 打开之前在编辑的文件,会有类似如下的警告 这是因为vim会在被编辑的目录下新建一个名为.filename.sw ...

  9. think PHP 查询、更改

    最近公司没有什么新项目,故准备搞搞PHP,正好后端有一些小东西需要搞一下,我就来试试吧. PHP 基于think PHP 3 实现功能: 1.为销售绑定虚拟号码分组(查询可以绑定的分组 -> 绑 ...

  10. (四十)golang--单元测试

    传统的测试: package main import ( "fmt" ) func addUpper(n int) int { res := ; i <= n; i++ { ...