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.

[参考译文] AM4379:在 OTG 配置下从 USB 主机模式热交换后、RNDIS USB 器件模式不工作

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1430172/am4379-rndis-usb-device-mode-not-working-after-hot-swapping-from-usb-host-mode-under-otg-configuration

器件型号:AM4379
主题中讨论的其他器件:AM4378、TPD4S012

工具与软件:

问题标题: 在 USB0 OTG 模式配置下从 USB 主机切换后、RNDIS USB 设备模式不工作  

SDK 版本: Linux-RT-AM437X-EVM-06.03.00.106

我的具有 AM4378的 H/W 板使用单个 USB0端口进行以太网连接。 USB0端口应支持通过 USB0 (器件模式)的 RNDIS 以太网和 USB0至以太网适配器(主机模式、Micro USB 至 RJ45)的热交换。 在器件树中、USB0配置为 OTG 模式。 以下场景(1、2、3)运行良好。 但是、测试案例4失败。 您能给我提一下调试这个问题的想法吗?

1. RNDIS USB 设备模式:良好

2. USB0到以太网适配器的 USB 主机模式: 良好

3.从 RNDIS USB 设备模式热交换到 USB 主机模式(USB0到以太网适配器): 好

4. 从 USB 主机模式(USB0到以太网适配器)热交换到 RNDIS USB 设备模式:失败   

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

    尊敬的 Matt:

    4.  从 USB 主机模式(USB0到以太网适配器)热交换到 RNDIS USB 设备模式:故障  [/报价]

    请说明测试程序、您具体如何进行"如何交换"测试。

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

    1. USB0连接到以太网适配器(RJ45)。 笔记本电脑可以通过路径 ping 硬件板(笔记本电脑-以太网交换机-以太网适配器-硬件板及 TI 处理器)。

    2.断开以太网适配器的连接

    3.将 RNDIS 电缆(USB-A 到 micro USB)插入 H/W 板的 USB0。 请确保连接(带 TI 处理器的 H/W 板- USB0 - RNDIS 电缆-笔记本电脑)

    4.笔记本电脑尝试 ping 硬件板。

    执行步骤3后、笔记本电脑报告 Windows 设备管理器上无法识别的 USB 连接。 第4步失败。  

    如果我跳过步骤1和2 (即不要尝试将 USB0连接到以太网适配器)、步骤3和4可以正常运行。

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

    问题是否可通过 AM437x GPEVM USB0端口重现?

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

    有。 我可以。 我将再次进行仔细检查。

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

    谢谢。

    如果您可以在 GPEVM 上重现该问题、请使用 Linux 主机(如果有)对其进行测试、因为我最近没有访问 Windows 计算机的权限。

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

    大多数情况下、以太网适配器和 RNDIS 之间的热交换在 GPEVM 上运行良好。 我曾经看到过相同的问题、但在再次热插拔后问题消失了。 我会向硬件工程团队查看 USB 硬件原理图。 您是否有任何可能有助于解决此问题的建议?

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

    这是我第一次听到这种类型的问题、所以不确定什么可能是根本原因。 但下面是我的几个评论:

    -使用 Linux PC 而不是 Windows 来测试定制板。 Linux 主机 dmesg 日志提供比 Windows 更多的 USB 枚举信息;

    -在热插拔时检查 VBUS 线电压,确保在下一次连接之前 VBUS 下降到接近0v。 否则、USB 控制器可能出现异常行为。

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

    我怀疑热插拔时的 VBUS 电压。 我将在与硬件工程师核实问题状态后更新问题状态。

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

    在执行步骤2"断开以太网适配器"后、VBUS 保持在2.3V 左右。 H/W 工程师一直在检查阻止 VBUS 下降到接近0伏的因素。 BTW、当 RNDIS USB 连接为 USB 设备时、 VBUS 5V 是否正常? 连接 RNDIS 后、Vbus 应为0V。 我认为仅在连接了 USB 主机时 VBUS 才为高电平。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    步骤2"断开以太网适配器"后、VBUS 停留在2.3V 左右。 H/W 工程师一直在检查阻止 VBUS 下降到接近0伏的因素。[/报价]

    请首先检查断开后 USBx_DRVVBUS 引脚是否为低电平。 我会这么认为、因为 VBUS 是2.3V、而不是5V。 但请仔细检查。

    当 RNDIS USB 连接为 USB 设备时、 VBUS 5V 正常吗?

    您的意思是当 RNDIS 小工具驱动程序加载在 AM437x 上并且其 USB 端口连接至 USB 主机时? 如果是、那么在这种情况下、VBUS 应该为5V、5V 来自主机 USB 端口上的 VBUS 线路。

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

    断开后、USB0_DRVVBUS 为低电平。 USBx_DRVVBUS 看起来正常工作。

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

    好的、这是意料之中的。

    这似乎是 VBUS 耗尽路径中的问题。

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

    您好、Bin、  

    我是在这个问题上为 Matt L.提供帮助的硬件人员。 他使用 AM4378入门套件(而非 GP EVM)测试了 USB 主机/设备交换。  

    除了 VBUS 驱动器和 ESD 保护外、我们的设计看起来与 GP EVM 上的设计有些相似。 我们目前使用 TPD6E004RSER 实现 USB ESD 保护(VBUS 连接到 TPD6E004SER 上的 VCC)、GP EVM 和入门套件 EVM 使用 TPD4S012。 我们的 VBUS 驱动器是 AP2171WG-7。 Matt 和我已经确认 USB0_DRVVBUS 正常工作、以便在主机模式下启用总线负载开关。 切换到器件模式时、我们会看到 USB0_DRVVBUS 为低电平(EN 线上也有10k PD)。 ID 引脚直接从 Micro-USB 连接器连接到 MPU。 在主机模式下、VBUS 线上确实有大约120 μ F 的电容。  

    您刚才提到、问题出在 VBUS 耗尽路径中。 我们在 VUSB_VBUS 上确实有一个90.9千欧的 PD 电阻器、但是、在断开主机或设备后、我们仍然会在 VBUS 线路上看到2.3V。 您建议使用哪种类型的 VBUS 耗尽路径、为什么两个 EVM 板都没有耗尽路径?  

    谢谢、希望能尽快收到回复!  

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

    嗨、OsarZ、

    抱歉、我是一家软件供应商、真的对硬件设计的模拟方面不太了解、也不知道到底该如何漏极 VBUS。 但有一件事我确信120uF 电容器不应该出现是错误的、

    USB 规范要求 USB 主机端口上的电容最小为120uF、以避免连接 USB 器件时 VBUS 电压降、但出于同样的原因、USB 规范还要求 USB 器件的电容不应超过10uF。

    因此、我们通常为 USB 双角色端口添加~7 μ F 电容器、因此该小电容器将限制连接的某些器件。

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

    箱、  

    谢谢、这有助于我了解评估原理图。 我们将移除大容量电容、并将其降至4.7uF 以实现双角色功能。 我们还将利用外部主机和器件对其进行测试、以确保其符合 VBUS 上更新的电容值。