Introduction

Author: Jason Layton, Microchip Technology Inc.

The Serial Peripheral Interface (SPI) module is a synchronous serial interface useful for communicating with other peripheral or microcontroller devices. These peripheral devices can be serial EEPROMs, shift registers, display drivers, Analog-to-Digital Converters and so on. The SPI module is compatible with Motorola® SPI and Serial Input/Output Port (SIOP) interfaces.

The Serial Peripheral Interface (SPI) has long been part of the PIC® MCU set of core peripherals. One of the newest features introduced with the PIC18F2x/4xK42 microcontroller series is a stand-alone module for the SPI functionality. Previous devices have integrated SPI capabilities with the other serial communications protocols and implemented them in the Master Synchronous Serial Port (MSSP) module, where SPI shared resources such as registers and interrupt flags.

The dedicated module for SPI allows significant improvement in the implementation of traditional SPI capabilities and expansions by adding new features for more flexibility and control. This technical brief discusses the implementation, modes of operation and other additional features of the SPI module