SPI - La interfaz de periféricos en serie

Todo sobre SPI Title Image

SPI significa Serial Peripheral Interface. Con SPI puedes intercambiar datos a toda velocidad entre dos dispositivos. Y sólo necesitas cuatro cables.

Características del SPI

La interfaz periférica en serie es una interfaz de comunicación síncrona para distancias cortas. Sincrónico significa que los datos se envían en forma de bloques o tramas y que los dos dispositivos se sincronizan mediante un reloj. Es una interfaz en serie, por lo que los dispositivos envían un bit a la vez (a diferencia de la comunicación en paralelo). Uno de los dispositivos es el "Maestro" y dicta el ciclo de reloj. El otro dispositivo es el "Esclavo". Normalmente, la comunicación es en modo full duplex. Por lo tanto, ambos dispositivos pueden enviar datos, incluso al mismo tiempo.

Características del SPI
Características del SPI

Cableado

Sólo se necesitan cuatro cables para la conexión, por lo que es muy fácil de configurar.

Cableado SPI
Cableado SPI

Hay cuatro pines que necesitas para una conexión SPI son el Reloj Serial (SCL o SCLK), la Entrada Esclava de Salida Maestra (MOSI), la Salida Esclava de Entrada Maestra (MISO) y el pin de Selección de Chip o Selección Esclava (CS o SS).

Conecte los pines correspondientes en los dispositivos Maestro y Esclavo.

Un dispositivo Maestro puede conectarse a varios dispositivos Esclavos, siempre que tenga suficientes pines de selección de chip. El maestro controla qué dispositivo esclavo recibe los datos poniendo el pin de selección de chip correspondiente en LOW o HIGH.

La Raspberry Pi 4 tiene 7 buses SPI . Si quieres saber cómo acceder a los buses SPI 1 a 6 entonces deja un comentario abajo.

Echemos un vistazo a la Bus SPI 0.

Pinout de Raspberry Pi
Pinout de Raspberry Pi

Como puede ver en el gráfico de pines por encima del pin 23 es el pin SCLK en la Raspberry Pi. MISO es el pin 21 y MOSI es el pin 19. El bus 0 tiene dos pines CS que son los pines 24 y 26.

Si quieres utilizar el bus 0, asegúrate de habilitarlo primero.

Ejecutar el comando

sudo raspi-config

A continuación, seleccione 3 Opciones de interfaz y haga clic en I4 SPI. Por último, pulse y Ok para activar el SPI.

Modos SPI

Hay cuatro modos diferentes de transmisión de datos que debes conocer. Se diferencian en la polaridad y la fase del reloj.

Modos SPI
Modos SPI

Ambos pueden ser 0 o 1. En cuanto a la polaridad del reloj, un 0 significa un estado de reposo BAJO y un 1 un estado de reposo ALTO. Una fase de reloj 0 significa que los datos se envían en el flanco descendente, mientras que un 1 significa que los datos se envían en el flanco ascendente. Antes de poder enviar los datos, el Maestro y el Esclavo tienen que acordar uno de los cuatro modos.

Ventajas

Las mayores ventajas son la alta velocidad, la facilidad de configuración del hardware y el software y el bajo consumo de energía.

Ventajas
Ventajas

Desventajas

La interfaz de periféricos en serie no es realmente extensible en rango y número de dispositivos ya que el Maestro necesita un pin de selección de chip para cada dispositivo. Además, no hay acuse de recibo del esclavo por hardware, por lo que el maestro no sabe si los datos son recibidos por alguien.

Desventajas
Desventajas

Casos de uso

La mayoría de los dispositivos SPI son dispositivos integrados o Pantallas LCD. En general, se utiliza en zonas donde se requieren pocos dispositivos y una rápida transmisión de datos.

Permite a la Raspberry Pi interconectar todo tipo de sensores y dispositivos. Casi todos los dispositivos compatibles con Raspberry Pi utilizan la interfaz SPI o I2C.

Las tarjetas SD también utilizan la interfaz SPI, por lo que incluso el lector de tarjetas SD de la Raspberry Pi tiene unos pines MISO y MOSI internos.

5 Comentarios

  1. [...] Si quieres saber más sobre SPI, por cierto, tenemos un artículo sobre ello aquí. [...]

  2. [...] Naveen explica que la conexión entre el Nano y la pantalla TFT se basa en la interfaz periférica serie (SPI). Por su parte, el joystick y los botones se conectan a través del bus de circuitos integrados [...].

  3. [...] SPI - La interfaz periférica serie [...]

  4. Ben el octubre 25, 2023 a las 3:56 am

    [...] Anzahl der Geräte nicht wirklich erweiterbar, da der Master für jedes Gerät einen Chip Select Pin [...]

    Es gibt die Möglichkeit Geräte per Daisy-Chain aneinander zu reihen. Para ello, sólo es necesario seleccionar un chip. Sin embargo, hay que tener en cuenta que muchos dispositivos están conectados en cadena SPI, por lo que los paquetes de datos como flujos pueden conectarse entre sí. Los dispositivos se intercambian de tal forma que MISO del dispositivo anterior se conecta a MOSI del siguiente dispositivo. El MISO del último equipo se combinará entonces con el equipo maestro. Con esta técnica, los datos de todos los equipos se guardan en un archivo, cuando el Chip-Select se activa después del envío de los flujos de datos.

Deja un comentario