Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

I2C frente a SPI:diferencias que debe conocer

¿Está diseñando un proyecto y es crucial elegir entre I2C o SPI? ¿Pero no sabes cuál elegir? En caso afirmativo, lo ayudaremos a decidir cuál es mejor para su proyecto.

En primer lugar, I2C y SPI son protocolos de "gama baja". Pero son fáciles de usar y funcionan perfectamente para la comunicación entre chips en su PCB.

Sin embargo, seleccionar el protocolo incorrecto para su proyecto puede generar resultados no deseados. Sin embargo, estamos aquí para ayudarlo a comprender la diferencia entre estos dos protocolos similares.

¿Estás listo? ¡Comencemos!

¿Qué es un protocolo SPI?

En la década de 1980, Motorola desarrolló el protocolo SPI para establecer comunicación entre los microcontroladores de la época con otros periféricos como EEPROM.

EEPROM

Entonces, el protocolo SPI utiliza cuatro líneas de señal para la comunicación entre las partes. Sin embargo, es crucial tener en cuenta que estos no incluyen las líneas de tierra y energía. Aquí están las cuatro líneas de señal activas:

En esta nota, las cuatro líneas permiten que un SPI maestro (dispositivo de control) se comunique con un SPI esclavo (dispositivo periférico).

Interfaz de protocolo SPI

Además, solo puede tener un dispositivo controlador en un bus SPI. Pero no hay límite para la cantidad de periféricos que puede agregar. Además, agregar más periféricos significa aumentar las líneas SS. Por lo tanto, aquí hay una ilustración de cómo puede usar tres líneas SS separadas para controlar diferentes periféricos.

Interfaz de protocolo SPI con varias personas esclavizadas

Además, cuando el SPI maestro quiere comunicarse con los periféricos mediante el envío o la recepción de datos, extrae la línea SS correspondiente. En consecuencia, la línea estará debajo. Por lo tanto, la línea SCLK se activa y es alta y baja a una frecuencia establecida.

Además, el SPI maestro usa la línea MISO para enviar datos y muestras simultáneamente. Además, tenga en cuenta que solo puede haber comunicación entre un periférico y el SPI maestro a la vez.

Qué es un I2C

Alternativamente, en 1982, Philips Semiconductors (ahora NXP Semiconductors) desarrolló el primer protocolo I2C para sistematizar las comunicaciones entre chips en una PCB.

A diferencia de su contraparte SCI, el protocolo I2C tiene dos líneas de comunicación, excluyendo las líneas de tierra y energía. Estas líneas incluyen:

Por lo tanto, puede conectar cualquier cantidad de dispositivos esclavizadores y agentes a un bus. Además, debe mantener las líneas SCL y SDA como líneas de drenaje abierto. Como resultado, sus dispositivos solo tendrán una línea baja a la vez. Además, necesitará una resistencia pull-up en sus tuberías. De esa forma, puedes volver a llevar la línea a lo más alto.

Interfaz de protocolo I2C

Debido al diseño de drenaje abierto del protocolo I2C, puede usar varios maestros en el mismo bus. Pero si dos dispositivos controladores comienzan a comunicarse simultáneamente, habrá un arbitraje que hará que uno de los dispositivos deje de transmitir.

Mientras tanto, los dispositivos controladores monitorean la línea SDA mientras ocurre la comunicación. Entonces, si un dispositivo detecta que la línea SDA está baja mientras transmite, dejará de enviar. Y esto permite que otro dispositivo controlador se comunique.

Además, el dispositivo controlador I2C transmitirá una condición de INICIO para iniciar la comunicación. En consecuencia, la línea SDA será baja mientras que la línea SCL permanecerá alta.

Luego, el dispositivo controlador transmitirá una dirección de 7 bits del destinatario al que desea enviar y un bit de lectura (1) o un bit de escritura (0). En este punto, un dispositivo en el bus solo responderá si tiene una dirección de velocidad de 7 bits coincidente haciendo que la línea SDA sea baja.

Diferencias entre el I2C y el SPI

Tanto el SPI como el I2C son similares porque ambos son protocolos de "gama baja". Además, ambos protocolos carecen de la velocidad y otras características de las que se jactan sus primos pesados ​​(SATA, Ethernet, USB y otros).

Pero cuando se trata de los principios y características de funcionamiento. Echemos un vistazo más de cerca a las diferencias entre los dos protocolos.

Conector USB

En primer lugar, puede configurar cuatro modos diferentes en el protocolo SPI para determinar cómo funciona el reloj. Y para que la comunicación funcione, los dispositivos esclavizadores y agentes deben usar el mismo modelo.

  1. Modo 0:datos muestreados en un flanco ascendente del reloj, el reloj está inactivo
  2. Modo 1:datos muestreados en el borde descendente del reloj, el reloj está inactivo
  3. TMode 2:datos muestreados en el borde descendente del reloj, el reloj está inactivo alto
  4. Modo 3:datos muestreados en un flanco ascendente del reloj, el reloj está inactivo alto

Además, las velocidades de transferencia de datos SPI pueden superar los 10 Mbps, lo que lo hace perfecto para transferir grandes cantidades de datos. Además, puede encontrar protocolos SPI en sensores con velocidades de actualización rápidas, como pantallas LCD y acelerómetros.

LCD

Alternativamente, el I2C solo puede enviar datos en paquetes de un byte a la vez. Además, el periférico receptor debe reconocer cada byte con un bit ACK. Además, el protocolo I2C tiene tres modos con diferentes velocidades de transferencia de datos.

Bit ACK

El modelo estándar alcanza un máximo de 100 kbps, el modo rápido tiene un límite de 400 kbps y el modo de alta velocidad alcanza un máximo de 3,4 Mbps. Por lo tanto, el protocolo I2C es significativamente más lento que el protocolo SPI. Como resultado, los protocolos I2C funcionan mejor en sensores de temperatura y convertidores de analógico a digital.

Sensores de temperatura

Comparación de I2C y SPI

La siguiente tabla muestra además las diferencias significativas entre el I2C y el SPI:

Característica SPI I2C
Unidad de pines Modo push-pull Modo de drenaje abierto
Máx. Velocidad Ninguno (pero puede encontrar de 10 a 100 Mbps) 100 kbps (método estándar) 400 kbps (vía rápida) 3,4 Mbps (modo de alta velocidad)
Multimaestro No
Líneas de señal 4 (los dispositivos adicionales agregan líneas adicionales) 2
No. de Periféricos La cantidad de pines disponibles para las líneas SS en el SPI maestro es el único límite para la cantidad de periféricos que puede tener Máx. de 112 con direccionamiento de 7 bits
Control de flujo No

Protocolos SPI vs I2C:pros y contras

SPI 

Ventajas

Desventajas

I2C 

Ventajas

Desventajas

Factores que debe tener en cuenta al elegir entre SPI e I2C

Seleccionar el mejor protocolo para su proyecto va más allá de la etiqueta de precio. Entonces, aquí hay algunas cosas que debe considerar antes de hacer su elección:

Pines limitados

Estas son las ventajas y desventajas de los protocolos SPI e I2C:si no le gusta usar microcontroladores con más de 100 pines, este es un factor crucial a considerar. En este caso, debe optar por un protocolo que requiera menos líneas para las comunicaciones.

Poder

Dependiendo de su diseño, es posible que desee minimizar o maximizar el consumo de energía. Por lo tanto, debe asegurarse de elegir el protocolo que mejor se adapte a sus necesidades de consumo.

Velocidad

Cuando se trata de transferir grandes cantidades de datos, cada microsegundo es crucial. Entonces, si lo que necesita es velocidad, busque un protocolo que cumpla con sus estándares de velocidad.

Tamaño de PCB

Es vital considerar el tamaño de su PCB antes de elegir cualquier protocolo. En consecuencia, aumentará sus posibilidades de obtener resultados deseables.

Elegir entre SPI e I2C

Estas son las características de cada protocolo para ayudarlo a tomar la mejor decisión para su diseño:

Características SPI I2C
Velocidad Si su diseño requiere transmisiones de mayor velocidad, el protocolo SPI es la mejor opción. Puede elegir I2C para diseños para dispositivos de baja velocidad
Tamaño de PCB Si no le preocupa el tamaño de su PCB, no puede equivocarse con SPI o I2C. Si su PCB tiene un tamaño más pequeño y menos pistas, considere elegir el I2C
Pines limitados Opta por el protocolo SPI si no te importa agregar líneas adicionales para la comunicación. Si no te sientes cómodo con muchas pistas, entonces I2C es una opción ideal.
Potencia Para dispositivos de menor consumo de energía, use el protocolo SPI Para dispositivos de mayor consumo de energía, use el protocolo I2C

Comprender UART

Los UART son circuitos físicos en un integrado o microcontrolador que establecen comunicación en serie entre dispositivos en sistemas integrados.

Además, cuando se trata de comunicación UART, siempre hay comunicación directa entre el transmisor UART y el receptor UART.

UART frente a I2C frente a SPI

A diferencia de otros protocolos de comunicación como SPI e I2C, el UART es puramente físico. Además, no utiliza un paradigma maestro/esclavo para comunicarse. En cambio, el microcontrolador usa dos dispositivos UART para enviar y recibir datos. Además, solo necesita dos cables para la comunicación UART. Y los cables ayudarán a transmitir datos desde el pin Tx del transmisor al pin Rx del receptor.

Interfaz de protocolo UART

Redondeando hacia arriba

En realidad, los protocolos SPI e I2C se utilizan en diversas aplicaciones. A veces, puede encontrarse con dispositivos que cuentan con interfaces SPI e I2C en un chip. Por lo tanto, no tiene que elegir entre los dos.

Sin embargo, si necesita elegir entre los dos protocolos, el SPI es mejor para proyectos que necesitan velocidades de transferencia más rápidas. Por otro lado, si su microcontrolador tiene pines limitados, el protocolo I2C funcionaría mejor.

¿Tiene alguna pregunta? Siéntete libre de contactarnos. Estaremos más que felices de ayudar.


Tecnología Industrial

  1. 7 bibliotecas de React que debes conocer
  2. Lo que debe saber sobre las pruebas de aceite de transformadores
  3. Por qué debería usar un reactor de línea
  4. 7 parámetros CNC que debe conocer
  5. Lo que debe saber sobre los protectores de muelas abrasivas
  6. 5 cosas que debe saber sobre las microherramientas
  7. ¿Qué es el cumplimiento de TAA? 5 cosas que debes saber
  8. Las 9 aplicaciones de aprendizaje automático que debes conocer
  9. Revestimiento del embrague:todo lo que debe saber
  10. Términos básicos de chorro de agua que debe conocer
  11. ¿Qué es el moleteado? Esto es lo que debe saber