This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于采用异步EMIFA与FPGA通信方式的问题

请问,我在DSP端配置好异步EMIFA接口,采用oe we clk cs2 这几个信号,和地址、数据总线与fpga连接,DSP配置如下:
DEVICE_LPSCTransition(PSCNUM0, LPSC_EMIFA, PD0, PSC_ENABLE);
//
//    // Set PINMUX for EMIF use
    DEVICE_pinmuxControl(6 ,0x0000000F,0x00000001);  // EMA_CLK
    DEVICE_pinmuxControl(7 ,0xF0FF000F,0x10110001); // nEMA_WE, nEMA_OE, nEMA_CS[2]
    DEVICE_pinmuxControl(8 ,0xFFFFFFFF,0x11111111); // EMA_D[15:8]
    DEVICE_pinmuxControl(9 ,0xFFFFFFFF,0x11111111); // EMA_D[7:0]
    DEVICE_pinmuxControl(11,0xFFFFFFFF,0x11111111); // EMA_A[15..8]
    DEVICE_pinmuxControl(12,0xFFFFFFFF,0x11111111); // EMA_A[7..0]

    //Set async mode as normal mode
    EMIFAAsyncDevOpModeSelect(SOC_EMIFA_0_REGS, EMIFA_CHIP_SELECT_2, EMIFA_ASYNC_INTERFACE_NORMAL_MODE);

    //Disable the wait pin
    EMIFAExtendedWaitConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2,EMIFA_EXTENDED_WAIT_DISABLE);

    //Timing config
    EMIFAWaitTimingConfig(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2,
    						EMIFA_ASYNC_WAITTIME_CONFIG(1,2,1,1,2,1,0));

    //Width config
    EMIFAAsyncDevDataBusWidthSelect(SOC_EMIFA_0_REGS,EMIFA_CHIP_SELECT_2,EMIFA_DATA_BUSWITTH_16BIT);

 程序主循环
while(1)
	{


		HWREG(SOC_EMIFA_CS2_ADDR+emifa_cs2_offset) = emifa_cs2_offset * 2;
		Delay(0x000000f);
		emifa_read = HWREG(SOC_EMIFA_CS2_ADDR+emifa_cs2_offset) ;	// read a data;
		Delay(0x000000f);

		if(emifa_cs2_offset++ >= 1023)
			emifa_cs2_offset = 0;
	}

现在产生的问题是,每一个读写周期中,CS片选拉低的时间内,读写操作分别会产生2个oe和we信号,并且第一个we有效时,数据总线是正确的,但是第二个we信号,总线数据是0。请问这是怎么回事,是不是我哪里配置错了