Articulo de referencia

Bus de gestión del sistema

El bus de administración del sistema ( SMBus o SMB ) es un bus simple de dos cables con terminación simple, diseñado para la comunicación de bajo consumo. Generalmente se encuen...

El bus de administración del sistema ( SMBus o SMB ) es un bus simple de dos cables con terminación simple, diseñado para la comunicación de bajo consumo. Generalmente se encuentra en los chipsets de las placas base de las computadoras para comunicarse con la fuente de alimentación y enviar instrucciones de encendido/apagado. La funcionalidad y las interfaces de hardware varían según el fabricante.

Se deriva de I²C para la comunicación con dispositivos de bajo ancho de banda en una placa base , especialmente chips relacionados con la alimentación, como el subsistema de batería recargable de una computadora portátil (ver Sistema de batería inteligente y ACPI ). [ 1 ] Otros dispositivos pueden incluir hosts maestros externos, sensor de temperatura, ventilador o sensores de voltaje, interruptores de tapa, generador de reloj e iluminación RGB . Las tarjetas de expansión Peripheral Component Interconnect (PCI) pueden conectarse a un segmento SMBus.

Un dispositivo puede proporcionar información del fabricante, indicar su modelo/número de pieza, guardar su estado para un evento de suspensión, informar diferentes tipos de errores, aceptar parámetros de control, devolver el estado a través de SMBus y consultar los registros del chipset. El SMBus generalmente no es configurable ni accesible por el usuario. [ 1 ] Aunque los dispositivos SMBus normalmente no pueden identificar su funcionalidad, una nueva coalición PMBus ha extendido SMBus para incluir convenciones que lo permiten.

El SMBus fue definido por Intel y Duracell en 1994. [ 2 ] Transporta reloj, datos e instrucciones y se basa en el protocolo de bus serie I²C de Philips . [ 1 ] Su rango de frecuencia de reloj es de 10 kHz a 100 kHz. (PMBus lo extiende a 400 kHz). Sus niveles de voltaje y temporización están definidos de forma más estricta que los de I²C, pero los dispositivos pertenecientes a ambos sistemas a menudo se pueden combinar con éxito en el mismo bus.   

SMBus se utiliza como interconexión en varios estándares de gestión de plataformas, entre los que se incluyen: Alert Standard Format (ASF), Desktop and mobile Architecture for System Hardware (DASH) e Intelligent Platform Management Interface (IPMI).

SMBus se utiliza para acceder a la información de configuración de la DRAM como parte de la detección de presencia en serie (SPD). SMBus se ha extendido a una amplia variedad de casos de uso para la enumeración de sistemas, más allá de la administración de energía.

Interoperabilidad SMBus/I²C

Aunque SMBus se deriva de I²C, existen varias diferencias importantes entre las especificaciones de ambos buses en cuanto a aspectos eléctricos, temporización, protocolos y modos de funcionamiento. [ 3 ] [ 4 ] [ 5 ] [ 6 ]

Eléctrico

Voltaje de entrada ( V IL y V IH )

Al mezclar dispositivos, la especificación I²C define los niveles de entrada como el 30 % y el 70 % de la tensión de alimentación V DD , [ 5 ] : 9 que puede ser 5  V, 3,3  V o cualquier otro valor. En lugar de relacionar los niveles de entrada del bus con V DD , SMBus los define como fijos. SMBus 2.0 define V IL,max en 0,8  V y V IH,min en 2,1  V, y admite un V DD que va de 3 a 5  V, mientras que en SMBus 3.0, los niveles se definen en 0,8 y 1,35  V, con un V DD que va de 1,8 a 5  V. [ 4 ]

Corriente de sumidero ( I OL )

SMBus 2.0 define una clase de "alta potencia" que incluye una corriente de sumidero de 4 mA que no puede ser controlada por chips I²C a menos que la resistencia pull-up tenga un tamaño acorde a los niveles del bus I²C.

Los dispositivos NXP tienen un conjunto de características eléctricas de mayor potencia que SMBus 1.0. La principal diferencia radica en la capacidad de absorción de corriente, con V OL = 0,4  V.

  • SMBus de baja potencia = 350 μA
  • SMBus de alta potencia = 4 mA
  • Bus I²C = 3 mA

Los dispositivos SMBus de "alta potencia" y los dispositivos I²C-bus funcionarán juntos si la resistencia pull-up tiene un tamaño de 3  mA.

Frecuencia ( F MÁX y F MÍN )

La frecuencia de reloj de SMBus está definida entre 10 y 100  kHz, mientras que la de I²C puede ser de 0 a 100  kHz, de 0 a 400  kHz, de 0 a 1  MHz y de 0 a 3,4  MHz, según el modo. Esto significa que un bus I²C que funcione a menos de 10  kHz no será compatible con SMBus, ya que los dispositivos SMBus podrían agotar el tiempo de espera. Sin embargo, muchos dispositivos SMBus admiten frecuencias más bajas.

SMBus 3.0 añade velocidades de bus de 400  kHz y 1  MHz.

Momento

  • SMBus define un tiempo de espera bajo para el reloj, TIMEOUT, de 35  ms. I²C no especifica ningún límite de tiempo de espera.
  • SMBus especifica T LOW:SEXT como el tiempo acumulativo de extensión baja del reloj para un dispositivo esclavo. I²C no tiene una especificación similar.
  • SMBus especifica T LOW:MEXT como el tiempo acumulativo de extensión baja del reloj para un dispositivo maestro. Nuevamente, I²C no tiene una especificación similar.
  • SMBus define tanto el tiempo de subida como el de bajada de las señales del bus. I²C no lo hace.
  • Las especificaciones de tiempo de espera del SMBus no impiden que los dispositivos I²C cooperen de forma fiable en el SMBus. Es responsabilidad del diseñador asegurarse de que los dispositivos I²C no infrinjan estos parámetros de temporización del bus.

Protocolos

Uso de ACK y NACK

Existen las siguientes diferencias en el uso de la señalización de bus NACK: En I²C, un receptor esclavo puede no confirmar la dirección del esclavo si, por ejemplo, no puede recibir porque está realizando alguna tarea en tiempo real. SMBus requiere que los dispositivos confirmen siempre su propia dirección, como mecanismo para detectar la presencia de un dispositivo extraíble en el bus (batería, estación de acoplamiento, etc.).

El estándar I²C especifica que un dispositivo esclavo, aunque reconozca su propia dirección, puede decidir, tiempo después durante la transferencia, que no puede recibir más bytes de datos. I²C indica que el dispositivo puede comunicar esto generando la señal de no reconocimiento en el primer byte siguiente.

Además de indicar que un dispositivo esclavo está ocupado, SMBus también utiliza el mecanismo NACK para indicar la recepción de un comando o dato no válido. Dado que esta situación puede ocurrir en el último byte de la transferencia, es necesario que los dispositivos SMBus puedan generar el NACK tras la transferencia de cada byte y antes de que finalice la transacción. Esto es importante porque SMBus no proporciona ninguna otra señalización de reenvío. Esta diferencia en el uso de la señalización NACK tiene implicaciones en la implementación específica del puerto SMBus, especialmente en dispositivos que manejan datos críticos del sistema, como el host SMBus y los componentes SBS.

Protocolos SMBus

Cada transacción de mensajes en SMBus sigue el formato de uno de los protocolos SMBus definidos. Los protocolos SMBus son un subconjunto de los formatos de transferencia de datos definidos en las especificaciones I²C. Los dispositivos I²C que se pueden acceder mediante uno de los protocolos SMBus son compatibles con las especificaciones SMBus. Los dispositivos I²C que no cumplen con estos protocolos no se pueden acceder mediante los métodos estándar definidos en las especificaciones SMBus y ACPI ( Advanced Configuration and Power Interface ).

Protocolo de resolución de direcciones

El SMBus utiliza hardware I²C y direccionamiento por hardware I²C, pero añade software de segundo nivel para la creación de sistemas especiales. En particular, sus especificaciones incluyen un Protocolo de Resolución de Direcciones (DRP) que permite la asignación dinámica de direcciones. La reconfiguración dinámica del hardware y el software permite conectar y usar los dispositivos del bus de forma inmediata, sin reiniciar el sistema. Los dispositivos se reconocen automáticamente y se les asignan direcciones únicas. Esta ventaja se traduce en una interfaz de usuario plug-and-play. En ambos protocolos se establece una distinción muy útil entre el host del sistema y los demás dispositivos, que pueden tener nombres y funciones de maestro o esclavo.

En el contexto de las ranuras PCI Express de la placa base , la especificación electromecánica PCIe espera que se proporcione ARP para los pines SMBus. Sin embargo, dado que ARP está marcado como "opcional" en la especificación SMBus, generalmente no se implementa. [ 7 ]

Función de tiempo de espera

SMBus cuenta con una función de tiempo de espera que reinicia los dispositivos si una comunicación tarda demasiado. Esto explica la frecuencia mínima de reloj de 10  kHz para evitar el bloqueo del bus. I²C puede ser un bus de CC, lo que significa que un dispositivo esclavo prolonga el reloj maestro al realizar alguna rutina mientras el maestro accede a él. Esto notifica al maestro que el esclavo está ocupado, pero no desea perder la comunicación. El dispositivo esclavo permitirá continuar una vez que su tarea esté completa. El protocolo del bus I²C no tiene límite en cuanto a la duración de este retardo, mientras que en un sistema SMBus estaría limitado a 35 ms. El protocolo SMBus simplemente asume que si algo tarda demasiado, significa que hay un problema en el bus y que todos los dispositivos deben reiniciarse para salir de este modo. Por lo tanto, los dispositivos esclavos no pueden mantener el reloj en BAJO durante demasiado tiempo.

Comprobación de errores de paquetes

SMBus 1.1 y versiones posteriores definen la comprobación de errores de paquete ( PEC ) opcional. En este modo, se añade un byte PEC (código de error de paquete) al final de cada transacción. El byte se calcula como una suma de comprobación CRC-8 , calculada sobre todo el mensaje, incluyendo la dirección y el bit de lectura/escritura. El polinomio utilizado es x⁸ ++ x + 1 (el algoritmo CRC-8- ATM HEC , inicializado a cero). [ 8 ] [ 9 ] [ 10 ]

ALERTA DE SMBA#

El SMBus cuenta con una señal de interrupción compartida opcional adicional llamada SMBALERT#, que los dispositivos esclavos pueden usar para indicarle al host que consulte a sus esclavos sobre eventos de interés. SMBus también define un protocolo menos común, el "Host Notify Protocol", que proporciona notificaciones similares pero transmite más datos y se basa en el modo multi-maestro de I²C.

Apoyo

Los dispositivos SMBus son compatibles con FreeBSD , OpenBSD , NetBSD , DragonFly BSD , Linux , Windows 98 y versiones posteriores, y Windows CE .

Reemplazo

DDR5 introduce I3C para su comunicación de detección de presencia, reemplazando SMBus. [ 11 ]

Los dispositivos PCI Express suelen usar SMBus como puerto de administración fuera de banda. Sin embargo, los fabricantes de dispositivos suelen usar multiplexores SMBus (Mux) para gestionar conflictos de direcciones (causados ​​a su vez por no implementar el Protocolo de Resolución de Direcciones), lo que provoca interrupciones en el enlace que rompen el Protocolo de Transporte de Componentes de Administración y otros protocolos cuando el Mux cambia de destino. Para solucionar este problema, la versión 3.1 (enero de 2023) del Factor de Forma Estándar para Empresas y Centros de Datos de SNIA describe una forma de usar I3C básico sobre la interfaz PCIe de dos hilos. [ 7 ] NVM Express 2.1 (agosto de 2024) también se reformuló para permitir el uso de I3C, "para que coincida con las nuevas convenciones utilizadas por las especificaciones EDSFF y PCI-SIG de SNIA SFF TA para I3C". [ 12 ]

Véase también

Referencias

  1. 1 2 3 Este artículo se basa en material tomado de System+Management+Bus en el Free On-line Dictionary of Computing antes del 1 de noviembre de 2008 e incorporado bajo los términos de "relicencia" de la GFDL , versión 1.3 o posterior.
  2. "DURACELL E INTEL ANUNCIAN LAS ESPECIFICACIONES DE LA 'BATERÍA INTELIGENTE' PARA COMPUTADORAS PORTÁTILES - Biblioteca en línea gratuita" . Thefreelibrary.com . Consultado el 27 de octubre de 2017 .
  3. "Especificación del bus de gestión del sistema (SMBus) versión 2.0" (PDF) .smbus.org
  4. 1 2 "Especificación del bus de gestión del sistema (SMBus) versión 3.0" (PDF) .smbus.org
  5. 1 2 "Especificación del bus I2C y manual de usuario Rev. 7" (PDF) .nxp.com
  6. "NOTA DE APLICACIÓN 476 Comparación del bus I²C con el SMBus" . Maxim. 1 de diciembre de 2000.090429 maxim-ic.com
  7. 1 2 Jurski, Janusz; Loewen, Myron; Constantine, Anthony; Orozco, Juan; Kelly, Bryan; Lukwinski, Zbigniew. "Superando las limitaciones de SMBus con I3C" (PDF) .video
  8. "Diseñando con SMBus 2.0" (PDF) . Sbs-forum.org . Consultado el 27 de octubre de 2017 .
  9. "Calculadora CRC-8" . Smbus.org . Consultado el 27 de octubre de 2017 .
  10. "CRC-8 para SMBus" . Picbasic.co.uk . Consultado el 27 de octubre de 2017 .
  11. "MIPI I3C Basic en JEDEC DDR5: Una suma mayor que sus partes" . www.mipi.org .
  12. "Cambios en la revisión 2.1 de NVM Express - NVM Express" . 23 de agosto de 2024.
  • Sitio web oficial
  • Especificaciones oficiales de SMBus (gratuitas)
  • Foro de SBS
  • SMBus en tech-faq.com
Obtenido de " https://en.wikipedia.org/w/index.php?title=System_Management_Bus&oldid=1261307598 "