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:使用异步2x8位 MRAM 连接 EMIF (MR4A08BUYS45)

Guru**** 2609895 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/759039/tms570lc4357-interfacing-on-emif-with-asynchronous-2x8bit-mram-mr4a08buys45

器件型号:TMS570LC4357

尊敬的 TI 支持:

我们愿意在 TMS570LC4357的 EMIF 接口上连接 Everspin 的 MRAM 组件。 考虑了两个选项:

方案1:2个8位 MR4A08BUYS45在16位 EMIF 上运行、总共提供4MB 的 MRAM

方案2:1个16位 MR4A16BUYS45在16位 EMIF 上运行、每个芯片选择通道仅提供2MB 的 MRAM (即总共3x2MB)

由于 MR4A16BUYS45提供可直接连接到 TMS570LC4357的 NCS、NOE、Nwe、nDQM 引脚的引脚、因此选项2的实现非常简单。

方案1的实施尚不清楚、但它会为应用程序提供更大的存储空间。 实际上、8位版本的 MR4A08BUYS45不提供任何能够专门连接到 TMS570LC4357的 nDQM 引脚的引脚。 构成16位数据接口的 MR4A08BUYS45的地址将连接在一起、从 EMIF_BA[1](连接到 A00)到 EMIF_ADDR[19](连接到 A20)。 Nwe 将连接到 NW、NOE 连接到 NG、NCS 连接到 NE。 但是 nDQM[0]和 nDQM[1]又如何呢? TMS570LC4357能否驱动连接在同一 NCS[2]上的2个 MR4A08BUYS45并将其用作一个16位存储器?

实现方案1的一个想法是将 nDQM[0]和 nDQM[1]用作芯片选择信号(而不是 TMS570的 NCS[4:2])、并将它们连接到 MR4A08BUYS45的相应 NE 引脚。 在这种情况下、由于 nDQM 在 NOE 和 Nwe 选通之前有效、因此从第818页开始的 SPUN563A 中描述的选择选通模式可能会执行该任务。 遗憾的是、不使用 NCS 信号会使设计无用、因为我们在 EMIF 上还安装了 SDRAM。

是否有人建议这种想法以及它如何能够很好地工作?

请注意、在此设计中、在信号之间添加逻辑功能(例如 NCS 和 nDQM 之间的门)不是一个选项。

8位 MR4A08BUYS45和16位 MR4A16BUYS45的数据表可通过以下链接获取: www.everspin.com/.../MR4A08BUYS45

此致

文森特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这一点正在研究中。 反馈将因假期而延迟。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Vincent、

    更好的方法是使用 OR 门(CS 和 DQM 信号)。 如果不能选择或门、请仅对两个器件使用1个 CS。 1个器件连接到 EMIF D[7:0];另1个器件连接到 EMIF D[15:8]。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 QJ。

    实际上、在该设计中、使用外部或门不是一个选项、 但是、我想知道是否可以简单地通过定义所有数据读取来完成此操作(实际上就是这种情况、因为 EMIF_nDQM 在读取命令期间始终处于活动状态)、并且必须严格地在16位上执行写入命令。 这可被定义为对 MRAM 的所有读写访问中的规则。 在此配置中、我们将精确使用您建议的连接。 您能否确认它可以通过这种方式定义、所有写入访问始终为16位并且不使用通过 nDQM 信号进行屏蔽(EMIF_nDQM[1:0]将不会被连接并在 MRAM 存储器中使用)?

    此致

    文森特

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

    是的、您可以这样使用。

    由于未使用 nDQM[1:0]、因此不能使用8位指针。 16位和32位指针应该正常。 假设您要写入异步 RAM 的第一个字和第二个字、您可以使用以下代码作为示例。

    *(uint16 *) 0x60000000 = 0x1234;//将16位值0x1234写入第一个位置。
    *(uint16 *) 0x60000002 = 0x5678;//将16位值0x5678写入第二个位置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、QJ Wang、

    非常感谢:这证实了我的期望并解决了问题。

    此致

    文森特