60 lines
3.6 KiB
ReStructuredText
Raw Permalink Normal View History

2025-10-10 16:07:00 +08:00
DVP常见问题
=================================
:link_to_translation:`en:[English]`
1. 简介
---------------------------------
本节主要描述调试和使用DVP摄像头过程中常遇到的问题和解决方案。
Q识别不到摄像头
A使用 `dvp <../../projects/peripheral/dvp/index.html>`_ 示例工程测试已经适配好的示例sensorgc2145
如果不能识别表明表明新适配的sensordvp_xxx.c中参数配置有错最根本的是I2C读写地址新sensor的CHIP_ID。
如果连gc2145都不能识别则检查sensor电源DVDDIOVDD是否符合协议要求硬件上控电的GPIO是否也是GPIO28I2C也是对应的GPIO0和GPIO1。
另外还有注意接触问题,也可能因为物理上连接不够紧密,导致不能正常工作。
Q出图异常且打印”sensor's yuyv data resoltion is not right”。
A表示主控采集的dvp数据与配置的分辨率不一致可以通过逻辑分析仪抓取的vsync/hsync/pclk的信号
必须遵守以下条件如果配置给主控的分辨率为640X480那么一个vsync内部必须包含480个hsync个脉冲一个hsync内部必须包含640*2=1280个pclk脉冲。
如果不符合,那么必然出图异常。
可能因为物理上接触不良,导致这个问题,需要重新拔插安装。
可能因为线序与BK7258默认不一致导致数据采集异常。
可能因为pclk受板子的电磁干扰导致主控采样不准确可以在plk上接一个上拉滤波电容8-22pf。
Q出图异常且打印”sensor fifo is full”。
A表示主控接收dvp数据太慢了导致sensor fifo溢出解决方案可以尝试
降低帧率/降低分辨率/增大YUV_BUF硬件模块时钟当前默认JPEG:120MHzYUV_BUF:120MHzH264:120MHz
Q出图异常且打印”jpeg code rate is slow than sensor's data rate”。
A表示编码速度太慢解决方案可以尝试降低帧率/降低分辨率/增大编码硬件模块时钟当前默认JPEG:120MHz H264:120MHz
Q出图异常且打印”h264 encode erro”。
A表示h264编码错误可能出现的原因是sensor的帧间隙时间太低了导致主控异常
也可能是新一帧h264编码开始之前上一帧还未编码完成。这种情况软件代码已经cover了直接复位相关的硬件模块。
Q开关后I2C异常摄像头无法正常通信。
A出现这种情况一般是其他外设与DVP共用一组I2C该I2C被其他外设切过去使用
建议使用软件I2C防止出现复用后不能工作的问题打开软件I2C功能宏控
+--------------------+---------------+-------------------------------------+
| marco | value | implication |
+--------------------+---------------+-------------------------------------+
| CONFIG_SIM_I2C | Y | 使能软件模拟I2C功能 |
+--------------------+---------------+-------------------------------------+
Q配置成h264/JPEG编码模式出现异常打印"··· size no match···".
A一般情况是dma搬运的数据长度与实际编码长度不一致这样会在软件上默认丢弃这样的错帧防止出现花屏等问题并且将对应的模块重置。
Q出图时视角不在正中间。
A这样的问题是因为配置dvp的参数寄存器导致的建议找sensor原厂的工程师重新配置目前SDK提供的配置只保证出图正常。