Support Question of the Week: Selecting the SPI Host Adapter for High Bit Rate Constant Audio Streaming

Q: I have an application that requires constant audio streaming at a high bit rate. I need a host adapter to send 524,288 bits approximately every 0.6 seconds. Would this work with the Cheetah SPI Host Adapter? The Aardvark I2C/SPI Host Adapter has been perfect with other applications, but due to pauses between bytes, it looks like something faster is needed.

Thanks for your question! The Cheetah adapter supports up to 50 MHz SPI data, which is 52,428,800 bits/sec., or 26,214,400 bit/0.5 sec. This exceeds the bit rate that you need, which is 524,288 bits/0.6 sec.

Cheetah SPI Host Adapter for Queuing Commands on SPI Bus Figure 1: High Speed Cheetah SPI Host Adapter

The high-speed Cheetah SPI Host Adapter will be very effective for your application. The Cheetah SPI Host Adapter actively communicates on the bus, operates at higher speeds up to 50 MHz, can provide gapless shifting, and provides more control over the timing of the data that is shifted out.

Regarding the pauses between bytes — delays rarely occur across the USB bus, even within a transaction. There will be a delay in the outgoing SCLK while the Cheetah adapter is paused, waiting for more data to shift out. However, the average throughput will not be appreciably diminished as such events are infrequent.

Cheetah software and hardware are designed to maximize the average throughput over the USB bus. For example, if the SPI clock rate is set to 30 MHz, the average data rate across an entire transaction will be nearly 30 Mbps, end-to-end from host PC to SPI target device. This property holds up for very large transactions ranging from hundreds of kilobytes to many megabytes long. This high throughput feature is possible within a single transaction. With multiple transactions, USB bus latencies do occur. The best throughput is achieved with single transactions, each transfer carrying a large number of bytes.

General Purpose Aardvark—Master Slave I2C/SPI Host Adapter Figure 2: Aardvark I2C/SPI Host Adapter

The Aardvark I2C/SPI Host Adapter is a more general purpose device that can actively communicate on the bus, and provides master and slave capability with its SPI/I2C features.

For more information about the signaling characteristics of these host adapters, please take a look at the following sections of the user manuals:

For more details about our products, please refer to:

Cheetah SPI Host Adapter
Cheetah Host Adapter User Manual
Aardvark I2C/SPI Host Adapter
Aardvark Adapter User Manual
Total Phase Products
Product Selector Guide

We hope this answers your question. If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com  or support@totalphase.com.

Leave a Reply