Microchip Technology MA330020 Data Sheet

Page of 398
 2008-2014 Microchip Technology Inc.
DS70000318G-page 219
dsPIC33FJ06GS101/X02 and dsPIC33FJ16GSX02/X04
16.0
SERIAL PERIPHERAL 
INTERFACE (SPI)
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 SPI and
SIOP from Motorola
®
.
The SPI module consists of a 16-bit shift register,
SPIxSR (where x = 1), used for shifting data in and out,
and a buffer register, SPIxBUF. A control register,
SPIxCON, configures the module. Additionally, a status
register, SPIxSTAT, indicates status conditions.
The serial interface consists of the following four pins:
• SDIx (Serial Data Input)
• SDOx (Serial Data Output)
• SCKx (Shift Clock Input Or Output)
• SSx (Active-Low Slave Select).
In Master mode operation, SCK is a clock output; in
Slave mode, it is a clock input.
FIGURE 16-1:
SPIx MODULE BLOCK DIAGRAM 
Note 1: This data sheet summarizes the features
of the dsPIC33FJ06GS101/X02 and
dsPIC33FJ16GSX02/X04 families of
devices. It is not intended to be a
comprehensive reference source. To
complement the information in this data
sheet, refer to “Serial Peripheral
Interface (SPI)”
 (DS70206) in the
“dsPIC33F/PIC24H Family Reference
Manual”
, which is available on the
Microchip web site (
www.microchip.com
).
2: Some registers and associated bits
described in this section may not be
available on all devices. Refer to
 in
this data sheet for device-specific register
and bit information.
Internal Data Bus
SDIx
SDOx
SSx
SCKx
SPIxSR
bit 0
Shift Control
Edge
Select
F
CY
Primary
1:1/4/16/64
Enable 
Prescaler
Sync
SPIxBUF
Control
Transfer
Transfer
Write SPIxBUF
Read SPIxBUF
16
SPIxCON1<1:0>
SPIxCON1<4:2>
Master Clock
Clock
Control
Secondary
Prescaler
1:1 to 1:8
SPIxRXB
SPIxTXB