How Can I Get the Best Speed when Generating Signals with the Cheetah SPI Host Adapter?

Question from the Customer:

I plan to use the Cheetah SPI Host Adapter  and the Cheetah Software API (Python) for generating SPI signals to communicate with my board. Before I get started, can you tell me about timing delays from the API execution call to the signals generated at the Cheetah output?

For example, if I execute a SPI read API call, what delays do I need to consider when generating output SPI signals from the Cheetah adapter? If there are some tricks to help boost the speed, can you tell me about that as well?

Response from Technical Support:

Thanks for your questions! The Cheetah SPI Host Adapter actively communicates on the bus, operates at high speeds up to 40+ MHz, can provide gapless shifting, and provides control over the timing of the data that is shifted out. As you noted, there are timing overheads and delays to consider:

  • The maximum bit rates are only achievable within each individual byte and do not extend across bytes.
  • There are various overheads and delays that affect the overall speed of data transfer. Showing the range of values per SS assertion and deassertion:
    • SS# assertion to first clock edge (tSAC 7-6.5 tCLK)
    • SS# deassertion from last clock edge (tCSD 2-1.5 tCLK)
    • The OS may add additional delay due to internal overhead. In addition, the Cheetah adapter has 250us round-trip latency, which is caused by the high-speed USB link between the computer and the adapter. These delays will further reduce the overall throughput across multiple transactions.  Here is a diagram of the Cheetah adapter SPI signaling characteristics:

A timing diagram of the SPI Host Adapter SPI Signaling Characteristics.


M25P32 Instructions, details will differ for your SPI memory

To help accelerate the data rate, the Cheetah adapter has an asynchronous interface - API functions can be queued, which allows faster rates for streaming data.

For additional information, please refer to the SPI Signaling Characteristics and API Documentation sections of the Cheetah SPI Host Adapter User Manual.

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

More questions? More projects? You can contact us and request a demo that applies to your application, as well as ask questions about host adapters, software packages and other Total Phase products.

Request a Demo