3 votos

Protección contra cortocircuitos en líneas de datos de alta velocidad

Necesito proteger las líneas de datos de un microcontrolador PIC32 (SPI y paralelo) que funciona a ~10 MHz, de un cortocircuito a tierra/Vcc o de un mal cableado.

Normalmente (en velocidades bajas) uso resistencias en serie para limitar la corriente y funcionaba bien, pero por supuesto esto no funciona ahora debido a la velocidad.

Estoy pensando en utilizar un buffer/inversor de línea (algo así como 74LVC04) esto salvará el MCU pero el buffer se dañará.

He buscado en muchas familias lógicas (ACT , HCT , LVC etc..), pero ninguna proporciona protección contra cortocircuitos.

¿Hay una solución mejor?

Editar después de los comentarios: Esta es una placa de desarrollo para pruebas y validación, debido a errores de codificación los pines pueden ser configurados incorrectamente. o mal cableados, conectando la salida del MCU a la salida del objetivo en lugar de la entrada.

Edición #2: Un PTC ( 0603L004 ) podría ser una solución, pero es lento.

0 votos

"Mal cableado": entonces, se trata de un bus externo. ¿Pasa por los conectores? ¿Dónde va? ¿Cuál es la distancia? ¿Qué tipo de datos transporta por ahí? ¿Cuántas líneas paralelas?

0 votos

Probablemente lo mejor sea describir su caso de uso, en general. "El cableado incorrecto" suena como algo que se evita utilizando conectores que no se pueden enchufar de forma incorrecta.

0 votos

¿Comprobó el manual de referencia de los micros? Lo normal es que el micro tenga su propia protección. ¿Intentas proteger algo más que el micro?

6voto

DmitrySandalov Puntos 129

De acuerdo, con toda honestidad: entonces el propósito del tablero de desarrollo es aprender a evitar estos errores.

Las soluciones a este problema concreto (necesidad de comunicaciones externas de alta velocidad resistentes a errores) suelen implicar la transición a un bus específico de largo alcance.

Su "problema" tiene una "solución" que haría que su problema original, hablar con los periféricos, fuera mucho más complejo que ya no es realmente una "solución".

Si su periférico puede destruir su controlador, entonces tenga cuidado de no cablearlo incorrectamente. Eso no es típicamente realmente difícil, en comparación con otros escollos de la ingeniería. Por ejemplo, diseñarías una placa adaptadora que tuviera un lado claramente etiquetado como "señal" y otro como "salida", y si es posible, dos conectores diferentes en cada uno. Problema resuelto.

0 votos

Gracias por la respuesta , pero para aprender quiero estudiar una solución no un paseo o prevención . tal vez IC específico que resuelve mi problema simplemente . por ejemplo hay muchos transceptores RS485 que tiene tales protecciones y más . Sin embargo, no he encontrado "todavía" algo similar para los puertos SPI o paralelo

2 votos

Pero no estás aprendiendo nada sobre un problema del mundo real: en un diseño adecuado, los errores de cableado a bordo no son un problema. Si tienes un bus fuera del dispositivo, sí, algo como el RS-485 es la solución adecuada. Pero no lo tienes. Por lo tanto, no teniendo en cuenta que es la solución correcta en este caso. Si usted quiere aprender acerca de un autobús fuera de borda, es necesario especificar qué tipo de autobús (que es todas las preguntas que he hecho en mi primer comentario bajo su pregunta), entonces usted decidiría qué tipo de autobús.

0 votos

@ElectronS RS485 como topología está pensada para una red milti-drop de larga distancia, por lo que se espera que los cables expuestos se conecten a los equipos por cualquier persona normal. Las interfaces como SPI suelen ser internas orientadas a técnicos capacitados o semiconocidos para el cableado, o tienen conectores polarizados que sólo van en un sentido.

5voto

hacktastical Puntos 560

Los controladores CMOS tienen un límite de corriente inherente fijado por la resistencia de "encendido" de la fuente de drenaje de los FET del controlador de salida, Rds(on). Puedes deducirlo de la hoja de datos basándote en Vo(h) y Vo(l) para una corriente de salida determinada.

Como ejemplo, la hoja de datos del PIC32 lista Vo(l) como 0,36V a 6mA, lo que corresponde a un Rds(on) de 60 ohmios. Eso es un driver un poco débil. Cortocircuitarlo a 3,3V daría 55mA, que es más de lo que permite la hoja de datos (16mA), un límite bastante ajustado. Dicho esto, un cortocircuito en un pin no necesariamente dañará la pieza.

El mayor problema suele ser el daño por ESD. Las cosas que salen de la placa pueden beneficiarse de diodos TVS adicionales para aumentar la robustez de la ESD.

0 votos

La mejor respuesta hasta ahora. Buen punto que planteó sobre el RDSon , ESD puede ser manejado ya que hay tantas matrices TVS fácilmente disponibles. Así que tal vez me gustaría añadir una pequeña resistencia en serie de tal manera que no afectará a la velocidad (47 ohmios ?), pero ayudará en el aumento de Rds On para garantizar que un cortocircuito no dañará la parte, ¿qué piensa usted?

0 votos

La resistencia en serie introduce un equilibrio entre la limitación y la velocidad. Con 60 ohmios, la impedancia de salida es casi correcta para conducir una traza de placa (60-65 ohmios típicos para una línea no controlada en una pila de 4L).

3voto

mkeith Puntos 2726

Soy ingeniero eléctrico. He trabajado en diseños basados en microprocesadores de muchos productos. De vez en cuando he hecho mal las cosas (más veces de las que me gustaría admitir). Además, en algún momento tenemos que dar nuestro hardware a los ingenieros de firmware y ellos también conectan mal las cosas todo el tiempo. Nunca he visto que un GPIO se fríe debido a un cortocircuito con VCC o GND o con otra salida. Obviamente no recomiendo hacerlo a propósito, pero lo he hecho más veces de las que puedo contar, y los ingenieros de FW también lo han hecho mal. No creo que debas preocuparte por ello a menos que vayas a exponer la salida a una tensión mayor que VCC o menor que GND.

Lo único que he hecho en ocasiones es utilizar una lógica externa para asegurarme de que el equipo de FW no pueda crear accidentalmente un "estado prohibido". (Como encender el lado alto y el bajo de un puente simultáneamente para crear un disparo).

1 votos

Gracias , realmente gracias por reafirmar mi punto , que durante el desarrollo el mal cableado sucede especialmente si esto no es un producto terminado y el cableado no está en un estado finalizado . Me siento aliviado de que los GPIOs en cortocircuito no freír el puerto o el chip.

1voto

NuSkooler Puntos 2679

El problema de los MCUs modernos es el diminuto tamaño de los FETs, y las enormes tasas de aumento de temperatura por calentamiento local.

Recuerdo haber calculado dTemp/dTime de 1.000 grados por microsegundo para tales (diminutos) FETs, con muchos miliWatts disipados en una o dos micras cuadradas, y la gran resistencia térmica de los cubos de silicio que tienen sólo 1 micra de lado.

\==================================

Para la protección contra la sobretemperatura, cualquier sensor de temperatura debe estar a menos de 10 micras del punto caliente. Si el punto caliente es un FET de salida submicrónico profundo, de canal corto para el accionamiento alto, el FET puede autodestruirse antes de que se detecte la alta temperatura.

¿Solución práctica? A altas temperaturas, el FET se vuelve menos conductor. O detectar la sobretemperatura y apagar los FETs (zona cara, para hacer eso).

Recuerdo historias de MCUs de la era 1995 que se autodestruían cuando las salidas entraban en cortocircuito.

0 votos

¿Quiere decir que no hay ninguna solución práctica en el silicio? Lo siento, pero realmente no entendí la respuesta

0voto

Neil Foley Puntos 1313

Una forma de protección es aislar galvánicamente el bus de la MCU utilizando aisladores digitales, ejemplo . Funcionan bien a altas velocidades y son más fiables que, por ejemplo, los optoacopladores. También hay piezas especializadas destinadas específicamente a ser utilizadas para SPI, I2C, etc.

Aunque esta solución se utiliza principalmente cuando se espera que el secundario sea ruidoso y se quiere evitar que la EMI, las sobretensiones, las corrientes de tierra y otras cosas desagradables lleguen directamente a la MCU.

0 votos

Para que su solución funcione, los aisladores deben estar protegidos contra cortocircuitos, de lo contrario esto no cambia nada

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X