bus spi (serial peripheral interface)

3
Omar Gurrola 05/30/13 http://www.proprojects.wordpress.com Bus SPI (Serial Peripheral Interface) Protocolo de comunicación estándar desarrollado por Motorola para dispositivos electrónicos dentro de la misma tablilla electrónica. SPI utiliza una comunicación síncrona bidireccional (full-dúplex), con una configuración maestro-esclavo y utiliza un registro de desplazamiento circular distribuido para la comunicación entre el maestro y uno o varios esclavos permitiendo una transmisión con altas velocidades. La longitud de los registros de desplazamiento puede ser cualquiera mientras ambos dispositivos tengan la misma longitud, pero por lo general se utilizan 8 bits. Las señales que utiliza son las siguientes: SCK (Serial Clock): Señal del reloj generada por el Maestro únicamente. MOSI (Master Output Slave Input): Flujo de bits que el Maestro transmite al Esclavo. MISO (Master Input Slave Output): Flujo de bits que le Esclavo transmite al Maestro. (Slave Select): Línea de selección de esclavo, la controla el Maestro. Topologías Maestro y Esclavo (Punto a Punto): Maestro y varios Esclavos (Punto a Multipunto con Esclavos independientes): Maestro y varios Esclavos (Punto a Multipunto con Esclavos dependientes – Daisy Chained):

Upload: dragoon-micromar

Post on 08-Mar-2016

225 views

Category:

Documents


3 download

DESCRIPTION

Explicacion sencilla y basica sobre el bus SPI

TRANSCRIPT

Page 1: Bus SPI (Serial Peripheral Interface)

Omar Gurrola 05/30/13 http://www.proprojects.wordpress.com

Bus SPI (Serial Peripheral Interface)

Protocolo de comunicación estándar desarrollado por Motorola para dispositivos electrónicos dentro de la misma

tablilla electrónica.

SPI utiliza una comunicación síncrona bidireccional (full-dúplex), con una configuración maestro-esclavo y utiliza un

registro de desplazamiento circular distribuido para la comunicación entre el maestro y uno o varios esclavos

permitiendo una transmisión con altas velocidades. La longitud de los registros de desplazamiento puede ser cualquiera

mientras ambos dispositivos tengan la misma longitud, pero por lo general se utilizan 8 bits.

Las señales que utiliza son las siguientes:

SCK (Serial Clock): Señal del reloj generada por el Maestro únicamente.

MOSI (Master Output Slave Input): Flujo de bits que el Maestro transmite al Esclavo.

MISO (Master Input Slave Output): Flujo de bits que le Esclavo transmite al Maestro.

(Slave Select): Línea de selección de esclavo, la controla el Maestro.

Topologías

Maestro y Esclavo (Punto a Punto):

Maestro y varios Esclavos (Punto a Multipunto con Esclavos independientes):

Maestro y varios Esclavos (Punto a Multipunto con Esclavos dependientes – Daisy Chained):

Page 2: Bus SPI (Serial Peripheral Interface)

Omar Gurrola 05/30/13 http://www.proprojects.wordpress.com

Configuración

Para configurar el reloj se utilizan dos bits:

CPOL (Clock Polarity): Define el estado idle de la línea (CPOL = 1, entonces Idle = 1)

CPHA (Clock Phase): Determina en que filo de reloj los datos son desplazados hacia dentro o hacia fuera (CPHA =

0, Los datos son detectados en cada bajada para MOSI y subida para MISO).

Modo: CPOL: CPHA:

A 0 0 0

B 1 0 1

C 2 1 0

D 3 1 1

Para que la comunicación SPI funcione, todos los dispositivos en el bus deben estar configurados con el mismo modo y

normalmente el esclavo lo define ya que es el que tiene limitado la cantidad de modos que soporta.

Page 3: Bus SPI (Serial Peripheral Interface)

Omar Gurrola 05/30/13 http://www.proprojects.wordpress.com

Ventajas Full dúplex

Más veloz que I2C.

No limitado a 8 bits.

Interface de hardware sencilla.

Los esclavos no requieren dirección única.

Desventajas Requiere más pines que I2C.

Soporta un maestro únicamente.

No existe mecanismo para la detección de errores.

Cortas distancia en comparación a RS-232, RS-485 y CAN.

No es plug & play.

Referencias

Microchip, “PIC18F/LF1XK50 Data Sheet”, 2010, http://ww1.microchip.com/downloads/en/DeviceDoc/41350E.pdf

Wikipedia, “Serial Peripheral Interface Bus”, 2013, http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

Eric López Pérez, “Protocolo SPI”, 2013, http://www.i-micro.com/pdf/articulos/spi.pdf