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.

[参考译文] AM2432:GPMC 读取和写入访问序列

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1626825/am2432-gpmc-access-sequence-of-read-and-write

器件型号: AM2432

您好、专家

客户测试 GPMC 接口、现在它连接到 FPGA。

在一个 CS 置为有效期间、会通过波形观察到读写操作。

请参阅以下屏幕。 只需检查此行为是否是一个 cs 断言中存在读取和写入的预期行为?

从上到下的波形为 Cs、READ、WRITE 信号。  

549caf15475a6778ccd968f280c9cf14.jpeg

谢谢

Zekun

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

    尊敬的 Zekun:

    请帮助我更好地理解您的问题。  

    您是不是意味着可以在 GPMC 上执行此序列:

    CS 断言->从 FPGA 读取数据->将数据写入 FPGA -> CS 断言?

    我可以在屏幕上看到 4 个波形。 哪种颜色是什么?

    GPMC 运行的模式是什么?  

    谢谢、

    Stan

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

    尊敬的 

    我们使用单读取/写入模式、采用 DMA 和直接读取/写入之间的共享方法。 DMA 用于读取和写入大量数据、而直接读取/写入用于少量数据。
    然后、我们捕获了该波形、该波形无法使用、从而导致数据错误
    此外、在禁用 DMA 函数并使用直接读取/写入模式后、此波形将不再存在

    谢谢、

    Jimmy

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

    嗨、Jimmy

    感谢您的答复。 我想与您核对一件事。  

    您的场景中将直接存在 R/W 和 DMA R/W、对吧? 那么、在进行直接 R/W 时、如何知道何时触发 DMA 读取?

    如果您直接执行 R 或 W 操作、假设中断即将到来并触发 DMA R 或 W、那么在您的实际案例中是否会发生这种情况?

    Stanislav Stilyanov 如果这是预期行为、请分享您的想法、谢谢。

    谢谢

    Zekun

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

    嗨、 Zekun


    由于多线程操作、DMA 读取和直接读取肯定会共存、但我不确定 DMA 何时会运行 GPMC。

    实际上、DMA 读取/写入操作可以插入到直接读取/写入过程中、也可以将直接读取/写入操作插入到 DMA 读取/写入过程中。

    谢谢、

    Jimmy

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

    嗨、 Jimmy

    因此、多线程上没有分配优先级差异、例如低优先级的直接 R/W、高优先级的 DMA R/W、对吗?

    您能详细说明一下导致数据错误的波形吗?

    与直接 R/W 数据一样、DMA R/W 数据正确时是错误的;另一方面、DMA 在直接 R/W 正确时是错误的?

    但是、在您的情况下、此问题的频率是多少?

    谢谢

    Zekun

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

    嗨、 Zekun

    是、直接读取/写入和 DMA 读取/写入之间的优先级没有差异。 我们有两个优先级不同的线程、它们在 GPMC 上运行。 每个线程中都存在直接读取/写入和 DMA 读取/写入。 区分直接读取/写入和 DMA 读取/写入的标准是数据量(DMA 读取/写入用于大于 128 字节的数据)


    该波形表明在单个芯片选择信号中存在读取和写入操作、从而使我们的 FPGA 混淆控制器是打算执行读取还是写入操作。


    如果有大量数据、此波形每十秒左右出现一次。

    谢谢、

    Jimmy

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

    嗨、 Jimmy

    因此、在一个高优先级线程中:

    Logis

    IF(大 Amont)

    DMA R/W、其他

    直接 R/W

    结束

    另一个低优先级线程:

    IF(大 Amont)

    DMA R/W、其他

    直接 R/W

    结束

    这是正确的吗?

    谢谢

    Zekun

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

    嗨、 Zekun

    是的、这是逻辑

    谢谢、

    Jimmy

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

    嗨、Jmmy

    逻辑与波形匹配。 我认为这不是不正常的问题。  

    您对此观察的期望是什么?  

    谢谢

    Zekun

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

    嗨、 Zekun

    我认为、无论是 CPU 运行 GPMC 还是 DMA 运行 GPMC、即使同时发出命令、GPMC 控制器也不应引入任何时序混淆、从而可以阻止外部器件识别时序。

    谢谢、

    Jimmy

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

    您好、Stan

    任何评论这里关于吉米的查询将是感激。Stanislav Stilyanov 

    谢谢

    Zekun

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

    尊敬的 Zekun:

    在我看来、它更像是软件查询而不是硬件查询。 我需要联系软件专家。

    谢谢、

    Stan