What are the SPI Timing Requirements for the Aardvark I2C/SPI Host Adapter to Communicate Properly with an SPI Slave Device?

Question from the Customer:

I am using the Aardvark I2C/SPI Host Adapter in SPI/GPIO mode as a slave. I set up a MISO message in the Control Center software (I’m using Windows), and the transaction log indicates that the MISO data is written on the bus.

MISO Data, SPI GPIO Figure 1: MISO Data

However, when I use a scope on the SPI lines, the MISO line seems to echo back the MOSI data with a one byte delay instead of the preset MISO message.

Echoed Delayed Data Figure 2: Echoed Delayed Data

What can I do to fix this delay? This is my setup:

  • I am using the Aardvark adapter with the Control Center Serial Software
  • The settings are clock/phase mode 0, bit order MSB
  • The master is driving the bus at 1500kHz

Response from Technical Support:

Thanks for your question! Most likely, the target system (SPI master) is not set up to match the Aardvark SPI timing requirements. For details about the SPI timing characteristics, please refer to section 2.4 of the Aardvark I2C/SPI Host Adapter User Manual.

SPI Byte Required Timing Characteristics Figure 3: SPI Timing Characteristics

You must modify the target system, the SPI master, to match the timing requirements for the Aardvark adapter. For correct transmission from the SPI slave to the SPI master, there must be a minimum 4 µs delay between the end of byte n and the start of byte n+1.  This enables the MISO data to set up properly for byte n+1.

If the target system (SPI master) does not follow these requirements, then the slave Aardvark adapter does not send the required data to the SPI master through the MISO line. Instead, the Aardvark SPI slave sends some of the MOSI data it just received through the MOSI line to the SPI master.

Here are some additional resources that you may find helpful include the following:

We hope this answers your question. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.

Leave a Reply