Skip to main content
jhl14
Associate II
October 30, 2020
Question

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

  • October 30, 2020
  • 1 reply
  • 1619 views

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

This topic has been closed for replies.

1 reply

waclawek.jan
Super User
October 30, 2020

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

JW