¿Cómo puedo determinar si un microcontrolador está dañado?

8

Tengo algunos microcontroladores en mi contenedor de "partes no deseadas". Creo que algunos de ellos llegaron allí cuando, después de programarlos, exhibieron un comportamiento extraño. Desde entonces, he aprendido mucho, por ejemplo, cómo tener una optimización incorrecta en el compilador puede causar un comportamiento tan extraño. Por otro lado, algunos de los microcontroladores pueden haberse dañado debido a voltajes estáticos, fuera de tolerancia, etc. Por lo tanto, creo que algunos pueden estar en buen estado de funcionamiento.

Antes de tirar todo, me preguntaba: ¿hay una forma relativamente sencilla o fácil de probar un microcontrolador para determinar si todavía es bueno?

Los micros en particular son Atmel ATTiny13, ATTiny26 y ATTiny2313, versiones DIP y SOIC.

JYelton
fuente
2
Dependiendo de su programador, creo que debería poder hablar con el chip antes de programar, para verificar su ID y demás. ¿Has probado tal cosa?
dext0rb
Usando USBTiny y AVRDude, sí, indicará si no puede establecer una conexión con el chip; en esos casos los trato como muertos. A veces la programación se completa, pero el chip se comporta de manera extraña. En esos casos, parece que la forma correcta de diagnosticar es como sugiere @Passerby.
JYelton
@JYelton Consulte esta publicación para obtener información útil sobre cómo conectar Arduino para programar micros. Puede usar el comando avrdude -e para borrar el dispositivo y ver si avrdude puede hablar con su dispositivo. Aquí está la página del manual para la referencia del comando avrdude.
Chetan Bhargava
También puede usar Arduino para la programación de alto voltaje, que puede (o no) resolver otros problemas (de comunicación) con los AVR. rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer
jippie

Respuestas:

10

Si tuviera que probar completamente cada MCU para su funcionalidad correcta, construiría una placa de prueba para cada uno, con un adaptador o un zócalo para ayudar al cambio fácil del IC. Conecte cada pin IO a una salida visual, como un LED, y prográmelo con un firmware simple que probará cada pin a su vez. Un paso adicional sería probar la comunicación y otras características dependiendo de cuán exhaustivo desee ser.

Sin embargo, si simplemente desea verificar rápidamente, la MCU se está comunicando correctamente con el programador. Usaría un programador como Pocket AVR Programmer , con una placa o adaptador para cada MCU. Luego, usando la línea de comando, pruebe rápidamente cada MCU para ver si responde.

Un ejemplo para el ATTiny2313 sería:

ingrese la descripción de la imagen aquí http://www.ladyada.net/make/usbtinyisp/avrdude.html

davivid
fuente
Un Arduino (si tiene uno a mano o desea tener uno a mano) también puede usarse para probarlos junto con avrdude como se menciona en @davivid. Puede conectarlos rápidamente en una placa de pruebas.
Chetan Bhargava
4

Programe con un código no optimizado, fácil de depurar / observar. Si no actúa como debería, pero lo hace en un chip bueno conocido, entonces puede asumir que los chips están dañados.

Transeúnte
fuente