diferencias de capa de hardware SWD e i2C

2

Tanto I2C como SWD son protocolos de dos cables. Me pregunto cuáles son las principales diferencias de la capa de hardware de estos protocolos y cuáles son las ventajas y desventajas de cada uno.

También es interesante que la velocidad máxima reclamada para i2c sea de 5MHz (versión 4, modo ultra rápido) y 50MHz para SWD. ¿Por qué la diferencia es tan grande? ¿Es posible alcanzar la misma velocidad para I2C si se usan los mismos componentes de hardware en teoría?

    
pregunta EGDima

1 respuesta

4

Especificación I2C: enlace

La principal diferencia está en el manejo de múltiples dispositivos en el mismo par de cables. I2C lo permite, SWD no. Como resultado, I2C fue diseñado para usar lógica de colector abierto con resistencias de pull-up: esto es robusto (de ninguna manera un dispositivo puede dañar a otro al pelear por si la línea es 1 o 0) pero limita drásticamente la velocidad. SWD es de un solo maestro: el host de depuración siempre está controlando el bus, y ocasionalmente lee datos del esclavo. I2C es multi-maestro: cualquier dispositivo puede comenzar a hablar en cualquier momento.

De hecho, la versión "ultrarrápida" de 5MHz (consulte la sección 3.2 de la especificación) entrega multi-master y bidireccionalidad para alcanzar esa velocidad.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas