comunicación spi

12
Serial Periferial Interface (SPI) Carballo Valderrábano Karla De la Cruz Celis José de Jesús Morones Reyes Jonathan Vázquez Vázquez Cristian Zambrano Saucedo Adán

Upload: karla-carballo-valderrabano

Post on 11-Jan-2017

51 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Comunicación SPI

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

Page 2: Comunicación SPI

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.

Page 3: Comunicación SPI

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).

Page 4: Comunicación SPI

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.

Page 5: Comunicación SPI

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.

Page 6: Comunicación SPI

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.

Page 7: Comunicación SPI

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).

Page 8: Comunicación SPI

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

Page 9: Comunicación SPI

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.

Page 10: Comunicación SPI

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)

Page 11: Comunicación SPI

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)

Page 12: Comunicación SPI

SPI

SSPIF -> PIR para generar una interrupción