TJA1048 - ¿Puede alguien verificar si mi cálculo es bueno sobre el pull-up y el pull-down?

1

Tengo una pregunta sobre el cálculo de resistencias de pull-up y pull-down para mis transceptores CAN.

Quiero que mi TJ1048 funcione siempre en modo NORMAL, así que para hacerlo, necesito levantar STBY alto. Sé que las resistencias con una resistencia más baja consumirán más corriente que las resistencias con un valor más alto, pero es importante elegir un valor no demasiado alto o demasiado bajo de la resistencia, justo para la aplicación. También sé la idea de usar resistencia de pull-up o pull-down

Leí mucha información sobre este tema, pero este sigue siendo un misterio para mí sobre cómo elegir correctamente. Durante la mayor parte del tiempo, hay resistencias comunes para tirar alto, como 10k o 4k7 ohm, pero me gustaría saber por qué.

En el sitio web de SparkFun que vi, cómo calcular la resistencia de pull-up basada en las leyes de Ohm.

De las leyes de Ohm: V = R * I - > R = V / I

Entonces, para calcular R, necesito reorganizar la ecuación por encima. Pero aquí hay un problema para mí. De la hoja de datos, Vih min es 0,7VIO y Vih max es Vio + 0.3, Iih es de 1 a 10uA. El microcontrolador se alimenta mediante una fuente de alimentación de 3.3V. El pin VIO está conectado también a 3.3V. En este caso, ¿el chip interpretará el nivel alto en el pin STBY del rango de 2,31V a 3,6V? ¿Es esto correcto?

Supongamos que mi forma de pensar es correcta. Para V estoy tomando 3.3V, para I 5uA. Después del cálculo, el valor de la resistencia es 660k Ohms. ¿Esto es correcto?

Alguien me puede explicar. cómo calcular la resistencia para el desplegable, según los siguientes datos: Vil entre -0,3 y 0,3Vio, Iil entre -1 y 1uA. De la misma manera que arriba, cuando calculé el valor para el pull-up?

¡Gracias por ayuda!

Saludos cordiales

    
pregunta FrostPanda

1 respuesta

4

En realidad, su cálculo ha resuelto cómo elegir una resistencia de recuperación muy mala para su aplicación. Dibujemos una versión simplificada de su circuito.

simular este circuito : esquema creado usando CircuitLab

Primero, analicemos lo que sucede cuando NO fluye corriente a través de R1. Si no fluye corriente, entonces el voltaje a través de que la resistencia es 0V (\ $ I \ veces R = 0 \ $). Como un extremo está a 3.3V y el voltaje a través de la resistencia es de 0V, el otro extremo (en STBY_VOLTAGE) debe estar al mismo voltaje (3.3V). Esto es cierto para todos los valores de R1 (porque cualquier cosa multiplicada por 0 es 0).

De manera realista, habrá un flujo de corriente desde la impedancia de entrada del pin de ENTRADA (que no puede ser infinito en el mundo real). Lo ha citado en 1uA a 10uA de la hoja de datos. Para una resistencia fija, mientras más alta sea la corriente que fluye a través de ella, más alto es el voltaje que cae a través de ella (\ $ V = I \ veces R \ $ nuevamente). Así que el peor de los casos (que deberíamos diseñar) es 10uA actual. \ $ V = I \ veces R = 10 \ mu A \ veces 660k \ Omega = 6.6V !! \ $

Resultado interesante. La implicación es que STBY_VOLTAGE es 6.6V más bajo que 3.3V, es decir, -3.3V. Esto no va a suceder por varias razones, entre otras, porque la única ruta para la corriente a través del TJA1048 es a 0 V, por lo que para un circuito lineal estamos limitados entre el riel de 3.3 V y 0 V.

Además, ilustra cómo su cálculo era válido, pero se aplicó incorrectamente. Estabas tratando de calcular una resistencia que bajaría 3.3V a 5uA, pero no queremos eso. Queremos que caiga la menor tensión posible al tiempo que proporcionamos un límite de corriente a ese pin.

Vamos a recalcular. En el peor de los casos (10uA entrada actual) no queremos ser inferiores a \ $ 0.7 \ veces V_ {IO} = 2.31V \ $. Eso significa que bajamos \ $ 3.3V - 2.31V = 0.99V \ $ a través de la resistencia. \ $ R = {V \ sobre I} = {0.99V \ sobre 10 \ mu A} = 99k \ Omega \ $. Esto coloca un límite superior en el valor de extracción que debe usar, no más de 99k. Además, esto está justo en el límite y los valores más altos son peores para nosotros (de nuevo, \ $ V = I \ veces R \ $). Deberíamos elegir algo más pequeño.

Basándome en esto y dándome bastante margen, elegiría algo entre 10k y 47k dependiendo de lo que tenía cerca (o en un diseño comercial, lo que ya había diseñado en otro lugar en el tablero). Curiosamente, si me pidiera que eligiera un valor de recuperación general que funcione para la mayoría de las señales de baja velocidad como esta ... Habría sugerido exactamente el mismo rango.

Podemos usar la misma lógica para calcular un valor para su menú desplegable. Esta vez, estamos trabajando desde el riel de 0 V (en lugar de bajar desde el riel de 3,3 V) para que los cálculos sean aún más fáciles. El voltaje en el extremo superior de la resistencia es solo el voltaje que se cae a través de él más el voltaje del riel. Piense en la dirección del flujo de corriente en cada resistencia para determinar por qué es menos para el pullup y más para el pulldown. Dado que el voltaje del riel es de 0 V, cualquier cosa más 0 es en sí misma, por lo que solo tenemos que mantener la caída de voltaje a través de la resistencia dentro de los límites.

\ $ {V \ sobre I} = R = {{0.3 \ veces 3.3V} \ sobre {1 \ mu A}} = 990 k \ Omega \ $

Este es el valor máximo absoluto, más grande que el que puedes obtener para el pullup. Queremos reducir el valor para mantenerlo alejado del límite calculado, y dado que el valor que elegimos para la recuperación será inferior a 990k. Simplemente usaría el mismo valor para ambos.

Mi voto - 10k pullup, 10k desplegable.

    
respondido por el stefandz

Lea otras preguntas en las etiquetas