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.

[参考译文] TM4C1294NCPDT:将系统时钟更改为80MHz、USB_cserial didn't work

Guru**** 2448260 points
Other Parts Discussed in Thread: EK-TM4C1294XL, TM4C129DNCPDT

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/616791/tm4c1294ncpdt-change-system-clock-to-80mhz-and-usb_cserial-didn-t-work

器件型号:TM4C1294NCPDT
主题中讨论的其他器件:EK-TM4C1294XLTM4C129DNCPDT

您好、香榭丽舍

根据客户反馈、他们将系统时钟更改为80MHz、Tivaware-2.1.4.178 USB 示例代码将无法正常工作。 我导入了基于 EK-tm4c1294xl 的 USB_cserial 示例、并将系统时钟更改为80MHz。 我也面临同样的问题。 有人能告诉我如何解决这个问题吗? 客户必须使用80MHz、因为他们之前的系统将 USB 配置为80MHz USB 时钟。 感谢您提前回复  

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

    该示例停止工作、因为在将系统时钟设置为80MHz 时、PLL 设置为160MHz、并且不能将其除以整数以满足60MHz USB 时钟要求。

    必须设置 PLL、使其成为60MHz 的整数倍。 这是满足60MHz USB 时钟的要求。

    当系统设置为120MHz 时、PLL 为240MHz、可分频为60MHz、整数为4。

    如果他们不希望以120MHz 运行、也可以以60MHz 运行-这会导致 PLL 设置为120MHz、这也适用于 USB 要求60MHz。

    器件数据表的第234页讨论了 USB 时钟控制的一些细节。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、
     

    客户 告诉我、他们以前使用的是80MHz。 但我查看了数据表、它看起来像是器件不支持80MHz。 此要求是否取决于器件版本? 可能旧版 TM4C1294可以在80MHz 下运行? 谢谢。   

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

    您能否检查他们是否正在使用 TM4C123x 器件? 我相信该系列器件的 USB 使用频率为80MHz。 我不知道任何支持80MHz USB 的 TM4C129x 器件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、

    我与客户核实、客户说他们使用了 TM4C129系列。 我将再次检查它。 谢谢。

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

    您8月9日13:59的"已验证"帖子肯定符合(现已禁用)"类似!"的要求

    在"解释性推广和构建细节"中表现出色-做得很好、很感激... (如果它能存活下来、我会点击"like (就像)-可惜!)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、
    我与客户核实、他说他使用了 TM4C129系列。 他们提到、他们使用了较早的 TivaWare 2.1.0库、系统时钟可以设置为80MHz。 请尝试一下吗? 如果是、当我们更新 USB_lib 时、它看起来也会更改 USB PLL 设置。 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lisa、您好!

    您能否获得准确的器件型号、以便我可以研究器件数据表? 我不知道 TM4C129x 每种类型的所有 USB 时钟详细信息、这就是为什么我说"我不知道任何"而不是"没有"的原因。 我想先通过数据表进行检查、然后再进行任何其他检查。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、

    客户使用 的是 TM4C129DNCPDT。 我将单独向您发送邮件、以讨论客户使用情况。 谢谢  

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

    该器件的数据表也清楚地说明了60MHz 方面。 在旧版 TivaWare 中、可能可以使用不同的时钟速度、但正如数据表中所述:"小数分频器可能会增加抖动并影响 USB 功能。"

    在 TivaWare 版本发布时、我不在该组中、也不知道更改的详细信息、但如果使用80MHz 时钟会影响客户的 USB 功能、而使用60MHz 时则不会、 那么、我们的官方 TivaWare (建议大家使用)应该反映最佳运行模式、这是否有意义? 本 FYI 未创建勘误表。 我们的勘误表是最新的。

    如果客户在使用80MHz 时死机、他们可能可以返回并查看时钟系统和 USB 从2.1.0变为2.1.4所做的更改、但这违反了数据表的建议。 此外、它们可能也会遇到 Windows 驱动程序的问题。 我们不会帮助或鼓励这项工作、因为它超出了数据表建议的规格。

    请鼓励他们接受他们需要使用60MHz 或120MHz 以符合数据表建议和最新 TivaWare 的要求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ralph、
    我明白了。 我将与客户交谈。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Ralph Jacobi"]我们不会帮助或鼓励这项工作、因为它超出了数据表建议的规格。

    对于那些"给我发送了 PM 或通过电子邮件"的人-供应商的 Ralph 遵循"半行业标准操作程序"-其他人(完全相同)-这种回答绝不是"不当或意味着!"

    绝不建议在指定条件"超出"的情况下操作(任何)供应商的器件!   (即使它"似乎"起作用... … 尤其是当它"看起来"工作时!)

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

    您好、Ralph、

    客户通过了系统时钟设置。 它们将系统时钟设置为80MHz 并在时钟设置后进行。 USB 时钟将为60MHz。 请参见下图。 如果客户使用此时钟设置、则不应违反数据表"60MHz USB 时钟源"。 它们的设置似乎没有违反60MHz USB 时钟源、系统时钟仍然为80MHz。 请检查一下这个吗? 谢谢你。

    VCO = 480MHz、PSYSDIV = 6、=> SYSCLK = 80MHz

      

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

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

    这似乎是可能的、但我认为 TivaWare 时钟系统 API 不支持设置该配置组合。 但是、如果他们可以使用寄存器级调用将 USB 时钟设置为60MHz 并获得新的时钟速度、那么就不会干扰 TivaWare、我认为这样做是可以的。

    乍一看、只要 TivaWare USB API 使用馈入的正确时钟速度进行初始化、我就不会觉得这些 API 会受到负面影响、 但这不是我们以前测试过的、也不是以前测试过的、所以在测试这种设置时、他们需要非常细致和彻底。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph、

    现在、我使用示例代码并使用 SysCtlClockFreqSet 来设置系统时钟、这将导致 USB 在将系统时钟配置为80MHz 时无法工作。 您的意思是我不能使用 SysCtlClockFreqSet API 来设置时钟频率吗?  是否应 使用 HWREG 直接设置时钟寄存器? 谢谢

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

    如果你想在80MHz 上运行系统时钟和在60MHz 上运行 USB 时钟、你需要使用 SysCtlClockFreqSet 将主时钟设定为80MHz、然后 HWREG 调用来直接将 USB 时钟设定为480MHz 的 VCO 除以8、而不是被除以8 基于系统时钟。