I2C SPI USB CAN eSPI Cable Testing View All Videos Quick Start Guides Software Downloads App Notes White Papers User Manuals Knowledge Base Sales Support About Us
Products Blog Sales Support Contact Search
What Is the Best Interface for an SPI Device Test System?
Rena Ayeras

Question from the Customer:

I am looking for a programmable SPI interface adapter for communicating with two SPI devices: one Master and one Slave. Here are the Master and Slave waveforms I plan to use for SPI communication. The delay gaps are defined for some of the transactions.

SPI Master Waveform for a test system SPI Master Waveform

The clock speed is 10 MHz.

It looks like the Promira Serial Platform with SPI Active Level 1 could work for this system. Can you please confirm my evaluation? Also, which software applications would you recommend for developing this system?

Response from Technical Support:

Thank you for your questions! Based on your required clock rate, using the Promira Serial Platform with SPI Active Level 1 Application should fulfill your system requirements.  To support your SPI waveform specifications, we recommend using Promira Software API I2C/SPI Active.

API Support for SPI Communication

The API commands support both 32-bit and 64-bit platforms, and multiple operating systems and program languages. Functional examples are also provided, which can be used as-is or modified as needed.

Using the API, you can send a variable number of bits from the Promira platform. The word size that you can set ranges from a minimum of 2 bits up to a maximum of 32 bits. With API commands, the word size that you can set ranges from a minimum of 2 bits up to a maximum of 32 bits.

API Commands for Writing and Delays

Here are API commands that could apply for your test plan.

Writing to Slave Device

Queue SPI Master Write (ps_queue_spi_write)

  • Use this to queue a command that writes a stream of words to the downstream SPI slave device.
Queue SPI Master Write Word (ps_queue_spi_write_word)

  • Use this to queue a command that writes a stream of the same word to the downstream SPI slave device

Inserting Timed Delays

Configure Delays (ps_spi_configure_delays)

  • Use this command to configure delay between words.
Queue a Delay in Cycles (ps_queue_spi_delay_cycles)

  • Use this command to queue a delay on the bus in clock cycles.
Queue a Delay in Nanoseconds (ps_queue_spi_delay_ns)

  • Use this command to queue a delay on the bus in nanoseconds

For more information about Promira API commands, please refer to the API Document section of the Promira Serial Platform I2C/SPI Active User Manual.

Promira Serial Platform Features

Here is a summary of the basic features that the Promira platform supports.

  • provides up to 200 mA of power to your embedded project
  • operates with voltage levels from 0.9 V - 3.3 V, 5 V fault tolerant; output signal levels are configurable
  • connects via High-speed USB or Ethernet

Additional features are available based on Active Level application licensed, which are described in the following sections.

SPI Active Application Features

Each application is a separate license. For SPI Active Levels 2 and 3, all previous SPI Active Level(s) must also be installed. Each application supports the following:

  • program EEPROM, Flash, or other SPI memory
  • slave response size up to 256 bytes
  • configurable Slave Select (SS) polarity in master mode

Additional Features by Active Level Application

SPI Active - Level 1 Application supports the following:

  • clock speeds up to 12.5 MHz in Master mode and 8 MHz in Slave mode
  • up to 1 Slave Select: configurable, shared with GPIO
  • use up to 6 GPIOs (2 GPIOs with SPI)

SPI Active - Level 2 Application  supports the following:

  • clock speeds up to 40 MHz in Master mode and 20 MHz for Slave mode
  • supports Single and Dual I/O SPI
  • up to 3 Slave Selects: configurable, shared with GPIO
  • use up to 12 GPIOs

 SPI Active - Level 3 Application  supports the following:

  • clock speeds up to 80 MHz in Master mode and 20 MHz for Slave mode
  • supports Single, Dual, and Quad I/O SPI
  • up to 8 Slave selects: configurable, shared with GPIO
  • use up to 16 GPIOs

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

If you need more information, feel free to contact us with your questions, or request a demo that applies to your application.

Request a Demo