各位大虾,这两天调试的时候碰到关于LPC1788的DMA问题,想请教一下:
我使用LPC1788,外扩了2片32M的SDRAm
另外将一块FPGA挂载在总线上了,并配置成16位的宽度
配置为:
LPC_EMC->StaticConfig1 = 0x00000081; // 16λ¿í¶È
LPC_EMC->StaticWaitWen1 = 0x3;
LPC_EMC->StaticWaitOen1 = 0x3;
LPC_EMC->StaticWaitRd1 = 0x8;
LPC_EMC->StaticWaitPage1 = 0xf;
LPC_EMC->StaticWaitWr1 = 0x8;
LPC_EMC->StaticWaitTurn1 = 0xf;
现在我需要往FPGA传送大批量的数据,目前是使用直接赋值:
data_prt1 = (INT32U *)PT_DATA_BUFF1_START_ADDR; //sdram的地址
for(i=0; i<400; i++)
{
temp_data = *(data_prt1++);
*((INT32U *)(FPGA_BASE_ADDR)) = temp_data; //FPGA的地址 外部静态存储器
}
我想问的是:如果采用DMA方式能提升数据写入FPGA的速度么??
传送这400个字的时间消耗,应该只和静态存储器的时序配置有关系吧,与是否使用DMA应该无关吧??
|