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.

[参考译文] TM4C129XNCZAD:USB PHY 无响应

Guru**** 2430380 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/665763/tm4c129xnczad-usb-phy-not-responding

器件型号:TM4C129XNCZAD

我们正在使用 USB PHY 进行一个项目。  我们一直在使用 TM4C129-DK 进行开发、现在开始在我们自己的定制硬件上运行。

定制板使用外部 ST ULPI PHY、但它一直有问题(我们没有分接板来使用 TM4C129-DK 对其进行测试)。 因此、我们切换回仅使用定制板上的内部 PHY、但仍具有相同的结果、其中电路板基本上没有响应。  

USB 启动代码与 Tivaware 示例中提供的大容量 USB 示例的启动代码相同。 我们在 DK 上运行的代码与我们在定制板上运行的代码相同、但结果不同。 我已附上解码 USB 消息的一些 salae 跟踪。  

令我们困惑的是电路板为什么不响应、当它响应时、模拟走线看起来像数字走线(请参阅所附走线)。 根据我们所能知、实际上没有太多需要连接到处理器以使内部 PHY 正常工作的 IF。 感觉我们缺少了一些简单和基本的联系。 我们还查看了勘误表、没有发现任何明显的问题。  

要使一些基础知识不会被妨碍:

  • D+或 D-上没有外部电阻器。 处理器连接和 USB 电缆连接之间没有任何连接。 也移除了二极管。  
  • USB 连接已硬连接
    • 在 DK 和定制硬件上使用相同的设置会产生结果。  
  • VBUS 未连接、但我们使用的是 TIvaware 库中的"eUSBModeForceDevice"、而不是"eUSBModeDevice"  
    • 这是通过断开 TM4C129-DK J25上的 VBUS 跳线来验证的、以使引脚在我们的设计中"悬空"
  • VDDA 和 VREF 连接到3V 电源轨
    • 是否还有其他东西可以为 D+或 D-生成模拟电压?
  • RBIAS 未连接(我们知道在其他地方导致的问题)
    • 需要使用 USBRBIAS 引脚的旧 Stellaris 器件、我们是否缺少该器件的某些器件? 数据表仅提及以太网 PHY 的 RBIAS、而不是 USB。
    • 也从 DK 中删除了 RBIAS、并且在 DK 上 USB 似乎正常。  
  • 两个电路板的软件是相同的
  • Tivaware 2.1.4.178
  • 器件模式
  • 全速

我们可以通过监控 JTAG 端口来告知处理器正在运行-一切看起来都正常、它不会关闭/重新启动。  

TM4C129-DK

定制板

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

    我不确定根据目前提供的信息到底会出现什么错误、因此还有几个问题要问您:

    TM4C 的工作频率是多少?

    您可以共享原理图吗?

    定制板是否遵循系统设计指南文档、是否有任何无法100%解决的问题: www.ti.com/.../spma056.pdf (请注意、第4.3.1节中的 USB0VBUS 注释是由您正确使用 eUSBModeForceDevice 解决的)?

    此外、软件的所有其他部分(如其他外设)是否都正常工作? 也就是说、问题是否仅与 USB 隔离、所有其他方面是否按预期工作、只需确保我们可以安全地将调查范围缩小到仅 USB。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    拉尔夫

    感谢您的快速回复。 要回答您的问题:

    120MHz、具有外部25MHz 时钟(在两个板上)

    不幸的是、我们无法在公共论坛上分享原理图(我意识到这可能会使事情变得更加困难、我很抱歉)。

    是的、定制板的布局遵循了系统指南。

    我们认为 eUSBModeForceDevice 是解决该问题的一种方法-您是否确认它正确? 我看到了问号、不确定。

    关于使用 GPIO 而不是 VBUS 的注释、我们细分了一些 GPIO、但我在外设器件库中没有看到任何有关如何将其更改为 GPIO 的内容、您能否分享如何操作? 我想它只是 GPIO 配置调用之一吗?

    所有其他软件(QSPI、SysTick 等)均正常工作。 我们也关闭看门狗计时器。 我们正在使用相同的软件刷写 DK 和定制板、这是很好的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brandon、

    很抱歉,这个错误的问号,我可能在括号内加入后,应该省略它,这是一个有关所遵循的系统设计准则的问题。 我可以确认 eUSBModeForceDevice 是解决 USB 设备没有 VBUS 的正确方法。

    我们确实为您提供了一种私下共享原理图的方法、因为我们知道这对于某些应用可能很重要。 我将向您发送一份 E2E 朋友请求、以便我们可以开始 PM 讨论以促进这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Brandon、

    我从上次发送 PM 以来没有听到过您的声音、这是否仍然是一个未决问题? 如果是、我仍在等待通过 PM 要求提供的信息。 如果没有、我将继续并关闭该线程。