光学防抖OIS,全称是Optical Image Stabilization,字面意思是稳定的光学图像。其工作原理是基于陀螺仪检测和位移补偿。即镜头中的陀螺仪检测手机晃动引起的微小移动,然后将信号传输给CPU进行处理。 CPU会立即计算出需要补偿的位移量,然后根据计算结果移动相机镜头组中的浮动镜头来抵消抖动。由此产生的微小位移有效克服了相机振动引起的图像模糊。
注意:OIS 可以稳定相机抖动引起的图像模糊,但无法补偿场景运动引起的模糊。
OIS补偿方式分为镜头平移和模组倾斜两种,如下图:
其中:
开始时,在稳定状态下,物体可以投射到传感器的中心。然而,当发生晃动或抖动时,物体不会在传感器的中心成像。这时就需要OIS进行补偿,改变光路,使物体重新成像。成像位于传感器中心。本文以Lens Shift为例演示OIS补偿过程。
OIS整体俯视图如下所示。其电路主要由四个主要部件组成,分别是陀螺仪传感器、霍尔传感器、驱动IC和MCU。
可以感应手机上的运动或振动,但目前陀螺仪传感器没有单独安装在相机模块上。而是通过SPI获取手机上Gyro Sensor的数据,这样可以节省相机模组的空间。 (问:为什么使用SPI来传输数据而不是常用的I2C)
答:陀螺仪的精度是决定整个系统性能的关键特性,是控制精度的基础。相位延迟必须减少到最小,以避免在控制环时序中插入延迟;零速率偏移必须接近0以减少积分误差;输出数据速率必须高于要控制的系统频率的两倍(过采样);测量范围必须保证达到±250dps;速率噪声密度必须非常低,以最大限度地提高信号的准确性;正常模式和待机模式下的功耗都必须极低,以适应移动电话的需求。最重要的一点是陀螺仪的角度数据必须快速稳定的发送到MCU,所以建议使用SPI方式,可以达到6Mbit/sec的速率,比I2C更快。
感知镜头的移动位置。
主要有两个功能: (1)根据控制算法的计算引导镜头(模组)到正确的位置; (2) 从霍尔传感器获取镜头(模块)的位置信息。
(1)执行控制算法,修正相机位移; (2) 此外,还应对采集到的信号进行预处理,并进行霍尔传感器校准补偿(由于温度漂移); (3) 与陀螺仪传感器和Driver通信,通知Driver新的参考位置。
(1) 角速度和加速度信息由主板提供(陀螺仪和加速度计);
(2)加速度可以获得重力方向信息
(3) 对角速度积分后(积分后是角位移吗?),转换为手机X/Y方向的位移;
(4) 为了抵消位移,计算所需镜头X/Y位置的霍尔目标并将其传递给OIS驱动器的闭环控制;
(5) 启动闭环控制:计算霍尔目标值与霍尔数据的差值,通过PID控制器输出到执行器,使霍尔数据达到霍尔目标值。
滚珠型 OIS 电机:semco 技术主导的 OIS 执行器类型。嵌入导槽中的滚珠使镜头
可移动。通过磁铁与音圈的相互作用,实现Lens在X/Y方向的位移,从而抵消手机的位移。优点:
结构简单,OIS性能好,缺点:发球后镜头抖动,球和润滑油在极端气候下影响很大。
SMA OIS电机:SMA(形状记忆合金)主要由英国CML和国内供应商提供。模块
是LG innotek推出的OIS执行器类型。采用SMA热敏记忆合金,通过电流“电流→温度
→长度”控制长度,拉动镜片在支架中移动。一般需要一对SMA线(2根线)来控制一个方向。
优点:结构简单,肩高低,无磁性组件(不影响手机其他部件/多个AF模块)
,轻松实现旋转控制。缺点:虽然薄,但面积较大,成本较高。
吊线(弹片)OIS 电机:OIS 电机主要由苹果使用。金属线或簧片不仅起到电源的作用,而且具有弹性,使镜头可以移动。 Lens在X/Y方向上的位移是通过磁铁和音圈之间的相互作用来实现的。优点:成本低,国产化,成熟。缺点:结构庞大,OIS性能一般,容易出现镜头倾斜,存在可靠性风险。
简单介绍一下OIS的内部模块
方向:因为OIS和陀螺仪本身可能存在XY轴互换,所以在OIS中,X Y通过这个模块
进行交换。 ?原始 Y 数据。
陀螺仪滤波器:信号过滤。
XGG/YGG:Xgain 和 Ygain 数字放大。
极性:极性反转 如果陀螺仪X方向有一个正方向,对应OIS X轴的
负方向,则OIS X轴极性需要翻转。 ?
ois移植的主要逻辑与传感器等子设备相同。主要分为三个步骤:
1.配置dtsi,确保上电顺序和电压参数正确
dtsi的配置与其他子设备基本相同,不再赘述。主要要注意的是电压范围设置,
I2C
2。 配置xml,主要是从机地址,以及各模式下的寄存器设置。简单介绍一下xml中主要的移植相关参数
//ois i2c地址
//ois i2c 速率
//ois 开机顺序
//ois 关机顺序
// ois 初始化 //ois 启用
// ois 禁用
// ois 居中
// ois 禁用居中
0x0000
上段是传递给内核用于OIS固件升级的一些参数;如果OIS升级过程使用Qualcomm
默认升级代码,则需要将每个地址与fae填写进行验证,以确保正常升级。
3。 编译、调试、验证
这里主要讲验证,因为早期很难在板上看到OIS的效果,所以我们只需要保证
OIS正常上电,I2C通信能通过即可。
如果厂商有fae,可以要求他们在开机时捕获OIS I2C上的数据通信,并确保
寄存器值正确且时序正常。
如果供应商不可用,通常会添加日志并打印。首先,确保 OIS 配置模式
正确。其次,打印相应的寄存器。例如,打开后重点读取使能寄存器。是
未启用。