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.

[参考译文] TMS570LS3137:TMS570LS3137:EMIF#39与异步 RAM 的连接上出现问题

Guru**** 2538950 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/899874/tms570ls3137-tms570ls3137-issue-on-emif-s-connection-with-asynchronous-ram

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

尊敬的 TI 专家:
背景:
(1)我们尝试使用16位 R/W 模式来连接异步 RAM 芯片(MR4A16B)、EMIF_BA[1]连接到 A0位;
(2)参考 TRM 图17-8 b 的硬件设计方框图;
(3) HALCOGEN:90MHz vclk3、16位、非页 R/W 模式、CS[2]、其他配置默认值;

调试中发现的问题:
当我们只将数据0x0102写入地址0x60000000时
我们发现:
地址:0x60000000~0x6000000F
;读取的数据:01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 01 02 02 02 02 02 02 01 02 2 M Ω

同时、在以下地址、我们读取了与以下相同的数据组:
0x60000100~0x6000010F、
0x60000200~0x6000020F、
0x60000300~0x6000030F、
0x60000400~0x6000040F、
0x60000500~0x6000050F、
0x60000600~0x6000060F、
0x60000700~0x6000070F

根据勘误表 EMIF #4版本 D (Literae2e.ti.com/.../4101.HAL1_5F00_CCS.zipture编号:SPNZ222B)、
区域5的配置为:起始地址"0x60000000",大小:64M,类型:STRONGLYORDER_sharedable。 Permission:PRIV_RW_USER_RW_EXEC。
我们尝试了所有其他类型的配置。 结果与上述结果相同。

根据上述描述和尝试、我们非常期待要求 TI 专家提供任何建议或想法。

任何类型的回复都很好!

我的电子邮件:zhat@sciyon.com

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

    您好、Ting、

    1.要正确地将数据写入 ASYS EMIF 存储器、必须使用 MPU 将存储器配置为器件类型或严格排序类型。

    2.请降低 EMIF 时钟速度。 EMIF 时钟是可配置的。 增加 VCLK3分频器将降低 EMIF 时钟频率。

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

    很抱歉、更新此问题的进度已延迟一段时间。

    1、严格排序是 R4-MPU-PMU 区5的默认配置;此外、我们更改了其他类型、 似乎没有影响。

    执行20M/45M/90m 中的 VCLK3 、也没有效率。

    此外、有关此调试的更多信息为:我们刚刚尝试 了单个16_bit 写入操作。CS[2]、OE、WE、UB、LB 和数据线看起来像按照时序波形工作(TMR 图17-11)、  

    但 EMIF_A/EMIF_BA 工作异常。 EMIF_BA[1]、EMIF_A0~EMIF_A2始终保持0、EMIF_A6~EMIF_A8始终保持1、EMIF_A3~EMIF_A5可根据需要执行高/低电平。

    附件图片是示波器的打印屏幕:CS[2]和其它控制信号。

    我的问题是:在异步 R/W 中,此 EMIF 应用程序是否有任何其他配置?  为什么某些地址位在卡滞 情况下看起来像?

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

    您好!

    已检查您的 HALCoGen 配置:

    1.您的存储器配置为8位而不是16位。 与16位 MR4A16B 不匹配。

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

    嗯,在 EMIF_CE2CFG 中,调试代码中的 ASIZE 修改为1 (可以在 IDE 寄存器的屏幕截图中看到)。

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

    好的、您手动修改了存储器宽度。 请检查 PCB 布局中的以下地址信号:

    EMIF_BA[1]、EMIF_A0、EMIF_A1和 EMIF_A2短接至 GND

    EMIF_A6、EMIF_A7和 EMIF_A8短接至3、3V

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

    我可以确认这些地址位未短接至 PCB 接线上的 GND 或 VCC。 当电源关闭时、到 VCC 的地址线约为8.4M 欧姆、到 GND 的地址线为高阻抗。 此外、与 N2HET 复用的引脚、当被配置为 N2HET 时、也可根据需要执行电平反转。 因此、我想知道这是否是与芯片勘误表 D、EMIF # 4类似的另一个异常

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

    您好、Ting、

    它与 EMIF#4无关、因为您对0x60000000存储器区域使用器件模式。

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

    您能否检查在器件初始化期间是否调用了 mpuInit()函数? 这不是由 HALCoGen 生成的启动序列自动完成的、需要手动调用。

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

    感谢您的回复、已在应用程序的初始化部分添加了_mpuInit_()和_mpuEnable_()。

    在数据写入之前类似如下:

    //……

    _mpuInit_();

     _mpuEnable_();

    EMIF_ASYNC1Init();

    while (1)

    //将数据写入0x6000000测试

    (笑声)

    //……

    此外、, 今天正在执行一个测试、目的是测试引脚是否在 NHET 应用中改变。 将 C4引脚配置为 NHET2 [11]功能(EMIF_ADDR [6]/ RTP_DATA_13 / HET2_11)。 仅当 PSL 被选为上拉电阻时、实际输出才可执行电平改变、并且在下拉电阻或未被选择时无法执行。 在我们的 EMIF 应用连接中、地址和数据线路中没有外部上拉/下拉。 这会影响吗?

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

    否、EMIF 地址信号不需要上拉或下拉。

    请检查 EMIF_FUNC 位(GPREG1的位31)是否被置位。 将该位置位是为了使能将被输出的 EMIF 函数。 此位不在其他器件中使用:TMS570LC43x、TMS570LS20x、  

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

    刚刚为您编写了测试异步存储器的测试案例:

    e2e.ti.com/.../5734.TMS570LS3137_5F00_SRAM_5F00_Ting.7z

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

    感谢你的答复。 EMIF_FUNC 位(GPREG1的位31)设置为1后、M-RAM 可以正常读取和写入。 由于所有专家都提出了建议,这一问题暂时得到解决并得到解决。