bus spi (serial peripheral interface)
DESCRIPTION
Explicacion sencilla y basica sobre el bus SPITRANSCRIPT
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):
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.
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