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.

[参考译文] 《TMS320F28384D:USB 枚举的一个问题》。

Guru**** 2390170 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1207301/tms320f28384d-one-question-of-usb-enumeration

器件型号:TMS320F28384D

您好!

我的客户在其系统中使用了一个 USB Type-C 连接器、发现当他使用一根 Type-C 电缆并通过 USB 主机为其系统供电时、可以顺利枚举 F28384D USB 模块。  但是、如果 F28384D 由系统功率级先上电、然后插入 Type-C 电缆、则 F28384D USB 模块将失败。

我的客户进行了另一个测试、使用一条 USB Type-C 转 Type-A 电缆。 首先给系统加电、插入此电缆、然后顺利枚举 F28384D USB 模块。 他想知道、为什么在使用 Type-C 转 Type-C 电缆时会出现这种 USB 枚举问题?

请告知您对此情况的评论、谢谢。

此致、

Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、您好!

     与 USB Type-A 连接器相比、USB Type-C 连接器具有许多额外的引脚。  使用 USB Type-C 时、主机器件是否可能将这些额外的信号用于某种器件枚举/识别目的?

    此致!

    Kevin 老师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kevin:

    奇怪的是、当 F28384D 通过 USB Type-C 主机供电时、可以顺利枚举 F28384D USB 端口。 但是、当 F28384D 由系统功率级供电时、将无法枚举。

    您对这种情况有什么想法吗? 当 F28384D 由 USB 主机或系统功率级供电时、USB 行为有何差异?

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kevin:

    我的客户会进行更多实验、发现当 F28384D 通过功率级供电时、在连接到较旧的 PC 时无法枚举 USB、如果连接到新 PC 时也无法枚举 USB、他会在 USB DP 和 DM 波形下面捕获 USB 波形、

    **连接新 PC 时 USB 信号。

    **连接到较旧的 PC 时 USB 信号。

    如果未能枚举 USB 端口、请复位 F28384D、然后就可以成功枚举 USB 端口。 我有一个问题、当未枚举 USB 端口并且通信停止时、是否有任何寄存器有助于了解 USB 主机已插入的插件?

    您认为此问题是由 PC 硬件或 OS USB 驱动程序导致的吗?

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、您好!

    从 USB 连接器到 C2000器件是否有5V USB_PWR 感测信号? 如果是、连接 USB 电缆时是否仅设置为高电平?

    此致!

    Kevin 老师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kevin:

    不可以、我的客户没有为 C2000器件设计 USB_PWR 感应信号、因此我们不知道主机是否已采用这种方法插入。

    最新信息是、当 USB 无法枚举并且通信停止时、复位 C2000器件肯定无法解决这个问题、复位 C2000器件后仍然无法枚举 DSP USB 端口的几率约为50%、因此我们无法使用此方法来解决此 USB 枚举问题。

    我的客户捕获了更多波形供您参考、如下所示(CH1:USB DM。 通道2:USB DP。 CH3:差分 USB 信号)

    波形1:将该 Type-C 电缆连接到我的笔记本电脑的 Type-C 端口、即枚举 C2000 USB。 您可以看到有一个 USB DP 低电平周期(超过100ms)、这是正常情况吗?

    波形2:将 Type-C 电缆连接到我客户的旧笔记本电脑的 Type-C 端口、未能枚举 C2000 USB、只有一个很短的 USB DP 低电平信号、然后没有发生进一步的通信。

    波形3:复位 C2000器件、有时可以枚举 USB。 在下面的波形中、我们没有看到 开始时 USB DP 低电平周期。

    波形4:将 Type-C 转 Type-A 电缆连接到我客户的旧笔记本电脑、下面枚举了 C2000 USB。 我们也没有在开始时看到 USB DP 低电平周期。

    以下是问题。

    1. 连接到 Type-C 电缆时、我们开始时获得超过100ms 的 USB DP 低电平周期、是否正确? 如果是这种情况、那么在我们复位 C2000器件并枚举 USB 时、我们没有看到这个低电平周期的原因是什么?
    2. 你对这种情况有什么评论吗? 您认为此问题是由 PC 硬件、操作系统驱动程序还是 C2000器件导致的?

    请告知您的评论、感谢您的帮助。

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、您好!

    F2837x USB 模块符合 USB 2.0标准、我认为所使用的连接器类型(即 Type-C 和 Type-A)不会有什么不同。 物理接口应相同(信号:DP+、DM-、USB_VBUS 和 GND)、且仍应使用 USB 2.0通信。

    正确吗?连接到 Type-C 电缆时、我们开始获得的 USB DP 低电平周期大于100ms 是否正确? 如果是这种情况、那么在重置 C2000器件并枚举了 USB 时我们没有看到此低电平时间的原因是什么?

    我不熟悉此级别的 USB 协议。

    C2000软件出现了什么问题、是否有任何状态或指示?

    此致!

    Kevin 老师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kevin:

    您能否建议从 C2000软件侧检查的特定寄存器? 我将要求我的客户使用旧笔记本电脑进行检查。

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、

    可以在 C2000侧检查以下寄存器

    1. USBPOWER 寄存器- 软连接/断开位

     USBDEVCTL 寄存器- VBUS 电平位

    您可以在 Windows - https://learn.microsoft.com/en-us/windows-hardware/drivers/install/setupapi-logging--windows-vista-and-later-上检查 setupapi 日志

    此致

    Siddharth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Siddharth、

    我的客户弄清楚了根本原因、这个奇怪的问题是硬件设计、可以通过将 ESD 组件的电源从 VBUS +5V 修改为系统电源+5V 来修复。

    我有两个问题需要您的评论、

    1. 我的客户要求提供 USB 通信波形的详细描述(D+、D-和 VBUS)、以便在插入 USB 电缆时检查他的 USB 波形、您知道我们在哪里可以找到此信息吗?
    2. 在 USB 从 CDC 模式下、我们将最大数据包大小限制为64字节。 这是硬件限制还是我们遵循 USB 标准导致的?

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、

    1.将尝试在枚举过程中获取有关波形的信息并共享。  

    2.   F2838x USB 模块的最大包大小为64字节。  F2838x 上的 USB 符合 USB2.0全速、因此最大包长为64字节。

    此致

    Siddharth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Siddharth、

    我在线查看、发现 USB 2.0全速的最大数据包大小为1023字节。 但是、您说 F2838x 符合 USB 2.0 FS、并且它具有64字节的最大数据包大小。

    我想知道有什么区别、它与枚举设备类型是否相关? 例如、对于全速端点、最大批量数据包大小可以是8、16、32或64字节、但我不知道 USB 处于 CDC 模式(虚拟 COM)时的最大数据包大小。

    您能提供更多有关此主题的建议吗?

    此致、

    Luke  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、  

    我参考了此链接 https://www-user.tu-chemnitz.de/~heha/hsn/chm/usb.chm/usb4.htm#Bulk 、其中提到对于全速、数据包的最大大小为64字节。  

    此致

    Siddharth

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Siddharth、

    USB CDC 基于批量传输端点、所以全速 USB CDC 的最大数据包大小为64字节、对吧?

    请在 USB 枚举期间更新波形吗?

    此致、

    Luke

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、

    是的、关于 CDC 最大数据包大小、您是正确的。  

    我没有在枚举波形上找到任何信息、如果我得到它、会让您一直发布。

    此致

    Siddharth  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Luke、

    对于 USB 枚举过程、可以参考以下链接

    https://www.perytech.com/USB-Enumeration.htm

    此致

    Siddharth