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.

[参考译文] AM625:QSPI 内部 PHY 环回模式

Guru**** 2487425 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode

器件型号:AM625
主题中讨论的其他器件:SysConfig

工具与软件:

您好!

我的客户希望使用具有内部 PHY 环回的 QSPI PHY 模式。
根据原始线程中的表支持此模式。 我在下面复制了它。

以太网 PHY 点击
SDR DDR SDR DDR
基准时钟 和数据训练 无数据训练 和数据训练 无数据训练
无环回 不适用 不适用 不适用 不适用 50MHz (表7-122) 25MHz (表7-124)
内部 PHY 环回 不支持 166MHz 或142MHz (表7-116、7-117) 不支持 不支持 不适用 不适用
内部焊盘环回 不支持 不支持 不支持 不支持 不适用 不适用
外部电路板环回 不支持 166MHz 或142MHz (表7-116、7-117) 不支持 52MHz (表7-119、7-120) 不适用 不适用
DQS 不支持 不支持 166MHz 或132MHz (表7-113、7-114) 52MHz (表7-119、7-120) 不适用 不适用

您能告诉我如何配置 QSPI 寄存器以启用该模式吗?

谢谢。此致、
田代浩一郎

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

    尊敬的 Koichiro:

    感谢您的提问。

    请允许我稍后与您联系。

    此致、

    Vaibhav

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

    尊敬的 Koichiro:

    感谢您的耐心。

    [quote userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode 我的客户希望使用带有内部 PHY 环回的 QSPI PHY 模式。

    这是客户用于启动电路板的设置吗? 我想知道他们希望在哪个阶段应用此配置、所有阶段或以其他某种配置启动电路板后的某个后期阶段应用此配置。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    他们希望在系统启动后使用 QSPI。

    谢谢。此致、
    田代浩一郎

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

    尊敬的 Koichiro:

    感谢您的耐心。

    [quote userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode 能否告诉我如何配置 QSPI 寄存器来启用该模式?

    我相信您在谈论的是将在定制应用程序中完成的配置、请在此处更正我的理解。

    我希望您与客户分享以下信息、因为客户对使用 QSPI PHY 内部环回模式感兴趣。

    1. 请通读 TRM 第12.4.2.4.2.1节"读取数据采集"
    2. 再来看一个章节 PHY 流水线模式 通过 PHY 模块部分读取数据捕获

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    根据 TRM、使用 PHY 内部环回模式需要以下配置。

    选项 A:使用 SPI 模式0。
    OSPI_CONFIG_REG[2] SEL_CLK_PHASE_FLD=0
    OSPI_CONFIG_REG[1]  SEL_CLK_POL_FLD=0
    OSPI_CONFIG_REG[3] PHY_MODE_ENABLE_FLD=1

    选项 B:使用 SPI 模式3。
    OSPI_CONFIG_REG[2] SEL_CLK_PHASE_FLD=1
    OSPI_CONFIG_REG[1]  SEL_CLK_POL_FLD=1
    OSPI_CONFIG_REG[3]  PHY_MODE_ENABLE_FLD=1

    然后、这两个选项都需要以下配置。
    OSPI_RD_DATA_CAPTURE_REG[0] BYPASS_FLD=0
    OSPI_RD_DATA_CAPTURE_REG[8] DQS_ENABLE_FLD=0

    我还有几个问题。
    Q1) TRM 第12.4.2.4.2.1节还规定了
    " 通过对 OSPI_RD_DATA_CAPTURE_REG[4-1] DELAY_FLD 字段进行编程来选择抽头。"
    但并未说明如何确定抽头值。
    如何选择 DELAY_FLD 值?

    Q2)、在 CTRL_MMR 寄存器中有 OSPI0_CLKSEL 寄存器。
    似乎 应将位4 OSPI0_CLKSEL_LOOPCLK_SEL 设置为内部环回、正确吗?

    如何处理 bit1? 复位值"0"正常吗?

    Q3)是否需要配置任何其他寄存器?

    谢谢。此致、
    田代浩一郎

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

    问候 Koichiro、

    感谢您的答复。

    我将尝试单独回答您的问题。

    Q1) TRM 第12.4.2.4.2.1节也说明了
    " 通过对 OSPI_RD_DATA_CAPTURE_REG[4-1] DELAY_FLD 字段进行编程来选择抽头。"
    但并未说明如何确定抽头值。
    如何选择 DELAY_FLD 值?[/QUOT]

    因此、可以通过反复试验来设置延迟字段值、我们需要确保使用可确保正确采集数据的值。

    检查行号1192:

    [报价 userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5251891 #5251891"]Q2)在 CTRL_MMR 寄存器中有 OSPI0_CLKSEL 寄存器。
    似乎 应将位4 OSPI0_CLKSEL_LOOPCLK_SEL 设置为内部环回、正确吗?

    如何处理 bit1? 复位值"0"正常吗?

    Q3)是否需要配置任何其他寄存器?

    我想让另一位专家对此发表评论。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    对于 Q1)、flash_nor_ospi.c 文件包含在 Linux SDK 中?
    如果是、您能告诉我文件路径吗?

    对于问题2)、您是否收到了专家的任何评论?

    谢谢。此致、
    田代浩一郎

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

    问候 Koichiro、

    感谢您的答复。

    [报价 userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5268586 #5268586"]flash_nor_ospi.c

    该文件位于 MCU 加 SDK 中。

    对于 Q2)、您是否从专家那里获得了任何评论?

    我将与该专家就此采取后续行动。  

    感谢您的耐心。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    您是否有任何更新?
    客户有点沮丧、因为 TI 的响应缓慢。

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    在延迟回复中道歉。

    [报价 userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5251891 #5251891"]Q2)在 CTRL_MMR 寄存器中有 OSPI0_CLKSEL 寄存器。
    似乎 应将位4 OSPI0_CLKSEL_LOOPCLK_SEL 设置为内部环回、正确吗?

    如何处理 bit1? 复位值"0"正常吗?

    Q3)是否需要配置任何其他寄存器?

    请等待指派的专家稍后回复。

    此致、

    Vaibhav

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

    你好、Koichiro、

    我相信这个客户正在使用 MCU 和 SDK AM62x。

    如果客户使用 MCU PLUS SDK 附带的 TI 驱动程序、Drivers_open ()和 Board_driversOpen ()等很少的 API 负责 OSPI/QSPI IP 的初始化。

    我会要求客户使用 SysConfig 选项来启用 Tap /PHY 模式。

    为此、客户可以简单地检查名为 ospi_flash_io.c 的 SDK 示例之一

    这可在 mcu_plus_sdk_install_path > examples > drivers > ospi > ospi_flash_io 中找到

    从 CCS (Code Composer Studio)中、客户可以导入此示例并打开名为 example.syscfg 的应用程序

    打开之后、客户可以轻松配置 Tap Mode/PHY 模式。 请查看下面有关如何操作的选项:

    1. 自举引脚

    2. 适用于 TAP 模式

    您可以继续并在此字段中更改频率 输入时钟频率(Hz)

    如果您仍需要注册设置流程、请告诉我以上方法对您有效吗?


    此致、

    Vaibhav

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

    问候 Koichiro、

    OSPI IP 中的主要寄存器包括:

    OSPI_RD_DATA_CAPTURE_REG[8].DQS_ENABLE_FLD = 0b0

    OSPI_RD_DATA_CAPTURE_REG[0].BYPASS_FLD = 0b1

    位8是 DQS 启用字段。 由于我们不使用 DQS 信号、因此应将该值设置为0。

    位0是环回时钟的旁路使能、在这种情况下、我们不使用环回逻辑、因此应设置为1以禁用该逻辑。 这种情况下的术语可能会有点令人困惑。 内部 PHY 环回从技术上讲不使用任何环回时钟、而只是将要驱动到 PHY 中的参考时钟作为采样块的一部分。

    其他时钟模式涉及将 DQS 驱动到该采样逻辑中或一个从外部路由到 IP 的时钟副本(在 LBCLK 引脚上)。 该时钟环回可以在焊盘级(内部焊盘环回)(实际上并不离开芯片)完成、也可以在板级(外部板环回)完成(该板级必须物理路由回引脚)。

    就其他寄存器而言、在 CTRL MMR 代码片段中、您共享了:

    此模式下的位4无关、建议将其保留为0b0的复位值。 从技术上讲、我们不使用任何环回、这就是为什么这是直流、但 上下文清零表示外部电路板环回、设置为1表示内部焊盘环回。

    位0将取决于他们想要使用哪个 PLL 和那个 PLL 的配置。 0或1是有效选项、但每个 PLL 都有不同的频率和分频选项。 我强烈建议坚持使用正在执行 PLL 配置的任何高级软件包(Linux 或 MCU+SDK)、而不要尝试手动完成此时序控制。  

    此致、

    卢卡斯

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

    大家好、Lucas、Vaibhav、

    客户已配置这些必需的设置、但读取访问仍失败(全部读取为零)。
    TAP 模式正在工作。
    请参阅以下结果。



    是否错过了任何设置?

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    感谢您的答复。

    如果您能回答我的以下问题、将会很有帮助:

    那么、对于 SDR 模式、您是否在8-8-8S 模式下运行? 您能告诉我频率吗? Wat 是时钟分频器值吗?

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    因此、对于 SDR 模式、您是在8-8-8S 模式下运行吗?

    4-4-4S 模式用于存储器不支持 OSPI。

    您能告诉我频率吗?

    50MHz

    Wat 也是时钟分频器值吗?

    您需要哪个时钟分频器值?

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    [报价 userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5323869 #5323869"]
    那么、对于 SDR 模式、您是否在8-8-8S 模式下运行?

    4-4-4S 模式用于存储器不支持 OSPI。

    您能告诉我频率吗?

    50MHz

    [报价]

    感谢您回答我的问题。

    请允许我稍后与另一位有关寄存器流程的专家进行核实。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    是否对此项目有任何更新?

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    我的理解是、当启用 PHY 模式时、我们执行直接读取操作。

    因此、我们需要启用 DAC 模式。

    您能否在进行配置后告诉我以下寄存器的值?

    寄存器名称: OSPI_CONFIG_REG 地址:0x0FC40000h

    寄存器名称: OSPI_RD_DATA_CAPTURE_REG 地址:0x0FC40010h

    我需要知道在您所操作的两种模式下该寄存器的值。 即 TAP 和 PHY。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    很抱歉我迟到了答复。
    这里是 TAP 模式和 PHY 内部环回模式的寄存器值。

    #1抽头模式
    μ・寄存器名称:OSPI_CONFIG_REG 地址:0x0FC40000h 0x80083881
    ・寄存器名称:OSPI_RD_DATA_CAPTURE_REG 地址:0x0FC40010h 0x00000001

    #2 PHY 模式
    μ・寄存器名称:OSPI_CONFIG_REG 地址:0x0FC40000h 0x80083889
    ・寄存器名称:OSPI_RD_DATA_CAPTURE_REG 地址:0x0FC40010h 0x00000001

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    感谢您的耐心。

    请允许我有时在启用 TAP 模式而启用 PHY 模式时输出寄存器值转储、以便您确保它与您的应用程序对齐、而当我在 TI EVM 上运行示例应用程序时。

    此致、

    Vaibhav

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

    你好、Koichiro、

    因此、我基于 MCU 和 SDK 运行了一个 SDK 示例、只是为了查看启用 PHY 模式与启用 TAP 模式时寄存器的值:仅供参考、这来自 AM64x 执行、AM62x 肯定大部分都是相同的。 但也会与 AM62x 进行交叉检查。

    在启用 PHY 模式或 Tap 模式的任何配置完成之前、寄存器值相同:

    在针对 PHY 启用模式完成 OSPI 的所有配置后、寄存器值为:

    在针对 TAP 模式完成 OSPI 的所有配置后、寄存器的值为:

    此致、

    Vaibhav

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

    您好!

    感谢您的耐心。

    下面是 AM62x 的寄存器转储。 上方的来自 AM64x。

    在进行任何配置之前、这两种情况下的寄存器值相同:

    为 OSPI 启用 PHY 模式配置后:

    OSPI 的点击后模式配置:

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    感谢您的答复、很抱歉我延迟提供反馈。
    现在、客户可以使用您提供的 PHY 模式配置对存储器进行读取/写入。
    但 OSPI0_CONFIG_REG (0x0FC4:0000)中的 PHY_MODE_ENABLE_FLD 位似乎为0。
    根据 TRM (SPRUIV7B)表14-18650的说明、对于 PHY 模式、该位应为1。


    客户尝试将该位更改为1、然后对内存进行读取/写入失败。
    q1)  PHY 模式的此 PHY_MODE_ENABLE_FLD 预期是否为0?
    Q2)如果 TRM 描述存在拼写错误、请更正。

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    感谢您的耐心。

    感谢您的回复、并对我延迟的反馈表示抱歉。

    没关系。

    现在客户可以使用您提供的 PHY 模式配置读取/写入内存。

    我很高兴客户能够使用我提供的寄存器配置执行写入和读取操作。 很高兴听到这个消息。

    [报价 userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5469219 #546219"]Q1)  PHY 模式的这一预期 PHY_MODE_ENABLE_FLD 是0吗?[/QUOT]

    我将在另一个回应中解释这一点、因为它需要一些解释。

    此致、

    Vaibhav

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

    您好!

    感谢您的耐心等待。

    因此、我还没有回答这一问题

    [报价 userid="97804" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5469219 #546219"]Q1)  PHY 模式的这一预期 PHY_MODE_ENABLE_FLD 是0吗?[/QUOT]

    我们开始吧、

    您可以看到我提供的适用于客户的寄存器配置绝对没问题。

    PHY 使能字段只应设置为1、在执行读取操作时、否则此 PHY 使能字段在大多数情况下应设置为0。

    当读取完成时、我们需要禁用 Phy、然后执行另一个操作、如写入。

    此致、

    Vaibhav

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

    尊敬的 Vaibhav:

    感谢您的答复。

    [报价 userid="53612" url="~/support/processors-group/processors/f/processors-forum/1367909/am625-qspi-internal-phy-loopback-mode/5523224 #5523224"]

    PHY 使能字段只应设置为1、在执行读取操作时、否则此 PHY 使能字段在大多数情况下应设置为0。

    当读取完成时、我们需要禁用 Phy、然后执行另一个操作、如写入。

    [报价]

    请让我确认我是否正确理解了您的答案。
    仅在读取时将 PHY 使能字段设置为1。 对于其他操作、该字段应设置为0。
    这是否意味着 phy 使能位由硬件自动控制?
    或者用户需要根据存储器操作来控制该位?

    谢谢。此致、
    田代浩一郎

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

    你好、Koichiro、

    您的理解是正确的。

    或者用户需要根据内存操作控制位?

    用户需要根据操作来控制它。

    因此、对于读取、应设置 PHY 使能位、而对于写入、不应设置它。

    此致、

    Vaibhav