1、问题背景:
有项目调试过 ov02k10(1920*1080)和 sc301IoT(2048*1536)两款 sensor, 都有出现 hdr 模式下出图异常或者不出图的问题,本文总结下排查过程及注意事项;
2、问题现象:
a、ov02k10 的问题现象:
用 linear 模式的 setting 出图是正常的,但用 hdr 模式出图异常,现象如下:

b、sc301IoT 的问题现象:
用 linear 模式的 setting 出图是正常的,但用 hdr 模式、mipi 速率 1080Mbps,30fps的 sensor setting 出不了图。
用 hdr 模式、mipi 速率 540Mbps、15fps的 sensor setting 出图异常,现象如下(长帧是正常的,短帧如下图所示)。

3、问题分析:
a、先说 ov02k10 这款 sensor:
这是去年一个项目上做的,因为比较久了,具体细节也记不太清了,当时是差不多花了有2个多月才查清楚原因,理一下大概的过程。
首先是检查下是否是驱动配置的问题,要保证 sensor 曝光,增益的寄存器配置是否对的,这个当时查了几遍没有问题;
接着就是我们平台有可以查看 mipi 传输的指令,如果 mipi 传输有报错,那可能是和硬件相关,也可能是 sensor 输出的问题,但看 log 也没发现有报错。
再接着就是抓取了长短帧的 raw 数据,打开看了如下图所示,都不正常,修改 sensor 寄存器,确认 test pattern,看到长短帧的 test pattern 也是异常的,这就说明是和 sensor 的输入有关系了;
接着就是找 sensor 厂介入一起排查了,首先怀疑是和 mipi lane 数或者 mipi 速率太大相关,因为我们平台上接的其他 HDR 的 sensor 都是用的 4lane 的, 而这个 sensor 设计的是只支持2lane 的,
所以也没办法重新申请 4lane 的 ov02k10 的 setting 去验证,后面是申请了一个 2lane ov08a10 的 HDR 的 setting 去验证了下,可以正常出图,说明那就不是我们平台不支持 2lane 的 hdr 模式。
另外也重新申请了速率低点的 HDR setting 试了,一样出图异常。
ov 那边也给了一些寄存器的修改,试了也没有解决,因为同样的 setting 在其他平台上是正常的,他们就觉得是我们平台的问题,但我们这边也没太多方向去查了。
能做的就是怀疑硬件了,接着就是测试 HDR 的 mipi 时序,看 mipi 信号是否满足时序要求,但还是没查出异常的地方。
后面是我们这边比较资深的一个大佬亲自出马去做排查,有要求让 ov 那边出两个单独只出长帧、只出短帧的 setting 验证一下试试。
但后面也没这么验证,大佬排查出了 vc2(virtual channel)居然有数据,因为我们平台只支持两曝光的 HDR,HDR 的模式是用的 virtual channel,也就是两个曝光行分别从两个单独的VC 里出,以此来区分长短曝光。
但排查到第3路通道有数据,那就3曝光的输出了,所以图像异常的原因就是 sensor vc2 有数据输出,导致覆盖了正常数据,平台端关闭了 VC2 输入后,图像就正常了。
b、再说 sc301IoT 这款 sensor:
一样的是 Linear 模式出图正常,但 HDR模式出图不正常,这里有两种情况,试了 2组 HDR 的 setting,30fps 1080Mbps 的 setting、和 15fps 540Mbps 的 setting。
一开始用的是 30fps 1080Mbps 的 setting,但一直没出图,也是怀疑和 mipi 速率大了相关,所以就让 sensor 厂出了一个15fps 540Mbps 的setting 试了下,可以出图了,但出图不正常。后面查是长帧正常,短帧异常。
30fps 1080Mbps的 setting 查看 log 有 mipi 传输的报错,而 15fps 540Mbps 的setting是没有的,后面咨询我们这边的大佬,提出让确认下mipi clock 的传输形式是怎样的,我们平台是只支持 mipi clock 的连续传输,不支持非连续的(这个是以前没了解过的)。
和 sensor 厂确认了,他们给的是非连续的,这里就有问题了,Linear 模式是非连续的,但可以正常出图,这是不正常的。但按要求 sensor setting 里寄存器改成 mipi clock 连续后,现象还是一样,没有进展。
后面修改 15fps 540Mbps sensor setting,确认 test pattern,短帧输出异常,长帧输出正常。sensor 厂让交换了短帧和长帧的 virtual channel 的寄存器看下, 如下图就是改了这个0x4816的寄存器,默认是0x71改成了0x74 就正常出图了。

sensor 厂说同样的配置在 sigmastar 和 Novatek 平台是好的,不用交换长短帧的VC的。
我们这边的大佬回复说Soc是标准协议,每个channel都是有ID的0和1,长帧进DDR, 只可能是他们送错了,所以为啥这么改就好了具体原因还未知。
但 30fps 1080Mbps 的 setting 依然还是没能出图,15fps 是不满足项目需求的,所以还得继续排查,有找 sensor 厂确认过 两个 setting 的差异,反馈说就只是 mipi 速率的差异,
但这个平台上有验证过
HDR_2lane_1440Mbps_ov08a10 的 setting 都是可以正常出图的,那也就和速率没关系了,所以目前还没进展( 后续排查有结论了会在知识星球内更新 ) 。
4、问题小结:当 bringup sensor 的过程中,Linear 模式出图正常,HDR 模式出图异常/不出图时的排查方法小结:
a、首先检查下是否是驱动配置的问题,要保证 sensor 曝光,增益的寄存器配置是否对的。
b、可以查看平台端的 mipi 传输的指令,看 mipi 传输是否有报错,可以对照文档查出 mipi 传输具体报什么错。
c、确保 sensor 和平台的配置是否对齐,如 mipi clock 输出是连续/非连续、mipi 速率是否超过了平台限制、mipi lane 数、
-
MIPI 速率(Data Rate):
Sensor 输出的单 Lane 数据速率(如 2.5 Gbps/Lane)需 ≤ 平台支持的极限速率。-
计算公式:
总数据需求 = 分辨率 × 像素位深 × 帧率 × HDR 多帧倍数
例如:
3840x2160@30fps,12bit,HDR 双曝光 → 数据量 = 3840x2160x12x30x2 ≈ 5.97 Gbps
若平台仅支持 4 Lane @ 1.5 Gbps/Lane → 总带宽 6 Gbps,此时接近极限,易因抖动导致丢包。
-
-
Lane 数不足:
若 Sensor 的 Lane 数配置少于实际需求(如 Sensor 需 4 Lane,但平台仅开启 2 Lane),会导致带宽不足,数据无法完整传输。
HDR 的输出模式,dol_vc/dol_lineinfo(dol是 digital overlap,vc是 virtual channel,几个曝光用几个virtual channel ,
dol_lineinfo 只针对 sony sensor,sensor setting 中包含 输入sensor HDR 格式是奇偶行区分或者 line information 区分长短帧 )。
d、平台端查看单独输出长帧,短帧时的情况,确认是长帧还短帧的问题 。也可以修改驱动将 hdr 的setting 换到 linear 模式下去出,看单独只出1路曝光时表现如何。
单独输出长帧/短帧
-
目的:
定位问题出现在长帧、短帧,还是两者的协同处理环节。 -
操作方式:
-
关闭 HDR:在 Sensor 寄存器中禁用多曝光,仅输出长帧或短帧(Linear 模式)。
-
强制单帧模式:修改驱动配置,仅使能长曝光或短曝光,观察单帧成像是否正常。
-
-
问题分析:
-
长帧正常,短帧异常:可能短曝光时间过短(暗部噪声大)、增益设置错误或短帧数据损坏。
-
短帧正常,长帧异常:可能长曝光时间过长(高光溢出)、Sensor 饱和度过高或长帧传输带宽不足。
-
两者均异常:需检查公共路径(如 MIPI 配置、电源噪声、时钟稳定性)。
-
2. 切换至 Linear 模式
-
目的:
排除 HDR 多帧合成算法的干扰,验证 Sensor 基础成像功能是否正常。 -
操作方式:
-
修改 Sensor 驱动,关闭 HDR 模式,设置为单次曝光(Linear 模式)。
-
调整曝光时间与增益,验证单帧图像质量。
-
-
结论:
-
若 Linear 模式出图正常 → 问题集中在 HDR 多帧配置或合成算法。
-
若 Linear 模式异常 → 需排查 Sensor 基础配置(如 MIPI、时钟、电源)。
-
e、抓取 raw data, 查看长短帧的 raw data 表现如何。
f、修改 sensor setting,查看 sensor 长短帧的 test pattern 输出是否正常。
g、硬件测试 hdr 模式下的AVDD,DVDD,IOVDD 供电电压、reset、pwrdn引脚电压、mclk 波形、mipi 时序等等。
2万+

被折叠的 条评论
为什么被折叠?



