¿Posibilidad de dispositivo SMBus / PMBus con I2C Master?

3

¿Puedo comunicarme con un dispositivo SMBus / PMBus con I2C? He estado leyendo las especificaciones y me estoy confundiendo bastante. Me parece que la única diferencia es el nivel de voltaje y la necesidad de tener una condición de reinicio. ¿Estoy en lo correcto o me falta algo?

    
pregunta flashburn

2 respuestas

1

SMBUS es básicamente un superconjunto de i2c. Tiene algunas características extra. Si no necesita esas funciones adicionales, entonces sí.

Algunas lecturas ligeras sobre diferencias generales:

enlace

enlace

Los detalles específicos sobre lo que hace el dispositivo y cómo funciona se pueden ver en la hoja de datos. Es posible que no indique directamente qué funciones son los comandos normales de i2c, pero si entiendes cómo funciona i2c, puedes diferenciarlas.

    
respondido por el Passerby
2

SMBus es un subconjunto definido de los estándares I2C.
Consulte enlace
Para las especificaciones de I2C (mantenidas por NXP) vea esto: enlace

Las principales diferencias para SMBus:

  1. SMBus solo usa direccionamiento de 7 bits (esto se define de acuerdo con la especificación ACPI), aunque SMBus define un registro adicional para la dirección de 10 bits que actualmente no se usa en ninguna PC ACPI que conozca.

  2. Para el uso de ACPI (PC), SMBus utiliza un mínimo de 10k bps y una velocidad máxima de datos de 100k bps. Hay un nuevo estándar (aún no ratificado que aumenta la velocidad, pero aún no se ha introducido como parte de ACPI). I2C especifica el reloj del bus a DC (detenido) y puede funcionar mucho más rápido, con el nuevo estándar de hasta 3.4 Mbps.

  3. SMBus es compatible con una especificación de extracción de bus de baja potencia de 350 uA y un modo de alta potencia de 3 mA; I2C permite una capacidad de corriente desplegable de bus de 4 mA. Esto da como resultado una longitud de línea y una capacidad de potencia mucho más cortas para SMBus.

  4. Los esclavos SMBus deben implementar un tiempo de espera de reinicio automático de 35 mS. No encuentras esto en los chips I2C, por lo que debes monitorear los tiempos de espera en las unidades que controlan el maestro. Esto afecta a los tiempos de extensión del reloj, ya que si el reloj se mantiene por más de 35 mS, el SMBus se reiniciará, mientras que I2C técnicamente puede extenderse indefinidamente (por supuesto, no es algo bueno).

Para obtener una mejor cobertura de las diferencias, lea el Apéndice B en la especificación SMBus y la sección 4 de la especificación NXP U10204.

En su mayoría, puede usar periféricos I2C en un SMBus, pero lo contrario no es cierto. Las implementaciones periféricas de SMBus pueden fallar debido a problemas de "extensión del reloj" (que causan reinicios) o a bajas velocidades < 10k bps.

    
respondido por el Jack Creasey

Lea otras preguntas en las etiquetas