20
SISTEMAS EMBEBIDOS COMUNICACIÓN SERIAL SINCRONA SPI (Serial Peripherical Interface)

Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

Embed Size (px)

Citation preview

Page 1: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

SISTEMAS EMBEBIDOSCOMUNICACIÓN SERIAL SINCRONASPI(Serial Peripherical Interface)

Page 2: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

PENSADO PARA COMUNICACIÓN CON OTROS MICROCONTROLADORES O PERIFÉRICOS COMO: EEPROM serie (almacenamiento de

datos no volátiles) Registros de Desplazamiento

(expansión de entradas y/o salidas) Drivers de Displays (reducción de

conexiones) Conversores A/D (digitalización

externa de señales) Etc.

Page 3: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

INTERFACE SPI EN EL MÓDULO SSP Permite la transmisión y recepción

síncrona simultánea de datos de 8 bits.

Para la comunicación debe existir un dispositivo Maestro (genera la señal de reloj) y uno ó varios esclavos (reciben la señal de reloj).

Page 4: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

PINES DEL MICROCONTROLADOR PIC ASOCIADOS A COMUNICACIÓN SPI Salida Serie de Datos (SDO) Serial Data Output -> RC5 Entrada Serie de Datos (SDI) Serial Data Input ->

RC4 Reloj de comunicación Serie (SCK) Serial Clock -> RC3

De manera adicional, hay un 4º pin que se puede utilizar cuando el microcontrolador se configura como dispositivo Esclavo:

Selección de Esclavo (SS) Slave Select -> RA5

La inicialización del Interface SPI se realiza mediante la configuración de los bits

de control SSPCON<5:0> y SSPSTAT<7:6>

Page 5: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

DIAGRAMA DE BLOQUES DEL MÓDULO SSP EN MODO SPI

Page 6: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 7: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

SSPSR Y SSPBUF

Page 8: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

FLAGS EN MODO SPI SSPIF = PIR1<3> (Completada transmisión) Lectura/escritura

Indica que se ha completado un envío/recepción en SSPSRSe debe poner a 0 por software, puede generar interrupción

BF = SSPSTAT<0> (Buffer de recepción lleno) Sólo lecturaSe pone a 1 cuando se ha completado la recepción de un datose pone a 0 por hardware cuando se lee el registro SSPBUFSe empleará normalmente únicamente en modo de recepción

WCOL = SSPCON<7> (Colisión de Escritura) Lectura/escrituraIndica que se ha intentado escribir en SSPBUF mientras se estátransmitiendo un dato previo. Si se da tal situación, se debe ponera 0 por software

SSPOV = SSPCON<6> (Desbordamiento en Recepción) Lectura/escrituraIndica que se ha recibido un byte nuevo mientras SSPBUF contieneun dato recibido anteriormente no leido. El nuevo dato se pierde y yano se actualiza SSPBUF. Se pondrá a 0 por software

Page 9: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

ESPECIFICACIÓN DEL MODO SPI EN LA INICIALIZACIÓN Modo de funcionamiento:

Maestro (SCK salida) o Esclavo (SCK entrada) Polaridad del Reloj:

Estado Inactivo del Reloj (SCK) a “1” ó a “0” Flancos activos del Reloj:

Salida de bits en flancos de subida o bajada en SCK Muestreo bits de datos:

Muestreo de entrada en el “centro” o al “final” del bit Frecuencia de Reloj:

SÓLO SI ES MAESTRO, frecuencia en salida SCK Modo de Selección:

SÓLO SI ES ESCLAVO - Control externo de SDI y SDO con entrada SS - Sin control externo con pin SS

Page 10: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

EJEMPLO DE CONEXION

Page 11: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

ENVIO DE DATOS

Page 12: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)

HABILITACIÓN DE LOS PINES DE ENTRADA/SALIDA de SSP Para habilitar el módulo SSP, es necesario que el bit SSPEN se

encuentre a 1. Si se desea “resetear” el módulo SSP, se debe poner a 0 este bit y

luego volverlo a 1 Para que la funcionalidad de los pines SDI, SDO, SCK y /SS sea la

determinada por los bits de configuración, es necesario además que los bits de dirección de datos

• (en TRISA y en TRISC) tengan la dirección adecuada:• SDI (RC4) debe tener TRISC<4> = 1 para ser entrada de datos• SDO (RC5) debe tener TRISC<5> = 0 para que sea salida de

datos• SCK (RC3)• debe tener TRISC<3> = 0 si el microcontrolador es MAESTRO• y TRSC<3> = 1 si se define como ESCLAVO• /SS (RA5) debe ser TRISA<5> = 1 si es ESCLAVO y tiene control

externo

Page 13: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 14: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 15: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 16: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 17: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 18: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 19: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)
Page 20: Sistemas Embebidos: Comunicacion Serial Sincrona SPI (Serial Peripherical Interface)