SPI - La interfaz de periféricos en serie
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.
Cableado
Sólo se necesitan cuatro cables para la conexión, por lo que es muy fácil de configurar.
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.
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 Sí 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.
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.
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.
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.
[...] Si quieres saber más sobre SPI, por cierto, tenemos un artículo sobre ello aquí. [...]
[...] SPI - La interfaz periférica serie [...]
[...] 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 [...].
[...] SPI - La interfaz periférica serie [...]
[...] 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.