¿Es SPI solo una interfaz o un protocolo?

Respuesta corta: es un protocolo. Lea a continuación para una explicación más larga.

SPI o Serial Peripheral Interface es un protocolo de comunicación entre 2 dispositivos. Me estoy centrando en la palabra protocolo porque tiene una forma particular en la que se produce la comunicación. Las interfaces están limitadas al nivel de hardware, mientras que los protocolos tienen más profundidad.

Para explicar más, SPI tiene un maestro decide y un dispositivo esclavo. Toda la nomenclatura es desde la perspectiva del maestro. Es el maestro el que siempre inicia la comunicación manejando una de las cuatro líneas de hardware, chip select (cs) low. Las otras líneas son: reloj en serie (sck), MISO (maestro en esclavo) y MOSI (maestro en esclavo). Esto forma la capa de hardware de SPI. Yendo más allá, SPI también tiene varios modos. Tiene modos desde el modo secundario 0 a 3. Estos definen la fase y la polaridad de la señal del reloj (sck). La fase es el borde que se genera primero cuando comienza el reloj. Es en este borde donde se muestrean los datos MOSI, es decir, datos del maestro al esclavo. La polaridad es 0 si el estado predeterminado de sck es lógico 0 y es 1 cuando el estado predeterminado es lógico 1. Esto forma la parte de la capa de bits o la parte en la que se define el muestreo.

Lo siguiente es la lógica del protocolo. Aquí, cuando cs baja, el maestro y el esclavo pueden enviar una cantidad fija de bits simultáneamente, haciendo que el protocolo sea dúplex completo. Ahora estos pueden ser 8, 16 o, a veces, 32 bits de datos. La cantidad de datos que se pueden enviar una vez es programable.

Por lo tanto, podemos ver aquí que SPI no es solo una interfaz, sino que en realidad define cómo los datos deben viajar de un dispositivo a otro y a qué velocidad, determinada obviamente por sck. Así, de manera concluyente, se puede decir que SPI tiene una interfaz de 4 hilos, pero SPI en sí mismo es un protocolo de comunicación completo.

Es protocolo. Hay un conjunto específico de reglas para el dispositivo que se comunica a través del protocolo SPI.