22 Serial Peripheral Interface (SPI)

The Serial Peripheral Interface (SPI) module is a synchronous serial interface useful for communicating with external peripherals and other microcontroller devices. These peripheral devices may be a serial EEPROM, shift register, display driver, Analog-to-Digital Converter (ADC) or an audio codec. The PIC32A family SPI module is compatible with Motorola® SPI and SIOP interfaces.

Some of the key features of this module are:

  • Host and Client Modes Support
  • Four Different Clock Formats
  • Framed SPI Protocol Support
  • Standard and Enhanced Buffering Modes
  • User-Configurable 8-bit, 16-bit and 32-bit Data Width
  • Two Separate Shift Registers for Transmission and Reception
  • SPIx Receive and Transmit Buffers are FIFO Buffers in Enhanced Buffering Mode
  • User-Configurable Variable Data Width, From 2 to 32-bit
  • Programmable Interrupt Event on Every 8-bit, 16-bit and 32-bit Data Transfer
  • Audio Protocol Interface Mode

PIC32A devices support audio codec serial protocols, such as Inter-IC Sound

(I2S), Left Justified, Right Justified and PCM/DSP modes for 16, 24 and 32-bit audio data.