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.

[参考译文] 编译器/TMS320C6713B:16位 SDRAM 的接口

Guru**** 2563960 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/595295/compiler-tms320c6713b-interface-to-16-bit-sdram

器件型号:TMS320C6713B

工具/软件:TI C/C++编译器

您好!


我尝试在16位同步模式下将 TMS320C6713与外部 SDRAM 连接。 我已按如下方式配置 CE2

*(unsigned int*) EMIF_CE2 = 0x00000090 //EMIF_CE2是 CE2寄存器的地址。 
//根据数据表和 PLL 设置、其他寄存器设置太适当。

现在、如果我想写入 SDRAM、也就是前100个位置、我应该这样做:

#define SDRAM 0xA00000000 //CE2区域

无符号短整型 I;

对于(i =0;i<100;i++){
*(无符号短整型*)(SDRAM +I)= 0x55;
} 

1) 1)这是写入 SDRAM 的正确方式吗?? 它如何设置行和 cols 地址?

2) 2)当我从 SDRAM 读回时、我为所有区域(而不是前100个位置)提供0x55。

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

    您的标签包括 C6713 DSP 入门套件。 这是您使用的电路板、还是其他 TI 电路板、还是您自己的定制电路板?

    假设您使用 JTAG 通过 CCS v3.3 (标签)进行连接、通常会运行一个 GEL 脚本来初始化电路板。 这将包括初始化 EMIF 上的 SDRAM 接口。 EMIF SDRAM 逻辑将内部生成的地址转换为行和 cols。

    您尝试使用* EMIF_CE2=0x0090;语句设置哪些字段? 我喜欢在十六进制/二进制常量旁边添加注释、以指示各个字段和值的含义。

    您的 for 循环可以很好地写入 SDRAM。 我建议将"i"定义为"unsigned int"、因为 C67x 内核本身使用32位寄存器、实际上还需要做更多的工作来将临时变量的大小限制为16位。 编译器通常足够智能、能够识别"短整型"并不是真正需要的、但您可以直接使用"int"来控制优化。 假定 CE2从0xA0000000开始、分配正确完成。

    填充所有区域(区域是什么意思?) 不是 for 循环或赋值语句的结果。 尝试写入1个字并查看您得到的结果。 请在较高的地址尝试。 尝试写入0x55+I

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

    1) 1)我正在使用基于 TMS320C6713的定制板... 只是尝试一下。

    2) 2)我知道 GEL 文件、它只是为 dsk 上的16MB ram 初始化 EMIF。 我使用了这个脚本、或者在主程序中初始化它们。 我甚至在帖子中提到:

    //根据数据表和 PLL 设置、其他寄存器设置太适当。

    因此、在 GEL 文件中初始化它们不会产生任何好处... 我将如何将 GEL 刻录到 ROM 中。 我在主程序中对它们进行了初始化。

    3) 3)我正在将 MTYPE 文件配置为16位 SDRAM。 我不认为其他字段在 SDRAM 配置中很重要。 它们是吗? 它们均未使用。

    4) 4)地址如何转换为行和列? 它是什么样的

    SDRAM 阵列
    _________________________________
    | 1 | 2 | 3. |
    ------------
    | 4 | 5 | 6. |
    ------------
    | 7 | 8 | 9 |
    ------------

    至:

    _________
    1
    _________
    2.
    _________
    3.
    ----
    (笑声)

    _________
    9.
    ----

    5)*(unsigned int *) base_address_for_RAM_CE2:这将读取两个单元格,因为 DSP 在读取写入期间读取32位,而连接的 RAM 是16位 SDRAM。

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

    Amimal、

    1.要验证您的设计、请使用 GEL 文件并检查 SDRAM 接口在您的定制板上是否工作正常。
    2.您可能需要根据设计验证所有 SDRAM 配置和 SDRAM 时序参数是否正确。
    3.有关逻辑地址映射的详细信息,请参阅图3-7。 以下用户指南中32位逻辑地址的逻辑地址到页寄存器映射。
    www.ti.com/.../spru266e.pdf

    此致、
    SENTHIL

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1) 1)如果我在 main 函数(正如我所做的那样)而非 GEL 文件中配置和检查 SDRAM、会有什么不同????
    2) 2)我已经根据 SDRAM 数据表配置了所有寄存器。
    3) 3)我已经阅读了 spru266e、但仍然很感谢、因为我没有看到图3-7。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Amimal、

    [引用 user="aimal Khan]1)如果我在 main 函数(正如我所做的那样)中配置和检查 SDRAM 而不是 GEL 文件,会有什么不同??

    最后、您必须在程序代码中执行初始化。 出于调试目的、GEL 文件是完成它的最简单方法。 GEL 文件已由 TI 测试、因此、如果需要更改特定 SDRAM 器件的参数、您只需更改这些参数即可。

    2) 2)我已经根据 SDRAM 数据表配置了所有寄存器。[/quot]

    您在评论中也作了这一发言、但这不能让我们帮助您、因为您设置了错误、并且您没有显示您所做的事情。 如果您要使用/修改 GEL、那么我们至少知道您从什么开始。

    [引用用户="aimal Khan ]3)我已经阅读了 spru266e,但仍然感谢,因为我没有看图3-7。[/引用]

    您是否查看了第3.4.4节? 您需要阅读并理解并应用第3.4节的所有内容。

    您是否使用第3.4节所示的不同连接来设计您的定制板? 或者您是否遵循了 DSK 原理图、等等?

    您有寄存器配置错误或电路板设计错误。 如果没有你的帮助,我们就不能分辨它是什么。 我已经提出了测试建议、这些测试的结果可以帮助我们找出问题所在。 如果您的电路板设计有误、我们可以尝试帮助您确定是否存在这种情况。 因此、请遵循一些建议和建议、以便我们可以帮助您继续。

    此致、
    RandyP

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

    我明白你的观点。 还有一件事... 访问16位 SDRAM 的正确方法是什么??

    x =*(unsigned int *) 0xADDRESS;



    x =*(无符号短整型*) 0xADDRESS;

    如 spru266e (www.ti.com/.../spru266e.pdf)中的表3-4所示、行地址转到位25。 因此、通过执行无符号短整型、地址将被截断为16位??

    奇怪的是、当我使用第二种方法时、它部分起作用、但第一种方法根本不起作用。 那么、访问16位同步 SDRAM 的正确方法是什么???

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

    这两个值都是正确的、但这取决于'x'的声明。 这是一个 C 问题、而不是硬件问题。

    EMIF 上存储器器件的宽度与为任一赋值语句返回的数据值无关。

    EMIF 参考指南提供了大量有关如何在物理器件和内部处理器指令访问之间进行转换的信息。 对于您提出的问题类型、我认为您从阅读封面到封面了解它所持有的信息中受益匪浅。

    此致、
    RandyP