Cypress技术论坛
直播中

宜家

9年用户 1209经验值
私信 关注

an75779丢帧怎么解决?

我们使用的是36bit的gpif、36kb*3的dma buffer、传输6m20帧。这种情况下有些时候会一直报
DMA Reset Event: Commit buffer failure
Application Stopped
Application Started
然后就会丢帧
但我觉得我们需要的是提高性能而不是在出现错误后进行丢帧处理
这种问题能不能是不是能通过加大dma buffer的手段来解决,我自己试着加大但是修改buffer大小之后就不显示图像了,报错如下:
Application Started
UVC: Completed 0 frames and 0 buffers
DMA Reset Event: Frame timer overflow, time period = 200
Application Stopped

还有一个现象,我们这有些电脑很少报DMA Reset Event: Commit buffer failure这个错误,有的就比较容易报错,是不是这个问题也和电脑的收取uvc数据的速度有关呢


                                                                                                                                                                                                                                                                                                                                                                                                

回帖(1)

王璐

2024-2-27 15:33:18
丢帧问题可能由于DMA缓冲区无法及时处理数据而引起。下面是一些建议来解决这个问题:

1. 增加DMA缓冲区大小:通过增加DMA缓冲区的大小,可以提供更多的存储空间来处理数据,可能会减少丢帧的情况。但是您提到在增大缓冲区大小后无法显示图像,这可能还涉及到其他问题,您可能需要检查代码或硬件设置。

2. 优化代码和算法:检查并优化代码和算法,确保数据传输和处理的效率最大化。检查是否有冗余的计算或数据传输操作,同时避免阻塞或延迟操作。

3. 调整帧率和分辨率:降低帧率和分辨率可以减少对DMA缓冲区的压力,从而减少丢帧的情况。您可以尝试降低帧率和/或分辨率来看是否对丢帧问题有所改善。

4. 检查硬件配置:确保硬件配置和连接正常工作。检查所有硬件组件的连接是否正确,电源是否稳定等。

5. 联系技术支持:如果问题仍然存在,您可以联系硬件或软件供应商的技术支持团队,他们可能能够为您提供进一步的帮助和解决方案。

需要注意的是,在丢帧问题中,有时候无法避免少量的丢帧。因此,在设计系统时,需要设定一个可以接受的丢帧率,以此作为性能指标来衡量。
举报

更多回帖

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