Tabla de contenido:

FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI: 13 pasos
FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI: 13 pasos

Video: FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI: 13 pasos

Video: FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI: 13 pasos
Video: PROTOCOLOS: UART - I2C - SPI - Comunicación Serie #001 2024, Noviembre
Anonim
FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI
FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI

Cuando conecta un microcontrolador a un sensor, pantalla u otro módulo, ¿alguna vez piensa en cómo se comunican los dos dispositivos? ¿Qué están diciendo exactamente? ¿Cómo pueden entenderse?

La comunicación entre dispositivos electrónicos es como la comunicación entre humanos. Ambas partes deben hablar el mismo idioma. En electrónica, estos lenguajes se denominan protocolos de comunicación. Afortunadamente para nosotros, solo hay unos pocos protocolos de comunicación que necesitamos conocer al construir la mayoría de los proyectos de electrónica de bricolaje. En esta serie de artículos, analizaremos los conceptos básicos de los tres protocolos más comunes: interfaz periférica en serie (SPI), circuito interintegrado (I2C) y comunicación impulsada por receptor / transmisor asíncrono universal (UART). Primero, comenzaremos con algunos conceptos básicos sobre la comunicación electrónica, luego explicaremos en detalle cómo funciona SPI. En el siguiente artículo, analizaremos la comunicación impulsada por UART y, en el tercer artículo, analizaremos I2C. SPI, I2C y UART son un poco más lentos que los protocolos como USB, ethernet, Bluetooth y WiFi, pero son mucho más simples y usan menos hardware y recursos del sistema. SPI, I2C y UART son ideales para la comunicación entre microcontroladores y entre microcontroladores y sensores donde no es necesario transferir grandes cantidades de datos de alta velocidad.

Paso 1: SERIE VS. COMUNICACIÓN PARALELA

SERIE VS. COMUNICACIÓN PARALELA
SERIE VS. COMUNICACIÓN PARALELA

Los dispositivos electrónicos se comunican entre sí enviando bits de datos a través de cables conectados físicamente entre dispositivos. Un bit es como una letra en una palabra, excepto que en lugar de las 26 letras (en el alfabeto inglés), un bit es binario y solo puede ser un 1 o un 0. Los bits se transfieren de un dispositivo a otro mediante cambios rápidos de voltaje. En un sistema que funciona a 5 V, un bit 0 se comunica como un pulso corto de 0 V, y un bit 1 se comunica mediante un pulso corto de 5 V.

Los bits de datos se pueden transmitir en paralelo o en serie. En la comunicación en paralelo, los bits de datos se envían todos al mismo tiempo, cada uno a través de un cable independiente. El siguiente diagrama muestra la transmisión en paralelo de la letra "C" en binario (01000011):

Paso 2:

En la comunicación en serie, los bits se envían uno por uno a través de un solo cable. El siguiente diagrama muestra la transmisión serial de la letra “C” en binario (01000011):

Paso 3:

Imagen
Imagen

Paso 4: INTRODUCCIÓN A LA COMUNICACIÓN SPI

INTRODUCCIÓN A LA COMUNICACIÓN SPI
INTRODUCCIÓN A LA COMUNICACIÓN SPI

SPI es un protocolo de comunicación común utilizado por muchos dispositivos diferentes. Por ejemplo, los módulos de tarjetas SD, los módulos de lectores de tarjetas RFID y los transmisores / receptores inalámbricos de 2,4 GHz utilizan SPI para comunicarse con microcontroladores.

Un beneficio único de SPI es el hecho de que los datos se pueden transferir sin interrupciones. Se puede enviar o recibir cualquier número de bits en un flujo continuo. Con I2C y UART, los datos se envían en paquetes, limitados a un número específico de bits. Las condiciones de inicio y parada definen el comienzo y el final de cada paquete, por lo que los datos se interrumpen durante la transmisión. Los dispositivos que se comunican a través de SPI están en una relación maestro-esclavo. El maestro es el dispositivo de control (generalmente un microcontrolador), mientras que el esclavo (generalmente un sensor, pantalla o chip de memoria) recibe instrucciones del maestro. La configuración más simple de SPI es un sistema de un solo maestro, un solo esclavo, pero un maestro puede controlar más de un esclavo (más sobre esto a continuación).

Paso 5:

Imagen
Imagen

Paso 6:

MOSI (Salida maestra / Entrada esclava): línea para que el maestro envíe datos al esclavo.

MISO (Entrada maestra / Salida esclava): línea para que el esclavo envíe datos al maestro.

SCLK (Reloj): línea para la señal del reloj.

SS / CS (Selección de esclavo / Selección de chip): línea para que el maestro seleccione a qué esclavo enviar datos

Paso 7:

Imagen
Imagen

* En la práctica, el número de esclavos está limitado por la capacidad de carga del sistema, lo que reduce la capacidad del maestro para cambiar con precisión entre los niveles de voltaje.

Paso 8: CÓMO FUNCIONA SPI

EL RELOJ

La señal de reloj sincroniza la salida de bits de datos del maestro con el muestreo de bits del esclavo. Se transfiere un bit de datos en cada ciclo de reloj, por lo que la velocidad de transferencia de datos está determinada por la frecuencia de la señal del reloj. La comunicación SPI siempre la inicia el maestro, ya que el maestro configura y genera la señal de reloj.

Cualquier protocolo de comunicación donde los dispositivos comparten una señal de reloj se conoce como síncrono. SPI es un protocolo de comunicación síncrona. También existen métodos asincrónicos que no utilizan una señal de reloj. Por ejemplo, en la comunicación UART, ambos lados están configurados a una velocidad en baudios preconfigurada que dicta la velocidad y la sincronización de la transmisión de datos.

La señal de reloj en SPI se puede modificar utilizando las propiedades de la polaridad del reloj y la fase del reloj. Estas dos propiedades funcionan juntas para definir cuándo se emiten los bits y cuándo se muestrean. El maestro puede establecer la polaridad del reloj para permitir que los bits se emitan y muestreen en el flanco ascendente o descendente del ciclo del reloj. La fase del reloj se puede configurar para que la salida y el muestreo se produzcan en el primer flanco o en el segundo flanco del ciclo del reloj, independientemente de si es ascendente o descendente.

SELECCIONAR ESCLAVO

El maestro puede elegir con qué esclavo quiere hablar configurando la línea CS / SS del esclavo en un nivel de voltaje bajo. En el estado inactivo, sin transmisión, la línea de selección esclava se mantiene a un nivel de alto voltaje. Es posible que haya varios pines CS / SS disponibles en el maestro, lo que permite conectar varios esclavos en paralelo. Si solo hay un pin CS / SS, se pueden conectar varios esclavos al maestro mediante una conexión en cadena.

MÚLTIPLES ESCLAVOS SPI

se puede configurar para operar con un solo maestro y un solo esclavo, y se puede configurar con varios esclavos controlados por un solo maestro. Hay dos formas de conectar varios esclavos al maestro. Si el maestro tiene varios pines de selección de esclavos, los esclavos se pueden cablear en paralelo de esta manera:

Paso 9:

Imagen
Imagen

Paso 10:

MOSI Y MISO

El maestro envía datos al esclavo bit a bit, en serie a través de la línea MOSI. El esclavo recibe los datos enviados desde el maestro en el pin MOSI. Los datos enviados desde el maestro al esclavo generalmente se envían con el bit más significativo primero. El esclavo también puede enviar datos al maestro a través de la línea MISO en serie. Los datos enviados desde el esclavo al maestro generalmente se envían con el bit menos significativo primero. PASOS DE LA TRANSMISIÓN DE DATOS SPI 1. El maestro emite la señal de reloj:

Paso 11:

Imagen
Imagen

Si solo hay disponible un pin de selección de esclavos, los esclavos se pueden conectar en cadena de la siguiente manera:

Paso 12:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

MOSI Y MISO

El maestro envía datos al esclavo bit a bit, en serie a través de la línea MOSI. El esclavo recibe los datos enviados desde el maestro en el pin MOSI. Los datos enviados desde el maestro al esclavo generalmente se envían con el bit más significativo primero.

El esclavo también puede enviar datos al maestro a través de la línea MISO en serie. Los datos enviados desde el esclavo al maestro generalmente se envían con el bit menos significativo primero.

PASOS DE LA TRANSMISIÓN DE DATOS SPI

* Nota Las imágenes están enumeradas Oboe que puede distinguir fácilmente

1. El maestro emite la señal de reloj:

2. El maestro cambia el pin SS / CS a un estado de bajo voltaje, que activa al esclavo:

3. El maestro envía los datos un bit a la vez al esclavo a lo largo de la línea MOSI. El esclavo lee los bits a medida que los recibe:

4. Si se necesita una respuesta, el esclavo devuelve los datos de uno en uno al maestro a lo largo de la línea MISO. El maestro lee los bits a medida que se reciben:

Paso 13: VENTAJAS Y DESVENTAJAS DE SPI

Existen algunas ventajas y desventajas de usar SPI, y si se le da la opción entre diferentes protocolos de comunicación, debe saber cuándo usar SPI de acuerdo con los requisitos de su proyecto:

VENTAJAS

Sin bits de inicio y parada, por lo que los datos se pueden transmitir de forma continua sin interrupciones Sin un sistema de direccionamiento esclavo complicado como I2C Mayor velocidad de transferencia de datos que I2C (casi el doble de rápido) Líneas MISO y MOSI separadas, para que los datos se puedan enviar y recibir al mismo tiempo tiempo

DESVENTAJAS

Usa cuatro cables (I2C y UART usan dos) Sin reconocimiento de que los datos se han recibido correctamente (I2C tiene esto) No hay forma de verificación de errores como el bit de paridad en UART Solo permite un solo maestro Esperamos que este artículo le haya dado una mejor comprensión de SPI. Continúe con la parte dos de esta serie para aprender sobre la comunicación impulsada por UART, o con la parte tres donde discutimos el protocolo I2C.

Si tiene alguna pregunta, no dude en hacerla en la sección de comentarios, estamos aquí para ayudarlo. Y asegúrate de seguir

Saludos: M. Junaid

Recomendado: