Pulsador de entrada desplegable de MCU con problema de ESD de interrupción

Tengo una MCU operada a 3 voltios con un pin de entrada que está flotando de forma predeterminada. Tengo un circuito desplegable externo con una resistencia de 10K conectada al pin de E/S. También lo tengo atado a VCC usando un botón. El microprocesador está durmiendo hasta que se presiona el botón (está configurado para generar una interrupción cuando la línea de E/S se vuelve alta).

La solución ha funcionado perfectamente, la he probado durante meses. La semana pasada, sin embargo, soldé un nuevo lote de 16 unidades y cuando las inserté en su caja de plástico, noté que algunas se despertaron y comenzaron a procesarse y no presioné el botón. Ahora tengo dos teorías y me gustaría saber qué tan probables son:

  1. ESD ha dañado la MCU? Personalmente no lo creo, ya que he visto el mismo problema en al menos 7 dispositivos de vez en cuando. Esto combinado con que funcionan impecablemente en todos los demás aspectos me hace pensar que este no es el caso.

  2. ESD eleva la línea de vez en cuando cuando la inserto en la carcasa de plástico y, de esta manera, se activa la interrupción en la MCU. Suena razonable, supongo que una ESD muy corta cerca de los pines despertaría el dispositivo. ¿Quizás la razón por la que lo veo ahora y no antes es por el invierno y un aire más seco?

¿Estoy pensando correctamente aquí?

  1. También me gustaría saber si necesito proteger el pin de alguna manera y sugerencias sobre cómo hacerlo si es necesario. Leí que el chip (TI cc2540) tiene protección ESD pero no sé si es suficiente, tal vez necesite más protección. Tal vez tenga suficiente protección, pero todavía necesito manejar picos cortos en el software.
Para proteger el dispositivo de ESD, asegúrese de que todo su personal use muñequeras antiestáticas y no use ropa de nailon. También podría tener la MCU en un zócalo. Haga la soldadura sin la MCU, luego colóquela en el zócalo para probar. Esto también permite el reemplazo y la programación (no dentro del sistema) de la MCU.
Ponga una resistencia de 10k en serie con el pin.
Y para trabajar con la idea de Andy, también considere agregar un capacitor desde el pin a GND además de agregar la resistencia en serie de 10K.
¿Está eliminando el rebote de su interruptor en el software? Tal vez extender el tiempo de denuncia. Podría usar un diodo tvss para mayor protección
@Algunos: No, no puede. Como dijo, los disparadores de borde ascendente hacen que el procesador se despierte del modo de suspensión. La eliminación de rebotes de software no se puede aplicar aquí, ya que el procesador no se está ejecutando en ese momento. Ejecutar el procesador es exactamente lo que está tratando de evitar que haga un pico corto.
Entonces, el antirrebote externo...
O despierta rebotando vuelve a dormir

Respuestas (1)

Creo que el n. ° 2 es bastante plausible, especialmente porque mencionaste la caja de plástico . Probablemente generó algo de electricidad estática mientras manipulaba la caja de plástico y se descargó a través de la línea del interruptor. El interruptor probablemente sobresalga más que otras cosas, por lo que es más probable que lo destruyan.

Si esto solo sucede cuando instala la placa por primera vez en el gabinete, puede ignorarlo si es necesario. Sin embargo, algo es marginal y me gustaría hacer que el sistema sea más robusto. Hay varias opciones:

  1. Haz que el pulldown sea más rígido. Si esta unidad no funciona con batería, entonces cambiar los 10 kΩ a 1 kΩ es algo fácil de hacer. Eso usará 25 mW cuando se presione el interruptor. Si esto es alimentado por línea, eso es irrelevante.

  2. Ponga un condensador a tierra en la línea del interruptor. Esto requerirá más carga en la línea antes de que llegue a un nivel lógico alto. Una cerámica de 1 uF es barata y pequeña. Incluso con el pulldown de 10 kΩ, sigue siendo una constante de tiempo de solo 10 ms, por lo que es irrelevante en el tiempo humano.

  3. Coloque un filtro de paso bajo RC después del interruptor y desplegable. Por ejemplo, otros 10 kΩ en serie seguidos de 1 µF a tierra. El retraso adicional sigue siendo irrelevante en el tiempo humano, ya que tiene una constante de tiempo de 10 ms hacia el estado de encendido y 20 ms hacia el estado de apagado. Esto definitivamente filtrará los picos cortos y proporciona una impedancia adicional para que funcione el circuito de protección de pines.

Bien explicado. ¿Puedo tener su opinión si necesitamos TVS o diodos schottky o supresores de ESD en este caso para evitar que la MCU se dañe por ESD?
@rich: Eso depende de cuánto vale el gasto y cuánto reduce la probabilidad de comportamiento erróneo. Un TVS o zener puede reducir la posibilidad de daño si se hace bien, si se le da alguna impedancia contra la cual trabajar. Si todo lo que desea evitar es daño, entonces los diodos de protección en el micro pueden ser lo suficientemente buenos. Una vez más, sin embargo, necesitan algo de impedancia contra la cual trabajar.
Sí, me importa mucho el daño. ¿Está sugiriendo agregar resistencias en serie entre la entrada y el pin MCU? Si los diodos internos son suficientes, ¿cree que las protecciones en USART son necesarias?