Tech Focus: The future of the Serial Peripheral Interface
A SPIFI New Idea
Eliminating the parallel/serial tradeoff in embedded systems with SPIFI-equipped Cortex-M3
Daisy-Chaining SPI Devices
In his most recent column, “A SPIFI new idea,” Jack Gannsle expresses his pleasure in the capabilities of a new flash memory interface from ST Microelectronics, which uses a Serial Peripheral Interface to access serially organized flash nonvolatile memory devices over what it refers to as the SPI Flash Interface. Gannsle feels the new interface gives developers of resource-constrained MCU designs capabilities they did not have before. To see what the fuss is all about read:
Eliminate parallel/serial tradeoffs with SPIFI-equipped Cortex-M3
Program SPI flash in-circuit via JTAG
Program SPI serial flash from Xilinx FPGAs and CPLDs
The SPI Flash Interface is yet another application of the Serial Peripheral Interface protocol, which has been around almost as long as I have been covering electronics. SPI is a name Motorola gave to a circuit technique used in the late 1970s in its first 68000-based MCU to connect it to peripheral functions.
But I am sure that it pre-existed in many designs before Motorola's implementation. I remember a comment to me at the time by an engineer who was familiar with both it and similar devices from National Semiconductor: He said SPI is the sort of defacto standard that did not emerge out of the brain of any one engineer or company, but something any digital electronic engineer would think of to communicate between two digital devices on a board with a minimum number of wires.
Unlike later specs, including I2C, USB, and PCI, it is hard to find a formal separate 'specification' of the SPI bus. For a detailed 'official' description, one has to read specific MCU data sheets and associated application notes. This has not stopped nearly every IC vendor, including National (now TI), from coming up with improvements upon which they establish their imprimatur through branding or patenting.
Unlike later communications and bus standards that have since emerged, there is no interest group or IEEE committee that maintains a formal separate 'specification' for the SPI bus. The closest to any specific description is what has appeared in publications such as ESD Magazine and on Embedded.com. See “Serial protocols compared , ” by John Patrick, and “Introduction to Serial Peripheral Interface ,” by David and Rose Kalinsky.
SPI is now ubiquitous in embedded designs, an integral element in microcontrollers and FPGAs, and in applications in instrument panel clusters, digitally controlled potentiometers , M2M applications, industrial controller area networks (CAN), temperature measurement androbotics . Several recent articles in UBM's EDN Magazine attest to its continued usefulness:
Two wires control an SPI high-speed ADC.
C# application controls simple ADC
Emulate SPI signals with a digital I/O card
Whether its ubiquity is due to the fact that that it has no formalized standards group protecting it – or in spite of it – I expect to see SPI used even more in embedded systems designs as we move into an era of ubiquitous MCU-based, wirelessly connected sensors, where its ability to operate effectively in resource-constrained environments will be extremely important.
Serial Protocols Compared
Serial buses dot the landscape of embedded design. From displays to storage to peripherals, serial interfaces make communications possible.
A primer on extending serial ports in embedded designs
Vikas Shukla provides some reminders about the many ways that an embedded systems developer can add more serial ports to a design if they are needed
Daisychaining SPI-compatible devices
A standard serial peripheral interface/Queued SPI/Microwire-compatible microcontroller communicates with its slave devices through a three- or four-wire serial interface. The typical interface includes an active-low chip-select signal (/CS), a serial clock (SCLK), a data input signal (DIN ) and, occasionally, a data output signal (DOUT ). Slave devices that are individually addressable, as is typical in I2C systems, communicate easily with a single microcontroller on a bus.
Unleash the power of flexible I/O pin mapping
Through software, an MCU's features can come to the forefront with minimal design tradeoffs.
SIGNAL CHAIN BASICS (Part 31): Digital interfaces (con't) — The SPI Bus
Understand the structure and operation of this basic four-wire, full-duplex bus
Designing a Vehicle Instrument Panel Cluster—A Case Study
Aneesh Mathai of CG-Smith Software discusses the development of an instrument panel cluster (vehicle dashboard). Topics covered are system design, block diagrams, component and device selection, and software design.
A Primer on Digitally Controlled Potentiometers
Analog design engineers frequently set resistances and voltages to make analog circuits meet specifications. By using potentiometers to control the parameters of circuits, engineers can calibrate or vary critical functions such as the output of a laser diode in a fiber optic communications circuit, the contrast of an LCD, or the position of a motor in a process control system. Xicor's Chuck Wojslaw provides all of the information you need to begin using digitally controlled potentiometers.
Designing Wi-Fi connectivity into your embedded “Internet thing”
In this Product How-To, Redpine Signals' Narasimhan Venkatesh provides some basic guidelines to consider when adding Wi-Fi connectivity to an embedded design using a combination of a Cypress PSoC and Redpine-supplied components, including its Wi-Fi Expansion Board kit.
Temperature Measurement Technique
Sensors enable software to detect what is happening in the real world. This article surveys various temperature sensors and describes how they interface to a processor.
Selecting the right network connection for your MCU-based machine-to-machine application
There are at least eight distinct configurations to embed Ethernet in a microcontroller-based M2M design. Here are a few hints on how to choose the appropriate configuration based on the interface needs of the target application.
Porting an existing embedded system to Linux
Designers from Intellibot Robotics chronicle the transformation of their microcontroller-based embedded design ” a mobile robot – from one without an OS to one built on Linux, describing issues relating to debugging, real-time performance, the use of the GCC tool chain and multithreading using POSIX..
CAN in 30 minutes or less
A quick-and-dirty guide to tuning your CAN interface and simplifying your design.
Optimum Design via 'Smart' Partitioning
Communications systems continue to grow increasingly complex as product-development times shrink.
Bringing reliable touch sensor technology to handheld, mobile devices
With no moving parts and easy conformity to curved surfaces, touch-sensor switches can be used for every thing from automotive, industrial and home control apps to mobiles and handhelds, requiring the use of wide-temperature-qualified touch-sensor controllers that operational under many environmental conditions.
How to extend the battery life of your microcontroller based design
Freescale's Scott Pape take you step-by-step through the various ways a microcontroller in your battery-power design – shaver, cell phone, PDA or MP3 player – can be used to manage the power requirements of your application.
Embedded Systems Bookshelf
Embedded Books Reading Room
Bernard Cole's favorite links to book excerpts.
Airport fiction blows. A look at books other engineers are reading and why you should read them, too. Recommend and write a review yourself. E-mail Brian Fuller.
Jack Ganssle's Bookshelf
A list of book reviews by Jack Ganssle, contributing technical editor of Embedded Systems Design and Embedded.com.
Max's Cool Beans
Clive “Max” Maxfield, the editor on Programmable Logic DesignLine, often writes about interesting books.
New USB-to-SPI protocol converter from Microchip
Provides the simplest, smallest, and most cost-effective way to add USB to existing designs
Serial Flash memories offer smallest packages per density
Winbond's latest SpiFlash Serial Flash memories offer densities from 512Kb to 16Mb with USON, WLBGA packages that reduce footprint by 80%.
STMicro packs large-density EEPROMs in small packages
STMicro's low-voltage, 512-kbit devices are aimed at both intelligent interface controller and serial peripheral interface bus applications.
Compact gate drive IC simplifies hybrid, EV power train design
High output current drives inverter stage IGBTs and MOSFETs.
1-Mbit serial EEPROM comes with an SPI interface in a SO8 narrow package
Fast interface for high density EEPROM memory is ideal for parameter storage in DTV, gaming, car infotainment, medical equipment and computer peripherals.