DSP, Micros & Memory


Creating a serial peripheral interface for communications between microprocessors and peripherals

7 November 2001 DSP, Micros & Memory

This article describes how to implement communications between microprocessors and peripherals using the Xilinx CoolRunner XPLA3 CPLDs. The CoolRunner implementation of a serial peripheral interface (SPI) master described here can be used to add an SPI controller to microprocessors or microcontrollers that do not provide this interface.

Serial peripheral interface protocol

SPI is a full-duplex, synchronous, serial data link. A single SPI device is configured as a master; all other SPI devices on the SPI bus are configured as slaves. The SPI bus consists of four wires:

* Serial Clock (SCK) - Driven by the SPI master and regulates the flow of data bits. The SPI specification allows a selection of clock polarity and a choice of two fundamentally different clocking protocols on an 8 bit oriented data transfer.

* Master Out Slave In (MOSI) - Data output from the SPI Master and input to the SPI Slaves.

* Master In Slave Out (MISO) - Data input to the SPI Master and output from the selected SPI Slave. Only one selected slave device can drive data out from its MISO pin.

* Slave Select (SS) - Selects a particular slave via hardware control. Slave devices that are not selected do not interfere with SPI bus activities. The SS control line can be used as an input to the SPI master indicating a multiple-master bus contention (SS_IN). If the SS signal to the master is asserted, it indicates that some other device on the bus is attempting to be a master and address this device as a slave. Assertion of SS automatically disables SPI output drivers in the master device if more than one device attempts to become master.

The SCK, MOSI, and MISO pins of all SPI devices on the SPI bus are connected together in parallel.

Master implementation

This SPI master design supports the following features:

* Microcontroller interface.

* Multimaster bus contention detection and interrupt.

* Eight external slave selects.

* Four transfer protocols available with selectable clock polarity and clock phase.

* SPI transfer complete interrupt.

* Four different bit rates available for SCK.

A high-level block diagram is shown in Figure 1. The microcontroller (µC) interface is a VHDL module that one can easily modify to support other micro-controllers. The address decode/bus Interface logic interprets the bus cycles of the microcontroller and performs the read/write operations to the register file. The register file is the interface between the µC and the SPI master logic, and allows the µC to configure and control the operation of the SPI master.

Status of the current transfer is provided to the µC via a status register in the register file. Registers are also included to contain the µC data to be transmitted on the SPI bus and data received from the SPI bus. The SPI control state machine controls the shifting and loading of SPI data in the SPI shift registers, and the generation of the slave select signals. The SCK clock logic generates an internal SCK based on the settings in the control register for clock phase, division, and polarity.

Figure 1. CoolRunner SPI master
Figure 1. CoolRunner SPI master

Conclusion

CoolRunner CPLDs operate at the lowest standby power (<100 µA) of any CPLD available today, and they are an ideal programmable logic solution for providing interface controllers in portable or power sensitive applications. See www.xilinx.com/apps/epld.htm#CoolRunner for an SPI reference design and detailed application note (XAPP348), VHDL source code, and VHDL testbenches.

For further information contact Avnet Kopp, (011) 444 2333, [email protected] or www.avnet.co.za





Share this article:
Share via emailShare via LinkedInPrint this page

Further reading:

Accelerate development of physical AI deployments
Altron Arrow DSP, Micros & Memory
With Avocado OS now available on the HummingBoard RZ-V2N- AIoT and SolidSense AIoT V2N from SolidRun, teams can move from prototype to deployed fleet in weeks.

Read more...
AI-ready edge MPU for HMIs
Future Electronics DSP, Micros & Memory
The Renesas RZ/G3E MPU is a high-performance microprocessor designed to enable advanced HMI systems with integrated artificial intelligence capabilities at the edge.

Read more...
Industrial-grade ESP32-S3 controller
DSP, Micros & Memory
Erqos Technologies has introduced the EQSP32CE, a CE-certified, industrial-grade ESP32-S3 controller designed for developers who want the flexibility of the ESP32 ecosystem in hardware that can be deployed directly into real-world automation.

Read more...
Universal NFC device
Altron Arrow DSP, Micros & Memory
Delivering high-end performance in a compact 4 x 4 mm package, the multipurpose NFC reader from ST Microelectronics, enables the convenience of contactless interaction and features for various end applications.

Read more...
Compact low-power 32-bit platform
EBV Electrolink DSP, Micros & Memory
Microchip’s PIC32CM PL10 microcontroller family expands the company’s Arm Cortex-M0+ portfolio, delivering a compact, low-power 32-bit platform designed for cost-sensitive embedded applications.

Read more...
Bridging the gap between prototype and production
DSP, Micros & Memory
Choosing between the FRDM i.MX 93, FRDM i.MX 91 and FRDM i.MX 91S development platforms can be intimidating, but once designers understand how each platform aligns with their application’s requirements, the decision becomes straightforward.

Read more...
Low-power memory born for edge AI
iCorp Technologies DSP, Micros & Memory
As intelligence moves from the cloud to the device, memory become one of the most important design decisions in modern electronics. Edge-AI products – from smart speakers and surveillance cameras to ADAS modules and wearables – need to move data fast, but they also need to sip power. Winbond’s low-density LPDDR4/LPDDR4X SDRAM range is built to strike that balance.

Read more...
Compact direct Time-of-Flight 3D LiDAR module
Altron Arrow AI & ML DSP, Micros & Memory
The VL53L9 from STMicroelectronics is the first direct Time-of-Flight (dToF) 3D LiDAR all-in-one module in ST’s portfolio, offering a resolution of 2,3K zones, wide field of view, on-chip processing, 100 frames per second, and sensing range from 5 centimeters to 9 meters.

Read more...
Next-gen smart module powers intelligence at the edge
iCorp Technologies DSP, Micros & Memory
Quectel Wireless Solutions has expanded its smart module portfolio with the SH803FD, a new-generation, high-performance smart module.

Read more...
Programmable logic redefined
DSP, Micros & Memory
Microchip’s CLB-based PIC MCUs combine programmable logic and embedded control in a single device to help reduce latency, cost, and design complexity.

Read more...









While every effort has been made to ensure the accuracy of the information contained herein, the publisher and its agents cannot be held responsible for any errors contained, or any loss incurred as a result. Articles published do not necessarily reflect the views of the publishers. The editor reserves the right to alter or cut copy. Articles submitted are deemed to have been cleared for publication. Advertisements and company contact details are published as provided by the advertiser. Technews Publishing (Pty) Ltd cannot be held responsible for the accuracy or veracity of supplied material.




© Technews Publishing (Pty) Ltd | All Rights Reserved