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.

[参考译文] Linux/AM3358:USB OTG VBUS 探测复位板

Guru**** 2404145 points
Other Parts Discussed in Thread: AM3358, TPD4S214

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/655352/linux-am3358-usb-otg-vbus-probing-resets-board

器件型号:AM3358
主题中讨论的其他器件: TPD4S214

工具/软件:Linux

大家好

我们有一个松散地基于 BBB 的定制板。  AM3358、TPS65217C PMIC 等  该特定器件可能会保持在预期会在几个暂停/恢复周期内同时通电数天的情况下。  所有这些都按预期工作、但我们正在经历随机运行重置。  这种情况可能在运行数小时后发生、也可能在多台设备上频繁发生30分钟。

此电路板可由车辆12V 至5V 开关供电、连接到 PMIC 的交流输入、也可由 USB 供电(连接到 PC 时)。  在某些情况下、两者都将存在、或者只有一个。  当 USB VBUS 存在时、不会发生复位。

我在启动应用时添加了转储复位状态寄存器的代码、捕获的所有数据都用于冷上电复位。

对电路板进行检测我能够捕获以下几个实例:

通道1是 PMIC 的 SYS_5V 输出

通道2是 PMIC 的 USB 输入

通道3是 PMIC 的交流输入

这是在 USB 与电路板断开连接的情况下完成的、并通过14V 工作台电源为5V 开关供电。

将 USB0配置为外设只会使复位在大多数情况下消失、但我们希望实际使用 OTG。  我们 有一个 TPD4S214、用于在用作主机时处理 VUSB 开关、并且功能正常。

关闭 OTG 的副作用是、我们无法通过 PC 进行热插拔。  我知道我们可以添加软件来手动执行,但它是有效的,我宁愿不这么做:)

我们不在 TI 内核上、但这似乎与内核无关、因为 PMIC 会关闭系统。

我发现有几个关于这种情况的报告、这就是我最终实现目标的方式。  我正在寻找一种可能的解决方案、而不仅仅是关闭它。

Matt

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

    您好、Matt、

    您如何处理角色切换到 SoC? AM335x 不支持 OTG、但支持双角色模式、在这种模式下、模式(主机或外设)由 USBn_ID 引脚的状态确定。

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

    您好、Dave

    我想我们当时使用的是双角色。

    切换通过 USB0_ID 引脚处理。  它保持悬空、除非 OTG 适配器的迷你 B 插入 ID 引脚接地。  TPS4S214由 USB0_DRVVBUS 进行控制、以便在主机模式下应用 VUSB。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Matt、
    作为 OTG SRP (会话请求协议)的一部分、我不知道关闭 VBUS 脉冲的方法、并且仍然具有双角色功能。 当 USB 控制器配置为专用主机或专用外设时、SRP 将被禁用、但这不会对您的用例有所帮助。

    我已联系我们的软件资源、了解他是否知道覆盖 SRP 的方法。 我会告诉你他回来了什么。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Matt、
    我确实收到了在保留 DRD 功能时无法禁用 SRP 脉冲的验证。

    现在、让 PMIC 团队对此进行研究是有道理的、因此我将把这一内容移至他们的论坛、而不是让您在论坛上重新发帖。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 DK、我已经在这个器件上的专家中担任了一个小组。

    Matt、您能否确认此设计中的 nRESET 和 BATT 是如何连接的?

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

    它们都是浮动的、类似于 BBB 参考设计。

    如果您希望我进行任何测试、我可以尝试不同的配置。

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



    如果我们继续进行仅外设配置、谁可能知道除了创建一些新软件(驱动程序或守护程序以观察 PMIC 中的 USB Present 位)来强制枚举 USB 之外还有什么其他方法? 此功能显然与某种方式的探测相关联。



    创建软件不是问题、但如果我不需要、我不想再做创新。



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

    Matt、

    您的系统中没有电池?

    这里发生了3件事之一:

    • PWR_EN 引脚意外变为低电平
    • PB_IN 被按下超过8s || nRESET 短暂地被切换为低电平
    • PPATH 切换导致故障(交流至 USB 切换)

    如果出现1或2、您可以在我不提供帮助的情况下轻松修复它。

    如果发生3次、这是因为系统中没有电池。 检查 BAT_SENSE 是否首先短接至 BAT、然后移除 BAT 引脚上的任何电容、并将其替换为连接至 GND 的1-10k 电阻器。 然后重新测试并告诉我您看到的内容。

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

    您好 Brian

    PB_IN 连接到一个按钮、我知道该按钮未被按下。

    我在一些检测测试中捕获了 PWR_EN 以及电池端子。  在 SYS_5V 之后、PWR_ER 下降了约260us。

    我知道 BAT_SENSE 未连接到 BAT、我将进行该连接并重新测试。  如果存在这种问题、我们可能需要使用此配置运行、直至有一个槽来改进 PCB。  我将设置测试并返回报告。

    通道1 - SYS_5V

    通道2 - USB 输入

    通道3 - PWR_EN

    通道4 - VBAT 输入

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

    我很清楚、当您放大 SYS 和 PWR_EN 之间的时序时、BAT 会出现尖峰。
    我不清楚每次 USB 电源毛刺时 BAT 是否有尖峰、或者 SYS 下降时是否只有尖峰。

    您能否放大 USB 从其峰值下降而 SYS 不下降的区域、以便我可以看到 BAT 引脚电压?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将捕获另一个事件、但在过去、BAT 仅在 SYS 丢失时才会尖峰。 您希望我为此短接 BAT_SENSE 和 BAT、还是像以前一样运行?

    BAT 在正常运行时会有一点负、我认为是一个需要电池的固定电流阱吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Matt、

    希望大家不要等我再回答一些测试。

    最好通过三种方法进行测试:
    1) 1)与之前的设置相同
    2) 2)将 BAT_SENSE 短接至 BAT 并再次测试
    3)使用1-10k 电阻器将 BAT 和 BAT_SENSE (短接)拉至 GND、然后再次测试

    运行期间 BAT 是否为轻微负值无关紧要。 当 BAT 变为高电平时、我会更加担心、因为系统中没有电池。