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.

[参考译文] TUSB8042:使用寄存器写入来控制端口功率(PWRCTL)

Guru**** 2393365 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1189235/tusb8042-control-port-power-using-register-writes-pwrctl

器件型号:TUSB8042

我的板上有4个端口、想要控制电源。 上电时有以下连接:

P24 -成组被拉至低电平
P40 - FULLPWR... 拉至低电平
P41 - PWRCTL_POL 悬空高电平
P45 - AUTOENZ 被拉至低电平
P39 - SMBUSZ -被拉至低电平
4 个 Batat#引脚中的3个通过10K 电阻器(32、33、35)拉低、引脚36当前未连接。 (我不关心电池充电)。
引脚37和38从我的 CPU 连接到 I2C 总线、并在 GRST 被释放前被拉至3.3V。

我可以在上电后与器件通信、并保留默认配置(我们不需要更改任何内容、但我想控制端口电源)。 然后、我将0x01写入寄存器0xf8、集线器出现在 upsteam 总线上、端口处于活动状态。

端口通过关闭电源来响应短路(我在其上有外部电源开关、OC 线返回到器件)。 当短路被移除时、端口将重新加电。

但是、我希望独立于 OVERCUR 引脚控制其中一个端口上的电源、并且能够独立于其他端口关闭任何端口上的电源。

我可以读取和写入寄存器6。 我将其写入0并读回、然后将其写入0x0F 并读回。 但更改 Baten 位 不会控制功率。
我找不到任何其他允许我控制 PWRCTL 函数的寄存器。

我有办法做到这一点吗?  我不能相信名为 PWRCTL#的引脚不会控制电源。 我是否需要更改 P24、40、41、45引脚或其他一些引脚才能使其正常工作?

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

    BTW、我将'USB_VBUS'引脚48连接到一个分压器、该分压器在加电时将其设置为0.588V。

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

    您好!

    当 USB_VBUS 为高电平时、PWRCTL 输出由 USB 主机根据下面显示的 USB 规范使用 USB 命令进行控制。

    有关电源控制的更多详细信息、请参阅 USB 规范的第10.3节。

    谢谢

    David

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

    好的、在我们的案例中、这太糟糕了。 我想将第4个端口用于触摸屏、这样我就可以在不使用 USB 流量的情况下自动打开/关闭电源。 我将仅使用外部 GPIO 作为电源开关连接到触摸屏 USB VBUS。 奇怪的是、我们无法同时使用这两种控制方法、但我想这违反了 USB 规范。 感谢您的回答!