Which SPI Host Adapter Can I Use as an SPI Slave that Delivers a Large Enough Response for My Setup?

Question from the Customer:

The lab has a Cheetah SPI Host Adapter. It works great as an SPI master, but for the current project I need an SPI slave that can transmit at least 256 bytes. Unless there’s a way the Cheetah adapter can be programmed as a slave, what do you recommend? I’d also like these other details about your recommendation.

  • Do you have any code example or application software for using the host adapter as a SPI slave to transmit a data file to a SPI master?
  • What is the buffer size inside the adapter for receiving MISO bytes?
  • What is the max clock rate when operating as a slave?

Response from Technical Support:

Thanks for your questions! We have two host adapters that can operate as SPI slaves as well as SPI masters, the Aardvark I2C/SPI Host Adapter and the Promira Serial Platform.  The Cheetah adapter only operates in master mode. For your application, we recommend the Promira Serial Platform, which can deliver 256 bytes in SPI master mode.

promira-insets

The Aardvark adapter is a general purpose device that can actively communicate on an I2C or SPI bus as a master or slave.  For the SPI Slave capability, the Aardvark adapter supports speeds up to 4 MHz.  The API receive buffer size is 16 Kbyte and the slave response size is 64 bytes, smaller than what you are looking for.

The Promira platform is advanced tool, capable of acting as an SPI Master or Slave with the SPI Active Applications.  Here is a summary of the features of the SPI Active applications:

  • Single/dual/quad SPI master up to 80 MHz
  • Single/dual/quad SPI slave up to 20 MHz
  • 2 MB receive buffer
  • 256 byte slave response size
  • Level shifting 0.9 V – 3.3 V
  • USB 2.0/Ethernet connectivity

You can use the Control Center Serial Software, which provides easy access to all the functions.  For more detailed control, you can also use Promira Software API I2C/SPI Active. Here is an overview of using the Slave Set Response API function (ps_spi_std_slave_set_resp) for sending a response in SPI slave mode:

  • If the ps_spi_std_slave_set_resp function num_bytes parameter is 256, and the SPI master requests 256 bytes from the Promira slave, then the Promira platform will send 256 bytes.
  • If the ps_spi_std_slave_set_resp function num_bytes parameter is 512, and the SPI master requests 512 bytes from the Promira slave, then the Promira platform will send the first 256 bytes twice in the data_out.

For more information about API functions, please refer to Promira API Documentation.

The following table provides a quick overview and comparison of device features:

Comparison of Promira, Aardvark, Cheetah and Beagle

We hope this answers your questions. Additional resources that you may find helpful include the following:

 

More questions? More ideas? You can also contact us and request a demo that applies to your application, as well as ask questions about the Promira Serial Platform and other Total Phase products.

Request a Demo