调试OV2735总结

调试找到的问题:

1:开始调试的时候因为之前的工程师原理图和BOM出错,导致本来是2.8V电压的焊接的是1.8V的LDO所以这个是第一个问题

2:因为FAE反应说sensor没有反应I2C没有通信,所以检查了原理图发现,I2C有读地址和写地址的选择

此处的R18是多余的,直接接R17下拉即可。至低电位,所以写地址是0x78,读地址是0X79,之后软件修改了程序但是还是不出图像。

3:检查对比方案商的OK图纸发现D9-RSTB接线错误,应该是接0.1UF的电容到地

修改之后依然是没有出图

4:继续测量sensor0V2735的C7-PCLK,B11-CIS MCLK,帧同步信号CIS-VSYNC和行同步信号HSYNC信号以及DATA数据线上的信号,发现都有信号输出,所以判断是sensor或者主控的寄存器配置问题

同时注意HSYNC是输出端口,若主控没有工作则没有输出。测量之后发现确实没有信号,判断应该是主控工作不正常(有时钟PCLK,MCLK,D数据,说明主控和sensor通信了,但是没有出图像应该还是某个寄存器配置的问题)。另外还要注意A3信号FSIN是帧同步信号,此处是否为悬空?待明天验证。

目前测试PCLK有74M的时钟,那么说明sensor发出的为1290x720P60的分辨率配置,说明sensor配置成功。

 

明天将继续配合软件来调试。

 今天继续调试了这块样板,依然是主控无法输出,之后换掉主控IC之后工作正常。

经过测试其他几块样板也能出图,因此程序也么有问题,只是刚好只测试了之前那块有问题的。

以后遇到sensor有工作MCLK,PCLK,V,H信号正常的情况下但是主控没有输出的情况可以判断是主控的问题。

转载于:https://www.cnblogs.com/liu60can/p/9022438.html

### 调试 Linux MIPI 驱动与 OV2640 摄像头模块的兼容性 在调试 Linux 系统中的 MIPI 驱动与 OV2640 摄像头模块的兼容性时,可以从以下几个方面入手: #### 1. **确认硬件连接** 确保摄像头模块通过 MIPI 接口正确连接到主板。可以通过查看设备树(Device Tree)来验证硬件配置是否正确加载。 ```dts &csi { status = "okay"; ov2640: camera@3c { compatible = "ovti,ov2640"; reg = <0x3c>; clocks = <&clk_mipi>; clock-names = "mipi_clk"; pinctrl-names = "default"; pinctrl-0 = <&cam_pins>; }; }; ``` 如果设备树未定义或错误,则需要手动调整以匹配实际硬件设计[^1]。 --- #### 2. **检查内核日志** 启用 `CONFIG_DEBUG_FS` 和 `CONFIG_VIDEO_V4L2_SUBDEV_API` 来捕获详细的驱动程序日志信息。这些选项可以帮助分析驱动行为和潜在问题。 运行以下命令获取更多信息: ```bash dmesg | grep -i mips dmesg | grep -i ov2640 ``` 如果有警告或错误消息,记录下来以便进一步排查。 --- #### 3. **测试传感器初始化** OV2640 的正常工作依赖于其寄存器设置。通常情况下,soc-camera 或 v4l2-subdev API 提供了接口用于控制传感器参数。可以尝试编写简单的工具调用 V4L2 接口读取/写入寄存器。 示例代码如下: ```python import fcntl import mmap import struct import os def read_register(fd, addr): data = struct.pack('I', addr) result = fcntl.ioctl(fd, 0xC0045601, data) # Example ioctl command return struct.unpack('H', result)[0] fd = open("/dev/video0", 'r') register_value = read_register(fd, 0x3C) print(f"Register Value at Address 0x3C: {hex(register_value)}") ``` 此脚本可用于验证 OV2640 是否响应主机请求[^1]。 --- #### 4. **编译并加载自定义驱动** 为了更深入地了解问题所在,可能需要重新编译内核并将特定补丁应用到 MIPI 驱动中。以下是基本流程: 1. 准备开发环境: ```bash sudo apt-get update && sudo apt-get install build-essential flex bison libssl-dev bc kmod gcc-aarch64-linux-gnu ``` 2. 下载内核源码并打补丁: ```bash git clone https://github.com/torvalds/linux.git cd linux patch -p1 < /path/to/mipi_patch.diff ``` 3. 使用现有配置文件构建新内核镜像: ```bash cp ../lichee_BSP_config .config make olddefconfig make uImage -j$(nproc) make modules -j$(nproc) make INSTALL_MOD_PATH=out modules_install ``` 注意:如果目标平台为 ARM 架构,需指定交叉编译工具链路径[^2]。 --- #### 5. **利用 LK2ND 进行引导调试** 对于某些移动 SoC 平台(如高通骁龙系列),LK2ND 可作为辅助工具帮助定位早期启动阶段的问题。按照官方文档说明完成编译过程后,可通过 Fastboot 加载生成的二进制映像进行实验。 具体操作步骤可参考相关项目仓库指南[^3]。 --- #### 总结 以上方法涵盖了从基础硬件校验到高级软件定制的一整套解决方案。每一步都应仔细执行,并结合实际情况灵活调整策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值