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.

[参考译文] TMS570LC4357:通过 EMIF 与静态 RAM 集成的 TMS 无法正确读取

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/954076/tms570lc4357-tms-integrated-with-static-ram-via-emif-does-not-read-properly

器件型号:TMS570LC4357

您好!

TMS570LC4357版本 B 与低功耗静态 RAM 和 FPGA 相集成

连接:不使用 EMIF_BA、地址线(A1-A19)、数据(D0-D15)  

详细信息:Code Composer Studio v10.1.0

EMIF 设置如下:选通模式开启、MAX_EXT_WAIT=5、EMIF clk- 75MHz、ASINC2被使用。

W_setup = 3、W_STROBE = 15、W_HOLD = 7

R_setup=3、R_STROBE = 15、R_HOLD = 7、TA=3、已启用扩展等待。

代码示例:1. EMIF 写入值为0x0的位置。

2、EMIF 写入值为0x4000的上述同一位置

3、EMIF 从同一位置读取-读取无法获得值0x4000、而是读取0x0 (随机)。

4.在循环中重复上述所有步骤。

它碰巧在示波器中查看 EMIF 信号、  

对于单个 EMIF 写入、芯片使能为有效 thrice。 行为是否正确? 它是否会影响性能?

2.为什么 EMIF 读取随机无法获得准确的值?

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

    您好!

    1.不,这是不正常的。  

    2.是否将 EMIF_A[19:1]连接到 FPGA_A[18:0]? 为什么不使用 EMIF_A[0]? 在您的设置中、EMIF 地址0x0000用于访问 FPGA 中的第一个半字、而 EMIF 地址 0x0001用于访问 FPGA 中的第四个半字。  

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

    您好、Wang、

    下面是供您参考的波形:  

    [Waveform1 - EMIF 芯片启用]、[Waveform2 - EMIF 写入启用]、[Waveform3 -[D0-D15]]的数据位 D6。 是什么导致了 EMIF_CE 的这个额外脉冲?

    2. EMIF_A[19:1]连接到 FPGA_A[19:1]。 前半字访问就是我们所需要的。

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

    您好、Wang、

    关于问题1、我已通过以下链接中的帖子。 我不知道问题是否与我发布的问题类似。  

    e2e.ti.com/support/microcontrollers/hercules/f/312/t/518177

    请建议我这样做。

    谢谢你

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

    我是否可以让您的测试用例在您的帖子中生成波形?

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

    您好、Wang、

    随附的是测试项目、供您参考。

    更多观察结果:如果我将地址声明为无符号整型的指针、则3个 EMIF_CE 脉冲保持不变。 但是、EMIF_WE 现在有2个脉冲。 此外、EMIF 读取成功读取预期值。  

    谢谢你

    e2e.ti.com/.../4743.TMS570LC4357_5F00_TestCode.rar

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

    我要看一下

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

    您好、Wang、

    如果您有任何更新、请共享相同的更新。

    谢谢你

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

    您好!

    我无法提出这个问题。  

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

    您好、Wang、

    您能否澄清额外的 EMIF_NCE 脉冲? 是否在 TMS570LC4357的修订版 B 中解决了该问题?

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

    您好!

    revA 器件有一个硬件错误、此错误在异步 EMIF 模式中生成额外的 WE 或 OE 脉冲。 但 nCS 没有错误、nCS 适用于所有修订版本。

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

    您好、Wang、

    是否有任何关于如何解决单次写入问题的3 nCS 脉冲的建议?

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

    您好、 Shanmukh、

    这是我从异步存储器读取4个16位半字和32位字的测试:

    16位数据读取

    2. 32位数据读取:  

    每次读取只有1个 nCS 脉冲。  

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

    您好!

    您是否处于 EMIF 选择选通模式?

    EMIF 异步接口可在正常模式或选择选通模式下运行。 在正常模式下、nCS 将在整个 EMIF 事务中处于活动状态。 在选择选通模式下、NCS 仅在选通时间期间激活。 这是两种模式之间的基本区别。

    在正常模式下、如前所述、NCS 在整个 EMIF 总线事务中处于活动状态。 例如、如果写入 EMIF 地址、则 NCS 在整个总线事务中处于活动状态、而 Nwe 在 NCS 处于活动状态时具有两个或三个脉冲。 这是修订版 A 器件中的错误。 但是、在选择选通模式下、NCS 仅在选通阶段有效、这意味着 NCS 实际上与 Nwe 同相激活。 当我们在正常模式下看到额外的 Nwe 脉冲时、我们还会在选择选通模式下看到额外的 nCS。

    此错误已在 RevB 器件中修复。 在写入事务期间、额外的 Nwe 脉冲已被移除。 但是、除了消除额外的 W我们 脉冲之外、缩短有源 NCS 的额外持续时间还存在一些技术难题。 当切换至选择选通模式时、这些额外的 NCS 持续时间将保持为两个额外的 NCS 脉冲。 但是、当这些额外的 NCS 脉冲处于活动状态时、Nwe 和 NOE 不活动。 因此、从存储器访问支架点来看、这应该是可以的。 对存储器的所有写入和读取应使用有效的 Nwe 和 NOE 进行限定。

    对于读取、我们不仅能够去除额外的 NOE 脉冲、还能够缩短 nCS、从而提高 EMIF 性能/带宽。 因此、在读取期间、在正常模式或选择选通模式中都没有看到额外的 NCS 脉冲。