TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] TM4C129ENCPDT:EPI 刷新配置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/995271/tm4c129encpdt-epi-refresh-configuration

器件型号:TM4C129ENCPDT

您好(再次)

我正在连接8MB/64Mbit SDRAM, 希望有人能确认我对  传递给 EPIConfigSDRAMSet()的刷新计数器值的理解。

我有一个25MHz XTAL、并使用 PLL 生成120MHz 系统时钟频率。

我将分频器设置为1、使 EPI Clk =(120MHz/(((1 / 2)+ 1)* 2) = 40MHz 在文档中声明 分频器值1会导致 EPI 时钟速率为 系统时钟的一半40MHz!= 120MHz/2、但系统 时钟的三分之一。

使用40MHz 时、我会得到:

RFSH = 64000 / 4096 =  15.625 /  0.025 = 625

  因此,我对 EPIConfigSDRAMSet()的调用是:

MAP_EPIConfigSDRAMSet (EPI0_BASE、(EPI_SDRAM_CORE_FREQ_30_50 | EP_SDRAM_FUL_POWER | EPI_SDRAM_SIZE 64MBIT)、625);

但是、如果它是60MHz (120MHz/2)

RFSH = 64000 / 4096 =  15.625 /  0.016 = 937

我现在对  EPIConfigSDRAMSet()的调用是:

MAP_EPIConfigSDRAMSet (EPI0_BASE、(EPI_SDRAM_CORE_FREQ_50_100 | EPI_SDRAM_FUL_POWER | EPI_SDRAM_SIZE 64MBIT)、 937);

接口配置充分、我可以使用任一配置在整个 SDRAM 上运行 March 测试、这让我特别担心、因为警告"如果使用的数字大于允许的值、SDRAM 的刷新频率不够、数据丢失"。

谢谢、

HL

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

    TivaWare 文档(第11.2.2.11节)中的公式 有点令人困惑。 它使用整数除法、使1/2 = 0。 更清楚的是、如果写入:

    EPIClk =(分频器= 0)? SYSCLK:(SYSCLK /(((Divider >>1)+1) x 2))

    因此、如果在 系统时钟为120MHz 时调用 EPIDividerSet (EPI0_BASE、1)、EPI 时钟为60MHz。  

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

    当然! SMH。 感谢 Bob