工程师您好:
关于28075扩展SDRAM的例程emif1_16bit_sdram_dma.c
时钟配置好像有些问题,代码如下,由于28075的CPU时钟配置的是120MHz,那么根据例程代码,EMIF1CLK应是60MHz
但是例程代码配置SDRAM时序的时候好像不是按照60MHz来计算的,60MHz的周期是16.66ns
例如 //T_RFC = 60ns = 0x6 如果按照16.66ns计算,那么应该配置0x3, 但是例程确是0x6
例程代码如下:
//
//Configure to run EMIF1 on half Rate (EMIF1CLK = CPU1SYSCLK/2)
//
EALLOW;
ClkCfgRegs.PERCLKDIVSEL.bit.EMIF1CLKDIV = 0x1;
EDIS;
//
//Configure SDRAM control registers
//
// Need to be programmed based on SDRAM Data-Sheet.
//T_RFC = 60ns = 0x6
//T_RP = 18ns = 0x1
//T_RCD = 18ns = 0x1
//T_WR = 1CLK + 6 ns = 0x1
//T_RAS = 42ns = 0x4
//T_RC = 60ns = 0x6
//T_RRD = 12ns = 0x1
//
是不是例程写错了? 谢谢!
祝好心情!
Green Deng:
T_RFC 的值是来自SDRAM的Data-Sheet的