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.

[参考译文] TUSB1210:有关 TUSB1210 无法识别 USB 闪存驱动器的问题。

Guru**** 2914580 points

Other Parts Discussed in Thread: TUSB1210, TPS2041

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1630382/tusb1210-regarding-the-issue-where-the-tusb1210-fails-to-recognize-a-usb-flash-drive

器件型号: TUSB1210
主题: TPS2041 中讨论的其他器件

尊敬的团队:

我们目前计划使用 TUSB1210 替换 USB3320C_EZK。 该平台使用英特尔的 Cyclone V SoC FPGA、在驱动 USB3320C_EZK 时此平台正常工作。

目前、TUSB1210 初始化后、未启用 CPEN 引脚、因此 USB 连接器不会输出 5V 电压。 因此、插入 USB 闪存驱动器时无法识别。 引脚 26 上的时钟信号正在输出 60MHz 时钟。 我个人认为该问题与 PHY 初始化有关。

请帮助分析故障原因。 谢谢你。

image.png

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

    尊敬的 Boris:

     客户是否 将 DRVVBUS 和 DRVVBUSEXTERNAL 位设置为 1 以启用寄存器 0A 中的 CPEN?

    此致

    Brian

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

    嗨、Brian  

    感谢您的答复。 寄存器配置似乎存在问题。 在另一个主题 (e2e.ti.com/.../tusb1210-agilex-5-hps-usb0-1-ulpi-phy-tusb1210-vendor-access-hangs-with-vstsbsy-stuck-high-usb2-devices-never-detected-usb3-works) 中、我找到了 TUSB1210 初始化文档(TUSB1210 用户指南)的引用。 我是否可以根据该文档中所述的过程执行 TUSB1210 的初始化?(请参阅下图中的内容。)

    关于将寄存器 0A 中的 DRVVBUS 和 DRVVBUSEXTERNAL 位设置为 1、此操作是否按照下图所示的流程执行?

    2 事件的顺序:

     对以上应用重置 200ns 。  PHY 将 DIR 拉至高电平、以确保链路不会驱动数据线。

    等待 DIR 变为低电平。

    等待 RXCMD、即 DIR 引脚切换。

     通过通过由 FUNC_CTRL 寄存器控制的内部电阻器将 DP 拉高、外设必须作为 FS 器件启动。 首先、我们必须通过将 x“00"写入“写入 OTG_CTRL (x“0A) 寄存器来禁用 OTG 功能。  先 发送一个 x“8a"的“的 TXCMD 字节 、然后发送一个 x“00" 的“的数据字节、如图 1 所示。

     将 x“45"发送“发送到 FUNC_CTRL (x“04")“)、其中 通过将 D+设置为高电平并将 D-设置为低电平 (LineState “01"–“–J)、将外设设置为全速模式。

     PHY 应以显示 J LineState((“01",“,<xmt-block0>、FS 空闲)的 RXCMD 进行响应。

     3 将 外设连接到主机 (HS 握手)

      图 4 概述了高速初始化和握手过程

     1 如果外设连接到主机、或现在连接到主机、则主机应等待 100ms 以使稳定的线路状态为“01",“,然后、然后将 D+和 D-驱动为低电平。 这是 SE0 电平、PHY 应生成一个 RXCMD 来确认线路状态 SE0(“00")“)。  

     2 为了向主机发出信号、外设能够高速运行、器件必须发出“K"(“(“10"线路“线路状态线路状态)线性调频脉冲信号、至少持续时间为 1.0ms  通过 将 x“54"写入“写入 FUNC_CTRL (x“04")“)、然后写入 NOPID TXCMD 和 x“00"的“的数据。 在 1.5ms 之后、我们将 STP 驱动到“1",“,用于、用于单个时钟、以结束线性调频脉冲。  

     3 然后、主机发送一系列交替的 J 和 K 信号、一旦外设检测到这些 J 和 K 信号、它就可以将 PHY 设置为接收和发送高速串行数据。  

     4 这可以通过将 x“41"写入“写入 FUNC_CTRL (x“04")“)来实现。  

     5 我们有一个外设处于 HS 模式。  

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

    嗨、Brian  

    我使用示波器测量了波形、如下所示。
    黄色迹线为 5V、蓝色迹线为上图中 U26 的引脚 4 (EN)、绿色迹线为 U26 的引脚 3 (OC)。
    U26 的引脚 4 为有效‑低电平使能、OC 过流‑μ A 电流检测信号也为有效‑低电平。

    如波形所示、即使绿色 OC 信号保持高电平、PHY 芯片也会在启用后约 100ms 关闭 5V 输出、这意味着未触发‑μ A 过电流保护。
    此时、我没有插入任何 USB 闪存驱动器、因此我不知道 USB PHY 为什么会禁用 CPEN。

    您能否帮助分析原因? 谢谢你。

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

    波形有些不正确。 EN 引脚为高电平后、Vbus 应关闭、但仍处于启用状态。

    您能否在闪存驱动器已插入的情况下拍摄 DP/DM/VBus 波形?

    好极了

    Brian

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

    嗨、Brian

    由于 VBUS 上有一个 220 µF 电容器、因此当 5V 输出关闭且未插入 USB 闪存驱动器时、5V 电压不会立即下降。 ‑目前尚不清楚问题是否由软件驱动程序引起、是否可以使用任何方法来确定问题是否与软件相关? 例如、我能否通过检查时序或信号状态来判断它? 谢谢你。

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

    这更像是驱动器问题、插入 USB2 HS 驱动器时、能否在 DP/DM/VBus 下重新获取波形?

    此致

    Brian

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

    嗨、Brian

    关于上面的电路图、您是否可以帮助检查电路设计是否存在任何问题?

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

    从原理图中、 确保 REFCLK 的时钟为 3.3V 方波。

    最好在 ULPI 引脚上添加 20-35 Ω 串联电阻器。

    还需要移除时钟信号上的 PD 电阻器。

    好极了

    Brian

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

    嗨、Brian

    感谢您的确认。 时钟源是 3.3V 晶体振荡器 (DSO221SR_AB_19.200MHZ)。我已经测量到时钟信号、实际上正在输出 60MHz。  目前、我仍然认为问题更有可能与软件驱动程序有关。 您是否有任何在软件中调试 PHY 的推荐方法(例如读取寄存器或其他方法)? 谢谢你。

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

    尊敬的 Boris:

     您确实需要分析器来查看 ULPI 接口以充分了解问题、PHY 似乎正常工作  

    好极了

    Brian

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

    嗨、Brian

    这些是在器件上电‑启动序列期间、使用逻辑分析仪捕获的 USB3320 和 TUSB1210B 与 USB‑相关的信号波形。 在此设计中、TUSB1210B 用于替代 USB3320。 USB3320 波形是原始器件的正常启动波形。扩展这两个波形时、USB3320 时钟非常稳定、而 TUSB1210B 时钟 (60MHz ) 在开始时似乎会大幅波动、就像抖动一样。 时钟稍后似乎稳定。时钟 在大约 3µs 之后变为稳定。 什么原因可能导致此问题? 我使用示波器检查了 TUSB1210B 时钟、该时钟看起来正常且稳定。 虽然这两个波形看起来不同、但您能否确定任何问题点? 谢谢你。

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

    上电序列是如何实现的? 1.8V 之前应施加 3.3V 电压。

    此致

    Brian

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

    嗨、Brian

    经多次测量和确认、 在 1.8V 之前确实施加了 3.3V 电压

    I RE‑测量了添加复位后的时序、最新的测量结果表明时钟抖动已降至约 800ns。 您能否帮助确认此级别的抖动是否可能对 PHY 造成任何不利影响、或者可能导致此抖动?谢谢。

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

    DIR  在 PLL 锁定时变为低电平、您是否看到 PHY 在 DIR 再次变为高电平后发送 RX CMD?

    此致

    Brian

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

    嗨、Brian

    感谢您的确认。  

    从下面的波形可以看出、PHY 芯片确实发送了 RXCMD 字节 (在位置 ① 处)、但之后在区域 ② 中、是 SoC 应发送到 PHY 的初始化命令吗? 这种理解是否正确。此外,时钟似乎仍然显示一些波动—这可能会影响数据同步。

    如‑的波形所示、这是启动后的上电‑序列。在该序列中、CPEN 在启用约 100ms 后关断、此次关断的原因未知、因为此时不存在过大 1 μ A 的电流情况。VBUS 的阈值电平是多少?

    黄色: VBUS、 绿色: U26 (TPS2041) EN_N 、蓝色: U25 (TUSB1210) CPEN 、红色: U26 (TPS2041) OC_N

    黄色:  VBUS、  绿色:  U26 (TPS2041)  EN_N 、蓝色:  U25 (TUSB1210)  CPEN 、红色:  复位

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

    在主机模式下、Cpen 应始终开启。  

    您是否  在软件中更改了寄存器 0A 中的 DRVVBUS /DRVVBUSEXTERNAL 位?

    您有来自 FPGA 供应商的包装器吗? 它是  ULPI 和 UTMI 之间的纽带。

    好极了

    Brian

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

    嗨、Brian

    感谢您的确认。  

    我将再次与软件开发人员确认上述信息。 以前,我被告知这一点 DRVVBUS/DRVVBUSEXTERNAL 已经配置过、但不清楚这些位是否可能由于某种原因而更改。

    关于前面我提到的使用逻辑分析仪捕获的波形、是否可以从中获取任何有用的信息? 例如、我们能否看到 RXCMD 数据 或 FPGA 发送到 PHY 的数据?

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

    请将所有数据信号分组在一起、以便我可以看到代码。

    好极了

    Brian