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.

[参考译文] TMS320F28379D:配置 emif1以使用更少的引脚访问 SDRAM 器件

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1324779/tms320f28379d-configure-emif1-to-access-sdram-device-using-less-pins

器件型号:TMS320F28379D

由于使用的是大多数处理器引脚、我的公司选择不将 EM1A11和 EM1A10引脚连接到 SDRAM、因为这只会牺牲一些地址(处理器将这些引脚用于 SPI 接口)。 但现在、通过阅读文档、我发现 EM1A10引脚具有与前置命令相关的特定功能。 是否可以在不使用这些引脚的情况下与 SDRAM 存储器进行通信? 在本例中、EMIF 寄存器的配置是什么样的?

正在使用 SDRAM:AS4C8M32S-6TIN 256Mbits x 16位 x 4组

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

    您好 Clecio:

    看到 您提到的 SDRAM 的数据表中使用了 PRE、似乎有必要、但我会与另一位专家确认、以确保并看看如果没有该引脚会产生什么影响。

    [quote userid="594567" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1324779/tms320f28379d-configure-emif1-to-access-sdram-device-using-less-pins 这样、EMIF 寄存器的配置在这种情况下是什么样的?

    您能更具体地说明一下您讨论的是哪些寄存器吗? 请列出您有具体问题的 EMIF 或 EMIF 配置寄存器。

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

    你好,Omer。 感谢您的支持。

    我对寄存器 CR (SDRAM_CR)的配置更感兴趣。 通常、对于该 SDRAM、我会按如下方式进行配置:

    Fullscreen
    1
    2
    // IBANK=2 (4 banks), PAGESIZE=1 (512 words 9 column address bits), CL=3, NM=0 (32 bits)
    Emif1Regs.SDRAM_CR.all = 0x00000721;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    但是、在不使用   EM1A11和 EM1A10引脚的情况下、应如何配置此寄存器?

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

    尊敬的 Clecio:

    当没有使用的地址行时、我认为寄存器的配置不会有任何变化、但是、只要你使用 EMIF 访问存储器、你就需要注意你有有限的地址访问、 这样、您就不会意外地在地址引脚不可用时尝试使用它们。 这更多地是一种软件实现、确保不会针对可用的地址线尝试访问存储器越界。

    此外,关于你的问题的预命令,由于我们的主要专家在网上发现这篇文章解释了预充电的使用,它看起来确实是必要的(至少从我的理解,但你可以看到这些是否适用于您的使用案例):

    https://www.anandtech.com/show/3851/everything-you-always-wanted-to-know-about-sdram-memory-but-were-afraid-to-ask/3

    https://electronics.stackexchange.com/questions/246835/what-is-the-need-for-precharging-in-sram-dram-memory-cell

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

    尊敬的 Clecio:

    1. SDRAM 被分成多个存储体、存储体再进一步细分为页。 一次只能打开每个组一个页面。 如果特定组中的某个页面已打开、则在不关闭当前打开的页面的情况下、您无法打开同一组中的其他页面。 EMIF 控制器可以发出 PRE 命令来关闭指定组中的 OPEN 页(或 OPEN 行)或同时关闭所有组中的 OPEN 行。  A10确定是要对一个组还是所有组进行预充电。 如何连接 SDRAM 器件的 A10引脚?   

    2.在 ACTV 命令期间采样行地址(A10和 A11)以选择行、而 A0~A8 (A10定义了自动预充电)定义起始列地址并向 SDRAM 存储器发出信号以开始红色或写入操作。 如果 A10和 A11未连接、EMIF 控制器如何选择没有行地址的页?

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

    你(们)好。

    这些文章是非常有趣的,我同意你,似乎需要预充电。

    谢谢。

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

    您好、Wang。

    SDRAM IC 的引脚 A10和 A11均接地。

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

    尊敬的 Clecio:

    您仍然可以使用空间有限的 SDRAM (A10=A11=0)。 禁用自动刷新(A10=0)、只有所选存储体的第0行(A10=A11=0)可以进行预充电、激活、读取和写入。

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

    您好、Wang。 真是个好消息。 但我不明白的是如何配置 EMIF 驱动程序、这样我就能按照您建议的方式使用它。  寄存器 CR (SDRAM_CR)的配置方式与此相同? 是否需要更改任何其他寄存器的配置? 如何确保驱动器的引脚 A10 和 A11始终处于低电平? 是通过限制使用的地址来实现的吗?

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

    尊敬的 Clecio:

     寄存器 CR (SDRAM_CR)的配置方式是否相同?

    组数和页大小相同。

    是否有任何其他寄存器需要更改其配置?

    我不这么认为。

    以及如何确保该驱动程序的引脚 A10 和 A11始终处于低电平?

    若要使用整个存储器范围、可以使用多路复用器将 A10和 A11路由到不同的器件(AS4C8M32S-6等)、并使用 GPIO 选择器件。   

    是否通过限制使用的地址?

    如果 A10=A11=0、则只能使用有限的存储器范围。

x 出现错误。请重试或与管理员联系。