¿Qué es la interfaz de periféricos en serie?

Una interfaz de periféricos en serie (SPI) es una interfaz de flujo de datos de comunicación en serie síncrona de dúplex completo, de cuatro cables y de bajo costo que opera en una relación maestro-esclavo. La transferencia de datos en dispositivos seriales ocurre un bit a la vez, lo que hace que SPI sea una interfaz de baja velocidad. Se utiliza comúnmente como enlace entre circuitos integrados con dispositivos periféricos lentos integrados a los que se accede de forma intermitente. Compite con los dispositivos de transmisión de datos en paralelo, pero a medida que SPI aumenta en eficiencia, la ventaja del primero se reduce. A veces, se hace referencia a SPI como «microalambre», aunque se considera un subconjunto de protocolo de SPI.

Las transferencias de datos a través de una interfaz periférica en serie se producen a través de un protocolo de dúplex completo. Los datos se transfieren y reciben en ambas direcciones al mismo tiempo. Las aplicaciones que utilizan SPI obtienen mucha eficiencia en este modo; una de estas aplicaciones se encuentra entre un codificador-decodificador (códec) y un procesador de señal digital (DSP). Otras aplicaciones incluyen sensores de temperatura y presión, así como memoria flash.

Siempre que se comunican dos dispositivos de interfaz periférica en serie, uno de ellos se denomina «maestro», mientras que el otro dispositivo es el «esclavo». El dispositivo maestro inicia todas las comunicaciones transmitiendo señales al dispositivo esclavo. Un bus de interfaz de periféricos en serie puede conectar varios dispositivos esclavos a un solo maestro.

Los dispositivos de interfaz periférica en serie utilizan tres registros: registro de control (SPCR), registro de estado (SPSR) y registro de datos (SPDR), para enviar datos, junto con cuatro señales diferentes. La primera señal se llama reloj serie (SCLK), que solo genera el dispositivo maestro. A esto le sigue la salida de maestro, la entrada de esclavo (MOSI), la entrada de maestro, la salida de esclavo (MISO) y la selección de esclavo (SSn), donde “n” es el número de dispositivos esclavos a los que está conectado el dispositivo maestro.

En una configuración típica de un solo esclavo, un ingeniero que busque utilizar una interfaz periférica en serie conectaría SCLK a la entrada de un dispositivo esclavo. MOSI luego transporta datos del dispositivo maestro al dispositivo esclavo, mientras que MISO transfiere datos del esclavo al maestro. Para determinar qué dispositivo es maestro y cuál esclavo, el primero conecta el SSn maestro al SSn esclavo y genera una señal de entrada / salida discreta de propósito general para el último.

Para conectar varios esclavos a un maestro en una interfaz periférica en serie, se conectan señales SSn separadas desde el dispositivo maestro a esclavos separados. Por ejemplo, SS1 está conectado al esclavo 1, SS2 está conectado al esclavo 2, y así sucesivamente. Similar a la configuración de un solo esclavo, SCLK está conectado desde el dispositivo maestro a los múltiples esclavos. Se conectan MOSI de maestro a esclavos, así como MISO de esclavo a maestro.