完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 我有一个非常奇怪的设备,它会定期丢弃USB。定期我的意思是每周(或每两周一次)。奇怪的是我在大多数产品上都使用了类似的设计(稍后会详细介绍),出于某种原因,这个产品不能很好地运行,其他一些设备运行数月到数年(使用没有问题,设计相同但布局不同。 它仅在某些设备上,因此可能会排除固件/软件的问题。USB为2.0 FS,运行至STM32,中间带有ESD二极管芯片。原理图(D +和D-以及OSC_IN和OSC_OUT(继承振荡器设计)转到相应的引脚)现在的问题是,我如何进行测试?是否有一些方法可以监视设备很长一段时间,数百万个数据包经过并查找错误的来源?` |
|
相关推荐
3个回答
|
|
该设备称为“USB协议分析仪”。
如果仅监视主机软件端,则可以看到的最大值是存在一些“事务错误”,并且端口在丢弃后可以恢复或无法恢复。USB协议具有硬件辅助手段来重新尝试失败的事务,并且软件无法查看“错误计数”。因此,您需要在D + / D-线上识别物理级错误的根本原因。 有经济实惠的USB分析仪,特别是USB 1.1(FS 12 Mbps)速率。可以为一个复杂的触发器设置一个好的分析器,同时监控长循环中的流量,甚至可以将整个流量记录到硬盘驱动器的容量中。我会推荐一款小型Teledyne / Lecroy 型号的Mercury T2,但像Ellisys和Totalphase Beagle这样的其他人也越来越好了。 但是,您需要小心,因为分析仪有些侵入性,并且它们的连接器/内部构件确实会对信号完整性产生一些影响。在片状连接和罕见错误率的情况下,分析仪可以改善信号(并且您可能永远不会看到问题)或者可以终止链接功能(这将有助于查明问题)。 因此,简而言之,您需要确定何时发生设备丢失时出现故障。它可能是(a)设备对有效USB协议做出错误响应,(b)信道信号完整性问题,或(c)主机硬件在处理USB协议的某些特性方面存在缺陷。 我将从(b)开始,检查总线上的所有信号是否符合基本的USB信号规格:模式频率在2000 ppm以内,标准内的抖动,信号边缘是单调的,信号眼是否符合图表模板,在整个特定电缆上,设备和主机。USB-IF网站中描述了如何在USB合规性计划中执行电气测试的标准程序。 如果信号符合基本的FS信号规范,协议分析仪将是下一个要部署的东西。如果设置正确的触发器并对总线事件的正确解释导致错误可能具有挑战性。如果您没有USB分析仪的经验,您可能需要接受一些培训或获得顾问。 |
|
|
|
我遇到了类似的问题。看起来信号电平相当微小,整个事情变得对USB电缆的质量或长度敏感。您可以开始查看信号电平,也可以尝试使用更短的电缆,看看是否可以改善信号。所有USB电缆都不相同 有些电缆的数据线比其他电缆更粗。
|
|
|
|
我们过去也遇到过类似的问题。一些PC上的USB串行设备可以使用数月,而有些则我们每周都会失去通信。我们开始在两台相同的Windows PC上运行三台设备(有时会出现问题的组合)和一台带有简单日志到磁盘软件的Ubuntu机箱。过了一段时间,一个窗户框失去了它 - 端口就消失了。Windows USB驱动程序堆栈(这是Win7)是一堆传统的东西,显然无法处理FTDI芯片的怪癖。所以我的建议是在两个相同的配置上运行测试+第三个不同的配置。如果它停止响应,你有设备+ USB控制器+驱动程序组合的问题。如果没有,它可能是信号问题 - USB显示器可以帮助你。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
hal库中i2c卡死在HAL_I2C_Master_Transmit
881 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1402 浏览 1 评论
516 浏览 0 评论
1020 浏览 0 评论
1149 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 06:01 , Processed in 0.904872 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号