关于Camera出图,有竖线问题的排查步骤

2024-03-16 22:12

本文主要是介绍关于Camera出图,有竖线问题的排查步骤,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、问题背景

之前调试的一个项目,在生产过程中,工厂反馈有台设备出图有明显的规则竖条纹,现象如下附件图所示:

图片

遇到此类图像异常的问题该如何去分析呢,这是本文要总结的内容。

2、问题分析

1)首先要从客户那边收集一些关于此问题的基本信息,由此来判断问题的严重程度,才好做下一步的计划和安排;

问题是否必现,若是偶现,出现概率是多少?是单体问题,还是普遍问题,出现问题的设备数量是多少?

从客户那边有了解到,生产了100k以上的设备,有1台出现,且这台设备是必现的。

2)接着就是排查,是 camera 系统中哪一部分的问题了;

基于上述信息来看,很大可能是和硬件相关,所以工厂那边反馈是有拿正常的设备,交换主控芯片和摄像头模组,

确认了问题是跟着主控芯片走的,所以才找到我们进一步来确认问题。

但客户验证归客户验,我们自己还是要验证的,即使确认了是主控芯片的问题,也要分析是主控芯片中哪一部分的问题,

因为主控芯片中涉及和图像相关的有好些个模块,比如 ISP、编码、显示等等。

如下是我拿到设备后,做的一些排查步骤:

a、首先我也是拿了1颗在我们开发板上能正常出图的模组和此设备交换,设备换上好的模组后,出图依然存在规则竖条纹。

这就能排除摄像头模组的问题了,但还是不能确定是主控芯片的问题,还是板子硬件有问题。

b、确认了设备的录像、拍照,和预览一样都是存在规则竖条纹的,因为录像、拍照和预览不是走的同一个通道,需要确认下其他显示通道上出流是否是好的。

c、dump yuv 看了也是存在规则竖条纹,那就排除了显示和编码的问题。

d、接着是设置 ISP 出 color bar test pattern ,如下图所示,也是存在规则的竖条纹;

图片

那就有可能是和ISP相关,要确认是和 ISP 中具体哪个模块相关的话,可以通过 Tuning 工具依次 bypass ISP 中的各个模块看下结果,

但这里主控芯片可能焊接有问题,此设备的 wifi模块没有工作,所以没办法获取IP地址,连上Tuning 工具去调试。

但也可以通过查找 ISP 相关模块硬件寄存器地址,直接修改寄存器来实现 bypass 相关模块来验证,这步有点麻烦,目前还没确定就是 isp core 的问题,就暂时没进行。

e、再接着是设置 sensor 出 color bar test pattern、及dump raw图,如下图所示,发现也都是存在规则的竖条纹;

图片

图片

之前觉得当 sensor 出 color bar 或者 raw 上有问题时,就肯定是 sensor 的问题,

但就现在此问题来说,第一步做交换模组的排查时,就已经排除了是 sensor 的问题,所以要搞清楚在出流的 pipeline 中,raw 图是从哪里 dump 出来的;

基于我们平台,raw 数据进到 ISP 后,是通过一个硬件模块,将 sensor 进来的 mipi raw 转换成了 plain raw ,并做了16bit 高位对齐,

然后再给到后面的 ISP core 处理(包括 blc、lsc、denoise、ltm、demosaic等)。

我这里的 raw 是在进入 ISP 后 dump 的,那就可以排除是 ISP core 的问题了,所以也就没必要去一个一个 bypass isp core 中的模块去看了,所以有可能就是 ISP 最前面这个做 raw 数据转换的模块出的问题。

sensor color bar 是怎么显示的,在 isp pipeline 的哪一部分出的,这个还不了解,后面了解了会再更新一下。

f、接着硬件就把客户寄的这个设备的主控芯片,换到了我们开发板上去看出图效果,发现在我们开发板上出图,也同样存在明显的规则竖线,

那这就进一步排除了是板子的硬件问题了,肯定是主控芯片的问题。

但为什么不在换完模组,确认不是模组的问题后,就拆了芯片,换板子来验证呢?因为芯片禁不起频繁的手工焊接,怕多搞几次就报废了,

毕竟就这一台设备上才有这个现象,先查完软件该查的部分,再最后去动硬件,这是比较好的,既能保住现场,又能进一步分析出是哪个模块的问题。

g、接着就是将芯片拆下来给到芯片部门的同事去做分析了,会有针对芯片专门的故障分析流程,

最后结论是芯片 ISP 模块故障造成图像出现有规则的竖条纹,现有的ISP测试程序无法筛出,需要优化 ISP 的测试程序,筛出此类异常的芯片。

3、问题总结

我们在调试过程中,遇到出图异常的问题有很多,虽然导致的原因各不相同,但排查步骤基本都是一致的。

要从整个成像系统去考虑,去分析,理清楚整个成像的 pipeline,按照 pipeline 一个部分,一个模块,依次去做排查,最后总能找到原因的。

进技术交流群,添加我的weixin:  mudong_771

这篇关于关于Camera出图,有竖线问题的排查步骤的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816876

相关文章

linux生产者,消费者问题

pthread_cond_wait() :用于阻塞当前线程,等待别的线程使用pthread_cond_signal()或pthread_cond_broadcast来唤醒它。 pthread_cond_wait() 必须与pthread_mutex 配套使用。pthread_cond_wait()函数一进入wait状态就会自动release mutex。当其他线程通过pthread

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

问题-windows-VPN不正确关闭导致网页打不开

为什么会发生这类事情呢? 主要原因是关机之前vpn没有关掉导致的。 至于为什么没关掉vpn会导致网页打不开,我猜测是因为vpn建立的链接没被更改。 正确关掉vpn的时候,会把ip链接断掉,如果你不正确关掉,ip链接没有断掉,此时你vpn又是没启动的,没有域名解析,所以就打不开网站。 你可以在打不开网页的时候,把vpn打开,你会发现网络又可以登录了。 方法一 注意:方法一虽然方便,但是可能会有

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

vue+elementui--$message提示框被dialog遮罩层挡住问题解决

最近碰到一个先执行this.$message提示内容,然后接着弹出dialog带遮罩层弹框。那么问题来了,message提示框会默认被dialog遮罩层挡住,现在就是要解决这个问题。 由于都是弹框,问题肯定是出在z-index比重问题。由于用$message方式是写在js中而不是写在html中所以不是很好直接去改样式。 不过好在message组件中提供了customClass 属性,我们可以利用

Visual Studio中,MSBUild版本问题

假如项目规定了MSBUild版本,那么在安装完Visual Studio后,假如带的MSBUild版本与项目要求的版本不符合要求,那么可以把需要的MSBUild添加到系统中,然后即可使用。步骤如下:            假如项目需要使用V12的MSBUild,而安装的Visual Studio带的MSBUild版本为V14。 ①到MSDN下载V12 MSBUild包,把V12包解压到目录(

YOLO v3 训练速度慢的问题

一天一夜出了两个模型,仅仅迭代了200次   原因:编译之前没有将Makefile 文件里的GPU设置为1,编译的是CPU版本,必须训练慢   解决方案: make clean  vim Makefile make   再次训练 速度快了,5分钟迭代了500次

Pycharm配置conda环境(解决新版本无法识别可执行文件问题)

引言: 很多小伙伴在下载最新版本的pycharm或者更新到最新版本后为项目配置conda环境的时候,发现文件夹目录中无法显示可执行文件(一般为python.exe),以下就是本人遇到该问题后试验和解决该问题的一些方法和思路。 一般遇到该问题的人群有两种,一种是刚入门对pycharm进行conda环境配置的小白(例如我),不熟悉相关环境配置的操作和过程,还有一种是入坑pycharm有段时间的老手