I2C-SPI-Vergleich

Protocolo I2C vs SPI: diferencias y similitudes

Beispiel_fuer_implentation_I2C_Bus

El bus I2C

I2C (Circuito Integrado) es un protocolo de comunicación a bordo ideal para distancias cortas y poco ancho de banda. Tiene una arquitectura maestro-esclavo en la que todos los esclavos están conectados al maestro a través de dos líneas: la línea de datos serie (SDA) y la línea de reloj serie (SCL). El I2C se suele utilizar para conectar periféricos de baja velocidad , como sensores, a procesadores y microcontroladores en distancias cortas, dentro de un circuito integrado.

El protocolo I2C define cómo se envían los datos. Inicialmente, el maestro emite una condición de inicio seguida de la dirección del dispositivo esclavo con el que se está comunicando. Una vez que el esclavo correspondiente ha identificado su dirección, busca la bandera de lectura/escritura progresiva emitida por el maestro. Esta bandera indica al esclavo si puede recibir o enviar datos. Una vez que el esclavo ha reconocido al maestro, la comunicación continúa.

Una característica de I2C es el sistema de comprobación incorporado: cada byte de datos es reconocido por el receptor con ACK o NAK para indicar al transmisor si los datos se han recibido o no. Una vez que el maestro ha terminado de comunicarse con el esclavo direccionado, emite una condición de parada para señalar el final de la transmisión. Tras la condición de parada, puede comenzar la comunicación con otras unidades esclavas.

El bus SPI

La Interfaz Periférica Serie (SPI) es otro protocolo de comunicación serie utilizado habitualmente en sistemas embebidos. Al igual que I2C, también tiene una arquitectura maestro-esclavo, pero es un bus de 4 hilos o más. SPI requiere una línea de reloj (SCK), dos líneas de datos para la transmisión bidireccional de datos conocidas como líneas MOSI y MISO. Además, debe haber una línea de selección de esclavo (SS) para cada esclavo del bus. En lugar de utilizar un sistema de direccionamiento como el I2C, el maestro controla varios esclavos a través de las líneas de selección de esclavo. Se trata de un protocolo muy sencillo, sin apenas sobrecarga, lo que lo hace ideal para aplicaciones de transmisión: los datos se pueden mover a velocidades muy altas, ya que la naturaleza full dúplex hace del SPI un protocolo muy eficiente.

Si necesitas controlar la transferencia de datos de estos protocolos, necesitas un analizador de protocolos. Los analizadores de protocolos capturan e informan de la comunicación a través de un bus para que los usuarios puedan analizar y depurar el tráfico. Veamos las similitudes y diferencias entre las características de los analizadores de protocolos I2C y SPI.

Master_Slave_spi

Protocolo I2C frente a SPI: diferencias y similitudes

Una diferencia significativa es que el I2C es más lento (normalmente 100-400 KHz, máximo 5 MHz) en comparación con el SPI, que puede alcanzar hasta 80 MHz o a veces incluso más velocidad. La disponibilidad de una mayor velocidad SPI se debe al uso de varias líneas para la transmisión de datos y a una sobrecarga de protocolo baja.

Otras diferencias entre I2C y SPI 

FunciónDescripciónProtocolo I2CProtocolo SPI
Líneas

Líneas necesarias para

que funcione el protocolo de comunicación 

24

 

 

Velocidad

 

 

Velocidad máxima

100 KHz (estándar) 

400 KHz (modo rápido)

1 MHz (modo rápido-Plus)

3,4 MHz (modo de alta velocidad)

5 MHz (modo ultrarrápido)

80 MHz (estándar)

 

100 MHz (modo rápido)

Potencia necesariaCompara la potencia necesaria para cada protocolo 

Consume más energía

que SPI

Más adecuado para

Aplicaciones de bajo consumo

Precio y coste

 

Costes de implementación de proyectos similares2C es más barato de implementar, ya que no requiere lógica de selección de chip ni de arbitrajeEl protocolo SPI es más caro de implementar porque requiere más espacio en el chip

Estiramiento del reloj

El estiramiento del reloj es una función que permite a los dispositivos esclavos cambiar el reloj del bus principal bajo demanda.Si un dispositivo esclavo no puede procesar los datos lo suficientemente rápido, puede ralentizar el reloj con el estiramiento del reloj para reducir la velocidad de bits y ayudar a mantenerla.Los dispositivos esclavos del protocolo SPI no utilizan el estiramiento del reloj.

 

Inmunidad al ruido

La inmunidad al ruido describe lo bien que puede funcionar un dispositivo o sistema en presencia de ruido.Menos susceptible al ruido.Más susceptible al ruido

Configuraciones

¿Qué configuraciones de dispositivos maestros y esclavos admite el protocolo?Protocolo multimaestro, permite cualquier número de dispositivos maestros y uno o más esclavosProtocolo de maestro único, debe utilizar una unidad maestra y una o más unidades esclavas

 

Verificación de datos

¿Puede el protocolo detectar errores? ¿Comprueba la recepción de datos por las unidades esclavas después de que la unidad maestra se comunique?Utiliza el bit de acuse de recibo después de cada byte y garantiza que los datos enviados son recibidos por la unidad esclavaNo hay un método normalizado para comprobar si los datos se han recibido correctamente o no, no admite el bit de acuse de recibo

 

Tamaño del mensaje

¿Qué tamaño de mensaje admite el protocolo ?

La comunicación I2C utiliza mensajes divididos en tramas. Una trama de 7 ó 10 bits reenvía el mensaje, y los datos se transmiten en tramas de 8 bits separadas por bits de acuse de recibo que verifican la recepción de los datos.La comunicación SPI funciona mediante registros de desplazamiento. Los mensajes pueden ser de 8 bits, pero también son posibles las transmisiones de datos de 12 ó 16 bits.

 

Dúplex

¿Permite el protocolo la comunicación bidireccional y simultánea entre dispositivos?Modo semidúplex - los cables individuales pueden transmitir datos en ambas direcciones, pero no simultáneamenteModo dúplex completo: los cables individuales pueden transmitir datos en ambas direcciones simultáneamente

Analizadores de protocolos SPI e I2C y adaptadores de host

Existen varios analizadores de protocolos en el mercado. Algunos son específicos de un protocolo, mientras que otros analizadores admiten varios protocolos.

Hay pocas diferencias funcionales entre la mayoría de los analizadores I2C y SPI. Pueden tener diferencias de implementación, como los tipos de cabecera, el número de patillas o las tolerancias de tensión/corriente; estas diferencias proceden de los diseños de los fabricantes.

La mayoría de los analizadores proporcionan un software GUI para leer la comunicación capturada en el bus. Los analizadores de protocolos suelen descodificar las señales de control y los datos del protocolo, a diferencia de un analizador lógico estándar, que sólo muestra las señales y los diagramas de temporización.

No todo el software es igual. La capacidad de ver datos en tiempo real, iniciar y detener capturas, guardar y compartir capturas, y buscar y filtrar capturas no siempre está disponible en todos los programas de analizadores de protocolos. Para una mayor flexibilidad y uso, algunos analizadores de protocolos están equipados con una API de software que permite al usuario crear una herramienta personalizada para sus necesidades específicas.

Hay algunos analizadores de protocolos en el mercado que admiten varios protocolos, pero, de nuevo, no todos son iguales. Estos analizadores pueden variar mucho en precio y funcionalidad. El Analizador de Protocolos I2C/SPI controla los protocolos I2C y SPI, así como MDIO. Es compacto, relativamente barato y el software que lo acompaña permite la adquisición y visualización de datos en tiempo real y es totalmente compatible con Windows, Linux y Mac OS X.

Si buscas un mayor rendimiento, compatibilidad con protocolos adicionales y un dispositivo "constrúyelo como quieras", considera la Plataforma Serial Promira. La Plataforma Promira es un adaptador de host I2C y SPI, así como un analizador de protocolos eSPI, todo en uno. La funcionalidad de analizador de protocolos para I2C y SPI se añadirá a la plataforma en un futuro próximo. El modelo de plataforma permite a los clientes comprar sólo las aplicaciones que necesitan, a medida que las necesitan. Esto conlleva un precio ligeramente superior al del Analizador de Protocolos Beagle I2C / SPI, pero también tiene muchas más funciones.

Comprender las similitudes y diferencias entre los analizadores de protocolos es importante y puede marcar la diferencia entre sacarlos antes de tiempo o incumplir un plazo.

Cuando compres un analizador de protocolos, ten en cuenta su compatibilidad con el sistema operativo, las opciones USB y el precio. Asegúrate de que investigas, obtienes exactamente lo que necesitas y sabes lo que estás comprando. Si tienes en cuenta todas las opciones disponibles, no sólo ahorrarás dinero, sino que maximizarás el rendimiento de tu trabajo: ¡tú, tu equipo y tus proyectos podréis sacarle el máximo partido!

Adaptador de host I2C/SPI AardvarkAdaptador de host I2C/SPI Aardvark
Adaptador de host I2C/SPI Aardvark
TP240141
El adaptador de host I2C/SPI Aardvark es una herramienta innovadora para su uso con sistemas de bus I2C y SPI.

309,00 €*
Beagle I2C/SPI Protokoll Analyzer - Total Phase
Analizador de protocolos I2C/SPI Beagle
TP320121
El Analizador de protocolos I2C/SPI Beagle es un adaptador de host de bus I2C y SPI rápido y potente a través de USB

369,00 €*
Plataforma universal Promira I2C/ SPI/ eSPI
TP500110-S
La plataforma universal I2C/SPI/eSPI Promira puede utilizarse para una amplia gama de aplicaciones

Variantes de 900,00 €*
1.060,00 €*

Más artículos