基于iCamera测试模拟摄像头-TVP5150模块小结
基于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模块小结的更多相关文章
- 基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结
基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结 先看实物 M12标准无畸变镜头效果 标准CS镜头效果 iCamera底板+mt9p001安装效果 再看看c ...
- 基于iCamera测试高清摄像头SIV100B(替代ov7670)小结
基于iCamera测试高清摄像头SIV100B(替代ov7670)小结 先看看siv100b主要关键参数 SIV100B与OV7670分辨率和基本特性都差不多,而siv100b,像素尺寸更小,灵敏度更 ...
- 基于iCamera测试500w摄像头-mt9p001,mt9p031,mt9p001模块小结 续2
本次使用单色版本,镜头使用近焦镜头,拍摄大约30cm以内的物体和图像 更多原始图像效果,请关注百度云盘 http://pan.baidu.com/s/1cumqia
- 基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结
基于iCamera测试光电大赛官方指定摄像头mt9m001调试小结 先看看官方的接口 组委会指定的模块接口 信号定义说明: VDD:3.3v GND:地 SCK:摄像头寄存器的iic配置信号的时钟线 ...
- 基于iCamera测试mt9m034 1280X960 高动态相机模块小结
基于iCamera测试mt9m034 高动态相机模块小结 首先看看此模块的特性 mt9m034 高动态 CMOS模块 1280*960像素 5.48 V/lux-sec >115db 摄像头模块 ...
- 基于iCamera测试AR0134 960p 全局快门相机模块小结
基于iCamera测试AR0134 960p 全局快门相机模块小结 首先看看此模块的特性 AR0134 全局曝光 CMOS模块 1280*960像素 5.3 V/lux-sec 摄像头模块实物靓照(上 ...
- 基于iCamera测试宽动态全局摄像头mt9v034或mt9v032小结
基于iCamera测试宽动态全局摄像头mt9v034或mt9v032小结 先看看硬件特点 主要是:全局快门.宽动态 然后看看硬件测试,usb采集出图 再看看寄存器配置 主要测试,可以修改分辨率,修改曝 ...
- 基于iCamera测试高清摄像头OV7725小结
基于iCamera测试高清摄像头OV7725小结 先看看硬件特点 然后看看硬件测试,usb采集出图 默认是不带晶振的,可以通过usb提供提供12M.24M.48M时钟 软件出图 可以通过修改0x11, ...
- 模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出
模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出 测试使用电视机顶盒的AV模拟信号输入,VGA显示器输出测试,效 ...
随机推荐
- JavaScript with Image:创建缩略图
当图片很大,直接把图片从Server下载到浏览器上看是一种很不明智的做法,浪费了服务器的资源,网络带宽和客户端的资源.所以,通常Server和Client之间会传输缩略图,只有当Client请求某张图 ...
- java编程思想第四版第三章要点习题
使用"简短的" 和正常的 打印语句来编写一个程序 package net.mindview.util; public class Print { /** * 不带有回车 * @pa ...
- poj 1001 求高精度幂(Java, BigDecimal, pow, hasNext, stripTrailingZeros, toPlainString)
求高精度幂 Time Limit: 500MS Memory Limit: 10000K Total Submissions: 180325 Accepted: 43460 Descripti ...
- 【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star![Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.欢迎 Sta ...
- 反汇编objc分析__block
"You can specify that an imported variable be mutable—that is, read-write— by applying the __bl ...
- 实现自定义的参数解析器——HandlerMethodArgumentResolver
1.为什么需要自己实现参数解析器 我们都知道在有注解的接口方法中加上@RequestBody等注解,springMVC会自动的将消息体等地方的里面参数解析映射到请求的方法参数中. 如果我们想要的信息不 ...
- 请求库urllib和urllib3
# coding=utf-8 # urllib """ 使用python的urllib库去模拟浏览器请求网页,常用内容如下: urllib.request 发送HTTP请 ...
- 三分钟带你入门 redis 高可用架构之哨兵
什么是哨兵? 哨兵(Sentinel)是 redis 的高可用性解决方案,前面我们讲的主从复制它是高可用的基础,需要人工介入才能完成故障转移,哨兵可以解决这个问题,在主从复制情况下,当主节点发生故障时 ...
- redis与memcached区别
不同点: (1) redis中并不是所有数据在有效期内只能常驻内存的(如果需要,可定期同步持久化到磁盘),这是和memcached相比一个最大的区别(memcached中的数据在有效期内是以键值对的形 ...
- 谈谈.net对象生命周期
不用程序员操心的堆 — 托管堆 程序在计算机上跑着,就难免会占用内存资源来存储在程序运行过程中的数据,我们按照内存资源的存取方式将内存划分为堆内存和栈内存. 栈内存,通常使用的 ...