Camera和Image sensor技术基础笔记(10) -- sensor器件适配需要注意的地方
本篇笔记为一个简单总结,主要为了说明一下在软件项目中对于新的sensor器件适配所需要注意的点(个人经验,仅供参考)。
数据手册
一般通过FAE拿到器件手册。拿到手册后重点查看:
sensor的管脚描述,主要是时钟,GPIO,电源等重要管脚描述
sensor的硬件上电时序,一般来说sensor会有一个XSHUTDOWN或类似的信号线来控制芯片的power up,这根信号线通过主机端来控制。
sensor的启动流程。重点关注sensor内部的状态机,如何切换状态机。
sensor的寄存器。很多sensor的寄存器都会划分为静态配置访问和动态配置访问两大类,部分sensor会分的更细,比如boot read和standby状态下能访问的寄存器也不一样。分清除哪些是静态,哪些是动态,什么情况下哪些寄存器的值会生效对于软件代码非常重要。一般来说,对于行长,PLL等的设置都是静态的,动态的配置一般针对积分时间,模拟增益,数字增益等。
sensor的工作时序。了解sensor的工作时序,理清楚如何设置行长,帧长,以及它们和帧率的关系等,曝光参数和增益参数的上下限等。每个厂家的sensor这块都会略有不同。本笔记总结几个常见的概念:
行长(line length) |
表示一行的长度,一般按照像素为单位。 有些sensor厂家会用HTS相关参数表示,具体意义需要和厂家确认 注意:行长包括了实际一行的有效像素以及horizontal blanking 从原理上讲,控制帧率可以通过对行长控制来实现,但是通过这个参数控制帧率比较麻烦,一般来说手册里会建议用户配置行长为一个推荐的最小值(根据ADC的精度而定),帧率的控制一般通过帧长来实现较为容易。 |
帧长(frame length) |
表示一帧的长度,以行为单位。 某些sensor厂家会用VTS相关参数表示,具体意义需要和厂家确认 注意:帧长包含了实际的有效行数以及vertical blanking |
行时间(line time) |
一行数据的时间,和行长相关,其关系如下: line_time = line_length / pixel_clock pixel clock是像素时钟频率 1/pixel_clock就是扫描一个像素的时间 |
积分时间(integration time) |
一般可以认为是曝光行数(exposure lines)的表达, 用来控制曝光时间 |
曝光时间(exposure time) |
有些sensor厂家也写为exposure interval 表示一帧数据曝光的总时间,sensor里配置曝光时间的寄存器,一般以行为单位计算。 因此 exposure time = line_time * integration_time = line_length / pixel_clock * integration_time |
另外,对于有多sensor同步需求的场景(如作为slave角色的sensor),需要从数据手册里找到相关控制寄存器(一般是GPIO或I2C命令同步)。如果要控制闪光灯,找到strobe相关控制的寄存器。
原理图
原理图中对软件来讲,最重要的关注点有:
控制sensor电源开关的信号线,一般为GPIO控制,需要理清连接关系以便写sensor的上下电代码。
如果有做多sensor同步需求的场景,搞清楚trigger方式,如果使用GPIO做触发,搞清楚使用的GPIO管脚。
软件接口实现
根据原理图,配置好相关的GPIO管脚功能。
初始化好sensor的输入时钟。
按照sensor上电要求编写代码,一般是通过对电源开关GPIO管脚进行控制,完成硬件上电操作。
配置好sensor的时钟相关参数(如PLL分频、倍频参数)
加载默认模式下的(例如800*600, 30fps,HDR on)sensor参数配置,一般来说FAE会提供不同分辨率,不同模式下的预设寄存器配置表。
编写上层需要提供start/stop sensor的接口,目的是让sensor进入和退出streaming状态
编写曝光控制,增益控制,白平衡,暗电流相关控制接口
Camera和Image sensor技术基础笔记(10) -- sensor器件适配需要注意的地方相关推荐
- Camera和Image sensor技术基础笔记(5) -- HDR相关技术
动态范围(Dynamic Range) 动态范围最早是信号系统的概念,一种信号系统的动态范围定义为:最大的信号不失真的电平和噪声电平的差,在实际场景中,多用分贝(dB)为单位来衡量一个信号系统的动态范 ...
- Camera和Image sensor技术基础笔记(1) -- 光和CCD/CMOS sensor基础知识
光 首先来看看可见光在电磁波谱里的位置,光在电磁波谱里的范围是非常窄的 一般人的眼睛能感知的电磁波的频率在380~750THz,波长在780-400nm之间,但有些人能够感知到频率大约在340~790 ...
- Camera和Image sensor技术基础笔记(4) -- 白平衡White Balance
白平衡到底是什么 百度搜索"白平衡",我们会发现有一句话很常见,大概意思是:"白平衡是一种功能,它让图片中的白色看起来就是白色".啊,什么,白色为啥看起来不是白 ...
- Camera和Image sensor技术基础笔记(7) -- SCCB总线
概览 SCCB是豪威科技(OmniVision Technologies Inc.)所定义开发的一个总线协议,全称是Serial Camera Control Bus.它是一个三线串行总线(也可以只用 ...
- 攻防技术基础笔记一——病毒、蠕虫病毒、木马、软件漏洞、常见问题、漏洞成因、黑产产业链、遵纪守法、渗透测试、渗透测试方法、VMware的使用、认识kali
攻防技术基础笔记 一.病毒 二.蠕虫(worm)病毒 三.简单辨析蠕虫病毒跟普通病毒 四.木马 五.木马与病毒的区别 六.软件漏洞 七.两个生活中的安全问题 八.漏洞产生的原因 九.漏洞黑产产业链 十 ...
- 前端技术基础--笔记
目录 一 一,改造登录案例 –1,概述 –2,改造 二,HTML –1,概述 –2,入门案例 –3,使用Hbuilder 三,常用标签 –1,概述 –2,常用标签 –3,表格标签 –4,表单标签for ...
- 大学计算机网络技术基础--笔记大全
network 屏蔽输出 undo terminal debugging undo terminal monitor undo terminal logging undo terminal trapp ...
- 大数据技术基础笔记1 大数据概述
文章目录 1.1 大数据时代 1.2 大数据概念 1.3 大数据的影响 1.4 大数据的应用 1.5 大数据关键技术 1.6 大数据计算模式 1.7 大数据产业 1.8 大数据与云计算.物联网的关系 ...
- 模拟电子技术基础笔记(4)——晶体三极管
目录 晶体管的结构和符号 晶体管的放大原理 晶体管的共射输入特性和输出特性 1.输入特性 2.输出特性 3.晶体管的三个工作区域 温度对晶体管特性的影响 主要参数 晶体管的结构和符号 孔的作用:散热或 ...
最新文章
- 估值380亿美元!这家微软、谷歌、亚马逊都投资的AI初创公司什么来头?
- 深圳速度!这所筹建中的大学,迎来首任“掌门人”!
- 帧中继和路由协议详解-在帧中继多点子接口上运行EIGRP
- JS文本框默认值处理
- react router 路由守卫_react实现hash路由
- 积跬步,聚小流------html知识大纲归纳总结
- wxWidgets:wxNavigationKeyEvent类用法
- [技术博客] gitlab快速部署流程
- Separate Query from Modifier(分离查询和修改)
- C#语法中String与string的区别
- go mysql 多并发_MySQL并发处理-Go语言中文社区
- Sprint回顾会议
- dB、dBm、dBw的含义和转化关系
- 化学与计算机技术,计算机技术与化学教学整合浅议
- 泰凌微8258入门教程 问题篇②——make Error, section .text loaded at [x,x] overlaps section .retention_data loaded
- 南京大学计算机考研考试大纲,南京大学计算机技术(专业学位)研究生考试科目和考研参考书目...
- mysql group concat 去重,MySQL group_concat() 函数用法
- 面试官:说一下Synchronized底层实现,锁升级的具体过程?
- 开源的烽火 “烽火”的开源
- ★会用这两键,你就是电脑高手了
热门文章
- 奇瑞大蚂蚁—实力强劲的纯电SUV
- linux机械硬盘 ext32,Linux磁盘分区管理--ext2和ext3文件系统逻辑结构分析
- Excel文件管理插件——方便好用的Excel小帮手
- 3.7 百分比堆积柱形图
- 如何dump SKP,SKP抓取
- 星火燎原,遍地开花!2019链脉名片蓄势进发
- 联通物联网公司陈晓天:联通物联网、万向合力探索二手车残值估值、肉牛融资物联网解决方案...
- leTV 乐视超级电视上面安装apk
- CPU CACHE优化 性能优化方法和技巧
- acw-2049.奶牛摄影(详细)