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.

[参考译文] RTOS/AM3352:NAND 访问对其他 GPMC 访问的影响

Guru**** 2594600 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/585852/rtos-am3352-nand-access-effect-on-other-gpmc-accesses

器件型号:AM3352

工具/软件:TI-RTOS

尊敬的所有人:

我们将 AM3352 + SYS/BIOS RTOS 用于工业导航产品。 软件环境:SYS/BIOS ISDK v1.1.0.4,SYS/BIOS 内核 v6.35.04.50。

GPMC 都与 FPGA 和 NAND 闪存通信。

FPGA 选择 16位非多路复用 同步 NOR 模式(支持单次读取、单次写入、突发读取)、并使用 GPMC_CS2、GPMC_WAIT1引脚。

NAND 闪存选择8位 NAND 模式、并使用 GPMC_CS0、GPMC_WAIT0引脚。

GPMC 需要从 FPGA 读取大量数据、平均值约为500Mbps。 FPGA 与 GPMC 通信具有实时要求。 FPGA 以1ms 的间隔生成到 AM3352的 GPIO 中断、GPMC 必须响应 FPGA 并从 FPGA 读取数据。

我们使用 Micro MT29F1G08ABADAH4-IT NAND 闪存、并且需要使用 SYS/BIOS NAND 闪存驱动程序。 我通过 StarterWare nandReadWrite.c 示例实现 SYS/BIOS NAND 闪存驱动程序参考。 NAND 闪存驱动器在没有 FPGA 通信的情况下的基本功能正常。 现在、当 GPMC 都与 FPGA 通信时、我需要调试 NAND 闪存驱动程序的功能。

我大致阅读了 AM335x TRM、NAND 闪存数据表,StarterWare NAND 闪存库和 GPMC 驱动程序源代码、有一些疑问和问题需要 TI 专家的帮助。

1.读取、写入和擦除 NAND 闪存是否会影响 GPMC 与 FPGA 进行通信的实时性?

由于 NAND 闪存和 FPGA 都占用 GPMC 总线、NAND 闪存将长时间处于繁忙状态(读取:25us、写入:200-600us、擦除:700-3000us)。我担心、当 GPMC 与 NAND 闪存通信时、FPGA 访问 GPMC 的实时时间将不会满足。

2、NAND 闪存和 FPGA 的访问将占用 GPMC 总线和引脚资源、当 NAND 闪存和 FPGA 与 GPMC 通信时、如何独占访问这些资源? GPMC 硬件是否具有互斥功能? 或者需要软件做些什么?

3、对于最高级别、FPGA 访问任务的优先级为15;NAND 闪存访问任务的优先级低于 FPGA 访问任务的优先级。 在向 NAND 闪存发送命令、地址、数据的过程中、是否需要原子操作? 当 FPGA 访问中断 GPMC 向 NAND 闪存发送命令、地址、数据的过程时、我不确定 NAND 闪存访问是否有问题。  

非常感谢。 最好的愿望!

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

    在500Mbps 的平均速率下、FPGA 将占用几乎 GPMC 的全带宽。 如果使用16位访问 FPGA、则会进行大约32Mega 字的传输、这几乎是 GPMC 的限制。 我将尝试回答您的部分问题:

    1.是的。 您无法同时访问 NAND 和 FPGA。
    2. GPMC 存储器区域中的芯片选择区域在寄存器 GPMC_CONFIG7_I 中定义 请参阅 AM335x TRM 修订版 O 中的第7.1.2.3.8.1节
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Biser:
    非常感谢您的快速回复!

    正如您所说的、FPGA 将在平均500Mbps 时占用几乎所有的 GPMC 带宽。 我与 FPGA 同事核实的实际数据速率为70Mbps、因此 FPGA 不会占用全带宽。 感谢您指出带宽的风险。

    我理解你的另外两个答案的含义、但我仍有疑问。 您能为以下问题提供一些指导吗?

    1.当 FPGA 数据速率为70Mbps 时、读取、写入和擦除 NAND 闪存是否会影响 GPMC 与 FPGA 进行通信的实时性?

    2、NAND 闪存和 FPGA 的访问将占用 GPMC 总线和引脚资源、当 NAND 闪存和 FPGA 与 GPMC 通信时、如何独占访问这些资源? GPMC 硬件是否具有互斥功能? 或者需要软件做些什么?
    我知道 NAND 和 FPGA 访问使用不同的 CSx 配置寄存器、但我不知道 GPMC 硬件将如何处理一个任务同时访问 FPGA 和另一个任务同时访问 NAND 的情况。 这两个任务是否需要互斥?

    3.在向 NAND 发送命令、地址、数据的过程中是否需要原子操作? 当 FPGA 访问中断 GPMC 向 NAND 发送命令、地址、数据的过程时、我不确定 NAND 闪存访问是否有问题。

    再次非常感谢。

    此致、
    Alex
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将要求 RTOS 团队对最后的这些问题发表意见。 他们将在这里直接做出响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    user4865815、

    您可能希望在 RTOS 论坛中提出问题#3、因为那里的专家会更好地了解到在进行与非访问相关的更高优先级 FPGA 访问时正在进行的工作。 我想它在 BIOS 中得到了处理、但不完全确定。

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

    很抱歉耽误你的答复。 我认为问题3是关于 GPMC 和 NAND 硬件原理的问题、而不是关于 SYS/BIOS 内核软件的问题。

    此致
    Alex