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
Support Question of the Week: How Can I Use the Cheetah SPI Host Adapters to Control SPI Devices with Different Bitrates and Command Lengths?

I have two different SPI devices and I need to transmit two different command settings. Because of the separate SS (slave select) signal pins, it looks like the Cheetah host adapter should work with this:

  • Using the Cheetah SPI Host Adapter for the SPI Interface. The two SPI devices that I intend to control with the Cheetah adapter have different command lengths, which will be transmitted simultaneously:

    • SS1 requires a 72-bit command
    • SS2 requires a 24-bit command
  • Using the Aardvark I2C/SPI Host Adapter to control the I2C interface
  • Operate all devices from the same computer

Is the selection of adapters correct? Also, can you recommend how to configure this setup for the SPI commands?

Thanks for your questions! Both the Cheetah SPI and Aardvark I2C/SPI Host Adapters can be run from the same computer. They will require separate software connections, but there will be no issues using the same computer. Based on the setup that you described, the Cheetah and Aardvark adapters are appropriate for your application.

Regarding SPI transfer rates, you can transfer SPI data with the Cheetah adapter using the Cheetah GUI Software, the Flash Center Software or the Cheetah Software API. Following is a summary of what each software application provides:

Use Cheetah SPI Host Adapter and Software to Control SPI Devices with Different Bitrates and Command Lengths Figure 1: Cheetah SPI Host Adapter

  • The Cheetah GUI Software provides full access to all Cheetah adapter functionality, and eliminates the need to write custom software to control the adapter.
  • The Flash Center Software provides mechanism to quickly erase, program, and verify SPI based EEPROM and flash memory Chips. It has extensible XML parts library with built-in support for EEPROMs and serial flash chips from major manufacturers.
  • The Cheetah Software API is used to control the adapter, and to write a custom program to achieve the user goals. The API comes with support for multiple OS (Windows, Linux, and Mac) and multiple languages (C, Python, Net, and C#), and includes examples. We recommend using the Python bindings as it is a simple language, and a good option for scripting.

For your SPI data requirements, we recommend using two separate Cheetah SPI Host adapters with two Cheetah GUI Software instances, one for each Cheetah Adapter, which can be on the same computer.  One Cheetah adapter with Cheetah GUI (or Cheetah API) can send one SPI slave a packet of one specified  length and bitrate. In the same time, the second Cheetah adapter can send the second SPI slave a packet with the other specified packet length and bitrate. A summary follows:

  1. Connect each Cheetah adapter to one Cheetah GUI instance.
  2. Configure Cheetah GUI-1 to the appropriate SS signal, packet size, and bitrate (SS1, 72 bit packet size).
  3. Configure Cheetah GUI-2 to the appropriate SS signal, packet size, and bitrate (SS2, 24 bit packet).

For additional information about using the Cheetah adapter with the Cheetah GUI Software, please refer to the knowledge base article Writing and Reading from SPI Flash Using Cheetah Adapter and Cheetah GUI.

For additional information, please refer to the following documents:

We hope this answers your questions. If you have other questions about our Host Adapters or other Total Phase products, feel free to email us at sales@totalphase.com or submit a request for technical support.