Tool/software:
Hi,
I’m using a TI MCU with the following SPIA pin configuration:
-
GPIO32 → SPIA SIMO (output)
-
GPIO33 → SPIA SOMI (input)
-
GPIO34 → SPIA CLK (output)
-
GPIO35 → GPIO output for manual CS# control (set high initially)
Pull-ups and asynchronous qualification are configured, and CS# is driven low/high manually.
I’m testing the REMS (0x90) command on a Macronix MX25L25645G flash to read Manufacturer and Device IDs.
Expected sequence (per datasheet):
-
Pull CS# low
-
Send
0x90(REMS opcode) -
Send two dummy bytes
-
Send one address byte (
0x00for Manufacturer ID first,0x01for Device ID first) -
Flash should keep MISO in High-Z until after dummy + address bytes, then send IDs.
What I see in my logic analyzer capture:
-
MOSI is correct:
0x90 0x00 0x00 0x01 -
Right after sending
0x90, MISO is immediately driven low instead of staying High-Z. -
The data returned is
0x00 0x00 ...instead of the Manufacturer/Device IDs.
I’m running in SPI Mode 0, wiring is verified, and I’m controlling CS# manually through GPIO35.
Questions:
-
Is there a reason this flash wouldn’t keep MISO in High-Z during the dummy bytes?
-
Could this be caused by timing between CS# low and the first byte, or between bytes?
-
Do I need to wake the flash from deep power-down before sending REMS?
Logic analyzer screenshots + datasheet excerpt are attached for reference.
Thanks!


