首页 > 技术知识 > 正文

注:本文的说明记录只针对海思hi3516cv500,dv300,hi3519av100平台以及imx335,imx327,imx226,imx334等索尼sensor。 sensor的调试:

  对接新sensor,应先确认硬件信息,mipi还是lvds,i2c还是spi,i2c(spi)控制器号是多少,注意管脚的复用信息,可以用海思的i2c_write/i2c_read尝试读写一下看看寄存器控制是否正常。

  如果是海思sdk中提供的sensor,一般可以直接照搬其sensor驱动(注意硬件信息)。

  如果海思sdk中没有的,需要拿到sensor的初始化序列(sensor的初始化寄存器序列),也可以自己根据datasheet写,但是可能出现遗漏一两个寄存器就导致不出图的现象,问题不好定位。关于其他的isp,ae等注册函数可以参考海思sdk中提供的类似sensor驱动代码,但是要注意一些寄存器的操作,毕竟存在芯片间差异。

  sensor驱动完了之后是mpp系统,对接sensor时要注意combo_dev_attr_t结构体,sensor调试的很多问题是可以通过/proc/umap/mipi_rx看出来的,拿下面的图片举个例子:

(开发记录)海思sensor以及行模式wdr

  该图片是imx327的lvds传输的proc信息,如果PhyData有数据变化,证明sensor初始化完成,sensor已经在发送数据了,而LvdsData如果没有数据则证明可能是mipi设置有问题。多看海思的调试信息,对问题定位很有帮助。

  sensor调试还包括VI_DEV_ATTR_S、VI_PIPE_ATTR_S等vi、isp相关结构体,多看文档说明就可以了,不展开说明。

WDR的调试(行模式)

  海思文档中对wdr分很多模式,WDR_MODE_2To1_FRAME、WDR_MODE_2To1_LINE等,主要是帧模式,行模式,具体使用什么模式要看sensor是否支持,imx335、imx347支持的是line模式,而imx226支持的是frame模式。

  WDR_MODE_2To1_LINE行模式sensor一般有两组或者多组初始化序列,在切换wdr时需要vpss去初始化,vi去初始化,改变wdr模式参数,vi初始化,vpss初始化,该部分内容在海思的sample中可以找到,下面是实际调试时可能出现的问题

  1. 切换为wdr模式没有码流:根据sensor的调试方法,查找问题出现的原因,多看/dev/logmpp和/proc/umap/mipi_rx文件的信息,定位问题所在;   2. 切换wdr模式正常,切换回线性图像出现异常:可以把正常的线性模式下sensor寄存器全部读出,和出现异常的寄存器值做比较,修改这些差异的寄存器值,看图像是否恢复正常,如果可以恢复,把它们加到线性初始化序列里;   3. wdr模式下效果很差:个人感觉和3d降噪有很大关系,图像方面最好找专业的图像工程师调试一下。

相关推荐:

海思HI35XX串口调试 海思多媒体(MPP)开发(1)——nvp6134驱动介绍 海思hi3516A-sample的使用1–sensor加载

猜你喜欢