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.

[参考译文] TMS570LS1227:TMS570 EMIF 读取时序与写入时序

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1611998/tms570ls1227-tms570-emif-read-vs-write-timings

器件型号: TMS570LS1227

您好、

我遇到的是器件数据表或技术参考手册中没有说明的问题。  我的 EMIF 读取速度大约是我的 EMIF 写入速度的一半、对读取和写入应用相同数量的等待状态。

我的配置:
EMIF 模式:异步正常模式
EMIF 总线宽度:16 位
EMIF 时钟:180MHz
读取/写入设置等待状态寄存器:0
读/写选通等待状态寄存器:24
读取/写入保持等待状态寄存器:0

除了注释掉读与写方向之外、我可以完全相同地运行此代码。如前所述、读方向大约需要两倍的时间。
image.png

EMIF 读取捕获对于 9 个 16 位值~3us:
image.png

EMIF 写入捕获~1.5us(对于 9 个 16 位值):
image.png

问题区域似乎是 CS 线路保持高电平的时间量。  其余时序看起来在读取和写入之间相匹配。

有什么想法吗?

谢谢您、
Will

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

    尊敬的 Will:

    一些潜在的可能性:

    1. 读取与写入流水线差异:TMS570 内核可能需要等待读数据返回、然后才能继续执行下一条指令、同时可以发布写操作(CPU 在写入完成之前继续执行)。

    2. 内存屏障效应:从外部内存读取时、处理器通常必须等待数据到达、然后才能继续。 写入通常可以被缓冲。

    3. CS(片选)时序:您对 CS 线定时的观察是显著的。 片选可能需要在读取期间保持更长时间有效、以确保正确采样数据。

    4. 等待状态实现:即使您为两个操作配置了相同的等待状态,硬件可能会以不同的方式实现读取和写入。

    此致、
    Jagadish。

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

    尊敬的 Jagadish:

    感谢您的答复。  我提供的捕获是在 EMIF 配置为其最大时钟速度 180MHz 的情况下进行的。  我拍了一些在 90MHz 运行的捕获、读取与写入之间的时序更加接近。

    这让我怀疑您列出的一个或多个可能性正在发生。  这对我们来说不是一个问题,读取可能需要更长时间,我只是想确保这不是完全意外的行为。

    谢谢、
    Will