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.