专栏感知J6 cim roi使能引起报错分析

J6 cim roi使能引起报错分析

新手村2025-06-29
42
0

场景

A进程:2V 4K@40fps-CIM0-ddr-ISP0-PYM0-ddr

B进程:2V 1280P@30fps-CIM0-ddr-ISP0-PYM0-ddr

AB进程同时启动场景;

现象

重复启动多次,使能ROI时,概率出现4K通路输出帧率比实际帧率少的情况,通过dmesg日志查看,日志中显示size error/overflow交替出现;

初步分析

Cim size error,怀疑sensor输出和cim的实际配置不符合,经过查看配置确认,两者是对齐的,所以首先排除是配置问题;

Cim overflow:一般是由于DDR带宽压力大,输入快于输出,从而导致IPI fifo爆了,进而触发overflow错误;所以怀疑是否是DDR带宽过于紧张,通过ddr monitor工具抓取带宽数据,如下图,带宽占用率较低,不太可能是带宽紧张引起的overflow;

MIPI 异常会引起CIM出现size erorr/overflow等现象,再次查看日志,CIM出错前后没有任何其他模块相关的错误,故排除其他模块的影响;

 

深入分析

基于上述结论,暂时没找到引起问题的关键点,再次重新review日志;通过分析多份日志,发现首次出现报错时,是在4路都出流阶段,而且正好是第4路出流时,引起的CIM报错;

简单尝试对比实验:

  • 只跑2V 4K数据,不使能ROI,重复测试10次,复现概率为0/10;

  • 跑2V 4K+1V 1280P,不使能ROI,重复测试10次,复现概率为0/10;

  • 跑2V 4K+2V 1280P,不使能ROI,重复测试10次,复现概率为1/10;

  • 跑2V 4K+2V 1280P,使能ROI,重复测试10次,复现概率为5/10;

通过如上实验可以得知跟sensor的接入有关,既然MIPI无报错,那就有可能是SERDES侧有可能存在错误;查看camera诊断日志,再通过查看SERDES寄存器表,发现确实存在ECC报错,实锤根因;

结论

2V 4K@40fps +2V 1280P@30fps几近达到了serdes的饱和负载,ROI的使能与否,只是时序上的影响,影响serdes的数据接收峰值;既峰值过高,导致serdes报错,数据有缺失,故出现CIM size error+overflow的现象;

感知
社区征文征程6技术深度解析底层软件
评论0
0/1000