本篇主要记录一个BUG的处理,当时遇到这个问题卡了挺久,也没有头绪,网上也缺少解答。愿后续有小伙伴如有遇到类似问题,可以按照相关思路进行问题排查。

        背景描述:产品使用了联咏NT芯片搭配Audio芯片,产品装车测试时,发现液晶屏显示的4个通路中有某些通路会出现黑区域,且不固定通路。如下图所示:

android studio 摄像头黑边_arm开发

         根据同事描述,该问题在开发阶段也有遇到,但出现概率极低,产品装车测试时,浮现概率较高(莫非是车上有什么干扰源?先保持质疑)

        视频流传输大致链路:

  1.  4路摄像头视频流传输到AD芯片进行模数转换;
  2. AD芯片处理过的数据传输给NT芯片;
  3. 驱动层配置AD芯片,并开放接口供应用层检查调试;
  4. 应用层配置画布大小,最终在液晶屏上显示。

android studio 摄像头黑边_物联网_02

        问题排查思路:根据视频流传输流程,排查各个功能模块。

  1.         由于是某一通路出现黑框,并非整个液晶屏显示异常,因此排除液晶屏及液晶屏驱动问题。
  2.         应用层视频处理只是对画布进行分配,并未对流进行处理,排除应用层问题。
  3.         vcap是AD驱动捕获的视频转给联咏芯片处理时的数据(也就是AD处理后的流),联咏厂家提供vcap流捕获工具,因此可以把vcap dump出来看一下是哪一端出现的问题:

        (1)如果从工具中显示的图片与设备上显示的一致,说明视频流在到应用层前就出现了问题,可能是摄像头数据流异常导致AD芯片处理异常,需要联系AD厂家;

        (2)显示不一致,说明联咏内部对图像的处理出现了问题,需要联系联咏或应用开发的同事;

        dump出对应通路的yuv裸数据,发送到电脑端,用NVT_Display工具查看,发现传过来的数据已经是带黑色区域的了,问题定位在AD芯片端,可能是驱动层配置AD芯片错误导致,也可能是摄像头传到AD芯片时就出现了问题,需要再进一步排查。

        为了确保摄像头插上盒子后,AD芯片能获取到正确的摄像头分辨率信息,可以在AD的驱动配置写入前增加一些延时,确保获取到的摄像头视频流稳定。(经验证问题仍然存在)

        

        重新复现问题检查现象,发现图像变化后,是整体向左偏移,这是阻抗匹配的问题!!!

android studio 摄像头黑边_物联网_03

        为了验证这一猜想,我使用了视频一分二的VGA转HDMI的线,在两个屏幕上做对比,发现问题始终无法复现,与硬件同事讨论,盒子硬件电路是完全按标准阻抗去配置的,唯一不确定的是摄像头接VGA口的延长线的衰弱量是多少。

        因为一些原因,无法更换传输线,目前重新调整板上电阻,并反复测试,取用最合适的电阻。