TMS320F28379D: EMIF模块

Part Number: TMS320F28379D

你好,我通过运行官方例程emfi_16bit_asram_cpu01,发现了一个问题。

在对28379D芯片中配置emif模块作为16位SRAM的功能验证中,发现emif模块的SDRAM_TR寄存器的T_RFC为没有按照数据手册中的复位值进行配置。

T_RFC(31-27)手册中复位值为3h,该复位值应从哪一位开始计算?若从27位,则复位值为0x00011;若从28位,复位值为0x00110,为6h,在我的实际测试中发现是从28位开始的。

  • 您好,

    已经收到了您的案例,调查需要些时间,感谢您的耐心等待

  • 我没有看到任何关于低位被丢弃的注释,所以它应该从27开始。文档、CCS和器件寄存器来自同一来源,因此我认为寄存器描述是正确的。你如何评价它从28岁开始?

  • 在运行官方例程emfi_16bit_asram_cpu01时,使EMIF处于SRAM模式,在CCS工程中也没有发现有关配置SDRAM_TR寄存器的指令,该寄存器是不是默认处于复位状态呢?若是处于复位状态,程序运行结果按寄存器描述得到的寄存器配置应为1921_4610;但实际运行CCS工程发现该寄存器配置为3121_4610,只有T_RFC(31-27)这一字段没有处于复位状态,因此我无法评判寄存器描述中从27位开始是否正确。

    所以需要CCS工程中对于SDRAM_TR寄存器的配置信息来证实这个寄存器描述是否正确。

  • 对,如果没有对该寄存器进行代码修改,它应该在复位值中。您也可以通过在代码的最开始设置一个断点,然后在初始化结束时设置另一个断点,并比较该位的寄存器来验证这一点。

    能否分享一些你说的寄存器以及个别寄存器值的CCS截图?这将有助于我理解你所看到的




  • 我将官方例程emfi_16bit_asram_cpu01运行一次,SDRAM_TR寄存器T_RFC位的变化情况如前三图所示,按照用户手册寄存器描述来看,该位正常值应为00011;但是在实际运行中,该位的值为00110。
    请问这是什么情况?

  • 感谢您提供的图片,这有助于澄清您看到的问题。让我在F2837和F2838器件上进行测试,以确认我的系统上的复位值。然后,我将与我们的设计团队确认,以了解复位值是否需要更改为6h,或者T_RFC位是否应该只占用4位

  • 好的,请尽快,谢谢