Support Question of the Week: How do I Configure the Cheetah SPI Host Adapter For a Half-Duplex 3-wire SPI Slave Device?

I plan to use the Cheetah SPI Host Adapter for a half-duplex 3-wire SPI slave device. Can the Cheetah adapter be configured to interface with a 3-wire SPI? Is there anything special I would need to do?

Thanks for your question! The Cheetah SPI Host Adapter can be used with 3-wire SPI slave devices. Although it refers to the Aardvark I2C/SPI Host Adapter, you can follow the instructions in the knowledge base article Interfacing with 3-wire SPI. Following is the information that applies to your question.

A normal SPI interface consists of four signals: clock (SCLK), slave select (!SS or !CS), master input/slave output (MISO), and master output/slave input (MOSI). As SPI is a full-duplex device, it will have separate pins for input data and output data. A half-duplex is similar to the true SPI, but one pin is used for I/O (input and output). To configured the host adapter, insert a 10k resistor between the MOSI signal and the MISO signal, and then connect the MISO line to the data line of the SPI slave device. The example below shows connecting the Aardvark adapter to a National LM74 device - this configuration can also be used for the Cheetah host adapter and other half-duplex SPI devices.

Connecting a Full-Duplex Host SPI Adapter to a Half-Duplex SPI Device Figure 1: Connect a Full-Duplex Host SPI Adapter to a Half-Duplex Device

When the slave is driving MISO, the SPI host adapter's readings will not be disturbed by the state of the MOSI line. If the system uses 5.0V as a logical high, then a maximum current of 0.5mA will flow through the resistor.

When the slave's data line is configured as an input, the voltage levels for MOSI and MISO will be essentially the same - there will be a small voltage drop across the resistor because the high-impedance slave sinks a small amount of current.

As the Cheetah SPI Host Adapter is designed to be used with a full-duplex SPI device, you will need to set up the bytes to be transmitted correctly. An example program is available that interfaces the Aardvark host adapter to the National LM74 - read and write data to the device. You can modify the program for the specifications of your setup and the SPI device that you will be using.

For information about software API commands used in the example program, please refer to section 5 of the Aardvark Adapter User Manual. For information about the software commands to use with the Cheetah adapter, please refer to section 5 of the Cheetah Adapter User Manual.

For additional information, please refer to following documents:

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 or submit a request for technical support.

Leave a Reply