驱动调试-摄像头部分

调试

1.硬件部分

  • 根据原理图确定camera的接口是MIPI还是DVP,确定在哪路IIC上

  • 如果是MIPI,确定MIPI的的data lane数,哪路CSI上

  • 用万用表确定Camera的供电是否正常,是否需要软件控制

    1. AVDD:camera模拟电压,给芯片的模拟器件供电---->2.8V,主要给摄像头的感光区和ADC部分供电,一般功耗比较高
    2. IOVDD:为camera的GPIO口模拟电压,给芯片引脚供电---->1.8V:给I2C或者DVP部分供电,也会给MIPI供电,一般功耗最低。
    3. DVDD:是camera的数字电压,给芯片中的数字信号供电,camera的工作电压---->1.2-1.5V:主要给摄像头内部的ISP供电,还会给BPC remosaic shading等模块供电,一般功耗最高,由于其对摄像头内部ISP影响,而ISP又是摄像头内部图像处理单元,如果供电不稳定,可能会导致花屏等情况
  • 查看Camera的Spec文档,检查PWDN和RESET的管脚触发是否正常,是否需要在程序中进行控制;

2.软件配置

  • 先确认I2C地址,确认配置成7位还是8位,配置哪路CSI,配置CSI的data lane数,电源配置,一般在设备树中配置
  • 根据芯片规格书配置上电时序,reset和pwdn的状态
  • 根据寄存器初始化列表初始化sensor

出现问题

1.I2C通信失败

  1. 使用I2C工具探测设备,确认是否可以探测到
  2. 确认I2C地址,是否配置正确,以及配置的I2C通路是否正确
  3. 结合原理图确认dts中,关于模组的电源,csi id,reset,pwdn,mclk是否配置正确,包括电压引脚等
  4. 确认驱动中,在上电过程中电源的上电时序,以及reset和pwdn是否拉到对应的电平状态
  5. 使用示波器或者万用表测量电压和上电时序,以及MCLK是否有输出,I2C信号是否有上拉,如果MCLK过小,检查设备树中以及硬件关于MCLK的配置
  6. 如果确认以上都是正常的,更换硬件

2.MIPI没有数据

  1. 检查soc的mipi clk输出是否正常
  2. 确认sensor的mipi引脚是否有数据输出,如果有,则正常,如果没有则确认是否是存在虚焊,寄存器的配置是否有问题,确认sensor用的是soc的mipi clk还是外部器件的时钟源,确认sensor在复位之后写寄存器的延时时间是否符合要求
  3. 示波器测量MIPI的信号,看波形是否符合要求
  4. 由于soc的mipi接收器要检测到各个lane有LP11-LP10-LP00的状态切换后才会切换到高速模式准备接受图像数据,如果图像数据输出在soc的mipi控制器初始化之前,那么soc mipi会一直等待mipi信号切换,如果sensor支持非连续时钟模式,最好设置成非连续时钟模式,避免soc mipi错过第一次LP11-LP10-LP00的状态切换,导致不能切换成高速模式

参考:https://blog.csdn.net/weixin_41944449/article/details/112393312

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值