cancel
Showing results for 
Search instead for 
Did you mean: 

FSMC_NOE and FSMC_NWE confliction with FSMC external NOR/SRAM read operation

jhl14
Associate II

Hi Team,

STM32F407 running on STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 with the following init configuration,

void USBFIFO_FSMCConfig(void)

{

FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;

FSMC_NORSRAMTimingInitTypeDef p;

p.FSMC_AddressSetupTime = 0X00;//0

 p.FSMC_AddressHoldTime = 0X00;//0

 p.FSMC_DataSetupTime =0X5;//1

 p.FSMC_BusTurnAroundDuration = 0X01;

 p.FSMC_CLKDivision = 0X00;

 p.FSMC_DataLatency = 0X00;//0

 p.FSMC_AccessMode = FSMC_AccessMode_A;  

//NE2

FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2;

FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;

FSMC_NORSRAMInitStructure.FSMC_MemoryType =FSMC_MemoryType_SRAM ;//;  FSMC_MemoryType_NOR

FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b;

FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;

FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;

FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;

FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;

FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;

FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;

FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;

FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;

FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;

FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;

FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);

// enalbe NE2

FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM2, ENABLE);

}

and the following read command,

FT_Data_In[Counter_Fifo_Read] = FIFO_FSMC->Read; // FIFO_FSMC->Read = 0x64000000(address)

got the following wave of NOE, NWE and bit 6 of 8bit width data bus.

0693W0000059qVOQAY.png​confirmed that bit6 output is good, but confused why NWE goes low when excute Read opeation? could you give some help?

Best Regards,

JHL

1 REPLY 1

Floating NWE, i.e. incorrectly initialized in GPIO, or write not enabled in FSMC?

JW