This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28388S: MX25L25645G SPI – MISO goes low right after 0x90 instead of staying High-Z until dummy bytes

Part Number: TMS320F28388S


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):

  1. Pull CS# low

  2. Send 0x90 (REMS opcode)

  3. Send two dummy bytes

  4. Send one address byte (0x00 for Manufacturer ID first, 0x01 for Device ID first)

  5. 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!

  • Hi Ninad,

    The PICO and POCI behavior is deterministic in between transactions. The following diagram explains this behavior, we're working on updating the TRM with this information as well:

    Mode

    Controller / Peripheral

    Signal

    Design Behavior

    Phase = 0 &

    Polarity = 0 or 1

    Controller

    PICO

    Reflects SPIDAT[0] written for transfer out via PICO

    Peripheral

    POCI

    Reflects SPIDAT[0] written for transfer out via POCI

    Phase = 1 &

    Polarity = 0 or 1

    Controller

    PICO

    Reflects SPIDAT[15] received via POCI

    Peripheral

    POCI

    Reflects SPIDAT[15] received via PICO

    Best Regards,

    Aishwarya