Come posso determinare se un microcontrollore è danneggiato?


8

Ho alcuni microcontrollori seduti nel mio cestino "parti spazzatura". Penso che alcuni di loro siano arrivati ​​lì quando, dopo averli programmati, hanno mostrato comportamenti strani. Da allora ho imparato molto, ad esempio, come avere un'ottimizzazione errata sul compilatore possa causare un comportamento così strano. D'altra parte, alcuni dei microcontrollori potrebbero essere stati danneggiati a causa di tensioni statiche, fuori tolleranza, ecc. Pertanto, credo che alcuni possano essere in buone condizioni.

Prima di buttare via tutto, mi chiedevo: esiste un modo relativamente semplice o semplice per testare un microcontrollore per determinare se è ancora buono?

I micro in particolare sono Atmel ATTiny13, ATTiny26 e ATTiny2313, entrambe le versioni DIP e SOIC.


2
A seconda del programmatore, penso che dovrebbe essere in grado di parlare con il chip prima della programmazione, per verificarne l'ID e simili. Hai provato una cosa del genere?
dext0rb,

Usando USBTiny e AVRDude, sì, indicherà se non è possibile stabilire una connessione al chip; in quei casi li tratto come morti. A volte la programmazione viene completata, ma il chip si comporta in modo strano. In quei casi sembra che il modo corretto di diagnosticare sia come suggerisce @Passerby.
JYelton,

@JYelton Si prega di consultare questo post per ottenere alcune informazioni utili su come collegare Arduino per programmare i micro. Puoi usare il comando avrdude -e per cancellare il dispositivo e vedere se avrdude può parlare con il tuo dispositivo. Ecco la pagina man per il riferimento al comando avrdude.
Chetan Bhargava,

Puoi utilizzare Arduino anche per la programmazione ad alta tensione, che può (o non può) risolvere altri problemi (di comunicazione) con gli AVR. rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer
jippie

Risposte:


10

Se dovessi testare completamente ogni MCU per la sua corretta funzionalità, creerei una scheda di test per ciascuno, con un adattatore o una presa per facilitare il facile cambio dell'IC. Collegare ciascun pin IO a un'uscita visiva come un LED e programmarlo con un semplice firmware che testerà ogni pin a turno. Un ulteriore passo sarebbe quello di testare la comunicazione e altre funzionalità a seconda di quanto accurato si desidera essere.

Tuttavia, se si desidera semplicemente verificare rapidamente che l'MCU stia comunicando correttamente con il programmatore. Vorrei utilizzare un programmatore come Pocket AVR Programmer , con una scheda breakout o un adattatore per ogni MCU. Quindi, utilizzando la riga di comando, verifica rapidamente ogni MCU per vedere se risponde.

Un esempio per ATTiny2313 sarebbe:

inserisci qui la descrizione dell'immagine http://www.ladyada.net/make/usbtinyisp/avrdude.html


Un Arduino (se ne hai uno a portata di mano o desideri tenerne uno a portata di mano) può anche essere usato per testarli insieme a avrdude come menzionato da @davivid. Puoi collegarli rapidamente su una breadboard.
Chetan Bhargava,

4

Programmali con un codice non ottimizzato, facile da eseguire il debug / osservare. Se non agisce come dovrebbe, ma su un chip noto, allora puoi supporre che i chip siano danneggiati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.