英飞凌
直播中

张虎豹

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

FCX3 OV5640 usb2.0下添加1200*1200 15fps会出现空间不足错误,如何解决?

你好 我现在可以在USB3.0 下1200*1200显示15fps,或者12-13fps图像。现在需要USB2.0下显示。有以下问题需要确认和解决。
1 我使用软件image sensor configuration 配置1200*1200帧率,15fps时,未在usb2.0下产生Class specific Uncompressed VS Frame Descriptor ,13fps时就能产生。是不是就说明可以在13fps时在USB2.0时用?
2 我现在USB2.0 下使用还是会出现0X47错误,你之前给我解释说是PC读取太慢了,buffer溢出。我按照扩大buffer的参考。作了如下改动:


增加buffer size
#define CX3_APP_DATA_BUF_SIZE (0x6BF0) /* DMA Buffer Data Size Used: 27632 Bytes*///27K  最多配置到27k。
#define CX3_APP_STREAM_BUF_COUNT (4)
再多就会出现0X10,空间不足错误。请问是否达到芯片缓存的上限?请帮忙分析下原因,指导解决一下此问题。项目无法进行了。就卡在这了。比较着急谢谢。

回帖(1)

陆军航空兵

2024-7-5 17:27:19
你好!关于你的问题,我会尽量提供一些建议和解决方案。

1. 首先,关于Class specific Uncompressed VS Frame Descriptor的问题,如果你在13fps时能够生成这个描述符,那么在USB2.0下使用13fps应该是可行的。但是,为了确保稳定性和性能,你可能需要进一步测试和调整参数。

2. 对于0X47错误,这个错误通常是由于PC端读取速度不够快,导致缓冲区溢出。你已经尝试了增加缓冲区大小,这是一个正确的方向。但是,仅仅增加缓冲区大小可能不足以解决问题。你还需要考虑以下几点:

   a. 优化数据传输:检查你的代码,看看是否有可能优化数据传输过程,减少延迟。

   b. 调整帧率:如果可能的话,尝试降低帧率,以减轻USB2.0的传输压力。

   c. 检查USB线和接口:确保你使用的USB线和接口没有损坏,因为它们可能会影响数据传输速度。

   d. 考虑使用USB2.0的高速模式:如果你的设备和PC都支持USB2.0的高速模式,尝试启用它以提高传输速度。

   e. 使用DMA(直接内存访问):如果可能的话,使用DMA来提高数据传输速度。你已经在代码中增加了缓冲区大小,这是一个很好的开始。但是,确保你的DMA设置是正确的,并且与你的硬件和软件兼容。

3. 另外,你可以尝试更新你的驱动程序和固件,以确保它们是最新的。这可能会解决一些兼容性问题。

举报

更多回帖

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