Strange delay on QSPI using 4 data lines
Hi all,
Currently i'm reading and writing to external flash using the QSPI peripheral. All data i write is received correctly but there seems to be a "unnecessary" delay in both writing and reading QSPI.
Sequence start with command 0x34 (page program)
Followed by 32bits of address
So far so good. Then it starts transmitting data using 4 lines. Here a delay is introduced between every set of 2 clock cycles (see attached picture). Does anyone know where this delay comes from or how i can solve it?
Kind regards,
Taxara
QSPI_CommandTypeDef command;
command.InstructionMode = QSPI_INSTRUCTION_1_LINE;
command.Instruction = 0x34;
command.AddressSize = QSPI_ADDRESS_32_BITS;
command.AddressMode = QSPI_ADDRESS_1_LINE;
command.Address = address;
command.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE;
command.AlternateBytes = QSPI_ALTERNATE_BYTES_NONE;
command.AlternateBytesSize = QSPI_ALTERNATE_BYTES_NONE;
command.DummyCycles = 0;
command.DataMode = QSPI_DATA_4_LINES;
command.NbData = 256;
command.DdrMode = QSPI_DDR_MODE_DISABLE;
command.SIOOMode = QSPI_SIOO_INST_EVERY_CMD;
if (HAL_QSPI_Command(&hqspi, &command, HAL_QSPI_TIMEOUT_DEFAULT_VALUE)
!= HAL_OK)
return QSPI_ERR;
if (HAL_QSPI_Transmit(&hqspi, buf, HAL_QSPI_TIMEOUT_DEFAULT_VALUE)
!= HAL_OK)
return QSPI_ERR;
