• rk3566 ov8858摄像头调试


    1.硬件

    首先了解基本硬件,就是摄像头的供电

     接着是上电时序

     这里需要注意的是,XSHUTDN就是reset引脚,低电平复位,正常工作的时候,应该是高电平

    PWDNB是和复位脚差不多功能的,给寄存器复位,所以这两个,比较关键,我这里是使用了DOVDD和XSHUTDN连接的情况,所以驱动中power_on处理的时候,拉高reset以后,不延时,直接拉高pwdn,然后延时,才能让模块上电

    dvdd  avdd  iovdd上电时序其实要求并不严格,之前我一直读取不到模块id,就是因为我们分开供电XSHUYDN和PWDNB,而驱动中是先拉低reset然后拉高延时2Ms再拉高pwdn,所以导致系统一直没有工作起来,去读i2c的时候返回-5

    这里rk也有案例

    实际上很简单,驱动中probe以后,就开始检测获dts配置,然后就power_on执行上电流程,上电以后,第一步就是check_id,也就是读取摄像头id,如果i2c通信异常,那么久无法进行下面的工作,直接return

     

    经过一番折腾,i2c正常读取id,解决了前面最关键的一步

    切记:如果i2c读取不到,确保硬件电压,时钟正常,然后基本上就是时序了

    如果硬件都没问题,但是读取的时候没有一直错,可能先考虑给一个for循环,循环发送0x00-0xff,看看有没有回应,避免因为地址错误这种低级错误

    2. DTS配置

     

     下面是我关于ov8858的配置,其实可以直接参考文档,在rk工程源码下

    RKDocscommoncameraHAL3

      先记录到这里,基本的到这一步,就可以读取id,进行mipi传输

  • 相关阅读:
    POI做报表
    (一) DB2的备份和恢复:准备
    西天取经为节约成本该裁掉哪位?
    python中configpraser模块
    python中subprocess模块
    python中os模块
    python中random模块
    python中time模块和datetime模块
    python中序列化json模块和pickle模块
    迭代器生成器函数的递归调用与二分法
  • 原文地址:https://www.cnblogs.com/ChenChangXiong/p/14919931.html
Copyright © 2020-2023  润新知