Home >internet de las cosas industrial>internet de las cosas industrial
Protocolo de comunicación SPI detallado

El nombre completo en inglés de SPI es Serial Peripheral Interface, que como su nombre indica es una interfaz serial de periféricos. SPI es una especificación de interfaz de comunicación en serie síncrona, que se utiliza principalmente para la comunicación de corta distancia en sistemas integrados. La interfaz fue desarrollada por Motorola a mediados de la década de 1980 y desde entonces ha evolucionado hasta convertirse en una especificación industrial.

La comunicación entre los dispositivos SPI adopta el modo full-duplex, que es un modo maestro-esclavo de un maestro y uno o más esclavos. El host es responsable del marco de inicialización. Este marco de transferencia de datos se puede utilizar para operaciones de lectura y escritura. La línea de selección de chip puede seleccionar uno de varios esclavos para responder a la solicitud del host.

Para varios dispositivos esclavos, cada esclavo necesita una línea CS/SS para conectarse al host, de modo que el host pueda comunicarse con cualquier esclavo. Como se muestra en la figura a continuación, es el método de conexión de un maestro y varios esclavos.

Protocolo de comunicación SPI,SPI

La mayoría de los dispositivos esclavos cuentan con lógica de tres estados, por lo que cuando el dispositivo no está seleccionado, sus líneas de señal MISO se vuelven de alta impedancia (desconectadas eléctricamente). Los dispositivos sin salidas de tres estados necesitan un búfer de tres estados externo para compartir el bus SPI con otros dispositivos esclavos.

En la comunicación SPI, el dispositivo maestro SPI envía el dispositivo esclavo SPI a través de la línea SCLK a la frecuencia admitida por el dispositivo esclavo, lo que también significa que el esclavo no puede enviar datos activamente al maestro, pero el maestro solo puede sondear al esclavo para enviar datos al esclavo. O el dispositivo esclavo informa activamente al host de la llegada de datos a través de un puerto IO.

En cada ciclo de reloj de SPI, se realiza una transmisión de datos full-duplex. Cuando el maestro envía 1 bit a través de la línea MOSI, el esclavo también enviará 1 bit de datos a través de la línea MISO después de leerlo. Esto significa que este orden de comunicación se mantiene incluso si solo tiene lugar una comunicación símplex.

Las transferencias SPI generalmente involucran dos registros de desplazamiento de una longitud de palabra determinada. Por ejemplo, un registro de desplazamiento de 8 bits en el maestro y el esclavo. Están conectados en una topología de anillo virtual, y los datos generalmente se desplazan primero con el bit más significativo. En el borde del reloj, tanto el maestro como el esclavo se transfieren 1 bit de datos de la línea de transmisión entre sí. Cuando llega el siguiente borde del reloj, los receptores de ambos lados muestrean el bit en la línea de transmisión y lo configuran como el nuevo bit menos significativo del registro de desplazamiento. Después de que los bits de registro se desplazan hacia adentro y hacia afuera, el maestro y el esclavo intercambian valores de registro. Si es necesario intercambiar más datos, vuelva a cargar el registro de desplazamiento y repita el proceso. Una transferencia puede durar cualquier número de ciclos de reloj. Cuando termina, el host deja de alternar la señal del reloj.