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.

[参考译文] TDA4APE-Q1:有关 USB 的问题

Guru**** 2756435 points

Other Parts Discussed in Thread: TCA9539

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1600884/tda4ape-q1-questions-about-usb

器件型号: TDA4APE-Q1
Thread 中讨论的其他器件: TUSB321TCA9539

尊敬的专家:

我们正在开发基于 TDA4APE6 的电路板、我们计划在 OTG 模式下使用 USB、并配备 Type-C 连接器。 我对 USB 配置有几个问题。

  1. 正如我所理解的、USB0_DRVVBUS 用作 V2S 电源的使能引脚。 我的理解是否正确? 那么、我假设在我们的用例中 USB0_DRVVBUS 是必要的? 或者、我们能否始终启用 VBUS 电源、以便不需要控制 USB0_DRVVBUS?
  2. 从数据表中、只有 3 个引脚可用作 USB0_DRVVBUS、如下所示。 我们是否可以使用 3 个引脚以外的普通 GPIO 作为 VBUS 电源使能引脚? 如果是、我该如何进行配置、因为我在控制 USB0_DRVVBUS 引脚的驱动程序代码中找不到位置。  
  3. 我们使用 Type-C 连接器、因此希望它支持可逆插入。 在 TRM 中、它表明已针对 USB Type-C 通道交换功能重新设计了 SERDER0/4 的通道 2。 但在内核代码中、它没有说明如何配置 SERDERS 0/4 的通道 2 以使用 USB。 那么、应如何配置它呢? fed94af0-b8a5-411d-850f-9027c22ffa98.png2dfd21da-eab6-48f4-8c76-b4bcd7b21101.png2e20065b-9518-4ee5-adf1-93ad590832be.png
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mian:

    按照我的理解、USB0_DRVVBUS 用作 V瑞银 电源的使能引脚。 我的理解是否正确? 那么、我假设在我们的用例中 USB0_DRVVBUS 是必要的? 或者、我们是否只需保持 VBUS 电源始终启用、从而无需控制 USB0_DRVVBUS?

    我相信 DRVVBUS 是必选的。但是,我已经通知 USB 硬件专家在这些问题上加倍的讨论。 提前感谢您的耐心。

    我们正在使用 Type-C 连接器、因此我们希望它支持可逆插入。 在 TRM 中、它表明已针对 USB Type-C 通道交换功能重新设计了 SERDER0/4 的通道 2。 但在内核代码中、它没有说明如何配置 SERDERS 0/4 的通道 2 以使用 USB。 那么我应该如何配置它呢?

    要启用通道交换功能、您可以遵循此常见问题解答。

    【常见问题解答】J784S4XEVM:在 TDA4VH 的通道 2 上启用 USB3.0 功能 — 处理器论坛-处理器 — TI E2E 支持论坛

    此致

    Gokul Praveen

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

    尊敬的 Gokul:

    我不太明白为什么您提供的链接中的补丁删除了 DTS 中与 typec-dir 相关的配置。 一般来说、不应该根据 GPIO 信号确定 Type-C 方向来触发通道切换操作吗?

    此外、链接显示  注意:执行上述更改后、仅当您使用信道 3 时、USB 才会在 2.0 模式下工作 。 这是否意味着如果我们要充分利用通道交换功能、USB 仅支持 USB2.0 模式?  

    B.R.

    MIAN

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

    尊敬的 Mian:

    此外、链接说  注意:执行上述更改后、仅当您使用信道 3 时、USB 才会在 2.0 模式下工作 。 这是否意味着如果我们要充分利用通道交换功能、USB 仅支持 USB2.0 模式?  [/报价]

    这实际上是一个拼写错误。 很抱歉。 它是 3.0 模式、而不是 2.0 模式。

    我不太理解为什么您提供的链接中的修补程序删除了 DTS 中与 typec-dir 相关的配置。 一般来说、不应该根据 GPIO 信号确定 Type-C 方向来触发通道切换操作吗?

    此器件树属性用于当前不受支持的动态或 On-The-Go 通道交换切换功能。

    但是、静态通道交换功能受支持、因此不需要这些属性。

    此致

    Gokul Praveen

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

    尊敬的 Gokul:

    您是否意味着此补丁仅支持用于 USB 3.0 的 SERDES0_Lane2、而 Type-C 连接器的两侧不支持 USB3.0 功能、因为目前不支持 OTG 通道交换?

    实际上、应用此补丁后、只有连接到 SERDES0_Lane2 的一侧被识别为 USB3.0 器件、而连接到 SERDES0_LANE3 的一侧仅被识别为 USB 2.0 器件。

    顺便说一句,我不小心将问题标记为已解决。 是否有方法撤消此操作?

    B.R.

    MIAN

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

    尊敬的 Mian:

    [引用 userid=“556752" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1600884/tda4ape-q1-questions-about-usb/6173063

    您是否意味着此补丁仅支持用于 USB 3.0 的 SERDES0_Lane2、而 Type-C 连接器的两侧不支持 USB3.0 功能、因为目前不支持 OTG 通道交换?

    实际上、应用此补丁后、只有连接到 SERDES0_Lane2 的一侧被识别为 USB3.0 器件、而连接到 SERDES0_LANE3 的一侧仅被识别为 USB 2.0 器件。

    [/报价]

    您能分享您正在使用的 SDK 版本吗?

    [引用 userid=“556752" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1600884/tda4ape-q1-questions-about-usb/6173063

    顺便说一句,我不小心将问题标记为已解决。 是否有方法撤消此操作?

    [/报价]

    这很好,你将能够在这里发布你的查询,即使它被标记为已解决

    此致

    Gokul Praveen

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

    尊敬的 Gokul:

    我使用的是 SDK 11_01。

    此致

    MIAN

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

    尊敬的 Mian:

    很抱歉、您的回复太晚。

    我在 TI J784S4 EVM 上重现了相同内容、其中连接到 SERDES0_Lane2 的一侧被识别为 USB3.0 器件、连接到 SERDES0_LANE3 的一侧仅被识别为 USB 2.0 器件。

    我在内部提出了这个错误 (LCPD-45340) 调试需要一些时间、

    同时、权变措施是在启用通道交换功能的情况下不使用通道交换功能或连接到检测到 USB3.0 的通道。

    此致

    Gokul Praveen

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

    尊敬的 Gokul:

    感谢您的答复。  

    如果您对此问题有任何进一步的信息、请随时通知我。

    同时、我还有 2 个发现。

    首先、TRM 说 USB 支持有限的 OTG2.0、而不支持 OTG3.0、如下图所示。 这是否意味着器件只能在 2.0 模式下工作?

    其次、在内核设备树的文档中提供了有关的说明 typec-dir-gpips 它仅提及通道 0 和通道 1。 相应的驱动程序代码也仅处理通道 0 和通道 1。 因此、通道交换问题是否可能是由于缺少逻辑导致的?

    此致

    MIAN

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

    尊敬的 Mian:

    如果您对此问题有任何进一步的信息、请随时通知我。

    Sure Mian、

    第二、在内核设备树的文档中、有一个关于的解释 typec-dir-gpips 它仅提及通道 0 和通道 1。 相应的驱动程序代码也仅处理通道 0 和通道 1。 因此、通道交换问题是否可能是由于缺少逻辑导致的?

    实际上、由于此属性从不包含在 J784S4 EVM 设备树中、因此它将始终在驱动程序代码中输入 else case、该驱动程序代码将设置通道 2 和通道 3 的交换位。 因此、我认为这不是问题、米安。  

    首先、TRM 显示 USB 支持有限的 OTG2.0、不支持 OTG3.0、如下图所示。 这是否意味着设备只能在 2.0 模式下工作?

    实际上、USB2.0/USB3.0 模式与 OTG2.0/OTG3.0 不同。 OTG2.0 和 OTG 3.0 是指 OTG 精算的版本号(即:版本 2.0 和版本 3.0)   

    此致

    Gokul Praveen

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

    尊敬的 Mian:

    能否在常见问题解答后删除的代码行中恢复 Type-C 方向检测功能?

    -&SERDES_wiz0{
    - typec-dir-gpips =<&wkup_gpio0 28 gpio_active_high>;
    - typec-dir-debounts-ms =<700>;/* 321、tCCB_DEFAULT TUSB133ms */
    -};

    这应该会启用 Type-C 方向检测并将 SERDES 通道 2(或通道 3)连接到 USB3.0。  

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

    您好、

    如果我恢复内核设备树中所用 SDK 默认不包含的 Type-C 方向配置、USB 设备将不会成功进行探测。  设备树片段和日志如以下 pcitures 所示。

    此外、正如我在上述黄昏中所做的那样、驱动程序代码似乎没有处理通道 2/3 交换与 typec-dir-gpio 的问题。 您能否证实此方法是否有效?

    此致。

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

    您是使用 i2c 扩展器来控制 Type-C 电缆检测和方向、还是使用 GPIO? 您能否检查其地址/是否与您的原理图相匹配?  

    设备树片段和日志显示在以下文章中。

    您能尝试一下每条车道 (2 和 3) 吗?  

    {&S serdes0}{
    状态=“正常“;

    //通道 2 用于交换方向
    serdes0_USB_link:PHY@2{
    全部引导;
    reg =<2>;
    CDN、num-lanes =<1>;//单通道
    #phy-cells =<0>;
    CDN、phy-type = ;
    RESET =<&SERDES_wiz0 3>;
    };

    //通道 3 用于正常方向
    serdes0_USB_link_alt:PHY@3{
    全部引导;
    reg =<3>;
    CDN、num-lanes =<1>;//单通道
    #phy-cells =<0>;
    CDN、phy-type = ;
    RESET =<&SERDES_wiz0 4>;
    };
    };

     Gokul Praveen , Siddharth Vadapalli 您知道他所指的驱动程序代码吗?  

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

    尊敬的 Shreyas:

      ,  您知道他所指的驱动程序代码吗?  [/报价]

    以下链接中的代码快照是他所指的代码快照。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1600884/tda4ape-q1-questions-about-usb#:~:text=Actually%2Csince,issue%2C%20Mian%2E

    此致

    Gokul Praveen

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

    您好、

    是的、我将使用 I2C IO 扩展器来检测 typec 方向(更具体地说,是 TCA9539)。 我已经检查扩展器的配置是否正确。

    如果将通道 2/3 单独配置为单通道、我应该为 usb0 选择哪一个作为 PHY?

    嗯、我已经尝试过这两种方法。 如果我使用<&S serdes0_USB_link>(即通道 2)、则 USB 以一侧作为 3.0 标准工作。 但是、如果我使用<&S serdes0_USB_link_alt>、则 USB 器件探针将失败、并出现上面所示的相同超时错误。

    您对此问题有任何进一步的建议吗?

    此致

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

    在我看来、由于一侧在 USB3.0 上工作、而另一侧是 USB2.0、因此方向可能无法正确检测。

    已经与 TI 一起审查了原理图吗?   

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

    Gokul Praveen , Siddharth Vadapalli ,任何其他想法的 s/w 上,需要尝试在这个问题?  

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

    您好、

    TI 尚未审查原理图。 但我可以在下方发布相关器件。

    此致。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid=“556752" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1600884/tda4ape-q1-questions-about-usb/6193983

    是的、我将使用 I2C IO 扩展器来检测 typec 方向(更具体地说,是 TCA9539)。 我已经检查扩展器的配置是否正确。

    [/报价]

    MIAN、

    您需要确定您的电缆检测逻辑是否正确检测到电缆翻转、如果是、然后查看是否正确配置了 s.w 以检测电缆翻转并适当切换 SERDES 通道以配置 USB3.0 模式。

    我们 EVM 上的 SERDES TX 通道具有 0.22uF 交流耦合电容器。 VBUS 检测逻辑、Vbus 电容器、电缆检测逻辑我可申请查看一些问题。  

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

    MIAN、

    您是否能够探测 USB_DIR 引脚、看看当插头反转时它是否可以改变方向 (H 到 L/ L 到 H)?

    这将指示方向逻辑是否正确。 如果它没有开关、则需要固定、如果它进行开关、则应在 s.w 中实现该信号、以更改 SERDES 通道以支持 USB3.0

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

    您好、

    当前硬件可以检测 Type-C 连接器插入方向的变化。 可以通过使用电压表测量 USB_DIR 引脚的电压电平或通过读取 GPIO 值来监测这一点。

    此致。

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

    MIAN、

    很抱歉晚才回复。 由于对电缆的插入和极性进行了正确的检测、因此 h/w 行为似乎正确。

    现在看来、这是为了确保加入 USB_DIR 并相应地交换通道而需要进行的软件代码更改/分析。  

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

    尊敬的 Mian 和 Shreyas:

    现在看来、这是为了确保加入 USB_DIR 并相应地交换通道而需要进行的软件代码更改/分析。  [/报价]

    我在内部提出了这个错误 (LCPD-45340)

    此致

    Gokul Praveen