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

F28379的EMIF无法向FPGA传送数据

用F28379的EMIF向FPGA传数据,程序如下:

FLUSHSECTOR = 1;
DAB = 255;

其中,FLUSHSECTOR和DAB分别为地址*(Uint16 *)0x0010001E和*(Uint16 *)0x00100004。FPGA输出两个信号,用来观察数据传输是否正确。如下图所示

其中黑色实线用来判断数据线EM1D上是否为255,红色虚线为接收到的DAB地址使能信号。根据上面的程序,DAB地址线使能时,EM1D上的数据应为255,但实际结果却是DAB为高时,EM1D的数据要过较长实际才能变为255,这导致FPGA收到的数据不正确。

调了2天了,还是没找到问题的解决办法,确定不是FPGA的问题。

下面是EMIF的配置,麻烦TI的工程师看一下。

ClkCfgRegs.PERCLKDIVSEL.bit.EMIF1CLKDIV = 0;//EMIF时钟为200MHzEmif1Regs.ASYNC_CS2_CR.bit.ASIZE = 1; //16位模式Emif1Regs.ASYNC_CS2_CR.bit.TA = 0;Emif1Regs.ASYNC_CS2_CR.bit.R_HOLD = 0;//1个保持周期Emif1Regs.ASYNC_CS2_CR.bit.R_STROBE = 1; //2个建立周期Emif1Regs.ASYNC_CS2_CR.bit.R_SETUP = 0;  //1个建立周期Emif1Regs.ASYNC_CS2_CR.bit.W_HOLD = 0;//1个保持周期Emif1Regs.ASYNC_CS2_CR.bit.W_STROBE = 1; //2个建立周期Emif1Regs.ASYNC_CS2_CR.bit.W_SETUP = 0;  //1个建立周期Emif1Regs.ASYNC_CS2_CR.bit.EW = 0; //禁止等待Emif1Regs.ASYNC_CS2_CR.bit.SS = 0;  //禁止Strobe Mode

user1916977:

解决问题了,是GPIO口设置的问题。EM1D对应的GPIO千万别设置成集电极开路。。。

赞(0)
未经允许不得转载:TI中文支持网 » F28379的EMIF无法向FPGA传送数据
分享到: 更多 (0)