What is the Best Tool to Emulate an SPI Slave to Quickly Transfer Data and Store MISO Bytes Internally?

Question from the Customer:

I need to run some tests with a new SPI device using a host adapter as an SPI slave to transfer data files to an SPI master. Will you please suggest which Total Phase tools I could use? Here are some additional questions:

  • Do you have code examples or application software for using the host adapter as an SPI slave to transmit a data file to an SPI master?
  • What is the internal buffer size of the adapter (you suggest) to store MISO bytes?
  • What is the maximum clock rate when operating as a slave?

Response from Technical Support:

Thanks for your questions! Total Phase offers a couple of products to help with your project. The Cheetah SPI Host Adapter is a fast device, but it does not operate in slave mode. The Aardvark I2C/SPI Host Adapter can operate both as an SPI master and slave device.  However, it is limited to 64 byte response which is probably not large enough to transmit your file.

For your application we recommend the Promira Serial Platform; its advanced features are more effective for a wider range of tests.

Promira Serial Platform supports SPI slave/master Aardvark I2C/SPI Host Adapter

Figure 1: Promira Serial Platform

Figure 2: Aardvark I2C/SPI Host Adapter

The Promira platform is an advanced serial device.  It can support SPI slave speeds up to 20 MHz with a response buffer size 256 bytes, several times larger than the Aardvark adapter.

The current release of the Promira platform supports I2C Active – Levels 1 and 2, and SPI Active – Levels 1, 2, and 3 as well as eSPI Analysis Applications. Following is a summary of the Promira platform features:

  • Active communication on the bus:
    • I2C master up to 3.4 MHz
    • I2C slave up to 3.4 MHz
    • SPI Single/Dual/Quad I/0
    • SPI master up to 80 MHz
    • SPI slave up to 20 MHz
  • Logic level shifting 0.9 V – 3.3 V
  • USB 2.0/Ethernet connectivity.
  • The I2C/SPI slave response size is 256 bytes.
  • The I2C/SPI buffer receiver size is 2 Mbytes.

Write/read  capabilities for I2C/SPI data with the Promira platform are easy using Total Phase’s Control Center Serial Software, Flash Center Software, and Promira Software API. Both Control Center Serial Software and Flash Center Software can be used with the Aardvark adapter. The Aardvark adapter has its own API.

For comparison - the Aardvark adapter is a general purpose device that supports master and slave modes for I2C and SPI. The Aardvark adapter supports the following:

  • I2C up to 800 KHz.
  • SPI slave speed up to 4 MHz, and SPI master up to 8 MHz.
  • I2C/SPI slave response size is 64 bytes.
  • I2C/SPI API receive buffer size is 16 Kbytes.

Additional resources that you may find helpful include the following:

We hope this answers your questions. 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