2020-10-30 02:51 AM
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.
confirmed that bit6 output is good, but confused why NWE goes low when excute Read opeation? could you give some help?
Best Regards,
JHL
2020-10-30 03:10 AM
Floating NWE, i.e. incorrectly initialized in GPIO, or write not enabled in FSMC?
JW