完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在使用AN75779进行UVC传输的时候,发现在上位机端(virtualDub软件和ampcap以及我们自己编写的DirectShow程序)实时传输的时候偶尔会有图像帧丢失。丢失的频率在不同的电脑上会有不用的结果,有的电脑很久都不会丢一帧,有的电脑会很快丢失。丢帧的瞬间,从BusHound上观察会丢失一定量的数据包,FX3的print输出会显示如下信息:
UVC: Completed 527 frames and 17 buffers UVC: Completed 556 frames and 74 buffers UVC: Completed 585 frames and 130 buffers DMA Reset Event: Commit buffer failure Application Stopped Application Started UVC: Completed 0 frames and 0 buffers DMA Reset Event: Commit buffer failure Application Stopped Application Started UVC: Completed 0 frames and 0 buffers UVC: Completed 28 frames and 119 buffers 为了进行丢帧测试,我在FPGA端使用模拟的FV,LV,PCLK以及8bit的数据bus进行UVC的图像数据输入,目的是为了保证前端数据的可靠性。图像大小为1280*1024,帧率为30FPS,PCLK为90M。DMA缓存区大小设置为16384. 我已经阅读过论坛上的相关解决方案Invalid Sequence Error in Multi-Channel Commit Buffer - KBA218830 (ZH) ,并按照上面进行修改缓存区(修改为32K),但只是稍许降低了丢帧的概率,并没有解决这个问题。我们的系统对实时性要求较高,不允许有较多的丢帧,目前大概平均4000帧左右就要丢帧一次,这大大超出了我们的承受范围。 1、请问对于这个丢帧的现象是由于什么原因引起的?有没有较好的解决方案? 2、丢帧问题是不可避免的吗?若是的话,能采用何种方式弥补图像的丢失? |
|
相关推荐
1个回答
|
|
你这种丢帧频率在UVC应用中属于很正常的现象。如果对帧率和图像大小都有要求,可以考虑采取一些压缩格式,减小使用的带宽。从bulk传输模式的原理来说,这本身就是一种数据传输优先的方式。Bulk传输模式支持的data brust是不要求发送的每个包都返回ACK的。如果你们是USB3.0的设备,可以尝试改成isochronous 传输模式。
|
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
568浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
422浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
383浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:50 , Processed in 1.324859 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号