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.

[参考译文] TMS320F28377S:微控制器 TMS320F28377S 以及与 SDRAM 的通信

Guru**** 2448780 points
Other Parts Discussed in Thread: TMS320F28377S, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/686973/tms320f28377s-microcontroller-tms320f28377s-and-communication-with-sdram

器件型号:TMS320F28377S
主题中讨论的其他器件: C2000WARE

您好!

我有一个 TMS320F28377S 微控制器和一个64Mbit SDRAM (IS42S16400J-7TLI)。
我通过 EMIF 接口将 SDRAM 连接到微控制器。
此时、我将尝试写入一个1000个数字(0-999)的序列。
事实证明、当我从 SDRAM 中读取数据时、数据不会正确显示。

附加:
- SDRAM 和微控制器的电气配置(setup.pdf)
-从 SDRAM 发送和收集的数据序列(data.txt)

您有解决我的问题的方法吗?

您好!
Carlos Martins

e2e.ti.com/.../setup.pdfe2e.ti.com/.../data.txt

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

    卡洛斯、

    您可能有一个错误的 EMIF 设置。  C2000Ware 中有一个电子表格工具、您可以使用它来仔细检查配置 :\C2000Ware_XXXX\boards\TIDesigns\F28379D_EMIF_DC\C2000-EMIF_ConfigurationTool.xlsx

    它应该是显而易见的、但是在这个 EMIF 应用报告中有一些澄清

    Tommy

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

    你好 Tommy

    感谢您的建议。

    我已经使用 C2000-EMIF_ConfigurationTool.xlsx 文件为 SDRAM/IS42S16400J-7TLI 配置了 EMIF 接口。

    但是,问题仍然存在。 这次我进行了两次测试。


    测试1:
    我为 SDRAM 写入了1000个连续值、然后读取 SDRAM 位置(文件 data0.txt 和 TestSDRAM.txt)

    测试2:
    Escrevi 始终为 SDRAM 值"55"1000次、然后回读(文件 data1.txt)

    查看 data0.txt 和 data1.txt 文件、当我为 SDRAM 写入不同的值时、我无法从 SDRAM 正确读取数据。 另一方面、当我为 SDRAM 写入相同的值时、我可以正确读取 SDRAM。

    此问题是否与写入/读取例程或初始地址选择相关?

    您好!

    Carlos Martins

    e2e.ti.com/.../data0.txte2e.ti.com/.../data1.txte2e.ti.com/.../TestSDRAM.txt

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

    我看到您正在使用 addr32_write_uint16 ()和 addr32_read_uint16 ()进行写入和读取。 这些自定义函数是什么?

    您是否尝试使用 CCS 中的存储器浏览器查看 SDRAM 存储器空间? 您是否能够通过浏览器修改内容?

    您能否确认寄存器中的 SDRAM_CR 设置是否正确? 我注意到您在写入寄存器值时没有设置 BIT_11_9_LOCK 位。 这一点并不重要、因为您使用的是 CL 的默认值、但最好进行验证。

    您还可以尝试减慢 SDRAM 时序和/或减少 SYSCLK 以查看行为是否发生变化。 如果是、则可能存在时序灵敏度。

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

    你好 Tommy

    我已经解决了我的问题。 I'am 尚未启用 EM1A12引脚。
    正确启用所有引脚后、问题已得到解决。

    感谢您的建议。

    您好!
    Carlos Martins

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

    尊敬的 Carlos:

    您是否 使用 pinmux 工具 进行信号分配? 这是一款用于信号分配的实用工具、专用于具有多个信号的 EMIF 等模块。

    此致、

    Vivek Singh

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

    您好、Vivek Singh、

    引脚多路复用功能工作正常。 但是、我已经为我的案例创建了一个特定的函数。

    您好!

    Carlos Martins