Serial Periferial Interface (SPI)
Carballo Valderrábano Karla De la Cruz Celis José de Jesús
Morones Reyes JonathanVázquez Vázquez CristianZambrano Saucedo Adán
SPI•Bus de tres líneas• Paquetes de información de 8 bits.• El bit más significativo (MSB) se transmite primero. •Comunicación serial full duplex. •Dispositivos conectado al bus: Master y Slave.• Emplea un registro de desplazamiento para
transmitir la información.
SPI• Línea de reloj (SCLK): Generada
por el maestro y sincroniza la transferencia de datos. • Línea MOSI (Master Out Slave
In): Transporta los datos del maestro hacia el esclavo. • Línea MISO (Master In Slave
Out): Transporta los datos del esclavo hacia el maestro.• Línea selectora (Chip Select o
Select Slave): Activa al esclavo (nivel lógico bajo).
SPI (FUNCIONAMIENTO)•Maestro configura el reloj con una f £ máx f soportada por el
esclavo.•Maestro transmite 0 lógico para seleccionar esclavo.•Cada ciclo de reloj: Transmisión de bits en líneas MOSI y MISO• 2 registros de corrimiento conectados en forma de anillo.• El primer bit transmitido es el más significativo, mientras se
transmite un nuevo bit menos significativo al mismo registro.
SPI (FUNCIONAMIENTO)• El maestro y esclavo cambian registros, toman los
valores y hacen algo con ellos.• Si hay más datos que cambiar, los registros de
corrimiento son cargados con el dato nuevo y el proceso se repite.•Cuando no hay más datos que transmitir, el maestro
deja de cambiar su reloj y deselecciona al esclavo.
SPI – MODOS DE RELOJ
• CPOL (Clock Polarity): Determina el estado Idle (inactivo) de la señal de reloj.• CPHA (Clock Phase): Determina en que flanco del reloj se
recibe/ transmite un dato.
MASTER SYNCHRONOUS SERIAL PORT (MSSP) MODULE
• Interfaz Serial• Modos• Serial Peripherial Interface (SPI)• Inter-Integrated Circuit (I2C)
• Registros de control• Registro de estado (SSPSTAT)• 2 registros de control(SSPCON1 y SSPCON2).
SPI MODE• 8 bits de datos transmitidos y
recibidos simultáneamente.• 4 modos de SPI soportados.• Pins utilizados:• Serial Data Out (SDO) – RC7/RX/DT/SDO• Serial Data In (SDI) –
RB0/AN12/INT0/FLT0/SDI/SDA• Serial Clock (SCK) –
RB1/AN10/INT1/SCK/SCL• Slave Select (SS) –
RA5/AN4/SS/HLVDIN/C2OUT
SPI MODE• Registro de control (SSPCON1)• Registro de estado (SSPSTAT)• Buffer serie de transmisión/recepción (SSPBUF)• Registro de desplazamiento (SSPSR) – No accesible
directamente, convierte datos en formato serial.
SSPSTAT
• SMP: Sample: Momento de muestreo de señal de datos (al final o a la mitad de cada bit transmitido, modo maestro)• CKE: SPI Clock Select: En qué flanco se transmiten
sincrónicamente los bits de datos • BF: Buffer Full Status bit: Estado de SSPBUF (recepción
completa o incompleta del dato)
SSPCON1
•WCOL: Write Collision Detect: Informa si se ha intentado escribir un dato en SSPBUF cuando aún guardaba al dato anterior• SSPOV: Receive Overflow Indicator: Indica si se ha dejado de leer
un dato recibido y depositado en SSPBUF• SSPEN: Habilita puerto serial y configura SCK, SDO, SDI y SS
como pins del puerto serial (1)• SSPM3:SSPM0: • Programan al dispositivo como maestro o esclavo• Habilita la terminal SS como control de servidor• Selecciona la frecuencia de trabajo (1/4, 1/16, 1/64 del oscilador o TMR2)
SPI
SSPIF -> PIR para generar una interrupción