Protección de circuito de abrazadera de entrada digital

Para poder conectar algún periférico a la entrada digital, estoy diseñando la protección del circuito para evitar cualquier posible falla por problema de sobre/bajo voltaje. Entonces, agregaré un circuito de protección de abrazadera. Los requisitos que debo cumplir son:

  • Fuente de alimentación (Vcc): 3V3
  • Voltaje máximo: 3V9 (3V3 + 0V6)
  • Voltaje mínimo: -0V3 (GND - 0V3)
  • Corriente máxima de entrada lógica: +/- 300nA

El circuito es el siguiente:Circuito de abrazadera

Se agrega R1000 para limitar la corriente a 10 mA. Se agrega R1001 para limitar la corriente de entrada por debajo de 300 nA.

Mis dudas son:

  • ¿Se podría modificar el circuito en caso de que necesite admitir una entrada de hasta 30 V?
  • ¿Cuál sería la mejor opción para ambos diodos (voltaje directo, voltaje de ruptura, corriente directa, etc.)?
  • Como las entradas digitales pueden necesitar producir una interrupción ascendente, ¿será mejor agregar un schottky en lugar de un zener en D1000?
¿Por qué tiene un requisito de corriente de entrada lógica máxima de 300 nA?
Para Vin = 30 V, R1000 tendrá 30 - 3,9 = 26,1 V, 26,1 V/330 ohmios = ... ¡disipará mucha energía! Haz el cálculo :-) R1000 es demasiado bajo. De hecho, el 1 Mohm no tiene sentido.
"Como las entradas digitales pueden necesitar producir una interrupción ascendente, ¿será mejor agregar un schottky en lugar de un zener en D1000?" Quiere decir: "Un flanco ascendente provocará una interrupción". Además, esto no tiene nada que ver con el uso de un diodo zener o shottky.
Rimpelbekkie, tienes razón. - La disipación de potencia será alta. - Entonces, en tu opinión, puedo eliminar la resistencia de 1Mohm. - Y, por supuesto, el flanco ascendente provocará una interrupción. La duda aquí es por el tiempo, los Schottky son más rápidos que los Zener.
Schottky vs Zener: ¿Y ustedes que opinan, llegará antes la interrupción con el zener o el Schottky? y por cuanto tiempo? ¿Es importante en comparación con el retraso de tiempo introducido por las resistencias y la capacitancia de entrada GPIO?
¡Seguro! No importa para tal cosa. Entiendo.

Respuestas (3)

Esto es todo lo que necesita:

esquemático

simular este circuito : esquema creado con CircuitLab

esto también elimina el problema de que un alto voltaje en la entrada elevará su VCC local.

Cuando la entrada < -0.6 V D1 conducirá y limitará GPIO a -0.6 V, R2 limitará la corriente, su entrada GPIO podrá manejar esto (¡también tiene diodos de protección de entrada!)

Cuando la entrada > -0.6 V pero < 3.9 V D1 no hace nada, GPIO también está feliz

Cuando la entrada > 3.9 V D1 conducirá, R2 limitará cualquier corriente, la entrada GPIO será feliz.

Alguien se quejó de que esto no funcionaría, pero fue demasiado perezoso para explicar por qué, pero lo descubrí yo mismo:

Aparentemente, pasé por alto que los diodos zener de 3.9 V pierden mucho en reversa, así que bajé R1 a 10 kohm. Si eso aún no lo soluciona, podría reemplazar el diodo zener con 4 a 5 diodos estándar en serie, consulte el segundo esquema.

No encontrará un Zener que tenga una rodilla lo suficientemente dura para que este circuito sea confiable. Eche un vistazo a cualquier hoja de datos de Zener.
El zener con voltaje directo mínimo que he encontrado es 0V9. Aunque teóricamente debería ser zener con hasta 0V3 Vf.
El zener evitará que pasen los niveles lógicos normales. Además, ni siquiera estará cerca de cumplir con el requisito de -300 nA con -30 V de entrada. Estos componentes no se comportan de una manera tan simple e ideal.
@SpehroPefhany Explique por qué el zener "evitará que pasen los niveles lógicos normales" Los niveles lógicos normales son 0 - 3.3 V, en este rango el zener se comportará como un abierto.
@SpehroPefhany El zener no necesita un voltaje de "rodilla dura". Si no está de acuerdo, explique por qué no funcionará. ¡Sus afirmaciones son tonterías, pero por favor, demuéstrenme que estoy equivocado proporcionando una explicación adecuada!
Lo siento, pero esa es una visión demasiado simplificada (y demasiado optimista) del comportamiento real de los zeners de bajo voltaje. Tendrá suerte si obtiene 1,5 V con 3,3 V en la entrada.
Por qué ? ¿Porque la resistencia de entrada es de 1 Mohm? ¿Por qué no lo dijiste? Ok, lo hacemos 10 kohm entonces.
Entonces, ¿cuál sería la mejor opción? ¿Disminuir los valores de resistencia para permitir más corriente a través de zener? Por favor, me gustaría entender la forma de proteger GPIO, y luego me esforzaré para seleccionar los componentes correctos.
Actualicé la respuesta para su aprendizaje :-)
Iría por la opción de diodos (1n4148) porque entonces también será un poco más flexible con respecto al voltaje de sujeción.
@Rimpelbekkie Con la entrada de 10K es "mejor" (todavía bastante marginal dependiendo del zener), pero ¿estima que la corriente de entrada será con una entrada de -30V y dos resistencias de 10K? Probablemente 100 veces peor que su especificación (podría decirse que todavía está bien, pero ese punto debe mencionarse)
No hay -30 V, el rango de entrada es de 0 a +30 V. La corriente de entrada será inferior a 30/10 k = 3 mA, por lo que está bien. GPIO es de alta impedancia y el voltaje está sujeto, por lo que la corriente será de nanoamperios.
@Rimpelbekkie "... Tus declaraciones no tienen sentido..." -> Recomendaría "Cómo ganar amigos e influir en las personas" de Dale Carnegie. A pesar de su antigüedad y de que muchos lo ridiculicen mucho (la mayoría de los cuales nunca lo han leído), es una excelente guía para mejorar las interacciones sociales y progresar en la sociedad. Algunas personas (como yo :-) ) parecen nunca aprender bien sus lecciones, pero muchas, independientemente de su nacionalidad, se las arreglan. (Nosotros, los antípodas, especialmente quizás aquellos con ascendencia como la mía, podemos ser atípicos). PD: Los días son generalmente pocos y distantes entre sí cuando las declaraciones de Spehro son tonterías.
Cuando la gente dice "¡eso no funcionará!" sin explicar POR QUÉ estoy equivocado, entonces asumo que tengo razón y ellos están equivocados. Le pedí a Spehro que me diera una explicación adecuada para demostrar que estaba equivocado, pero no lo hizo por alguna razón. Cuando digo tonterías, me gustaría saber para poder aprender algo :-)
He tenido algunas malas experiencias usando zeners de Zv = 3.3V o 3.6V nominales debido a la "rodilla blanda" que tienen; comienzan a conducir mucho antes de que se alcance el voltaje zener nominal (a veces tan bajo como 2 V) y cuando el voltaje es algo más alto, no pueden mantenerlo bajo de manera constante (llegando hasta 7 V cuando se alimenta con 16 V). Cuando se simulan (en LTSpice) funcionan perfectamente... en los circuitos de prueba reales nunca lo hicieron.

Las pautas generales que se dan generalmente están bien

PERO

NO DEBE exceder Vdd con ningún tipo de capacidad de unidad.
El 3V9 que cita es un valor MÁXIMO ABSOLUTO y su controlador puede volverse loco si lo aplica durante la operación. Mire la hoja de datos en la sección de 'condiciones de operación típicas' y vea qué límites hay. En muy pocas hojas de datos, probablemente escritas por hombres de marketing o el personal de limpieza de oficinas, pueden decir que 0.2V o 0.3V fuera de los rieles está bien, PERO más de 0.small es peligroso. Los verdaderos diseñadores [tm] dicen 0.0V fuera de los rieles en sus hojas de datos.
La experiencia sugiere que el 1M que mostraste para R1001 es una buena idea si DEBES tener Vin > Vdd. Todavía no es maravilloso, pero más a menudo será más probable que sea confiable.

Algunas personas argumentan durante mucho tiempo que la conducción del diodo del cuerpo a pequeñas corrientes durante el funcionamiento está bien. Escúchelos si no le importan los niveles comerciales de confiabilidad.

La corriente en los diodos del cuerpo generalmente fluye hacia el sustrato del IC y puede terminar en los nodos que generalmente no reciben alimentación y puede desencadenar una acción FET espuria donde generalmente no existe un FET y puede generar ruido en el ADCS. Estos efectos son insidiosos e impredecibles y pueden ser fatales para la confiabilidad del diseño. Muchas partes "duras de RAD" (usted las paga en oro) y algunas otras pueden estar diseñadas para abordar específicamente estos problemas, pero la gran mayoría no lo están.

SI sus abrazaderas de diodo permiten que el voltaje de entrada sea siempre
>= Vin_high_min y
<= Vdd_min_actual
(y equivalente para Vin low) para todos los Vin altos (y bajos) legales y probables durante la operación, entonces será mejor que jugar con Murphy.

@Russel-McMahon, el voltaje operativo es 3V3 y la corriente lógica para las entradas GPIO es +/- 300nA, y los rieles son 3V6 y -0V3. 3V9 es el máximo absoluto como dijiste.
@Yolco No he visto una referencia a una hoja de datos o incluso un número de pieza, por lo que no puedo examinar las especificaciones de su dispositivo. Usted menciona el voltaje de funcionamiento y los rieles: conozco las palabras, pero no estoy seguro de cómo las está aplicando aquí. |Sus especificaciones declaradas PARECEN inconsistentes -> 3V3 + 0.6, gnd - 0.3- ¿por qué? Un diagrama que MUESTRE el IC con conexiones de alimentación y etiquetando un número de pieza y un enlace ayudaría a concentrarse en lo que realmente se está haciendo. SI está planeando permitir que las entradas estén 0,65 V por encima del IC Vdd (como parece ser el caso a pesar de las especificaciones aparentemente contradictorias), entonces se avecinan tiempos interesantes.
@Russel-McMahon, estoy tratando de diseñar el mejor circuito de protección, rentable y de dimensiones reducidas para la hoja de datos IC de entradas digitales . Me alegro con tus explicaciones, pero lamentablemente esto no es una aplicación espacial (Quizás algún día espero).
@Yolco Gracias por el aporte adicional. Más pronto. Tenga en cuenta que Vdd + 0.3 y gnd - 0.3 están en la página 9 y en ningún otro lugar y es (como sugerí) el máximo absoluto y es posible que no opere las clasificaciones. NO explican min / max para GPIO, pero varios pines ADC dicen específicamente 0-Vdd (como de hecho deberían). En Vdd = 3V: Vinhi es 2.5V y Vinlo = 0.5V, por lo que si puede organizar sus abrazaderas para que Vin hi & lo siempre las cumpla, puede comenzar a sujetarlas antes de que lleguen a los rieles, lo que permite una rodilla de abrazadera algo suave mientras aún no yendo más allá de los rieles. Esto es extremar los cuidados y muchos no molestan pero si quieres...
... para asegurarse de que Vin nunca exceda las especificaciones, se puede lograr y el costo no es enorme (siempre y cuando no tenga muchos pines tpp involucrados. | Hace unas semanas perdí un ARM con módulo TI WiFi (comencé a dibujar exceso de corriente y sin procesamiento) (Spark Core, ahora "Partícula") sin ninguna razón obvia en un prototipo. He protegido la mayoría de las entradas razonablemente bien y mejor de lo que lo harían muchas PERO no perfectamente y no sé qué causó la muerte. Tengo 24V Batería LiFePO4 de 40 Ah y energía solar fotovoltaica de 250 W adjunta, por lo que se necesita cuidado :-). He visto procesadores que se vuelven locos debido a los diodos de cuerpo T inyectados actualmente. ...
@Russel-McMahon, gracias por sus respuestas. Voy a reorganizar las abrazaderas para cumplir con estos requisitos. Yo también tengo requerimientos de espacio, y necesito pensar bien cuál es la mejor opción para proteger sin agregar una carga excesiva de componentes.

El requisito de una corriente de entrada máxima de +/-300 nA significa que debe sujetar el voltaje de entrada a aproximadamente +/- 100 mV de los rieles de suministro (según el rango de temperatura). Si realmente necesita esta especificación (por ejemplo, para garantizar un funcionamiento normal durante los picos de entrada), necesitará una mejor sujeción que la que pueden proporcionar algunas resistencias y diodos.

Sugiero sujetar las entradas con una resistencia en serie y diodos a tierra y un regulador de derivación como TL431, luego una resistencia en serie a un búfer CMOS. El búfer no excederá los voltajes de suministro en su salida y la mayoría puede soportar varios mA en la entrada sin fallas importantes (pueden consumir más corriente de suministro pero no se engancharán).

esquemático

simular este circuito : esquema creado con CircuitLab

Un requisito más normal es +/- 300 mV, pero eso aún no se puede cumplir fácilmente con algunas partes discretas.

Un requisito considerablemente relajado es +/-300mV o +/-100mA máx. No se espera un funcionamiento normal durante condiciones transitorias y es posible que se requiera un reinicio para restablecer el funcionamiento normal. En particular, la precisión y la funcionalidad analógicas a menudo se ven interrumpidas por este tipo de cosas.

En tal caso, puede usar una resistencia en serie simple como 100K (usando la red de protección interna en el chip). Se debe tener cuidado de que la corriente a través de la resistencia no eleve el voltaje de suministro cuando sea positivo.

Preste atención a las advertencias de Russell: ignorar las especificaciones es una buena manera de meterse en serios problemas. Sin embargo, mantener los voltajes de E/S de todos los chips exactamente dentro de los rieles de suministro en condiciones transitorias es casi imposible, en términos prácticos.

Los primeros chips CMOS tenían una inmunidad de bloqueo muy pobre y un pequeño pico debajo o encima de los rieles de suministro haría que fallaran espectacularmente. En estos días, el SCR parásito gigante que vive dentro de la mayoría de los chips CMOS no militares (SOS es una excepción) ha sido domesticado en su mayoría y tiende a causar un mal comportamiento más sutil a menos que realmente los golpee con un transitorio de alta corriente de muchas decenas de mA. Aún así, para las aplicaciones espaciales, tenemos que considerar tales perturbaciones importantes de un solo evento y recuperarnos de ellas.

gracias, pero permítame una pregunta sobre su diseño, ¿no se necesita una salida de búfer inferior al nivel lógico 1? ¿También exceder la corriente máxima permitida (algunos pines de mi MCU son 4mA, algunos de ellos admiten un poco más)? No puedo ver el voltaje en la entrada R3, ¿será 3V3?
Normalmente, un '1' para el búfer es un mínimo de 0,7 * 3,3 = 2,3 V. La abrazadera le dará alrededor de 0,6 + 2,5 V = 3,1 V, que no es un mal '1'. El buffer te dará 3.3V para tu GPIO.