我现在C6748的EMIFA口配置如下:
//Set async mode as normal mode
EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_5, EMIFA_ASYNC_INTERFACE_NORMAL_MODE);
//Disable the wait pin
EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_5,EMIFA_EXTENDED_WAIT_DISABLE);
//Timing config
EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_5,
EMIFA_ASYNC_WAITTIME_CONFIG(1,2,1,1,2,1,0));
//Width config
EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_5,EMIFA_DATA_BUSWITTH_16BIT);
EMIFA_ASYNC_WAITTIME_CONFIG(1,2,1,1,2,1,0)
”不论怎么设置,“
EMIFA_ASYNC_WAITTIME_CONFIG(0,0,0,0,0,0,0)
”,
EMIFA_ASYNC_WAITTIME_CONFIG(15,63,7,15,63,7,3)
”,从示波器量出来的CS信号和WE信号宽窄没有任何变化,EMIFA口始终
Tony Tang:
EMIFA_ASYNC_WAITTIME_CONFIG()这个函数的原型?配置了什么寄存器?
user1317437:
回复 Tony Tang:
void EMIFAWaitTimingConfig(unsigned int baseAddr,unsigned int CSNum, unsigned int conf){
switch(CSNum)
{
case EMIFA_CHIP_SELECT_2:
HWREG(baseAddr + EMIFA_CE2CFG) |= conf;
break;
case EMIFA_CHIP_SELECT_3: HWREG(baseAddr + EMIFA_CE3CFG) |= conf; break; case EMIFA_CHIP_SELECT_4: HWREG(baseAddr + EMIFA_CE4CFG) |= conf; break; case EMIFA_CHIP_SELECT_5: HWREG(baseAddr + EMIFA_CE5CFG) |= conf; break; default: break; }}
#define EMIFA_ASYNC_WAITTIME_CONFIG(wset, wstb, whld, rset, rstb, rhld, ta ) ((unsigned int) \ ((wset << EMIFA_CE2CFG_W_SETUP_SHIFT) & EMIFA_CE2CFG_W_SETUP) | \ ((wstb << EMIFA_CE2CFG_W_STROBE_SHIFT) & EMIFA_CE2CFG_W_STROBE) | \ ((whld << EMIFA_CE2CFG_W_HOLD_SHIFT) & EMIFA_CE2CFG_W_HOLD) | \ ((rset << EMIFA_CE2CFG_R_SETUP_SHIFT) & EMIFA_CE2CFG_R_SETUP) | \ ((rstb << EMIFA_CE2CFG_R_STROBE_SHIFT) & EMIFA_CE2CFG_R_STROBE) | \ ((rhld << EMIFA_CE2CFG_R_HOLD_SHIFT) & EMIFA_CE2CFG_R_HOLD) | \ ((ta << EMIFA_CE2CFG_TA_SHIFT) & EMIFA_CE2CFG_TA))
user1317437:
回复 Tony Tang:
是在StartWare中的emifa.h中定义的
Tony Tang:
回复 user1317437:
上面配置的是CS5的时序,而实际测量是访问的什么地址,把CE2CFG-CE5CFG几个寄存器的值是多少?
要么是你配错寄存了,要么是你测量时访问的地址不对。
user1317437:
回复 Tony Tang:
我只配置了CE5,其他的都没有动。访问地址:0x66000000
user1317437:
回复 Tony Tang:
请确认地址0x66000000正确吗?除了地址,还有什么可能影响速度设置的地方?谢谢!
Tony Tang:
回复 user1317437:
CS5地址没有问题。检查你的配置,CE5cfg是否配置成功了。还有仔细看一下前后WE,CS宽度的对比。
这个你直接在CCS里改变CE5CFG寄存器的值就可以直接看到示波上波形变化的。
这是无数个人都验证过的。
还有下面这个贴子可以看一下。