完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
芯片型号:ESP32S2
SDK版本:ESP-IDF 4.4.6 现在的环境是使用单根USB线创建MSC+CDC与上位机通信。当CDC和MSC同时运行,且MSC接口有大数据量通过时CDC设备端口会断开。 附件内有用WIRESHARK 4.2.0抓取到的数据包log可供参考,以下是对log的一些解析: 2.46.2是CDC设备 2.46.3是MSC设备 2.41.2是串口打印设备(调试用) 2.1.2 鼠标 在log的第81760条数据时,MSC收到大量数据后,CDC开始出现了异常,设备端开始没有数据回复了。 |
|
相关推荐
1个回答
|
|
根据您提供的信息,我将尝试分析可能导致CDC异常的原因,并提供一些建议。
1. 分析问题:当MSC接口有大数据量通过时,CDC设备端口会断开。这可能是由于带宽限制或资源竞争导致的。 2. 带宽限制:单根USB线同时传输MSC和CDC数据可能导致带宽不足。当MSC数据量较大时,可能会占用大量带宽,导致CDC数据传输受到影响。 建议:尝试降低MSC数据传输速率,或者使用双USB线分别传输MSC和CDC数据,以减少带宽竞争。 3. 资源竞争:ESP32S2在处理MSC和CDC数据时,可能会发生资源竞争,导致CDC异常。 建议:检查ESP-IDF 4.4.6版本是否有已知的资源竞争问题,或者尝试升级到较新的版本。同时,优化代码以减少资源竞争,例如使用中断而非轮询来处理数据传输。 4. 驱动程序问题:可能是由于驱动程序存在bug或者不兼容导致的CDC异常。 建议:检查ESP-IDF 4.4.6版本中的CDC驱动程序是否有已知问题,或者尝试升级到较新的版本。同时,确保上位机的驱动程序也是最新的,以确保兼容性。 5. 硬件问题:可能是由于USB线或ESP32S2硬件存在问题导致的CDC异常。 建议:尝试更换USB线,或者使用其他ESP32S2设备进行测试,以排除硬件问题。 6. 调试:使用WIRESHARK抓取的数据包log可以帮助分析问题。仔细检查log中的数据包,查找可能导致CDC异常的数据包,以便进一步分析问题。 总之,要解决这个问题,需要从多个方面进行排查和优化。希望这些建议对您有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
358 浏览 0 评论
1202 浏览 1 评论
590浏览 6评论
484浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
445浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 11:52 , Processed in 1.189201 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号