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.

[参考译文] TM4C1290NCPDT:USB 从断电状态加电

Guru**** 2541930 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/836339/tm4c1290ncpdt-usb-power-up-from-power-down-state

器件型号:TM4C1290NCPDT

不确定这是否与勘误表 USB#05相同

 

客户报告 了 USB 电源域 似乎无法正常重新供电的问题。  发生这种情况时、USBPDS 寄存器不会反映正确的 PWRSTAT、这也意味着 USB 外设永远不会就绪(根据寄存器 PRUSB)。  实际上、在这种状态下任何访问 USB0外设中寄存器的尝试都会导致硬故障。

 

重新创建步骤:

    1. 设置系统时钟(60MHz、通过480 VCO)
    1. 为 USBMPC 和 PCUSB 加电(加电时冗余)
    1. 在 RCGCUSB 中启用 USB 时钟
    1. 通过 SRUSB 复位 USB 外设
    1. 等待外设就绪(通过 PRUSB)
    1. 短延迟(~1s)
    1. 在 RCGCUSB 中禁用 USB 时钟
    1. 关闭 USBMPC 和 PCUSB)
    1. 短延迟(~1s)
    1. 从步骤2开始重复。

 

在少数几个测试中 、它们 运行的测试需要100到1000次尝试、但最终器件将卡在等待外设就绪(PRUSB)状态。  当它进入此状态时,USBPDS 似乎不会对 USBMPC 中的更改作出反应。  软件复位不会清除问题、但问题将随着用户复位、上电复位或看门狗复位而消失。

 

问题:

    1. 这是已知问题吗?
      1. 如果是、是否有任何已知的解决方法?

 

 它们在 IAR 中有一个基于 TIvAware 的简单项目、可在需要时共享。  

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

    您好、Lawrence、

     我将与我们的 USB 专家讨论并与您联系。

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

    您好、Lawrence、

    请向我发送 TivaWare 工程、以便我可以查看它。

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

    您好、Lawrence、

    您可以发送该 TivaWare 工程、以便我进一步了解这一点吗?

    还涉及以下方面:

    [引用 USER="Lawrence Wong]在他们  运行的几个测试中、尝试次数为100到1000次、但最终器件将会滞留等待外设就绪(PRUSB)。  [/报价]

    他们能否进一步描述测试条件、包括每次测试之间经过的时间以及在测试之间是否关闭 MCU 电源?

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

    您好、Lawrence、

    我查看了发送的项目、但我不会将其称为基于 TivaWare 的项目。 它不使用任何 TivaWare USB API、使用的唯一 TivaWare API 用于 LED 控制。

    也就是说、我使用了适当的 TivaWare API 来替换外设启用、复位和禁用、从而根据它们发送的内容和能力重新创建问题。

    该问题以前没有报告过、因此我们不知道该问题、也没有现成的解决方法。

    现在、所有这些都说过、当电源状态不混乱时、代码运行正常、所以我有一个问题:为什么需要进行此调整?

    我们没有处理这些设置的 API、因此我想这种级别的测试以前从未完成过、但我也看不到它们所做的工作会有什么好处。 如果我们要进一步研究这个问题、因为这不是 TivaWare 应该发生的问题、那么我需要了解对其最终应用的影响。