Como posso determinar se um microcontrolador está danificado?


8

Eu tenho alguns microcontroladores na minha lixeira "junk parts". Acho que alguns deles chegaram lá quando, depois de programá-los, exibiram um comportamento estranho. Desde então, aprendi muito, por exemplo, como ter a otimização errada no compilador pode causar um comportamento tão estranho. Por outro lado, alguns dos microcontroladores podem ter sido danificados devido a tensões estáticas, fora da tolerância, etc. Portanto, acredito que alguns possam estar em boas condições de funcionamento.

Antes de jogar tudo fora, pensei: Existe uma maneira relativamente direta ou fácil de testar um microcontrolador para determinar se ele ainda é bom?

Os micros em particular são o Atmel ATTiny13, ATTiny26 e ATTiny2313, versões DIP e SOIC.


2
Dependendo do seu programador, acho que ele deve poder conversar com o chip antes de programar, para verificar seu ID e tal. Você já tentou uma coisa dessas?
dext0rb

Usando USBTiny e AVRDude, sim, indicará se não é possível estabelecer uma conexão com o chip; nesses casos, eu os trato como mortos. Às vezes a programação é concluída, mas o chip se comporta de maneira estranha. Nesses casos, parece que a maneira correta de diagnosticar é como sugere @Passerby.
JYelton

@JYelton Consulte este post para obter algumas informações úteis sobre como conectar o Arduino ao programa micros. Você pode usar o comando avrdude -e para apagar o dispositivo e ver se o avrdude pode falar com seu dispositivo. Aqui está a página do manual para referência de comando avrdude.
Chetan Bhargava

Você também pode usar o Arduino para programação de alta tensão, que pode (ou não) resolver outros problemas (de comunicação) com os AVRs. rickety.us/2010/03/arduino-avr-high-voltage-serial-programmer
jippie

Respostas:


10

Se eu fosse testar completamente cada MCU para verificar sua funcionalidade correta, criaria uma placa de teste para cada um, com um adaptador ou soquete para ajudar na fácil troca do IC. Conecte cada pino de E / S a uma saída visual, como um LED, e programe-o com um firmware simples que irá testar cada pino por vez. Uma outra etapa seria testar a comunicação e outros recursos, dependendo de quão profundo você deseja ser.

No entanto, se você simplesmente deseja verificar rapidamente, o MCU está se comunicando adequadamente com o programador. Eu usaria um programador como o Pocket AVR Programmer , com uma placa de fuga ou adaptador para cada MCU. Em seguida, usando a linha de comando, teste rapidamente cada MCU para ver se responde.

Um exemplo para o ATTiny2313 seria:

insira a descrição da imagem aqui http://www.ladyada.net/make/usbtinyisp/avrdude.html


Um Arduino (se você tiver um disponível ou quiser mantê-lo acessível) também pode ser usado para testá-lo junto com o avrdude, como o @davivid mencionado. Você pode conectá-los rapidamente em uma tábua de pão.
Chetan Bhargava

4

Programe-os com um código não otimizado e fácil de depurar / observar. Se não agir da maneira que deveria, mas em um chip conhecido, você poderá assumir que os chips estão danificados.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.