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
Just Because Your Tools and Devices All Speak SPI, Doesn't Mean They Speak the Same Language

Not all SPI Chips are built the same or function the same. In 1985, Motorola first introduced the serial peripheral interface (SPI), which later became a de facto standard for chip designers and manufacturers. It’s now 30 years later and SPI is still widely used, but there no formal standard is defined.  SPI does not have a specific addressing scheme or specific higher level formatting.   As a result, the SPI is like a dialect – there are many versions that sound similar but the meanings can vary.

Essentially, SPI is a widely-accepted protocol defined by its wiring, but has no defined format for sending data messages. You have probably noticed this when researching chips from the multitude of semiconductor manufacturers; there are many variations of SPI.

Two-way or one-way communication?

  • Full duplex may be the “default” SPI, but there are also half-duplex versions.
  • Some devices are simplex; either they transmit messages or they receive messages, but they don’t do both.
What is your data length?

Initially, the data length was strictly 8-bit. Today, most data lengths are a multiple of 8-bit, but there are exceptions of 7-bit, 10-bit, or even some other vendor-defined data length.

What about Quad and Dual SPI?

Quad and Dual SPI, sometimes referred to as multi I/O SPI, enable increased bandwidth from a device.  Dual SPI has double the transfer rate of standard or single SPI and quad has four times the throughput.

What are the SPI extensions?

SPI extensions fall under another of those vendor-defined features that are added to SPI devices. These are often referred to as enhancements. Examples:

  • Microchip enhanced the buffer mode in a microcontroller.
  • One of NXP’s enhancements is a quad full-duplex serial interface for communicating with multiple devices.
  • mSPI, Dimitech’s enhancement, uses four data lines to control more than one slave (which are also mSPI devices – this feature is software enabled).
How about Intel’s “enhancement” eSPI?

Unlike SPI enhancements, Intel has met the standardization issue by introducing “enhanced SPI” (eSPI), a defined low-power, low-cost protocol with a reduced pin count. This specification has quickly entered the market, and is currently being used by many product developers.

How do you handle the growing variations of the serial bus?

At Total Phase, we handle it with flexibility. We produce a team of hand-held devices, host adapters and protocol analyzers, as well as power analyzers and cable testers that are driven by our software programs that run on your computer.

For example, the Flash Center Software is provided with ongoing built-in support to interface with many vendors’ devices, allowing you to easily erase, program and verify SPI (and I2C) memory chips. If you’re working on a prototype or something not yet added to Flash Center Software, you can easily add your own XML part file to the library. For advanced and complex usages, we provide a Software API that can be used to meet your specific requirements.

These software packages can be used with our Aardvark I2C/SPI Host Adapter, the Cheetah SPI Host Adapter and the Promira Serial Platform.  For SPI enhancements, including Quad/Dual SPI and eSPI, Total Phase offers the Promira Serial Platform.  The SPI Active Level 2-3 Applications and the eSPI Analysis Application along with the eSPI Active Script that can be used with the SPI Active Applications, offer advanced SPI capabilities.

How are Total Phase tools used?

We have created tutorials that address many technical challenges, as well as easy to follow guides for first-time users. You can browse through our Knowledge Base and watch our videos for solutions and suggestions.

You can also email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.