关于手机Camera的硬件电路知识

news2024/9/21 18:45:58

前阶段,小白教同事测了些Camere的基本功耗。正愁不知道写什么的小白,突然想到了素材,于是乎便趁着周末雷雨天宅家之际,写一篇关于手机Camere的硬件文章。

手机Camera

一、工作原理

关于Camera,景物通过镜头生成光学图像投射到图像传感器表面上,然后光信号转换为模拟的电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片中加工处理,再通过IO接口传输到CPU中处理,最终通过LCD显示成像。

二、分类

目前的手机摄像头主要为以下几类
1.长焦
焦距在60mm以上的摄像镜头。其具备类似望远镜的功能,3X及以上的模组都属于这个范围。手机中的主摄往往采用长焦模组。

2.景深
目前大部分手机都不会上的摄像头,即使上了,也大多数为了凑数。实不相瞒,上一次接触景深,还属2020年小白大学刚毕业入职公司参与的第一个项目。
手机中采用的景深摄像头多为TOF摄像头。TOF-Time-of-Flight,即飞行时间。TOF镜头会发出红外线并计算投射到不同点位的红外线反射回来的时间,根据时间差,可以得知不同点位到手机镜头的距离,进而识别出被拍摄画面不同平面的深度。
在这里插入图片描述
3.微距
当手机拍摄近距离物体时,我们发现往往会很模糊。这个时候,如果要想拍的清晰,拍的细微就要用到微距,其拍摄距离往往在2-10cm之内。比如网络上的一些近景的花卉,昆虫均采用微距拍摄。
在这里插入图片描述
4.广角
顾名思义拥有广阔的视角。同一位置下可以获得更宽广的画面。具有视野宽阔,景深长,镜头焦距短的特点。
在这里插入图片描述
普通镜头
在这里插入图片描述
打开广角

三、硬件电路

聊完了摄像头的分类,来到文章的重点地方。如下为手机上一颗主摄的硬件电路设计。分为电源和普通信号线。
在这里插入图片描述

硬件电源

Camera一般离不开这四路电。
AVDD
DVDD
IOVDD
AFVDD

其中
1.AVDD
Sensor模拟电源。主要给内部的感光区以及ADC供电,属于敏感电源。在Camera预览出现水波纹或者黑暗条件拍摄噪点大问题一般均是AVDD电源不干净所导致。多个不同时工作的Camera,可共用一个AVDD。前摄和后主摄的AVDD不可共用。虽部分摄像头可共用,但也必须做LDO预留设计,预留的LDO优先作为大像素的备份。每个Camera的AVDD输入必须预留RC滤波网络用于debug需要。

2.IOVDD
IO接口电源。主要给内部I2C和MIPI供电。同时IO的电通常与对应Camera的I2C的上拉源共用一组电。功耗属于最低,属于uA级别。对噪声不敏感,影响较低。

3.AFVDD
对焦马达电源。在手机主摄中,往往存在着AFVDD这路电。主要作用是为了实现对焦。手机摄像头的音圈马达(VCM)需要Driver IC配合完成对焦。其两个PIN都接在Driver IC上,在一个永久磁场内,通过Driver IC改变马达内线圈的直流大小来控制弹簧片的拉伸位置,从而带动上下移动。

尝试将后置摄像头打开或者关闭,可以听到音圈马达因移动产生的撞击的声音。同时在关闭摄像头时,手机离拍摄物越近,关闭时响声越明显,与拍摄物越远响声越是听不到。下面小白来给大家解释一波。

开启有撞击声
开机或者重启第一次打开摄像头,马达驱动初始位置为马达有效行程的最底端。如果行程较大,很容易撞上底座。如果想要优化这类问题,可选择修改初始化位置,将其改到行程中间。

在这里插入图片描述
修改前

在这里插入图片描述
修改后

退出Camera撞击声
Camera退出后,马达掉电,线圈中不存在电流,弹簧失去洛伦兹力的牵引,在弹力作用下恢复原状,弹簧的位置靠近底座,恢复原位置回弹时会撞到底座产生撞击声。马达退出时距离底座越远声音越大,即对焦物体越近,退出时声音越大。这也就解释了前面的现象。
AFVDD通常由LDO供电,LDO的选择≥15dB@1KHz~1MHz。

4.DVDD
DVDD:给与Camera内部芯片的数字信号供电,电压一般在0.95V-1.2V。主要给内部的ISP等模块供电,功耗最高。以50M摄像头来看,其DVDD耗流的Typ值为236.3mA,MAX值未知。由于手机主板的连接器座子的Pin载流能力为300mA,所以在设计中,这路电我们往往选择两个Pin以保证设计的安全性。

其与其他电相同,均采用LDO供电,要求PSRR≥20dB@1KHz~1MH。因电流大,所以要求输入与输出的压差尽可能的小。压差大,使得LDO使用的效率低,能量以热能散失,影响到整机的温升。

硬件信号

1.I2C
Camera与BB芯片的通信方式属于I2C。速率一般在400K。可同时工作的Camera,例如前后主摄不可共用一组I2C,以免I2C带宽不足,降低Camera对Host的响应速度、增加Camera的响应延迟

2.MCLK
除了几个重要的电源外,还存在时钟信号,其由BB芯片提供,频率24M。是CCM sensor的时钟源,MCLK由sensor处理后变成传输数据所需要的PCLK,PCLK指pixel采样的时钟。其通路上往往串一颗磁珠,以解射频desense问题。

3.VSYNC
场同步信号。双摄下多个摄像头需要同时曝光出数据。所以各Camera的VSYNC接到一起用于同步。同时工作的Camere要用0R电阻隔开以备调试。

MIPI:高速信号,后期细讲。

PCB设计

在这里插入图片描述
根据图示放置电容,并靠近对应的Pin摆放(PMU输出电容靠近PMU,Camera去耦电容靠近连接器摆放)。
AVDD:RC滤波组合靠近连接器放置;0.1UF靠近连接器放置,4.7uF次之。电容的地与Camera的模拟地AGND相连一起并在靠近连接器处通过Via下到主地。如果预留LDO,同样要求靠近连接器摆放。AVDD做好保护,走线立体包地。尽量少打孔换层,禁止与电流,RF以及时钟信号并行或者相邻。

DVDD:电容摆放靠近连接器,因电流大,线宽要求满足对应的电流值即可。

IOVD:电容摆放靠近连接器,电流小,基本线宽即可。

AFVDD:同AFVDD。AFGND的Pin直接与对应的去耦电容负极连接并且靠近座子下主地。不可与其他层的GND网络存在物理连接。

三路电的线宽均以1A 1mm线宽的方式进行设计。

MIPI:通常串共模电感,但目前的项目往往选择省略。用于MIPI信号测试的测试点需摆放在MIPI路径上。保持内层走线,除BB以及连接器端外,避免表层走线。整个路径打孔不超过4个。换层后走线依旧保持完整的参考地平面,每组MIPI Data与MIPI CLK单独包地处理。如果无法做到单独包地处理,组与组需保持3W原则。差分阻抗控制在100ohm±10%.差分内P和N等长控制在15mil,组间控制在40mil.

MCLK:属于高速信号。做好立体包地。测量时使用弹簧针测试,确保测试出的波形不会失真。MCLK信号如果不做好保护导致的波形异常,同样也会在效果上显示存在严重的缺陷。

连接器下方的表层和次表层保持完整的GND,不能走线。

四、总结

其实从手机硬件设计的角度来看,Camera的东西并不是很多。往往出问题最多的无非就是Camere场景功耗 mipi信号测试以及画质显著的缺陷的问题。硬件设计方面,PCB的设计起到了很重要的作用。好的设计往往可以避免很多问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659651.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CRM软件能否代替Excel进行客户管理?

很多销售习惯使用Excel表格来管理客户,觉得这样既简单又方便。但随着客户的增多,使用Excel表格管理客户会带来很多问题。因此,客户管理不用Excel表格用CRM软件,是一种更加明智的选择。 1、统一管理数据 数据是企业的命脉。一旦客…

Python二级综合应用题:通讯录管理

Python二级考试中的最后一题一般是压轴题,有一定的难度,而且分值也高。此题一般分为1~3个问题,步步为赢,才能更好地解决。遇到这种问题,首先是不要怕,能解决几步是几步。今天我们一个通讯录管理题来说明一下…

Unbuntu下载Clion并配置Cmake工具

Clion 下载CLion安装Cmake工具 下载CLion 如果使用的是Unbuntu系统,一行命令就搞定了 sudo snap install clion --classic其他系统的下载方法就不在这里记载了 安装Cmake工具 刚下好Clion的时候,打开之后,如果没有Cmake工具.Clion是不会帮…

父亲节礼物:用Python编写一个小型游戏

名字:阿玥的小东东 学习:Python、C/C 主页链接:阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 安装必要的库 绘制游戏界面 添加游戏元素 为游戏添加交互性 结论 一、父亲节的来历简介 二…

taskAffinity、launchMode 与 flag

1、官方文档 public static final int FLAG_ACTIVITY_CLEAR_TASK 如果在传递给 的意向中设置,则 此标志将导致与 在活动开始之前要清除的活动。即活动 成为原本为空的任务和任何旧活动的新根 都完成了。这只能与 结合使用。Context.startActivity()FLAG_ACTIVITY_NE…

Kubernetes Blog 更新:DaoCloud 为数字世界寻找全局最优解

“ 近日,一篇名为《「DaoCloud 道客」与 Kubernetes--为数字世界寻找全局最优解》的博文,在 Kubernetes 的全球官网上线(链接:https://kubernetes.io/case-studies/daocloud/),下面一起来了解一下具体内容…

ArcEngine二次开发0——入门(下载 部署 组件学习)

折腾一下ArcGIS Engine二次开发。 目录 1、开发环境配置2、部署一个ArcGIS Engine应用程序3、ArcObject组件学习4、报错及解决4、其他 1、开发环境配置 参考:https://blog.csdn.net/H48662654/article/details/113384150 (使用ArcEngine前,…

时序预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机时间序列预测

时序预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机时间序列预测 目录 时序预测 | MATLAB实现SO-ELM蛇群算法优化极限学习机时间序列预测效果一览基本介绍程序设计学习总结参考资料 效果一览 基本介绍 Matlab实现SO-ELM蛇群算法优化极限学习机时间序列预测 1.data为单变量时间…

拿捏指针(三)--- 对指针的高级认识(高级)

函数指针 函数指针的定义 通过对 对指针的基本认识 和 对指针的进阶认识 我们知道,整型指针是指向整型的指针,数组指针是指向数组的指针,其实,函数指针就是指向函数的指针。 和学习数组指针一样,学习函数指针我们也需…

【WebPack】前端工程化

文章目录 前端工程化一、前端工程化概念二、前端工程化优点三、前端工程化解决方案四、webpack 的基本使用4.1 什么是 webpack4.2 创建列表隔行变色项目4.3 安装 webpack4.4 配置 webpack4.5 自定义 打包入口与出口 五、webpack 的插件使用5.1 webpack 常见插件5.2 webpack-dev…

【Linux】进程优先级

目录 进程优先级什么叫做优先级?Linux优先级更改优先级 进程优先级 什么叫做优先级? cpu资源分配的先后顺序,就是指进程的优先权(priority)。 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用…

imx6ull固化和更新uboot、zImage和dtb方法---超详细总结

目录 一、固化系统 1. 使用mfgtool上位机固化系统 1.1 mfgtool固化系统到 SD 卡 1.2 mfgtool固化系统到 eMMC 1.3 mfgtool固化系统到 NAND FLASH 2.使用脚本固化系统 2.1脚本固化系统到 SD 卡 2.2 脚本固化系统到 eMMC 2.3 脚本固化系统到 NAND FLASH 二、更新系统 …

用Midjourney画“球迷冲进球场拥抱梅西“事件

作者 | 兔子酱 最近,被“球迷冲进球场拥抱梅西”刷屏了!在阿根廷对战澳大利亚北京工体友谊赛上,一名中国“狂热少年”冲进球场,成功拥抱了梅西,甚至摆出了拍照姿势。拥抱后在球场狂奔,还有大马丁击了掌,最后…

C++学习之STL vector

Vector是什么? 问chatgpt看看是什么回答? ChatGPT: C中的vector是标准库(STL)提供的一种动态数组容器。它能够在运行时根据需要自动调整大小,并且可以存储不同类型的元素。 使用vector,您可…

Java虚拟机——HotSpot的算法实现细节

根节点枚举 在可达性分析算法中从GC Roots集合中找引用链非常的麻烦 。固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(栈帧的本地变量表)中。当Java应用很大的时候,类和常量数量很多…

了解redis以及其基本命令

目录 1 编译安装2 启动3 redis 是_3.1 远程字典服务3.2 内存数据库3.3 kv数据库3.4 数据结构数据库3.4.1 string 是一个安全的二进制字符串;3.4.2 双端队列 (链表) list :有序(插入有序);3.4.3 …

Dubbo的10种集群容错模式

学习Dubbo源码的过程中,首先看到的是dubbo的集群容错模式,以下简单介绍10种集群容错模式 1.AvailableCluster 顾名思义,就是可用性优先,遍历所有的invokers,选择可用的 2.MergeableCluster:当接口需要多个服务组合返回…

陌生人,可以看一看你最近复制了什么吗?

DDoS 攻击采用分布式的方式进行,攻击者通常会控制网络中许多终端或服务器,这些终端或服务器同时向被攻击目标发送大量的请求,被攻击目标无法判断这些请求来源的合法性,因此会无法正常处理这些请求,而导致服务中断&…

Web前端开发技术储久良第三版课后答案

P16-第1章 练习与实验答案 练习1 1.选择题 (1)B (2)B (3)B (4)D (5)A 2.填空题 (1)标记、文本 (2)Tim Berners-Lee(蒂姆伯纳斯李) (3)查看 (4)NotePad、EditPlus、TextPad、TopStyle、UltraEdit等 (5)超文本标记语言、统一资源定位符(器&am…

Fiddler如何比较两个接口请求?

进行APP测试时,往往会出现Android和iOS端同一请求,但执行结果不同,这通常是接口请求内容差异所致。 如果你想学习Fiddler抓包工具,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Fiddler抓包工具教程&…