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.

[参考译文] TUSB4041I:USB 主机笔记本电脑的 TUSB4041I 集线器通信问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1181447/tusb4041i-tusb4041i-hub-communication-issues-with-the-usb-host-laptop

器件型号:TUSB4041I

尊敬的 TI 成员:

 我们在项目中使用 TUSB4041I USB 集线器、它使用 USB 的 D+和 D-引脚连接到 PSoC MCU、即 USB 集线器的下行端口连接到 MCU (USB 设备)、上行端口为用户笔记本电脑(USB 主机)。 在下面、找到我们的发现、因为 MCU USB 器件无法与 USB 主机器件通信。

1.当 USB 集线器上行端口未连接到用户笔记本电脑(USB 主机设备)时、D+和 D-引脚置为低电平、而 MCU (USB 设备) USB 引脚将 D+作为逻辑1 (3V3)、而 D-作为逻辑0 (0V)。 请分享您的想法、了解为什么 USB 集线器和 MCU 器件的 USB 引脚具有不同的逻辑电平。

2.当 USB 电缆连接在 USB 集线器端口和用户笔记本电脑(USB 主机)之间时、两个 USB 设备(MCU 和 USB 集线器)的引脚状态分别为 D+(0V)和 D-(0V)。 但是、用户的笔记本电脑仍然无法检测 USB 集线器和 MCU USB 设备。 每次 Windows 笔记本电脑都显示"设备描述符请求失败"信息。 当我们尝试重置 MCU 器件时、有时用户的笔记本电脑能够检测到这两个器件。  

我要附上 USB 集线器的原理图。 请分享您对此的想法、并尝试解决此问题。



谢谢、此致、
Vivek Karna

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

    Vivek

    如何控制 GRST 引脚? 您是否有一个1uF 下拉电容器?  

    请确保满足 TUSB4041I 上电序列、并且有一个有效的24MHz 时钟进入集线器。

    谢谢

    David

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

    尊敬的 David:

    否、USB 集线器件的 GRSTZ 引脚上没有连接1uF 下拉电容器。 GRSTZ 引脚连接到控制器件(MCU)、我们将此引脚置为低电平、然后在为此器件通电后再次置为高电平。 我们已检查该器件的24MHz 时钟输入、它工作正常。

    您能详细说明一下此 USB 集线器器件的上电序列吗、我们已经阅读了数据表、但这些词语似乎有点令人困惑。 请再次详细说明这些步骤。

    谢谢。
    Vivek Karna

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

    Vivek  

    有关上电顺序、请参阅第7.7节。 是否可以从驱动 GRST 的 MCU 切换到上面有一个1uF 电容器?

    您能否确保 HUD_VBUS 电压约为500mV?

    谢谢

    David

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

    尊敬的 David:

    我尝试了相同的过程、但无法解决问题。 请分享更多想法。 我想把光放在某个地方、我在另一个电路板上使用相同的电路、即 USB 集线器正在检测、USB 设备也连接到了它、但相同的其他4个电路/ PCB 不工作、这很奇怪。

    我们是否有任何方法可以测量 USB 集线器或 D+和 D-引脚上的测试点。

    谢谢、
    Vivek Karna

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

    Vivek

    您是否看到了来自振荡器的有效24MHz 时钟?

    您可以测量 VBUS、D+和 D-、您应该会看到下面的波形、

    谢谢

    David

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

    尊敬的 David:

    感谢您的建议。 我们已经按照您的时序图进行了操作、同时 还捕获了 USB 集线器的 GRSTZ 和1V1的信号。  



    黄色通道为 GRSTZ 引脚状态、蓝色通道为1V1电源轨。 如 USB 集线器的上电序列所示、我们可以得出结论、在1V1分配给 USB 集线器后、GRSTZ 引脚为高电平、 但与 USB 集线器数据表中的时序图相比、GRSTZ 引脚从低电平变为高电平的斜率非常高。  

    请分享您对此问题的看法。 如果可能、我们可以举行一对一的视频会议、如果您愿意、我们可以解决该问题。  

    谢谢你。

    此致、
    Vivek Karna  

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

    Vivek:

      David 是度假的好去处 如果您需要、我们可以进行呼叫。

    此致

    Brian

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

    您好 Brian、  

    是的、如果您愿意、我们可以接听电话。 我们在印度、因此我们的白天不匹配。 我可以与您分享我的个人电子邮件、然后我们可以召开团队会议或更适合我们的任何会议。

    请接受我的朋友的请求和我的消息。

    谢谢、此致、
    Vivek Karna

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

    我刚刚给您发送了一封电子邮件。

    此致

    Brian

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

    您好@Brain 和@David、

    我们尝试使用 SMBus 协议读取 USB 集线器的寄存器。 我们将 SMBUSZ 引脚下拉至接地(0V)。 USB 集线器和 MCU (SMBus 主器件)之间的通信工作正常、我们能够读取 USB 集线器从0x00到0xFF 的所有寄存器。 下面附加了 USB 集线器的寄存器转储。 大多数寄存器显示0值、UUID 和序列号除外。 USB 集线器的寄存器0xf8 (值0x12)的 LSB 位为零(cgfActive)、而 smbusRst 位为高电平。  


    在器件之间进行 SMBus 通信时、我们将 GRSTZ 拉高至3.3V (取消置位)。  

    在器件之间进行 SMBus 通信之前、我们曾在用户笔记本电脑上收到 USB 集线器通知、因为"器件描述符请求失败"、但在进行 SMBus 通信后、笔记本电脑上没有通知、 USB 集线器的 D+和 D-引脚始终为低电平。

    @、在您上次建议的情况下、我们拉低了 MCU 器件(下游器件) USB 的 VBUS、但 USB 集线器仍然无法正常工作。

    正如我们已经告诉您的、我们的 PCB 之一与 USB 集线器一起工作正常、即它正在检测用户的笔记本电脑、并且正在识别一个下游器件、在我们的情况下、它是 MCU、 但是、如果我们要将低速 USB 设备连接到 USB 的其他端口、它不会识别它们、而只是识别全速设备。

    请为此分享解决方案。

    谢谢、此致、
    Vivek Karna  

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

    请找到使用 SMBus 通信找到的 USB 集线器的寄存器转储。

    e2e.ti.com/.../USB-Hub-Register-Dump-using-SMBus.txt

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

    Vivek

    您是否检查了 TUSB4041I 散热焊盘的焊料覆盖范围、并确保数据表中要求的100%覆盖范围?  

    谢谢

    David

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

    尊敬的 David:  

    感谢您提供相关信息。

    我检查过、焊料覆盖范围与基准相同。 这一点没有问题。

    您是否有机会查看 SMBus 主设备从 USB 集线器读取的寄存器?

    除此之外,我忘记提及以下几点:

    1.当我启用与 USB 集线器的 SMBus 通信时,USB 集线器不会与用户的笔记本电脑进行任何通信,即 USB 集线器和用户的笔记本电脑之间不会交换描述符。 为什么会这样?  
     

    2.当我们取消置位 USB 集线器的 GRSTZ 引脚(从低到高)时、只有 SMBus 通信发生。

    3.当我们读取 USB 集线器的0xf8寄存器时、我们从0xf8寄存器中获得0x12数据、即该寄存器的 smbusRst 位置位、但根据数据表、该位应在 USB 集线器复位时由硬件清零。

    4、您能不能共享 USB 集线器内部寄存器的一些参考值、使用 SMBus 通信进行读取?  

    谢谢、
    Vivek Karna

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

    Vivek  

    默认情况下、集线器设计为引脚配置。 I2C 或 SMBus 是完全可选的。 如果未使用 SMBus、请确保系统中的 SMBUSz 不为低电平、否则集线器将在 SMBus 模式下挂起、直到 SMBus 主机进行配置。

    我不会看到设计本身有问题。 您有一个板在工作、这也表明设计本身是可以的。 但是、不同电路板之间存在一些差异、这会导致第二个电路板无法正常工作、这就是我对散热焊盘覆盖范围提出质疑的原因。 您是否有散热焊盘覆盖范围本身的 X 射线图?  

    我没有 USB 集线器内部寄存器的参考值。 集线器将使用其默认值。

    谢谢

    David