SOLVED CS-MIPI-IMX307 I2C通信失败
-
-
@rice
你好,可以看到我们模组上面除了sensor,还有其他的芯片。
这个模组输出是UYVY的,经过了isp处理。
作为上位机来说,是访问不到sensor的。
http://wiki.veye.cc/index.php/CS-MIPI-IMX307_STARVIS_Module/zh
http://wiki.veye.cc/index.php/CS-MIPI-X_i2c/zh -
@veye_xumm
感谢您的回答,我的应用程序时直接发起 I2C通信,也就是和imx307模块的Pin13 Pin14(SCL SDA)通信。
您说“作为上位机来说,是访问不到sensor的”这句话的意思是不是:
imx307模块的Pin13 Pin14(SCL SDA)引脚其实没连接到 IMX307 芯片上,而是连接到其他芯片上?
如果是这样,那我怎么直接配置 imx307 的寄存器? -
@rice said in CS-MIPI-IMX307 I2C通信失败:
)引脚其实没连接到 IMX307 芯片上,而是连接到其他芯片上?
是的,接到了我们的主控芯片。
@rice said in CS-MIPI-IMX307 I2C通信失败:
那我怎么直接配置 imx307 的寄存器?
控制不了
-
@veye_xumm
感谢答复,看了你们的驱动代码:https://github.com/veyeimaging/nxp_i.mx_veye_bsp/blob/main/driver_source/4.19.35/csimx307_mipi_v2.c可以看到 csimx307_check_id函数是通过I2C通信读取地址0x0102和地址0x0103的数据,我的FPGA开发板没有linux系统,我直接发起I2C通信读上面两个地址的数据得到的都是0。
在没有linux系统的支持下,能否实现直接通过I2C通信配置这个IMX307模块,去点亮摄像头?
-
@rice said in CS-MIPI-IMX307 I2C通信失败:
在没有linux系统的支持下,能否实现直接通过I2C通信配置这个IMX307模块,去点亮摄像头?
当然是可以的。摄像头并不知道上位机是什么系统。
你的这个问题,有没有可能是启动时间的问题。 我们的CS系列需要7-10秒钟启动,然后才能访问。
http://wiki.veye.cc/index.php/CS-MIPI-X_i2c/zh
https://github.com/veyeimaging/raspberrypi/tree/master/i2c_cmd/bin具体可以参考这个脚本的代码,来查找哪个寄存器对应什么功能。
-
@veye_xumm
“CS系列需要7-10秒钟启动,然后才能访问”
请问有启动时序相关配置说明文档嘛?I2C通信clk合理范围是多少? -
@rice 不需要配置,上电自己就配好了。
-
This post is deleted! -
@veye_xumm said in CS-MIPI-IMX307 I2C通信失败:
上电自己就配
所以上电后我可以直接通过I2C读写模组上的寄存器,不需要做其他配置是吗?I2C通信的时钟需要多少合适?我这边实验下来总是失败。。
-
@rice 通信时钟100k和400k都可以。
- 一般的fpga的3.3VCCIO, VIHmin<2.88V,电平应该不是识别不了的原因。
- 确认下IO上拉电阻大小。1.5K~4.7K最佳。
- 确认下访问地址的理解是否有出入。