海思平台35xx系列sensor不出图问题排查方法(新手来看)

对于安防行业的开发同仁来说,sensor的正常出图可以说是开发的第一步 ,尤其是从事isp相关,本文章就是总结了我在开发过程中遇到的一些问题,发布出来,为遇到相同情况的同学们提供一个解答的思路。 

一、 学会看海思mpp库的打印信息

        对于最常用的 hi3516dv300/cv500 sdk 来说。 在 /proc/umap/ 目录下有海思mpp 库的所有模块的信息, 通过cat 指令进行打印信息, 分析信息进行确定问题。 在分析打印信息的前提下,需要多海思平台 sensor 数据流的走向做到心中有数才能正确的分析出原因。

        海思平台的sensor 数据流走向大概是这样的:  sensor -> vi -> vpss -> venc/vo。 

        其中 sensor -> vi 使用了mipi 信号进行传输, 可能是mipi , 也可能是 lvds, 但是目前主流的还是mipi。 

        使用这样的命令: cat /proc/umap/mipi_rx  可以打印出mipi 驱动接收到的一些信息, 具体的参数意义,可以查看海思的相关手册中会有详细的参数解答。  例如 mipi 的配置与详细的信息会在 MIPI 使用指南中进行详细的解释,这里就不做赘述,只是说一下手册 中没有详细介绍的东西加上自己的理解。 

       Lind ID 会对应硬件设计中,具体链接sensor板传输数据使用到的线序,如果硬件的设计与mipi配置中的线序不对应的话, 那么传输的数据会解析有误,导致图像有异常。

       MIpiData/LvdsData 则对应了每天mipi 物理线的数据, 如果发现其中一条线一直没有数据,则需要排查是否排线损坏。

       DETECT INFO 信息中的图幅如果有误,则需要查看mipi配置信息是否正确。

       如果sensor配置信息正确的话,则需要排查sensor驱动中VMAX  HMAX的寄存器是否配置正确。 至于如何配置sensor的驱动,后边会进行根据自己的经验进行总结。

      在此基础上,如果想更加深入的了解到信号是否有异常,可以使用示波器进行信号的测量与分析, sensor板的原理图我猜基本大同小异,并且也没有什么难度, 滤波的处理可能各个硬件工程师有些区别,sensor的接口确是根据sensorDatasheet来进行画板。从sensor板原理图中找到mipi的关键接口,进行直接测量或者连阻测量, 得到mipi信号。 这种方法可以直接的排查出是哪一端出现了问题, 假如mipi_rx 信息中与测量到的信号不符,那么问题多半出现在了mipi_rx 驱动中, 如果信号与mipi_rx信号相符,那么则可以排 查sensor端的问题。  如果 图幅信息不正确, 则可以测量 VS HS 信号,通过图时序的对比,可以计算出图幅,帧率。  VS 是场信号,与频率、帧率相关, HS 是行信号,与曝光行数相关。 

        如果mipi 正确, 那么大部分的问题就解决了, 大多数情况就可以正常的出图。如果还有问题,则需要进一步排查 VI  VPSS  VO等模块的信息,根据proc 信息准确的找到问题所在进行解决。

二、学会看海思平台数据流的方向

        我跟人认为数据流不是简单的 mpp 中的各模块绑定走向,其中涉及到了别的底层支持。 

       比如说: VI 部分的配置, 可能是因为sensor 的时钟不匹配导致,可能是因为 sensor_i2c.c 驱动的id 配置限制等等。

       由于我经验尚欠,只能总结出这些问题点: sensor驱动配置有误, 时序配置有误,驱动少加载,配置线序有误,工作模式配置有误。 

       欢迎大佬们进行指正与补充,打工人,共同努力吧。

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值