基于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. JavaScript with Image:创建缩略图

    当图片很大,直接把图片从Server下载到浏览器上看是一种很不明智的做法,浪费了服务器的资源,网络带宽和客户端的资源.所以,通常Server和Client之间会传输缩略图,只有当Client请求某张图 ...

  2. java编程思想第四版第三章要点习题

    使用"简短的" 和正常的 打印语句来编写一个程序 package net.mindview.util; public class Print { /** * 不带有回车 * @pa ...

  3. poj 1001 求高精度幂(Java, BigDecimal, pow, hasNext, stripTrailingZeros, toPlainString)

    求高精度幂 Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 180325   Accepted: 43460 Descripti ...

  4. 【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!

    本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.欢迎 Sta ...

  5. 反汇编objc分析__block

    "You can specify that an imported variable be mutable—that is, read-write— by applying the __bl ...

  6. 实现自定义的参数解析器——HandlerMethodArgumentResolver

    1.为什么需要自己实现参数解析器 我们都知道在有注解的接口方法中加上@RequestBody等注解,springMVC会自动的将消息体等地方的里面参数解析映射到请求的方法参数中. 如果我们想要的信息不 ...

  7. 请求库urllib和urllib3

    # coding=utf-8 # urllib """ 使用python的urllib库去模拟浏览器请求网页,常用内容如下: urllib.request 发送HTTP请 ...

  8. 三分钟带你入门 redis 高可用架构之哨兵

    什么是哨兵? 哨兵(Sentinel)是 redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,需要人工介入才能完成故障转移,哨兵可以解决这个问题,在主从复制情况下,当主节点发生故障时 ...

  9. redis与memcached区别

    不同点: (1) redis中并不是所有数据在有效期内只能常驻内存的(如果需要,可定期同步持久化到磁盘),这是和memcached相比一个最大的区别(memcached中的数据在有效期内是以键值对的形 ...

  10. 谈谈.net对象生命周期

     不用程序员操心的堆 — 托管堆         程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存和栈内存.    栈内存,通常使用的 ...