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.

[参考译文] AM3359:[AM3359]:从 GPMC 向 FPGA 写入数据的每个字节的 Wn 信号脉冲宽度不是恒定的。

Guru**** 2540240 points
Other Parts Discussed in Thread: AM3359, AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1114012/am3359-am3359-wen-signal-pulse-width-is-not-constant-for-every-bytes-of-write-data-from-gpmc-to-fpga

器件型号:AM3359
主题中讨论的其他器件: AM3358

大家好、

我们正在传输大量数据(4KB) 在 GPMC 和芯片示波器中、从 GPMC 到 FPGA 时、我们在 Wen 信号的每个上升沿读取单字节数据、但有时我们得到的是2字节数据的单个 Wen、即 Wen 信号脉冲宽度不是恒定的 如 所附的芯片示波器波形图中所示、背靠背发送数据(4KB)

我们将 GPMC 驱动程序代码和以下 DTS 配置用于 GPMC NAD 模式

R4_GPMC:R4_GPMC@50000000{
兼容="cet、AM335x-dma-test";
reg =<3 0 0x001000000>;/* CS3、偏移量0、IO 大小4*/
/*ti,no-reset-on 初始化;
TI、无空闲启动;
TI,空闲;*/
interrupt-parent =<&GPMC>;
/*中断控制器;*/
/*interrupts =<2 IRQ_TYPE_ EDGE_FALLING >,/* GPMC Wait0低电平有效*/
/*<3 IRQ_TYPE_ EDGE_FALLING >;/* GPMC Wait1低电平有效*/
中断=<0 0>、<1 0>;

组宽度=<2>;// GPMC_config1_devicesize (1)*
/*GPMC,突发读取;
GPMC、突发写入;*/
/*GPMC、burst-wrap;*/
GPMC、SYNC-READ;// GPMC_CONFIG1_READTYPE_ASYNC*
GPMC、同步写入;// GPMC_CONFIG1_WRITETYPE_异 步*/
GPMC、clk-activation-ns =<0>;// GPMC_config1_CLKACTIVATIONTIME (2)*/
GPMC、突发长度=<16>;/* GPMC_CONFIG1_PAGE_LEN (2)*/
GPMC、mux-add-data =<0>;// GPMC_config1_MUXTYPE (2)*

/*GPMC 配置2详细信息*/
/* CONFIG2 */
GPMC、sync-clk-ps =<0>;//同步模式的最小时钟周期,以皮秒为单位*/
GPMC、cs-ON-ns =<10>;
GPMC、cs-wr-off-ns =<0>;
GPMC、cs-rd-off-ns =<30>;

/*C5*/
GPMC、ACCESS ns =<10>;
GPMC、第周期-ns =<20>;

/*GPMC 配置3详细信息*/
/* CONFIG3 */
GPMC、Adv-ON-ns =<0>;
GPMC、Ad-rd -关闭-ns =<10>;
GPMC、Adv-wr-off-ns =<0>;

/*GPMC 配置4详细信息*/
/* CONFIG4 */
GPMC、WE-ON-ns =<0>;
GPMC、WE-OFF-ns =<0>;
GPMC、OE-ON-ns =<10>;
GPMC、OE-OFF-ns =<30>;

/* config 5 */
GPMC、PAGE-BURST-ACCESS ns =<10>;
GPMC、功率周期-ns =<0>;

/* config 6 */
GPMC、wr 访问-ns =<10>;
GPMC、wr-data-mux-bus-ns =<20>;/*请选中此项20 */
GPMC、bus-ar翻转-ns =<40>;/*请检查此40 */
GPMC、cycle2cycle-samecsen;/*通过禁用来检查此项*/
GPMC、cycle2cycle-delay-ns =<20>;/*通过禁用来检查此项*/

/*GPMC、bus-ar翻转-ns =<40>;*/* CONFIG6:3:0 = 4 */
/*GPMC、cycle2cycle-samecsen;*/* CONFIG6:7 = 1 */
/*GPMC、cycle2cycle-delay-ns =<40>;*/* CONFIG6:11:8 = 4 */

/*读取等待信号- MRD
GPMC、num-waitpins =<2>;
GPMC、等待监控 ns =<0>;
GPMC、WAIT-Pin =<1>;
GPMC、等待读取=<1>;
*


/*
GPMC、num-cs =<6>;
GPMC、写入等待=<1>;
GPMC、DEVACE-NAND ="false";
*

/*
GPMC、Ad-aad-mux-ON-ns =<0>;
GPMC、Ad-aad-mux-rd-Off-ns =<0>;
GPMC、Ad-aad-mux-wr-off-ns =<0>;

GPMC、OE-aad-mux-ON-ns =<0>;
GPMC、OE-aad-mux-off-ns =<0>;
*

/*GPMC 布尔计时参数*/
/*GPMC、Adv-ext-delay ="false";
GPMC、cs-extra-delay ="false";*/
/* GPMC、cycle2cycle-diffcsen ="true";*/

/*GPMC、OE-extra-delay ="false";
GPMC、WE-Extra delay ="false";
GPMC、时间-参数-粒度="false";*/

/*GPMC 芯片选择设置*/
/*GPMC,设备宽度=<2>;/*1表示8,2表示16位*/


/*DMA =<&EDMA 52 0>;
dma-names ="Rcu_DMA";*/
};

此致、

Amit Kumar Keshri

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

    Amit Kumar、您好!  

    感谢您的查询。

    您是否可以共享接口图以更好地理解。

    此致、

    Sreenivasa

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

    Amit Kumar、您好!  

    请忽略 TI 认为已解决的消息。

    此致、

    Sreenivasa

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

    您好 、Kallikuppa Sreenivasa、

    非常感谢您的回复。

    请找到随附 的处理器和 FPGA 之间的接口图、以更好地理解。

    此致、

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

    Amit、您好!  

    感谢您的备注。

    FPGA GPMC 的处理器特定于客户应用。

    我们将在计划实施中需要额外的输入、包括存储器类型和配置。

    如果您可以制作一个简单的图来显示接口,这将有所帮助。

    此致、

    Sreenivasa

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

    Amit、您好!  

    请参阅以下内容  

    •在与外部存储器或外部器件通信时、GPMC 支持以下接口协议:
    –异步读/写访问
    –异步读取页面访问(4-8-16 Word16)
    –同步读/写访问
    –无换行功能的同步读取突发访问(4-8-16字16)
    –具有换行功能的同步读取突发访问(4-8-16字16)

    此致、

    Sreenivasa

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

    您好  、Kallikuppa Sreenivasa、

    感谢您的回复。

    我们尝试 使用 GPMC nand 模式在单芯片选择中将48字节数据从 GPMC 传输到 FPGA 的 CSR 存储器。

    请找到随附的显示处理器接口的图。

    此致、

    Amit Kumar Keshri

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

    Amit、您好!  

    感谢您的参与。

    让我 来回顾一下您的意见。 您能 不能帮助我们了解 您之前是否在任何其他平台上使用过 FPGA 接口、并提供有关实施 方法的更多详细信息。

    此致、

    Sreenivasa

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

    尊敬的 Kallikuppa Sreenivasa:

    在同一项目中、我们使用 CS3的 CS0和 Artix FPGA 连接 GPMC 与 NAND 闪存。
    NAND 接口中没有修改/不一致、但在使用 NAND 模式从 AM3359到 Artix FPGA 进行突发传输时。

    在执行到 FPGA 的 NAND 模式传输时、我们观察到写入使能信号延长了2个时钟周期、而不是1个时钟周期。
    这在30分钟内发生一次、同时持续传输4K 数据(注意:1 CS 中有48字节数据)。
    我们需要解决数据传输中的这种不一致性。

    您可以参考先前附加的图像以进行相同操作。

    如果您需要与实施方法相关的任何其他信息、请告诉我。

    此致、
    Amit Keshri

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

    Amit  Keshri、您好!

    根据以上输入、我假设 您对 FPGA AD NAND 闪存使用相同的 GPMC 接口。 请 确认 吗?

    这在30分钟内发生一次、同时持续传输4K 数据(注意:1 CS 中有48字节数据)。
    我们需要解决数据传输中的这种不一致性。

    您是否已查看有关信号完整性、电源和热管理的电路板设计。

    此致、

    Sreenivasa

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

    尊敬的 Kallikuppa Sreenivasa:

    感谢你的答复。

    是的、 我们对 FPGA AD NAND 闪存使用相同的 GPMC 接口。

    我们正在审查 电路板设计的信号完整性、电源和热管理

    此致、

    Amit Keshri

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

    Amit、您好!  

    感谢您的参与并注意到。

    此致、

    Sreenivasa

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

    Amit、您好!  

    完成审核后、请打开一个新主题、并需要其他 支持。

    此致、

    Sreenivasa

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

    您好 Amith、您可以分享 CS3 GPMC 至 FPGA 配置和 MMU 分配、它能为我提供帮助。

    谢谢你。

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

    Suguesh 您好、

    感谢 Amit 给您的提示。

    Amit、请随意分享您愿意分享的任何可用信息。

    此致、

    Sreenivasa

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

    请查看我遇到的一些从 GPMC 到 FPGA 的问题   

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

    Suguesh 您好、

    感谢您的备注。

    请打开一个新主题、其中提到 您正在寻找有关 void MMUConfigAndEnable (void)的 Linux 支持、并添加您通过聊天发送给我的信息。

    此致、

    Sreenivasa

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

    大家好、我没有使用 Linux im 进行 ccs11常规 c 代码开发。

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

    Suguesh 您好、

    感谢您的备注。

    请注意、此查询是关于连接的、已关闭。

    如果您打开一个描述您问题的新 E2E 主题、其中包括在私人聊天中共享的解释、而不是添加到已关闭的主题中、则效果最好。 这将有助于其他用户以及更广泛的支持社区。  

    此致、

    Sreenivasa

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

    大家好、我提出了两个问题、但我没有得到 TI 的适当响应、因此这与我的项目类似、因此我在此向大家提问、谢谢。  

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

    Suguesh 您好、

    感谢您的备注。 请注意、此主题已由 Amit 创建、并将收到所有回复。

    根据上述讨论、我将复制您 报告的问题。 我必须在内部重新分配、请等待一些响应延迟。

    /*
    **此函数将设置 MMU。 该函数映射三个区域-
    ** 1. DDR
    ** 2. OCMC RAM
    ** 3. 器件存储器
    **该函数还启用 MMU。
    *
    空 MMUConfigAndEnable (空)

    /*
    **定义 AM335x 的 DDR 存储器区域。 DDR 可配置为 Normal MMU_MEM_MEMTYPE_NORY_sharedable
    **在用户/特权模式下具有 R/W 访问权限的内存。 高速缓存属性
    **此处指定的是,
    **内部-直写,无写分配
    **外部-写回、写分配 MMU_MEMTYPE_NORMAL 非可共享
    *
    区域区域 dr ={
    MMU_PGTYPE_SECTION、START_ADDR_DDR、NUM_SECTIONS、DDR
    MMU_MEMTYPE_NORMAL _可共享(MMU_cache_WT_Nowa、
    MMU_cache_WB_WA)、
    MMU_region_non_secure、MMU_AP_PRV_RW_USR_RW、
    (unsigned int*) pageTable
    };
    /*
    **定义 AM335x 的 OCMC RAM 区域。 给出了 DDR 区域的相同属性。
    *
    区域 Ocmc ={
    MMU_PGTYPE_SECTION、START_ADDR_OCMC、NUM_SECTIONS OCMC、
    MMU_MEMTYPE_NORMAL 非可共享(MMU_CACHE_WT_Nowa、
    MMU_cache_WB_WA)、
    MMU_region_non_secure、MMU_AP_PRV_RW_USR_RW、
    (unsigned int*) pageTable
    };

    /*
    **定义设备内存区域。 OCMC 和 DDR 之间的区域是
    **配置为设备内存,在用户/特权模式下具有 R/W 访问权限。
    **此外,该区域标记为“从不执行”。
    *
    区域区域开发={
    MMU_PGTYPE_SECTION、START_ADDR_DEV、NUM_SECTIONS、
    MMU_MEMYPE_DEVICE_SHAREARIADable、
    MMU_region_non_secure、
    MMU_AP_PRV_RW_USR_RW | MMU_SECTION EXEC_Never、
    (unsigned int*) pageTable
    };

    /*初始化页面表和 MMU */
    MMUInit(unsigned int*)pageTable;

    /*映射定义的区域*/
    MMUMemRegionMap (&regionDr);
    MMUMemRegionMap (&regionOcmc);
    MMUMemRegionMap (区域开发);

    /*现在可以安全启用 MMU */
    MMUEnable((unsigned int*)pageTable);

    大家好、我使用 am3358到 fpga for nand 和 DDR 如果我使用 gpMC 来处理 FPGA 并使用 csn2基址0x04000000、我会在 MMU 中执行这些配置。

    为此,我需要在 MMU 中为 GPMC 分配一些内存?

    如果是、如何分配内存、请分享一些帮助我的想法。

    此致、

    Sreenivasa

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

    我已经提出了这个新主题、您可以为其提供支持、请在此处关闭此主题、并回复我的主题、非常感谢。

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

    Suguesh 您好、

    感谢您的理解。  

    您似乎创建了下面的主题、并将被分配给 TI 专家进行回复。

    (+) AM3358:AM3358 Sitara 处理器-处理器论坛-处理器- TI E2E 支持论坛

    此致、

    Sreenivasa