Can the Promira Serial Platform Support and Generate the Master and Slave SPI Waveforms that I Need?

Question from the Customer:

I am looking for a programmable SPI interface adapter that will support communicating with two devices. For both devices, the clock speed is 10MHz and the clock is only active during transmit.

I’ve been looking for the right tool, and your Promira Serial Platform, along with the SPI Active - Level 1 Application, looks promising. Is the Promira platform capable of emulating and manipulating the waveforms and timing I need? Here are the key points:

  • Insert clock gaps between each word
  • Insert delays before and after each transmission
  • Support for words of 16-bit length
  • Ensure the serial clock is only active during communication, not always active

Response from Technical Support:

Thanks for your question! The Promira Serial Platform is an advanced serial device, and with the appropriate SPI Active level application and Promira Software API, the waveforms you need can be supported. Here’s an overview of the Promira platform, followed by recommended API commands for the specifications of your SPI waveforms.

Promira Serial Platform Overview

In addition to setting up the waveforms, the Promira platform supports other important features:

  • Signal level shifting 0.9 V – 3.3 V
  • USB 2.0 connectivity
  • Ethernet connectivity
  • Support SPI, I2C, or eSPI protocols
  • Provide up to 200 mA of power to target devices

Here is a summary of the SPI Active applications, which are licensed separately:

Using API for SPI Waveform Requirements

Promira Software APIs support 64-bit platforms, Windows, Mac, and Linux operating systems, and multiple program languages with a shared library for C, C#, Python, .NET, and VB.NET programming languages. Functional examples are also provided, which can be used as-is or modified for your specifications.

Following are our recommendations for deploying the desired word lengths and timing delays. For more details, please refer to the API Documentation section of the Promira Serial Platform I2C/SPI Active User Manual.

Word Length

The Promira platform supports SPI data word sizes from 2 bits up to 32 bits per word.

The API commands that we recommend are Queue SPI Master Write (ps_queue_spi_write) or Queue SPI Master Write Word (ps_queue_spi_write_word) API. The minimum word length is 2 bits; the maximum word length is 32 bits.

Timing and Delays

Here are the SPI APIs (specific to SPI) that can be used to insert delays in the bus:

ps_spi_configure_delays: configure a user-definable delay between words, which can be 0 or greater than 1. No gap is included after the last word.

ps_queue_spi_delay_cycles: queue a delay value on the bus in units of clock cycles. The clock cycles are set with ps_spi_bitrate.

ps_queue_spi_delay_ns: queue a delay value on the bus in units of nanoseconds. The accepted values are greater than zero and less than or equal to 2 seconds.

When Serial Clock is Active

The Master Device generates the serial clock (SCLK) . As shown in the diagram below, SCLK is only active when serial select (SS) is pulled high or low to select a Slave Device with which to transfer IO data.

Promira SPI Master/Slave Waveform

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

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

Request a Demo