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:
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.
In addition to setting up the waveforms, the Promira platform supports other important features:
Here is a summary of the SPI Active applications, which are licensed separately:
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.
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.
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.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.
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.