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

rk3566 ov8858摄像头调试

 

 接着是上电时序

rk3566 ov8858摄像头调试

 

 这里需要注意的是,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

rk3566 ov8858摄像头调试 

 

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

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

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

rk3566 ov8858摄像头调试

 

 

 

2. DTS配置

rk3566 ov8858摄像头调试

 

 rk3566 ov8858摄像头调试

 

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

RKDocs\common\camera\HAL3

rk3566 ov8858摄像头调试

 

 

rk3566 ov8858摄像头调试

 

 

rk3566 ov8858摄像头调试

 

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

 

相关文章:

  • 2022-12-23
  • 2021-09-01
  • 2021-11-08
  • 2021-10-17
  • 2021-09-17
  • 2021-09-24
  • 2022-12-23
猜你喜欢
  • 2021-08-05
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
  • 2021-12-03
  • 2021-12-03
  • 2021-12-03
相关资源
相似解决方案