完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我和我的团队正在TLE9243QK_BASE_BOARDAN75779 源代码上开发自定义 FX3 + UVC 应用程序 ,并在尝试实现同步通信时遇到问题。
到目前为止,我们按照KBA231897中详述的步骤实现了等时模式: - cyfxuvcdscr.c:调整 UVC 描述符以支持同步(备用设置 0 和 1, EVAL_ISO_4DIR1400H 。端点描述符,更新描述符大小) - uvc.h :从 KBA 源代码导入的宏(FX3_EP_ISO_VIDEO_SS_BURST/MULT、 EVAL_ISO_4DIR1400H /...SIZE_L /...SIZE_H) - uvc.c :更新了 glProbeCtrl 结构,没有。TLE9243QK_BASE_BOARD EVAL_ISO_4DIR1400H/H 上每个有效负载的 RX 字节数 通过这些修改,我们能够将视频数据流传输到主机应用程序,并验证数据流是否配置为等时。 不过,收到的图像似乎有问题(见附件)。 TLE9243QK_BASE_BOARD在来自帧的原始数据中,似乎丢失了一些数据,并且当使用嗅探器(WireShark)比较通过 USB 接收的数据时,该数据在主机 USB 的接收处已经丢失,这意味着它是不是由 FX3 发送的。 数据流由 1950x1150 帧组成,每个像素由 2 个字节编码,每秒 30 帧。 我们的一个假设是,我们可能需要比原始配置更大的带宽,因此我们尝试将 DMA 缓冲区的大小增加到 24(CY_FX_EP_BULK_VIDEO_PKTS_COUNT (0x18)),但收到的帧仍然显示出明显由数据丢失引起的问题。 我们在配置中遗漏了什么吗? 关于问题的性质和解决方法,您有什么想法? 如有任何帮助,我们将不胜感激。 |
|
相关推荐
1个回答
|
|
在切换到异步模式时丢失数据的原因可能是由于数据传输速度不匹配或缓冲区溢出引起的。下面是一些可能导致数据丢失的常见原因:
1. 数据传输速度不匹配:在异步模式下,数据的传输速度可能会受到主机和设备之间的USB总线带宽限制。如果主机无法接收设备发送的数据,或者设备无法及时发送数据以满足主机的要求,就会发生数据丢失。 2. 缓冲区溢出:在异步模式下,设备端和主机端都会使用缓冲区来存储数据。如果设备端的缓冲区已满并且无法继续接收数据,或者主机端的缓冲区已满并且无法继续接收数据,就会发生数据丢失。 为了解决这些问题,您可以尝试以下措施: 1. 优化数据传输速度:您可以尝试调整数据传输的速率,以确保主机和设备之间的数据传输速度能够匹配。您可以修改设备端和主机端的代码以提高数据传输速度或减少数据传输负载。 2. 增大缓冲区大小:您可以尝试增大设备端和主机端的缓冲区大小,以便更多的数据可以存储在缓冲区中,从而减少缓冲区溢出的可能性。请确保增大缓冲区大小不会引起其他问题,例如延迟增加或内存消耗过大。 3. 实现数据丢失处理机制:如果数据丢失不可避免,您可以在代码中实现一些数据丢失处理机制。例如,在设备端,您可以记录丢失的数据包数量并进行相应的处理。在主机端,您可以请求设备重新发送丢失的数据。 希望这些提示对您有所帮助,祝您成功解决问题! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12024 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 04:16 , Processed in 0.678398 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号