Tabla de contenido:
- Paso 1: SERIE VS. COMUNICACIÓN PARALELA
- Paso 2:
- Paso 3:
- Paso 4: INTRODUCCIÓN A LA COMUNICACIÓN SPI
- Paso 5:
- Paso 6:
- Paso 7:
- Paso 8: CÓMO FUNCIONA SPI
- Paso 9:
- Paso 10:
- Paso 11:
- Paso 12:
- Paso 13: VENTAJAS Y DESVENTAJAS DE SPI
Video: FUNDAMENTOS DEL PROTOCOLO DE COMUNICACIÓN SPI: 13 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
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
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:
Paso 4: 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:
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:
* 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:
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:
Si solo hay disponible un pin de selección de esclavos, los esclavos se pueden conectar en cadena de la siguiente manera:
Paso 12:
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:
Decodificador de protocolo de control remoto RC5 sin biblioteca: 4 pasos
Decodificador de protocolo de control remoto RC5 sin biblioteca: antes de decodificar rc5 primero discutimos qué es el comando rc5 y cuál es la estructura del mismo. así que básicamente el comando rc5 usado en controles remotos que se usan en televisores, reproductores de CD, d2h, sistemas de cine en casa, etc.tiene 13 o 14 bits dispuestos en un
Comprensión del protocolo IR de los controles remotos del acondicionador de aire: 9 pasos (con imágenes)
Comprensión del protocolo de infrarrojos de los controles remotos del acondicionador de aire: he estado aprendiendo sobre los protocolos de infrarrojos durante bastante tiempo. Cómo enviar y recibir señales de infrarrojos. En este punto, lo único que queda es el protocolo IR de los controles remotos de CA. A diferencia de los controles remotos tradicionales de casi todos los dispositivos electrónicos (por ejemplo, un televisor) donde
FUNDAMENTOS DE LA COMUNICACIÓN UART: 16 pasos
FUNDAMENTOS DE LA COMUNICACIÓN UART: ¿Recuerda cuando las impresoras, ratones y módems tenían cables gruesos con esos conectores enormes y torpes? ¿Los que literalmente tuviste que atornillar a tu computadora? Esos dispositivos probablemente usaban UART para comunicarse con su computadora. Mientras que USB tiene casi
Preliminar * SPI en la Pi: comunicación con un acelerómetro SPI de 3 ejes usando una Raspberry Pi: 10 pasos
Preliminar * SPI en Pi: comunicación con un acelerómetro SPI de 3 ejes usando una Raspberry Pi: guía paso a paso sobre cómo configurar Raspbian y comunicarse con un dispositivo SPI usando la biblioteca SPI bcm2835 (¡NO un poco golpeado!) muy preliminar … Necesito agregar mejores imágenes de la conexión física y trabajar en algunos de los códigos incómodos
Guía del usuario del módulo de comunicación UART Bluetooth HC-08 V2.4: 9 pasos
HC-08 Módulo de comunicación Bluetooth UART V2.4 Guía del usuario: Introducción del producto Módem Bluetooth - Módulo de paso mínimo HC08 es un módulo de transmisión de datos de nueva generación basado en el protocolo Bluetooth Specification V4.0 BLE. Su banda de frecuencia de trabajo inalámbrica es ISM de 2,4 GHz con método de modulación GFSK. Th