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.

[参考译文] AM2434:GPMC 突发模式字排序问题 (16‑位总线到 FPGA、同步 NOR‑like)

Guru**** 2856630 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1629956/am2434-gpmc-burst-mode-word-ordering-issue-16-bit-bus-to-fpga-sync-nor-like

器件型号: AM2434
主题: AM6442SysConfig 中讨论的其他器件

您好:

当在中‑GPMC 时、我遇到意外的单词'排序'问题 ‑突发或非 2 μ s 类似模式 16‑位外部数据/地址总线 更少的数字线路。

当我从 CPU 写入一个 32‑位值时、会出现两个 16‑位半‑字 互换了 提供超低功耗、但仅当启用突发模式时。

示例:
*(uint32_t *) 0x500000F0 = 0x12345678;
[0x50000000 是 GPMC 基地址

使用内部逻辑分析仪在 FPGA 内部观察:

  • 突发模式: GPMC 输出 首先 0x1234、然后 0x5678 (上半部分‑字在前)
  • 非‑μ s 突发模式: FPGA 接收数据 首先 0x5678、然后 0x1234 (正确顺序)

这种行为仅在突发模式下发生。
请参阅未突发的图片:
image.png
请参见带突发的图片:
image.png

‑GPMC 时、我如何控制或更正半字顺序 突发写入 模式?

启用突发的我的 GPMC 配置:
GPMC_CONFIG1 = 939528704  
GPMC_CONFIG2 = 132352  
GPMC_CONFIG3 = 65792  
GPMC_CONFIG4 = 33645841  
GPMC_CONFIG5 = 17105413  
GPMC_CONFIG6 = 2164326400

我的无突发配置(按预期工作):
GPMC_CONFIG1 = 67109328
GPMC_CONFIG2 = 132352
GPMC_CONFIG3 = 65792
GPMC_CONFIG4 = 33645841
GPMC_CONFIG5 = 17105413
GPMC_CONFIG6 = 2164326400

其他详细信息:

  • 外部器件:FPGA
  • 总线宽度:16‑位
  • 模式:同步突发不像‑μ s
  • 在 FPGA(内部逻辑分析仪)内部捕获的数据

有关如何在 GPMC 突发写入期间修复或配置正确的半‑字顺序的任何指导都将不胜感激。

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

    尊敬的 Ariel:

    感谢您的查询!

    请留出一些时间与主题负责人进行内部讨论。

    我可能需要联系我们的 GPMC 硬件和软件专家。

    我希望星期一(2026 年 3 月 30 日)COB 能回复您。

    感谢您的耐心!

    此致  

    Anastas Yordanov

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

    您好、Ariel、

    您是否尝试过 Anil 在这个 e2e 主题中建议的 memcpy?

     e2e.ti.com/.../am6442-question-on-gpmc-burst-mode-commands-software-development 

    此外、您的设置是否可以回读写入 FPGA 的数据、仅用于测试? 我可以看到您没有设置读取多位、您可能需要将其设置为 1、以便我们确保读取和写入处于相同的模式:

    我已经联系了 GPMC 专家、我不知道 GPMC 内部功能和软件那么好。

    谢谢、

    Stan

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

    尊敬的 Stan:

    非常感谢您的参与!

    您好、Ariel、

    我要为我的答复中的时间间隔过长而道歉。

    为了能够从软件方面找出任何可能的根本原因、您是否可以指定:

    您正在使用的 AM243x SDK 的类型 (Linux / MCU PLUS) 和版本?

    谢谢

    此致

    Anastas Yordanov

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

    您好、Stan 和 Anastas、

    当我在写入后读取寄存器时、得到了 颠倒顺序 (与在该问题中观察到的行为相匹配)。
    memcpy操作会生成相同的数据顺序。

    我还尝试将读取操作配置为 突发 、但这未解决订购问题。

    环境:

    • SDK: ind_comms_sdk_am243x_11_00_00_13
    • SysConfig: sysconfig_1.25.0
    • 操作系统:FreeRTOS
    • 活动核心:R5F_0_0R5F_0_1

    我不认为这是一个 软件问题 、因为更改配置会更改行为。

    CC 状态 WRACCESSTIME 最终目的 2. 、配置变为:

    GPMC_CONFIG1 = 939528704
    GPMC_CONFIG2 = 132352
    GPMC_CONFIG3 = 65792
    GPMC_CONFIG4 = 33645841
    GPMC_CONFIG5 = 17105413
    GPMC_CONFIG6 = 2181103616

    采用以下配置:

    • 数据顺序变为 没错
    • 但是、我得到了一个 额外时钟周期 、它还会向我没有请求的地址生成写入(请参见下图)

    此外、此配置可修复 ADVN 时间。
    在中 原始配置 、该行不能正常工作。

    如果 GPMC 需要、我可以使用额外的时钟周期。 但是,在这种情况下,我需要 WEN CSN '1'在这个周期中要执行的操作、或 Ben 转到"11"、以避免产生额外的写入。

    我的主要目标是实现:

    • 地址的 1 个时钟周期
    • 每次数据写入有 1 个时钟周期

    此致

    Ariel Gershengold

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

    尊敬的 Ariel:

    [报价 userid=“589496" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1629956/am2434-gpmc-burst-mode-word-ordering-issue-16-bit-bus-to-fpga-sync-nor-like/6301731

    我的主要目标是实现:

    • 地址的 1 个时钟周期
    • 每次数据写入有 1 个时钟周期
    [/报价]

    是否可以对外部时钟进行分频? 这样一来、控制器将有更多时间执行内部操作、因为它仍在计时为内部频率

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

    尊敬的 Stanislav:
    否、我们需要在 100MHz 工作;否则、传输数据所需的时间会出现问题。

    如果我们将时间除以 2、它将与在无突发的 100MHz 下工作相同。

    B.R.
    Ariel Gershengold

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果 GPMC 需要、我可以使用额外的时钟周期。 但是,在这种情况下,我需要 WEN CSN '1'在这个周期中要执行的操作、或 Ben 转至"11"、以避免生成额外的写入。

    实际上,它不是在突发结束时修复双重写入吗? 正在缩短 WEN、CSN 时间? 您是否已经尝试过? 我认为它也符合 1 时钟标准吗?

    此致、

    Stan

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

    没有、您可以在双倍书写的记录中看到 Ben 是“00"。“。 我试图改变温时报和 CSN 时报,但我没有看到预期的效果。  
    B.R.
    Ariel

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

    您好  Ariel

    感谢您的意见。

    该专家在星期一上不在办公室。
    请预计响应会延迟。

    此致、

    Sreenivasa.