This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
在使用 MSP430F5503测试 CDC 产品时、我们遇到了 MSP430 USB 器件随机断开连接的问题。频率从几小时到几天不等。 我注意到、在 PC 上使用 COM 端口的应用程序会以某种方式影响频率(有些可能会更频繁地导致问题)。
症状:
在 Win 7下、COM 端口号仅从设备管理/端口(COM 和 LPT)部分消失、应用程序停止接收新数据。
在 Win 10下、它通常会保持列出状态、并且正在使用该端口的应用程序会冻结、并且无法重新连接到该端口。 更少见的"未知 USB 设备(端口重置失败)"(Windows 已停止此设备、因为它报告了问题。 (代码43) USB 端口复位请求失败。) 出现“Device Manager/Universal Serial Bus controllers (设备管理器/通用串行总线控制器)
MSP430上的应用程序未冻结、未复位、并在发生这种情况时继续执行。 MSP430检测到振荡器 NOR MNI 故障。 在 while 之后、只有 USBCDC_sendDataInBackground 开始返回超时。 我在事故发生后通过了 USB 模块寄存器、但没有什么"有趣"的东西吸引我。
MSP430USB 开发程序 Package_5_20_06_02包中的 C3_EchoToHost 示例应用程序也存在此问题。 在具有 F5503的定制板和 MSP-EXP430F5529套件上进行了测试。 IAR MSP430 6.3用于编译代码。
如果有任何想法或经验,我将不胜感激。
Petr、您好!
感谢您的详细博文。 我看到您使用的是最新的 USB 开发套件、这很好。
这绝对是一个有趣的问题。 我在网上搜索了 Code 43、并找到一篇由 Lifewire 提供的有关 如何修复 Code 43错误的冗长文章。 导致的范围从驱动程序问题到超出 PC USB 端口可提供的最大功率。
从您的描述中可以看到、MSP430正常工作、只是等待 PC COM 端口的数据、最终导致超时。 您是否使用 USB2.0或 USB3.x 端口?
此致、
James
作为后续行动、请通读以下主题。 查看最后一个主题、我开始怀疑此问题是由勘误表引起的。 对于 MSP430F5503、USB9勘误表与加电后可能失败的 VBUS 检测相关。 更多信息、请参阅勘误表。
MSP430挂起 BIOS、然后在 Windows 7的设备管理器中获得"未知设备"
此致、
James
Petr、您好!
我将从您的帖子中假设您在 MSP-EXP430F5529电路板上没有看到这种行为、而只在您的定制电路板上看到这种行为? 您能否验证您的 USB 是根据 SLAA457a.pdf 文档中的图8设计的?
如果 USB 设计正确、您可能需要检查 Win7和 Windows 10上所使用 COM 端口的电源设置。 您也可以尝试关闭笔记本电脑上的“睡眠”或“休眠”功能。
此致、
Arthi
Petr、您好!
[引用 user="Petr Wagner">我认为这与此无关、在所有这些情况下、问题是它无法通过连接/PC 重置来工作。 这种情况并非如此、器件工作小时/天、然后停止工作。[/报价]
查看 USB9、USB10和 USB12勘误表、他们特别提到、拔下并重新拔插 USB 电缆即可解决此问题。 这与您一直在做的事情相匹配-断开并重新连接 MSP430器件、然后它重新开始工作。 请仔细阅读这些勘误表、逐个实施权变措施、并继续测试是否存在问题。
此外、我们在上面提出了几个开放式问题。 这些答案可能有助于让您了解您观察到的情况。 我将再次重点介绍勘误表。
此致、
James
Petr、
当您发现问题时、您是否正在运行其中一个 USB 封装 CDC 应用程序? 我想尝试使用 MSP430F5529在我的结尾重新创建您的问题。
此致、
Arthi
您好 James、
它进行了另一轮测试以进行验证。 它毕竟是由勘误表中的 USB10引起的。 您让我再次重新检查它们。 谢谢!
此致、
Petr
PS:我强烈建议使用其他信息更新 USB10说明、以了解问题如何表现。 由于对"USB begin to babble"的描述、我最初忽略了它、认为它不相关。 此外、在某些情况下、这个问题绝对不是"非常罕见"(我们有一个用 TCL 编写的旧串行应用、这在某种程度上大大增加了这个误差的可能性)。