TI中文支持网
TI专业的中文技术问题搜集分享网站

c6455 EMIFA接口问题

最近在用dspc6455 的emifa接口与fpga之间进行数据传输,现在遇到一些问题,

配置代码如下:

{
EMIFA_CE2CFG = 0x00240120;
EMIFA_CE3CFG = 0x00240120;
EMIFA_CE4CFG = 0x80000106;
EMIFA_BPRIO = 0x000000FE;
printf("emif init end\n");
}

PLL的配置是50M*20/10 = 100M

#define EMIFA_CE4_BASE_ADDR    (0xC0000000u)

Uint32 *pSyncData = (Uint32 *)EMIFA_CE4_BASE_ADDR;
void read_emif()
{

printf("\tInfo: Sync read write \n"); for(time_cnt = 0;time_cnt < 65530; time_cnt ++)
{
delay_123();
for (index = 0; index < 6; index++)
{
read_data[index] = pSyncData[index];
}
}
printf("ends \n");
}

读emifa 端口上的数据我们用的是一个for循环去做的测试

每次读6个数据,delay 10us左右

波形如下图所示:

在正常情况下,CE2和OE信号应该保持低电平直到一次传输完毕,而上图显示的情况则是每发送一次传输就会停顿,感觉像是异步的读数据,但是我们配置的是同步模式。应该是读完6次数据 ce和oe才会拉高。

有几个问题,首先是不是for循环对EMIFA的时序产生了影响,用edma搬移数据这个现象会不会没有

Binggao Ji:

使用CPU读写不是连续的,使用EDMA是连续的,因为EDMA有突发读写模式,CE信号不会间断。

lieying fan:

回复 Binggao Ji:

emif的资料在哪里?

noaming:

回复 lieying fan:

http://www.ti.com/product/TMS320C6455/technicaldocuments

TMS320C645x DSP External Memory Interface (EMIF) User's Guide (Rev. E)

赞(0)
未经允许不得转载:TI中文支持网 » c6455 EMIFA接口问题
分享到: 更多 (0)