Valor de resistencia pull-up SMBus

Hola necesito comunicarme con un dispositivo mediante SMBus. Sin embargo, no pude elegir el valor correcto para las resistencias pull up. Vdd es 4.9V y uso SMBus. En las mismas condiciones para las comunicaciones I2C, utilicé resistencias de 2k ohm y funcionó, pero no estoy seguro del valor adecuado para SMBus. ¿Algunas ideas?

En su ficha técnica pone este, pero no pude entenderlo totalmente. Creo que dice que para 5 VI se necesitan resistencias de 15 k. Sin embargo, si uso resistencias de 20k con Vdd de 4.9V, ¿funcionaría también?

Esta cita es de " Nota de aplicación: Implementación de la interfaz SMBus para uso con baterías Bren-Tronics ":

REQUISITOS DE PULL-UP

Una de las características de SMBus es su capacidad para interconectar sistemas con diferentes voltajes de suministro, a través de su implementación de una interfaz de drenaje abierto con umbrales de alto/bajo voltaje absolutos (a diferencia de radiométricos, relativos al voltaje de suministro, como I2C). Vih de la interfaz SMBus es 2.1V; el límite superior de alto voltaje lógico es de 5,5 V, lo que facilita el funcionamiento con lógica de 3 V/3,3 V/5 V. Los dispositivos pull-up para la interfaz de drenaje abierto (uno para cada línea: reloj y datos) simplemente se conectan a la tensión de alimentación en el sistema host.

La "letra de la ley" en SMBus es que la corriente baja de salida (Iol) de "estado estable" debe limitarse a 350 microamperios o menos. Esto se traduce en resistencias pull-up de 15K ohmios en un sistema de 5V, para las interfaces SMBus más simples. Sin embargo, las capacitancias parásitas presentes en el cableado y/o los dispositivos de supresión de ESD/EMI de los dispositivos conectados al bus a veces pueden prolongar los tiempos de subida más allá del límite de especificación de 1,0 microsegundos si se utilizan pull-ups resistivos que cumplen con el límite de Iol.

Hay una serie de opciones que se pueden utilizar para hacer frente a estas limitaciones.

Los dispositivos pull-up activos, que proporcionan una corriente dinámica más alta durante la transición de baja a alta mientras mantienen el límite de estado estable en otros lugares, se pueden implementar como se muestra en la Figura 2.3 de la especificación.

Un enfoque más simple es usar pull-ups resistivos de valor más bajo, si TODOS los dispositivos conectados al bus (presentes y futuros) pueden tolerar corrientes superiores al límite Iol sin violar el límite de especificación Vil de 0,8 VCC. Este suele ser el caso, ya que se trata de una técnica que se utiliza con frecuencia en los diseños de sistemas comerciales. En este sentido, las baterías Bren-Tronics van más allá de la especificación, con la capacidad de absorber la corriente SMBus a niveles de hasta 700 microamperios o más.

Mira las especificaciones. Por lo general, las especificaciones del dispositivo maestro le dirán lo que necesita.
Soy el dispositivo maestro. Estoy tratando de comunicarme con una batería. La batería es la esclava.
¿Estás diciendo que no funcionó con la resistencia de 20k? ¿Por qué no usar solo 15k?

Respuestas (2)

Pull-up de 12k Ohm, permitamos que el SMBus de un BT70791 funcione bien.

He intentado cambiar el voltaje de pull-up de 2,5 V hasta 5,5 V

Entonces, para comenzar, con solo 1 batería, obtendrá un reconocimiento del esclavo SMBus con cualquier voltaje superior a 2.5V y resistencia de pull-up de 12Kohm. (En caso de que esté usando BrenTronics) Teniendo en cuenta que pueden hundirse 700mA o más. puede salirse con la suya con una resistencia de extracción aún más baja y la batería aún podrá tirar de la línea "baja".

(Ley de Ohm) [Voltaje = OHM * Corriente]

o en este caso [(Corriente de sumidero máxima 700mA) >= Voltaje/Resistencia] "Menor o igual a V/R".

Tenga en cuenta que las baterías de 2 celdas de BT tienen 2 SMBus. Con la misma dirección (0x16) (traducido, esto aparece como 0x0b en un rastreador de paquetes si desea ver las líneas SCL/SDA)

Otro CONSEJO ¡Mantenga la distancia máxima entre el Maestro y el Esclavo por debajo de los 50 cm! la línea I2C y SMBus está diseñada para distancias cortas. Corrupción de datos o ningún "ACK" aparece aleatoriamente si las líneas SDA/SCL superan la longitud máxima de 50 cm

¿Funcionarían 20K?

Tal vez, depende:

"Sin embargo, las capacitancias parásitas presentes en el cableado y/o los dispositivos de supresión de ESD/EMI de los dispositivos conectados al bus a veces pueden extender los tiempos de subida más allá del límite de especificación de 1,0 microsegundos si se utilizan pull-ups resistivos que cumplen con el límite de Iol".

Entonces, si su capacitancia parásita es baja, puede ser. Pruébalo y mide tus tiempos de subida. Vea cuánto margen tiene para la especificación.

De lo contrario :

"Un enfoque más simple es usar pull-ups resistivos de valor más bajo, si TODOS los dispositivos conectados al bus pueden tolerar corrientes superiores al límite Iol".

Así que verifique las especificaciones de sus dispositivos para conocer los límites de Iol y ver qué tan bajo es el valor que puede usar. Elija algo un poco más alto para el margen.

Si no, utilice un enfoque activo. Mire la figura 2.3 en la especificación.