Documentos de Académico
Documentos de Profesional
Documentos de Cultura
com
1 Introducción Contenido
1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
El bus de administración del sistema (SMBus) es una interfaz de dos 1.1 Topología SMBus. . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Especificaciones eléctricas del SMBus. . . . . . . . . . . . . . . . . . . . 3
hilos a través de la cual varios chips de componentes del sistema
3 Transferencias de datos en SMBus. . . . . . . . . . . . . . . . . . . . . . . . 4
pueden comunicarse entre sí y con el resto del sistema. Se basa en los 4 Modelo de uso de SMBus. . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Uso de
SMBus, propuesto por primera vez por Intel en 1995, fue diseñado para
permitir que una batería se comunique con el cargador, el
host del sistema y/u otros componentes relacionados con la alimentación en el sistema. Fue desarrollado para habilitar un método
económico pero poderoso para controlar y obtener información de los dispositivos conectados a la placa base de una computadora
portátil. Uno de los objetivos de SMBus era dar capacidades digitales a los dispositivos basados en tecnologías de semiconductores
analógicos, creando así un híbrido de los dos. Muchos de los comandos definidos por SMBus son para implementaciones de lógica
simple. Los dispositivos SMBus no necesitan implementar todos los comandos definidos en la especificación SMBus. Esto hace que la
implementación de un controlador SMBus para un sistema de soporte SMBus sea mucho más fácil.
La especificación SMBus actual es la versión 2.0. La especificación SMBus 1.0 y 1.1 de la versión anterior se diseñó
principalmente teniendo en cuenta las baterías inteligentes, aunque podría usarse para otros dispositivos de bajo
consumo. La principal diferencia entre las versiones anteriores y actuales de la especificación es que SMBus 2.0 define
clases de características eléctricas para dispositivos de baja y alta potencia.
El 5V VDDes el principal poder de este sistema y los dispositivos son alimentados por él. Al mismo tiempo, hay otro dispositivo
que funciona con un 3V VAUTOBÚSconectado a las líneas SMBus. Estos dispositivos funcionarán entre sí siempre que cumplan
con las especificaciones eléctricas de SMBus. Un ejemplo de esta implementación lo podemos encontrar en un sistema con un
Cargador Inteligente, alimentado por 5V y una Batería Inteligente, alimentada por el propio dispositivo.
En general se sabe que, al igual que yo2C, los dispositivos conectados al bus, las líneas SMBCLK y SMBDAT,
deben tener un drenaje abierto o un colector abierto para realizar la función AND cableada. Se debe tener
cuidado en el diseño de las etapas de entrada y salida de los dispositivos SMBus para no cargar el bus cuando se
corta la alimentación (es decir, los dispositivos apagados no deben proporcionar una vía de fuga a tierra).
Límites
Símbolo Parámetro Unidades
mínimo máx.
tBUF Tiempo libre del autobús entre las condiciones de parada 4.7 — µs
y arranque
Límites
Símbolo Parámetro Unidades
mínimo máx.
Límites
Símbolo Parámetro Unidades Comentarios
mínimo máx.
El SMBus usa la señal ACK para detectar la presencia de dispositivos desmontables en el bus, por lo que un dispositivo
siempre debe ACK su propia dirección cuando el host accede a él. Para otros bytes de datos, el dispositivo puede seleccionar
ACK o NACK al recibirlos.
• Un host es un maestro especializado que proporciona la interfaz principal a la CPU del sistema.
• Un maestro es un dispositivo que emite comandos, genera los relojes y finaliza la transferencia.
• Un esclavo es un dispositivo que recibe o responde a un comando.
Un sistema puede no incluir un host. Por ejemplo, un sistema de carga de batería simple es un sistema sin host. En un sistema
SMBus, un dispositivo puede ser solo maestro, solo esclavo o puede actuar como esclavo la mayor parte del tiempo, pero en casos
especiales se convierte en maestro.
Cada dispositivo que existe como esclavo en el SMBus tiene una dirección única de siete bits llamada dirección esclava. Cada dirección
tiene una longitud de siete bits con un bit de lectura/escritura adjunto en la posición de bit 0. Cuando un dispositivo "ve" su dirección,
se activa y responde al resto del comando. Además de la Dirección General de Llamadas, los sistemas SMBus pueden tener 127
dispositivos. SMBus versión 2.0 introduce el concepto de direcciones asignadas dinámicamente, y la dirección predeterminada del
dispositivo SMBus está reservada para este propósito. Un proceso denominado SMBus Address Resolution Protocol (ARP) utiliza esta
dirección. Cuando el host detecta dos dispositivos con la misma dirección de esclavo, el proceso ARP resuelve el conflicto de dirección
de esclavo mediante la asignación dinámica de una nueva dirección única a los esclavos. Para referencia, algunas direcciones de la
siguiente tabla están reservadas y no deben usarse ni asignarse a ningún dispositivo esclavo SMBus a menos que se indique lo
contrario en la especificación SMBus. La siguiente tabla enumera las direcciones de dispositivos asignadas actualmente.
0001 000 Anfitrión SMBus Especificación del bus de administración del sistema,
versión 1.1 de diciembre de 1998
0001 001 Cargador de batería inteligente Especificación del cargador de batería inteligente, versión
1.1 de diciembre de 1998
0001 010 Selector de batería inteligente Especificación del selector de batería inteligente, versión
Administrador del sistema de batería inteligente 1.1 de diciembre de 1998
Especificación del administrador del sistema de batería
inteligente, versión 1.0B Agosto de 1999
0001 011 Batería inteligente Especificación de datos de batería inteligente, versión 1.1
de diciembre de 1998
0001 100 Respuesta de alerta SMBus Especificación del bus de administración del sistema,
versión 1.1 de diciembre de 1998
1001 0XX Direcciones sin restricciones Especificación del bus de administración del sistema,
versión 1.1 de diciembre de 1998
1100 001 Dirección predeterminada del dispositivo SMBus Especificación del bus de administración del sistema,
versión 1.1 de diciembre de 1998
Muchos de los comandos definidos por SMBus están orientados a implementaciones lógicas simples; por lo tanto, los dispositivos
SMBus no necesitan implementar todos los comandos definidos en la especificación SMBus. Pueden implementar solo los comandos
que necesitan para su sistema simple. Por ejemplo, los dispositivos SMBus como baterías inteligentes, cargadores de baterías
inteligentes y selectores pueden usar solo comandos de lectura/escritura de palabras y lectura de bloques. Esto hace que la
implementación de un controlador SMBus para estos dispositivos sea mucho más fácil. Una cosa interesante es que las baterías
inteligentes son libres de usar cualquier comando SMBus, como Block Write, para implementar funciones personalizadas, pero no es
requerido por la especificación de datos de batería inteligente.
El protocolo de comando Block Write generalmente se usa durante el proceso de fabricación para inicializar los datos de la
batería (por ejemplo, fecha de fabricación, número de serie, ajuste de componentes electrónicos, valores de escala, etc.).
SMBus versión 1.1 introdujo un mecanismo de verificación de errores de paquetes para mejorar la confiabilidad y solidez de la
comunicación. La implementación de la verificación de errores de paquetes es opcional para los dispositivos SMBus, pero es
necesaria para los dispositivos que participan en el proceso ARP. Los dispositivos que implementan la verificación de errores de
paquetes deben ser capaces de comunicarse con el host y otros dispositivos que no implementan el mecanismo de verificación de
errores de paquetes. La verificación de errores de paquetes, cuando corresponda, se implementa agregando un
Código de error de paquete (PEC) al final de cada transferencia de mensajes. La mayoría de los protocolos de comando tienen
dos variantes: una con el byte PEC y otra sin él. El PEC es un byte de verificación de errores CRC-8, que se calcula en todos los
bytes del mensaje.
7 Protocolos de bus
Todos los comandos primero ponen una condición de inicio en el bus, luego comienzan la transmisión transmitiendo el
comando/datos, esperan un reconocimiento del dispositivo esclavo (receptor) durante la transmisión de comandos/datos y
luego ponen una condición de parada en el bus.
A continuación, se incluye una descripción de algunos protocolos de comando SMBus básicos con y sin un código de error de
paquete. En cada figura a continuación,Ses el bit de INICIO,Aes el bit ACK/NACK, yPAGes el bit de PARADA. Las descripciones
detalladas de estos protocolos de comando se pueden encontrar en la especificación SMBus.
Comando rápido—El bit R/W en la dirección del esclavo denota los comandos. Un ejemplo de su uso es encenderlo/apagarlo
o habilitar/deshabilitar una función del dispositivo. No hay datos enviados o recibidos.
Enviar byte: el byte de datos enviado contiene las funciones a las que se accede y las acciones para que se ejecute esta función en
particular.
Recibir byte—El byte de recepción es similar al byte de envío; la única diferencia es la dirección de la transferencia de
datos. El byte de recepción se utiliza cuando el host accede al dispositivo para obtener información.
Escribir byte/palabra—El primer byte de un acceso de escritura de byte/palabra es el código de comando. Los siguientes uno o dos
bytes son los datos que se escribirán.
Leer byte/palabra—El host primero escribe un comando en el dispositivo esclavo, luego sigue inmediatamente ese
comando con una condición de INICIO repetida para indicar una lectura de la dirección de ese dispositivo. El esclavo luego
devuelve uno o dos bytes de datos.
Bloquear lecturaoEscritura en bloque—El bloque de lectura o escritura comienza con una dirección de esclavo y luego una
condición de lectura y escritura. Después del código de comando, el host emite un byte de datos que describe cuántos bytes más
seguirán en el mensaje. Block Read difiere de Block Write en que existe un INICIO repetido para el requisito de cambio de dirección
de transferencia.
Para una aplicación de batería inteligente, Block Write generalmente se usa durante el proceso de fabricación para inicializar los
datos de la batería (por ejemplo, fecha de fabricación, número de serie, recorte de componentes electrónicos, valores de escala, etc.).
El diseño de SBS utiliza tecnología SMBus; por lo tanto, la batería inteligente y el cargador inteligente pueden comunicarse
entre sí y con el resto del sistema. En el SBS, la batería puede decirle al cargador el tipo de química de la batería, su capacidad,
cómo desea que se cargue, su corriente de carga óptima, el tiempo máximo de carga, etc. La batería, si es inteligente, puede
funcionar de manera óptima. No tiene que recargarse con tanta frecuencia como aquellos que usan sistemas que solo
"adivinan" cuánta energía hay disponible. Esto beneficia al usuario final al proporcionar una mayor duración de la batería e
información precisa sobre la capacidad de energía de la batería hasta el último 1 %.
De hecho, un diseño compatible con SBS puede aumentar la vida útil de la batería hasta en un 30 %. Además, los usuarios no
están atados a un tipo de tecnología de batería; Se pueden usar indistintamente diferentes tipos de químicas de batería. Los
cargadores inteligentes pueden elegir la química de la batería que admiten y usar el perfil de carga correcto para esa química.
Esto reduce el daño potencial y evita el riesgo que puede causar un cargador no inteligente.
El diagrama anterior es un sistema de batería inteligente típico. Muestra datos/comandos como eventos críticos,
corrientes de carga, solicitudes de carga, etc., que fluyen a través del SMBus entre la batería inteligente, el host SMBus,
el cargador de batería inteligente y otros dispositivos.
Algunos datos o comandos admitidos por Smart Battery y Smart Charger se enumeran a continuación.
Una descripción más detallada de los datos se puede encontrar en elEspecificación de datos de batería inteligenteyEspecificación del
cargador de batería inteligente.
Momento:
• SMBus define una frecuencia de reloj de bus mínima (10 KHz) y máxima (100 KHz), mientras que I2C no especifica
la frecuencia mínima del bus. I2C proporciona 100 KHz para el modo Estándar y 400 KHz para el modo Rápido.
• SMBus define el tiempo de espera bajo del reloj, el tiempo acumulado de extensión baja del reloj para el esclavo y el maestro, el tiempo
de subida y bajada de las señales del bus, etc.2C no lo hace.
• SMBus define el tiempo de retención de datos en 300 ns, mientras que I2C lo define como cero.
• I2C usa NACK para indicar que no puede recibir más bytes de datos después de reconocer su dirección
esclava. SMBus usa NACK para indicar la recepción de un comando o datos no válidos.
Protocolo:
• SMBus especifica los protocolos que un dispositivo puede usar cuando se comunica con otros
dispositivos SMBus en el bus.
Eléctrico:
La siguiente tabla enumera las principales diferencias de parámetros de CC entre I2C y SMBus.
Tabla 5. Comparación de parámetros DC entre estándar I2C, rápido yo2C y dispositivos SMBus1
IFILTRACIÓN
– 10 10 – 10 10 –5 5 µA
1Fuente:Especificación del bus de administración del sistema, versión 2.0, Tabla 10
10 MC9S08MP12/16 introducción
El MC9S08MP16 y el MC9S08MP12 son miembros de la familia de microcontroladores (MCU) de 8 bits HCS08 de bajo
costo y alto rendimiento de Freescale. Todos los MCU de la familia utilizan el núcleo HCS08 mejorado y están
disponibles con una variedad de módulos periféricos, tamaños de memoria, tipos de memoria y tipos de paquetes.
MC9S08MP16 admite SMBus versión 2.0 con la ayuda de I2Módulos periféricos C. La siguiente tabla resume el conjunto
de características disponibles en las MCU de la serie MC9S08MP16.
11 Referencias
• Hoja de datos de la serie MC9S08MP16
• Especificación del bus de administración del sistema, Revisión 2.0, SBS-Implementers Forum, agosto de 2000
• Especificación del cargador de batería inteligente, Revisión 1.1, SBS-Implementers Forum, diciembre de 1998
• Especificación de datos de batería inteligente, Revisión 1.1, SBS-Implementers Forum, diciembre de 1998
• El IC-bus y cómo usarlo, Documento de Philips Semiconductors n.º 98-8080-575-01
12 Resumen
Esta guía técnica sirve como una guía rápida para las personas que son nuevas en System Management Bus (SMBus).
Describe la historia de SMBus, sus características eléctricas de CC y CA, los protocolos de comando y las diferencias
clave entre SMBus e I.2C. Este documento también presenta el MC9S08MP16, que es compatible con SMBus 2.0.
13 Revisión histórica
Revisión Descripción de los cambios
0 Versión inicial
sistemas y software utilicen los productos de Freescale. No se otorgan licencias de derechos de autor expresas
Página de inicio:
freescale.es o implícitas en virtud del presente para diseñar o fabricar circuitos integrados basados en la información de
este documento.
Soporte web:
freescale.com/soporte Freescale se reserva el derecho de realizar cambios sin previo aviso en cualquiera de
los productos incluidos en este documento. Freescale no ofrece ninguna garantía,
representación o garantía con respecto a la idoneidad de sus productos para un
propósito particular, ni Freescale asume ninguna responsabilidad que surja de la
aplicación o el uso de cualquier producto o circuito, y específicamente renuncia a toda
responsabilidad, incluida, entre otras, daños consecuentes o incidentales. Los
parámetros "típicos" que pueden proporcionarse en las hojas de datos y/o
especificaciones de Freescale pueden variar y varían en diferentes aplicaciones, y el
rendimiento real puede variar con el tiempo. Todos los parámetros operativos,
incluidos los "típicos", deben ser validados para cada aplicación del cliente por los
expertos técnicos del cliente. Freescale no otorga ninguna licencia bajo sus derechos
de patente ni los derechos de otros.
Las marcas denominativas y los logotipos de Power y Power.org y las marcas relacionadas son