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
How to Use the Promira Serial Platform and Queuing to Read, Write and Evaluate I2C Peripherals at Faster Speeds

Question from the Customer:

We have been using the Aardvark I2C/SPI Host Adapter to evaluate and test I2C peripherals.  We write data to the slaves, read it back, and then evaluate the data to determine the next operation. We are currently running these write and reads at 800 kHz but would like to go to 1 MHz.  We would also like to utilize transaction queuing so that we can run our tests at faster speeds. Can this be done and what are your recommendations?

Response from Technical Support:

Thanks for your question! You can certainly run these commands and manage data at higher speeds We recommend using the Promira Serial Platform with the I2C Active – Level 1 Application. You can achieve I2C speeds up to 1 MHz and use the Promira Software API to queue commands. Example API programs are available and include one for sending queued I2C data.

Promira Serial Platform for I2C and SPI devices Figure 1: Promira Serial Platform

Here is a summary of queuing commands and collecting data using the Promira platform with API:

The maximum of the num_bytes parameter is 65,535 bytes per Promira API I2C read/write function: ps_i2C_write, ps_queue_i2c_write, ps_i2c_read, ps_queue_i2c_read.

  • ps_i2c_write

    writes a stream of bytes to the I2C slave device.

  • ps_i2c_read function is read a stream of bytes from the I2C slave device.

You can create up to 127 different queues containing up to 255 commands / functions each. Queues can be submitted multiple times, asynchronously. This is an important feature for your setup, as separate queues will be needed to 1) write and read the data, and 2) evaluate the captured data.

  • ps_queue_i2c_write is a queue that writes a stream of bytes to the I2C slave device.
  • ps_queue_i2c_read is a queue command that reads a stream of bytes from the I2C slave device.

The internal Promira buffer can collect up to 2 Mbytes of data.

For more information about the Promira I2C queue mechanism, please refer to section 5.5.3 of the Promira Serial Platform User Manual and please reference section 5.6. for information about the I2C interface.

More information about our new Promira Serial Platform is available in the following documentation:

If you have other questions about the Promira Serial Platform or other Total Phase products, feel free to email us at sales@totalphase.com or submit a request for technical support.