Skip to main content

¿Qué es la interfaz periférica en serie?

Una interfaz periférica en serie (SPI) es una interfaz de flujo de datos de comunicación en serie sincrónica full-duplex de cuatro hilos y bajo costo que opera en una relación maestro-esclavo. La transferencia de datos en dispositivos seriales ocurre un bit a la vez, haciendo de SPI una interfaz de baja velocidad. Se usa comúnmente como un enlace entre los circuitos integrados con dispositivos periféricos lentos a bordo a los que se accede de forma intermitente. Compite con dispositivos de transmisión de datos paralelos, pero a medida que SPI aumenta en eficiencia, la ventaja del primero se reduce. SPI a veces se denomina "microhilo", aunque esto se considera como un protocolo de subconjunto de SPI.

Las transferencias de datos mediante una interfaz periférica en serie se realizan a través del protocolo full-duplexed. Los datos se transfieren y reciben en ambas direcciones al mismo tiempo. Las aplicaciones que usan SPI ganan mucha eficiencia en este modo; Una de estas aplicaciones es 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.

Cada vez que dos dispositivos de interfaz periférica en serie se comunican, un dispositivo se conoce como el "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 periférico en serie puede conectar múltiples 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), en el envío de datos, junto con cuatro señales diferentes. La primera señal se llama reloj serie (SCLK), que solo genera el dispositivo maestro. Esto es seguido por master-out slave-in (MOSI), master-in slave-out (MISO) y slave select (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 esclavo único, un ingeniero que busca usar una interfaz periférica en serie conectaría SCLK a la entrada de un dispositivo esclavo. MOSI luego transporta datos desde el dispositivo maestro al dispositivo esclavo, mientras que MISO transfiere datos desde el esclavo al maestro. Para determinar qué dispositivo es maestro y cuál es 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 segundo.

Para conectar múltiples 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 a Slave 1, SS2 está conectado a Slave 2, y así sucesivamente. Similar a la configuración de esclavo único, SCLK está conectado desde el dispositivo maestro a los esclavos múltiples. MOSI de maestro a esclavo están conectados, así como MISO de esclavo a maestro.