Sensor 调试流程

如题所述

“ 日常工作中, 我们拿到一款新 sensor,一般都是先点亮,再接着调试效果。但点亮及调试也是有流程的,需按流程一步步去完成才可以,此文总结一下 ,关于 sensor 从点亮出图到效果调试的一个大致流程 。如觉得文中哪里有问题,或者不清楚的地方,欢迎联系指出。”

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) 。

配置好i2c地址、sensor setting、sensor chip_id;

根据主板原理图,在 dts 中配置 mclk、reset、pwrdn、i2c 的引脚控制,在驱动中配置 sensor pwrdn,reset 的拉高拉低、上电时序;

其他配置,需根据不同平台去具体配置,一般完成上述配置硬件没问题的话,就可以点亮出图了。

步骤 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 中的一些问题总结

如上图所示,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 相应的寄存器的值,来判断写入的数据是否正确,以此来检查驱动中的相关配置是否正确。

拉高增益和曝光,验证是否有电源噪声/FPN:如下图所示,有横条纹则一般和硬件相关,竖条纹是和 sensor 相关,要找硬件和 sensor 原厂的人去看。

确认镜头品质:拍摄 ISO22233 解析力卡的raw 图,若图卡对焦对不清晰,四周模糊,或者单独某一边模糊,则镜头品质有问题,需更换镜头。

可参考此篇文章: ISP调试流程概述
温馨提示:内容为网友见解,仅供参考
无其他回答

Sensor 调试流程
AE的整个控制流程,如上示意图所示,AE 算法控制一组曝光参数(曝光时间、sensor 模拟增益、sensor 数字增益、isp 数字增益),通过配置的sensor 驱动写入到 sensor 寄存器中(isp dgain 是直接写入相应的 isp 寄存器中的,不通过 sensor 驱动来控制),输出图像数据。数据经过 AE 统计模块,将亮度统计信...

CMP263 加速度芯片gsensor架构和原理分析
硬件抽象层(HAL)关键流程包括打开Sensor设备、轮循Sensor事件等,以及关键数据结构如sensors_module_t、hw_module_methods_t、sensors_poll_context_t、sensors_poll_device_t和sensor_t,这些结构用于管理和操作传感器。驱动层以mma7660驱动框架为例,解析了其与主机通信的I2C接口,包括I2C核心、总线驱动和...

手机管家检测出手机sensor感染了 A.gray.noicondl.an版病毒症状:不停的...
刷机解除:1、电脑安装奇兔刷机,手机打开USB连接电脑,奇兔刷机会自动安装手机驱动;2、同时确保你手机打开了可发者模式的USB调试模式、3、到ROM市场找到你手机型号的Rom包,选择自己想要刷入的ROM包之后,点击下载即可。4、点击下载之后出现以下界面,然后等待ROM包下载好 5、下载好ROM包之后,会出现“...

关于ISO12233分辨率测试卡的介绍
为了更准确地解读测试结果,建议参考相关文档。通过这些文档,可以深入了解ISO12233测试卡的使用方法与解读规则。此外,推荐进一步阅读相机图像质量概述、Sensor调试流程、摄像头模组OTP配置概述、曝光三要素等内容,以提升图像质量调试能力。

摄像头驱动开发调试总结
在文中需要修改API_ISP_SetSensorFmt函数的参数为FORMAT_400WP25,如以下几个地方:修改成功后直接make,生成可以在开发板上运行的sample_vlcview程序。运行成功!可以看到图像!三、总体开发调试流程图 如果觉得有用请点个免费的赞,您的支持就是我最大的动力,这对我很重要!!!

sensortex是指什么功能
2)工业厂房是为满足工业生产、加工、储存、运输等工艺流程需要,建造的特殊功能性的建筑。一般都有下列功能要求:1、满足采光照明功能;2、满足通风功能;3、有控制噪声的功能;4、有防腐蚀抗侵蚀的功能等;此外,部分特殊生产、加工的企业还有密闭防尘或防菌功能的要求。还有一些特殊的厂房为满足生产需要...

帮忙英语翻译 急!!
本文还细致地描述了利用单片机控制的软件流程、程序设计及调试,罗列了防盗报警器误报的分析及解决方法。This system USES a infrared sensor, its make simple, low cost, installation is more convenient, and properties of security is stable, strong anti-jamming capability, high sensitivity, safe ...

相似回答
大家正在搜