Sensor 调试流程

程序员 2024-10-7 10:07:13 3653 0 来自 中国
“  一样寻常工作中, 我们拿到一款新 sensor,一样寻常都是先点亮,再接着调试效果。但点亮及调试也是有流程的,需按流程一步步去完成才可以,此文总结一下 ,关于 sensor 从点亮出图到效果调试的一个大抵流程 。如以为文中那里有标题,大概不清楚的地方,接待接洽指出。”
1、Sensor 调试流程

2、预备质料

1)、确认主芯片规格
支持的最大分辨率、mclk、mipi 速率上限、支持的lane数、 支持的raw图像位深、支持的raw图像范例(mono/rgb/rgbir)
2)、硬件原理图
客户主板上调试,则须要客户提供主板原理图;平台公板上调试,则须要提供模组转接板原理图、相应公板的原理图。
3)、Sensor datasheet
确认曝光时间、增益怎样设置,帧率怎样修改;确认 WDR 输出模式( 是否是dol模式/ dol_virtual channel/ dol_lineinfo)。
4)、Initialize setting
向 sensor 原厂申请所需规格的 sensor setting ,包罗信息有:mclk、mipi速率上限、分辨率、mipi_lane数、帧率、输出raw图像位宽、出图模式 (linera/wdr) 。


3、设置驱动

设置好i2c地点、sensor setting、sensor chip_id;
根据主板原理图,在 dts 中设置 mclk、reset、pwrdn、i2c 的引脚控制,在驱动中设置 sensor pwrdn,reset 的拉高拉低、上电时序;
其他设置,需根据差别平台去具体设置,一样寻常完成上述设置硬件没标题的话,就可以点亮出图了。


4、Sensor 出图

步调 3 完成后,硬件没标题的话,一样寻常就可以出图了
若I2C不通,就要排查下板子的硬件干系标题:
1)、确认AVDD  DOVDD  DVDD 硬件电压
2)、根据原理图确认reset、pwrdn、i2c、mclk 引脚控制及电压值
3)、确认 mclk 频率
4)、确认 sensor 上电时序


若出图非常(图像分屏、错位、表现不完备 ....);
1)、拍raw图,确认 raw 图是否正常。
2)、若raw 图也非常,输指令排查下mipi 传输是否有报错、示波度量一下mipi 波形,如果都正常的话,那一样寻常就是 sensor setting 有标题,要找sensor 原厂去看了。
3)、但若raw 图正常,那就应该是驱动大概ISP的设置那里尚有标题,要继承排查 。


具体也可参考这篇文章:Sensor bringup 中的一些标题总结


5、AE设置

如上图所示,AE分为算法模块和统计模块,算法模块是纯软件模块。以是有许多品牌厂商,固然用同样的平台,但为了做出差异化的产物,都是用本身开发的 3A 算法。AE 统计模块是和硬件干系的,包罗在 ISP pipeline 里。
AE的整个控制流程,如上表示图所示,AE 算法控制一组曝光参数(曝光时间、sensor 模拟增益、sensor 数字增益、isp 数字增益),通过设置的sensor 驱动写入到 sensor 寄存器中(isp dgain 是直接写入相应的 isp 寄存器中的,不通过 sensor 驱动来控制),输出图像数据。
数据颠末 AE 统计模块,将亮度统计信息给到 AE 算法模块,再次及时盘算得出一组曝光参数,直到曝光准确,循环才竣事。初次上电启动时,是从sensor 驱动开始加载的,驱动中包罗一组默认的初始化参数,可以点亮出图 。


那sensor 驱动中怎样设置 AE ?
1>、起首设置曝光时间
根据 sensor datasheet 设置好最大最小积分时间,然后将 AE 盘算出的曝光行,写入到相应控制曝光时间的寄存器就可以了。这里说的是逐行曝光的 sensor,它是按行举行曝光的,积分时间是相对时间,exposure_time = integration_time * line_time(一行时间)。
2>、设置sensor 模拟增益、数字增益
一样寻常我们只需设置 sensor 模拟增益就可以了,不消数字增益,但会用到isp 数字增益,它是 AE 算法控制的,不消在 sensor 驱动中去设置。总结一下,关于sensor 模拟增益的控制,一样寻常分为3种情势。
一种是写入 sensor again 寄存器的值有具体要求,会有一个 again_table,设置好平台与 Sensor 的匹配精度(对应好几倍增益,应该写什么值),通过查 again_table 写入。一样寻常思特威和格科微的 again 设置,都是要查表写入,如下是 sc230ai datasheet 中的 again_table 。
另一种是,写入 sensor again 寄存器的值是连续的,设置好平台与 Sensor 的匹配精度,将平台 AE 盘算的 again 值写入sensor 即可。如下是ov08a10的again 设置,0x3503[2]=0 ,real_gain=Gain[12:0]/128,精度是128,[0-7]是设置小数位,[8-12] 是设置整数位;0x3503[2]=1, Gain[12:0],只有整数位1x,2x,4x,8x 。
后一种是如下imx335 所示,写入 sensor again 寄存器的值,是要求转换成dB写入,不是增益倍数的方式写入,它优劣线性的,将平台 AE 盘算的 gain 值转换成 dB 情势写入 sensor 寄存器;
3>、验证曝光及模拟增益的设置是否准确
末了要通过调试工具手动去控制积分时间、模拟增益的写入,然后通过读 sensor 相应的寄存器的值,来判断写入的数据是否准确,以此来查抄驱动中的干系设置是否准确。


6、图像验证

拉高增益和曝光,验证是否有电源噪声/FPN:如下图所示,有横条纹则一样寻常和硬件干系,竖条纹是和 sensor 干系,要找硬件和 sensor 原厂的人去看。
确认镜头风致:拍摄 ISO22233 剖析力卡的raw 图,若图卡对焦对不清楚,四周暗昧,大概单独某一边暗昧,则镜头风致有标题,需更换镜头。
7.png 7、图像质量调优

可参考此篇文章:ISP调试流程概述
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:43, Processed in 0.104972 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表