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.

[参考译文] AM5718-HIREL:最大 QSPI 频率

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/947109/am5718-hirel-maximum-qspi-frequency

器件型号:AM5718-HIREL
主题中讨论的其他器件:AM5718

您好!

目前、我们在设计中使用 AM5718 CPU 以尽可能高的频率在双 SPI 模式下控制 SPI NOR 闪存。 我们的 SPI NOR 闪存支持的最大频率为133Mhz。 根据 CPU 数据表(之前由 TI 支持部门通过标签 CS0294210验证)SPI 模式0中的最短周期时间设置为11.71ns (85.4MHz)。 我想知道如何通过 SPI 模式0实现指定的85.4Mhz 频率。

通过使用寄存器 CM_L4PER2_QSPI_CLKCTRL、我可以使用除数为2的 FUNC_128M_CLK (128Mhz)或除数为5.8MHz 的 PER_QSPI_CLK (192Mhz)来达到64MHz、但除数为3或96Mhz、使用 per_QSPI_CLK 的除数为5.8MHz (192Mhz)。

FUNC_128M_CLK 看起来固定为128Mhz,是否可以修改 PER_QSPI_CLK 以产生85.4Mhz? 根据数据表、第7515页提到 PER_QSPI_CLK 的 ROM 代码默认值为192Mhz、并提示可以通过 CH (配置接头)部分修改该值。 但是、我也看不出我们如何通过这种方式达到85.4Mhz。

非常感谢您的帮助!

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

    您好、Kamel、

    我将在内部对此进行检查、并在几天后返回给您。

    此致、
    基尔西

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

    [引用 USER="Kamel Hacene14"]我们目前正在设计中使用 AM5718 CPU 来控制双 SPI 模式下的 SPI NOR 闪存,并尽可能提高频率。[/引用]

    为什么使用双 SPI 模式而不是四 SPI 模式?  我认为这似乎是一个更大的问题。

    [引用 USER="Kamel Hacene14"]使用寄存器 CM_L4PER2_QSPI_CLKCTRL,我可以使用除数为2的 FUNC_128M_CLK (128Mhz)或除数为5.96MHz_CLK 的 PER_QSPI_CLK (192Mhz )达到64MHz,但已使用除数为5.96MHz_CLK 的除数为3或以上的 PER_QSPI_CLK (2MHz)。

    PER_QSPI_CLK 信号来自 DPLL_PER 输出 H13。  如果您看到 PER_QSPI_CLK = 192MHz、则对应于 H13=4。  将 H13更改为9将导致 PER_QSPI_CLK = 85.3MHz。

    [引用 USER="Kamel Hacene14"]根据数据表、第7515页提到 per_QSPI_CLK 的 ROM 代码默认值为192Mhz、并提示可以通过 CH (配置标题)部分修改该值。 [/报价]

    与我的初始问题相关、如果您可以使用四路模式而不是双路模式、则引导 ROM 可以在48MHz (具有4个数据引脚)而非12MHz (使用1个数据引脚)下引导。  这将为您提供加载引导加载程序(u-boot-spl 等)的最佳性能。  这比尝试使用配置标头要容易得多。  对于随后引导的项目、u-boot-spl 可以按照所需的方式配置 DPLL_PER、以便您可以全速运行 QSPI。

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

    您好!

    [引用用户="Brad Griffies"]

    Kamel Hacene14.
    目前、我们在设计中使用 AM5718 CPU 以尽可能高的频率在双 SPI 模式下控制 SPI NOR 闪存。

    为什么使用双 SPI 模式而不是四 SPI 模式?  我认为这似乎是一个更大的问题。

    [/报价]

    遗憾的是、我们为设计选择的 NOR 闪存不支持 QSPI 模式。 不过,它支持双传输速率(DTR)模式,但 am5718不支持(还是错了?)。

    [引用用户="Brad Griffies"]

    Kamel Hacene14.
    通过使用寄存器 CM_L4PER2_QSPI_CLKCTRL、我可以使用除数为2的 FUNC_128M_CLK (128Mhz)或除数为5.8MHz 的 PER_QSPI_CLK (192Mhz)来达到64MHz、但除数为3或96Mhz、使用 per_QSPI_CLK 的除数为5.8MHz (192Mhz)。

    PER_QSPI_CLK 信号来自 DPLL_PER 输出 H13。  如果您看到 PER_QSPI_CLK = 192MHz、则对应于 H13=4。  将 H13更改为9将导致 PER_QSPI_CLK = 85.3MHz。

    [/报价]

    是的、我没有看到 CM_DIV_H13_DPLL_PER 寄存器。 目前、我无法在我们的设计板上对此进行测试、但我使用 am5718 IDK 板进行了一些测试、并获得85.3MHz 的频率。 谢谢!

    [引用用户="Brad Griffies"]
    Kamel Hacene14.
    根据数据表、第7515页提到 PER_QSPI_CLK 的 ROM 代码默认值为192Mhz、并提示可以通过 CH (配置接头)部分修改该值。

    与我的初始问题相关、如果您可以使用四路模式而不是双路模式、则引导 ROM 可以在48MHz (具有4个数据引脚)而非12MHz (使用1个数据引脚)下引导。  这将为您提供加载引导加载程序(u-boot-spl 等)的最佳性能。  这比尝试使用配置标头要容易得多。  对于随后引导的项目、u-boot-spl 可以按照所需的方式配置 DPLL_PER、以便您可以全速运行 QSPI。

    [/报价]

    与我们对闪存执行的操作相比、SPL 的负载不是很成问题(我们的 SPL 大小约为64KB、而下面的加载步骤大小约为40MB)。

    无论如何、非常感谢您的帮助、如果您能回答有关 am5718处理器上 DTR 模式支持的问题、我想知道、我们仍然可以将此帖子标记为已解决。

    谢谢!

    Kamel

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

    [引用 USER="Kamel Hacene14]Ah 是的、我没有看到 CM_DIV_H13_DPLL_PER 寄存器。 目前、我无法在我们的设计板上对此进行测试、但我使用 am5718 IDK 板进行了一些测试、并获得85.3MHz 的频率。 谢谢![/引述]

    很棒! 我很高兴您能让它正常工作。  我还想指出另一件事。  在模式0中使用 QSPI 需要应用手动 I/O 模式(即与 IOdelay 模块相关)。  AM5718数据手册的"表7-2"中对此进行了说明。 模式摘要"。  QSPI 模式3不需要虚拟/手动模式、但模式0要求您应用 QSPI1_MANUAL1的时序、"表7-47中对此进行了进一步说明。 QSPI 的手动函数映射"。  如果您使用的是 Pinmux 工具(您应该!) 要生成您的引脚多路复用设置、所有这些都应该为您完成。  如果您对此都不熟悉、请务必阅读应用手册:

    AM57xx SitaraTm IO 配置要求
    http://www.ti.com/lit/sprac44

    [引用 USER="Kamel Hacene14"]如果您对 am5718处理器上 DTR 模式的支持有了回答,我想知道,[/引述]

    我没有使用此模式的具体经验。  但是、TRM 表示支持该功能。  在第 24.5.1节"四路串行外设接口概述"中、它指定了"双读支持"。  相应地、寄存器 QSPI_SPI_SETUP0_REG 有一个名为 READ_TYPE 的位字段、可针对双读将其设置为1。

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

    [引用用户="Brad Griffies"]

    Kamel Hacene14.
    是的、我没有看到 CM_DIV_H13_DPLL_PER 寄存器。 目前、我无法在我们的设计板上对此进行测试、但我使用 am5718 IDK 板进行了一些测试、并获得85.3MHz 的频率。 谢谢!

    很棒! 我很高兴您能让它正常工作。  我还想指出另一件事。  在模式0中使用 QSPI 需要应用手动 I/O 模式(即与 IOdelay 模块相关)。  AM5718 数据手册的"表7-2"中对此进行了说明。 模式摘要"。  QSPI 模式3不需要虚拟/手动模式、但模式0要求您应用 QSPI1_MANUAL1的时序、"表7-47中对此进行了进一步说明。 QSPI 的手动函数映射"。  如果您使用的是 Pinmux 工具(您应该!) 要生成您的引脚多路复用设置、所有这些都应该为您完成。  如果您对此都不熟悉、请务必阅读应用手册:

    AM57xx SitaraTm IO 配置要求
    http://www.ti.com/lit/sprac44

    [/报价]

    啊,谢谢你们的建议! 我个人不熟悉 pinmux 工具、我们的硬件团队通常负责此部件、并为我们提供 io延迟 值。 我会将手册转发给他们!

    [引用用户="Brad Griffies"]

    Kamel Hacene14.
    如果您能找到 有关 am5718 处理器上 DTR 模式支持的答案、我想知道、

    我没有使用此模式的具体经验。  但是、TRM 表示支持该功能。  在第 24.5.1节"四路串行外设接口概述"中、它指定了"双读支持"。  相应地、寄存器 QSPI_SPI_SETUP0_REG 有一个名为 READ_TYPE 的位字段、可针对双读将其设置为1。

    [/报价]

    啊、我们实际上使用双读取命令从 NOR 闪存(双 SPI)同时获取两个数据信号。 双传输速率是另一个命令(我从未使用过这两个命令)、用于在时钟的两个边沿传输地址和读取数据。 因此、可以将单路/双路/四路 SPI 与 DTR 相结合、从而实现一些出色的性能、而无需增加时钟频率、从而节省电路板原理图上的一些空间。

    祝你度过美好的一天!

    Kamel  

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

    [引用 USER="Kamel Hacene14"]双传输速率是另一个命令(我从未使用过这两个命令),它在时钟的两个边沿上传输地址和读取数据。[/引用]

    很抱歉、我误解了您的问题。  我们支持单路/双路/四路读取、但仅支持单引脚写入。

x 出现错误。请重试或与管理员联系。