英飞凌
直播中

陈秀英

7年用户 1237经验值
私信 关注

CX3图像传输中的数据丢失的原因?

我正在使用 cx3 捕捉图像,相机模块 imx219 连接到 MIPI 端口。 cx3 通过高速 USB 与主机连接。
我面临的问题是,我只收到了应该收到的数据的大约 1/5(与数据量无关,3280x2464 图像和 256x256 图像都是 1/5)。 在传输过程中,我没有收到来自 mipi 块的任何错误信息。 接收到的数据似乎缺少了一些垃圾。
以下是 MIPI 块配置:
CyU3PMipicsiCfg_t mipiConfig_imx219_RAW10_104MHz =
{
CY_U3P_MIPIOUT_DW_16, /* MIPI out parallel width packing --> here set to YUV422*/
2, /* Number of CSI data lanes. */
2, /* PLL clock input divider. */
129, /* PLL clock feedback divider. */
CY_U3P_CSI_PLL_FRS_63_125M,/* PLL clock range. */
CY_U3P_CSI_PLL_CLK_DIV_4, /* Divider for clock used to detect CSI LP<->HS transition. */
CY_U3P_CSI_PLL_CLK_DIV_4, /* Divider for clock used on the parallel GPIF interface. */
0x00, /* Reserved */
0x00, /* Reserved */
0x00, /* Reserved --> this line is the given value by the suite*/
100 /* Delay on the parallel output buffer of CSI interface. */
};
摄像头模块的时钟设置为 104MHz(与 MIPI 模块完全相同)。
我使用以下方式加载 GPIF:
CyU3PMipicsiGpifLoad(CY_U3P_MIPICSI_BUS_16, 0x600); // 其中 0x600 也是 DMA 缓冲区的大小
DMA 采用 AUTO_MANY_TO_ONE(无回调)模式,GPIF 端有两个插座,USB 端有一个插座。
我使用 4 个大小为 0x600 的缓冲区和 CY_U3P_DMA_MODE_BYTE。
端点类型为批量,数据包大小设置为 512。
经过大量测试,我认为问题可能与 GPIF 配置有关,但我不确定。
我使用 libusb_bulk_read 读取数据,并尝试了主机上各种缓冲区的大小。
如有任何提示,我将不胜感激。

回帖(1)

王辉

2024-5-27 17:52:38
在CX3图像传输中,数据丢失可能有以下几个原因:

1. **USB传输速率不足**:CX3通过高速USB与主机连接,如果USB传输速率不足以支持图像数据的传输,可能会导致数据丢失。请检查USB接口的传输速率是否满足图像数据传输的需求。

2. **MIPI配置问题**:根据您提供的MIPI配置信息,您已经设置了16位的并行宽度和2个CSI数据通道。请确保这些配置与相机模块IMX219的规格相匹配。如果配置不正确,可能会导致数据传输不完整。

3. **相机模块问题**:IMX219相机模块可能存在问题,导致图像数据在传输过程中丢失。请检查相机模块是否正常工作,或者尝试更换其他相机模块进行测试。

4. **数据同步问题**:在图像传输过程中,数据同步非常重要。如果数据同步出现问题,可能会导致接收到的数据不完整。请检查数据同步机制是否正常工作。

5. **软件或固件问题**:CX3的软件或固件可能存在问题,导致图像数据在传输过程中丢失。请检查软件和固件是否为最新版本,或者尝试更新到最新版本。

6. **硬件连接问题**:请检查CX3与相机模块IMX219之间的硬件连接是否稳定,以及MIPI端口的连接是否正确。连接不稳定或错误可能导致数据传输中断。

为了解决这个问题,您可以尝试以下步骤:

1. 检查USB传输速率是否满足图像数据传输的需求。
2. 确认MIPI配置与相机模块IMX219的规格相匹配。
3. 检查相机模块IMX219是否正常工作,或者尝试更换其他相机模块。
4. 检查数据同步机制是否正常工作。
5. 更新CX3的软件和固件到最新版本。
6. 检查硬件连接是否稳定和正确。

通过以上步骤,您应该能够找到导致数据丢失的原因,并采取相应的措施解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分