Como posso saber se um chip está danificado por ESD?

13

Eu tenho vários chips (microcontrolador, PIC16F1939), alguns dos quais com comportamento estranho (redefinições aleatórias, alguns pinos puxados alto algumas vezes). Todos eles estão executando o mesmo software. Eu suspeito que esses chips tenham danos ESD (ou algum outro dano interno). Como posso ter certeza? Raio X? Algum outro método disponível?

c0m4
fonte
4
@ com4, esta não é uma resposta real, mas o número de vezes que ouvi alguém ter certeza de que era um dano de ESD e, em seguida, tive certeza de que era outra coisa que foi todos eles. Eu costumava atuar como assistente de ensino em uma classe de design sênior, onde quase todo grupo culpava a ESD em algum momento. Minha última empresa fez o mesmo e implementou ESD estrito; encontramos falhas de firmware ou de casos como a fonte de tudo.
Kortuk
@ Kortuk, eu concordo, o dano de ESD é o bicho-papão da eletrônica. Os chips estão danificados, sem dúvida, eu só me pergunto se existe uma maneira de descobrir se ele danifica ESD.
C0m4

Respostas:

7

Não conheço uma maneira "fácil" de confirmar danos por ESD - parece haver alguns métodos usados ​​para detectar falhas nos ICs, todos eles muito caros. Eles incluem raios-X, microscopia, análise térmica por infravermelho, traçador de curvas, TDR, etc.

Este exemplo de relatório de análise de falhas é bastante informativo, detalhando vários métodos diferentes usados ​​para (eventualmente) encontrar uma falha.

No entanto, eu verificaria o código cuidadosamente para garantir que não haja um bug intermitente responsável pelo que você está vendo ou um problema no seu circuito (por exemplo, EMI, problemas de fonte de alimentação, etc.)
Talvez tente alguns programas de teste simples que repliquem várias partes do firmware completo e veja se o problema é específico de uma parte (ou está presente o tempo todo).
Verifique também no site da Microchips se há algum problema conhecido de silício. Fui pego por isso algumas vezes no passado.

Oli Glaser
fonte
7

O único método confiável que conheço é decapagem do CI (isto é, gravando a carcaça de plástico) e usando um microscópio. Tudo se resume a procurar pistas visuais e padrões típicos: queimaduras por sobrecorrente parecem diferentes dos zaps ESD nas estruturas integradas.

O problema com danos por ESD é que pode ser muito sutil. Você pode obter qualquer coisa entre um comportamento um pouco incomum (por exemplo, uma pequena alteração na tensão de limiar de porta do MOSFET) e uma falha completa de todo o dispositivo.

zebonauta
fonte
5

Se você tem 100% de certeza de que executa os chips no mesmo circuito e condições, é provável que o chip seja o culpado. Não precisa ser danificado por ESD, pode ser mecânico ou causado por uma potência de >> 5V. Às vezes, pode ser fácil provar que os danos (como um alfinete se recusa a aumentar o driver), mas, em geral, é muito, muito difícil provar ou refutar a função correta de um chip complexo. Se o seu tempo vale alguma coisa: jogue fora quaisquer chips suspeitos (ou pelo menos marque-os e reserve-os para um trabalho de prioridade muito baixa).

PS: você tem certeza de que não é mordido pelo bug / recurso / armadilha para leitura / modificação / gravação?

Wouter van Ooijen
fonte
Não tenho certeza que você entende por "ler-modificar-escrever bug / recurso / armadilha"
c0m4
1
Se você não tem certeza do que isso significa e está usando chips de 12 ou 14 bits, certamente deve ler! Basicamente, quando você escreve um bit em uma porta de saída, os outros bits travam o valor momentâneo desses bits conforme lido pelo buffer de entrada . Em algumas situações (falha, carga pesada), isso pode ser diferente do nível que o buffer de saída está tentando atingir. Verifique, por exemplo, cornertonerobotics.org/curriculum/lessons_year2/…
Wouter van Ooijen
Obrigado pela dica! Eu não sabia que o estágio de leitura lia o estado real do pino. Felizmente, a faixa 16f193x possui um registro de trava, assim como os chips de 16 bits. Não que eu o use, mas ele existe. No entanto, tenho certeza de que isso não é um problema para mim, pois não tenho cargas reais nas saídas.
C0m4 13/01/12