Comment savoir si une puce présente des dommages ESD?

13

J'ai plusieurs puces (microcontrôleur, PIC16F1939) dont certaines ont un comportement étrange (réinitialisations aléatoires, certaines broches tirées haut parfois). Ils exécutent tous le même logiciel. Je soupçonne que ces puces ont des dommages ESD (ou d'autres dommages internes). Comment je peux être sûr? Radiographie? Une autre méthode disponible?

c0m4
la source
4
@ com4, Ce n'est pas une vraie réponse, mais le nombre de fois où j'ai entendu quelqu'un être sûr qu'il s'agissait de dommages ESD et que je me suis assuré que c'était autre chose était tous. J'avais l'habitude d'agir comme assistant d'enseignement dans une classe de design senior où presque tous les groupes blâmaient l'EDD à un moment donné. Ma dernière entreprise a fait de même et a mis en œuvre une ESD stricte, nous avons trouvé des erreurs de micrologiciel ou de boîtier comme source de chaque chose.
Kortuk
@Kortuk, je suis d'accord, les dommages ESD sont le boogeyman de l'électronique. Les puces sont endommagées sans aucun doute, je me demande simplement s'il existe un moyen de savoir si elles sont endommagées par les décharges électrostatiques.
c0m4

Réponses:

7

Je ne connais pas de moyen "facile" de confirmer les dommages ESD - il semble y avoir plusieurs méthodes utilisées pour détecter les défaillances des circuits intégrés, toutes assez chères. Ils comprennent les rayons X, la microscopie, l'analyse thermique infrarouge, le traceur de courbes, le TDR, etc.

Cet exemple de rapport d'analyse des défaillances est assez informatif, détaillant plusieurs méthodes différentes utilisées pour (éventuellement) trouver un défaut.

Cependant, je vérifierais attentivement le code pour m'assurer qu'il n'y a pas de bogue intermittent responsable de ce que vous voyez, ou un problème avec votre circuit (par exemple EMI, problèmes d'alimentation, etc.)
Peut-être essayez quelques programmes de test simples qui se répliquent diverses parties du firmware complet et voyez si le problème est spécifique à une partie (ou est présent tout le temps)
Vérifiez également sur le site Microchips pour tout problème de silicium connu, j'ai été surpris par cela plusieurs fois dans le passé.

Oli Glaser
la source
7

La seule méthode fiable que je connaisse est le décapage du CI (c'est-à-dire la gravure du boîtier en plastique) et l'utilisation d'un microscope. Cela revient à rechercher des indices visuels et des modèles typiques: les brûlures à surintensité sont différentes des zaps ESD sur les structures intégrées.

Le problème avec les dommages ESD est qu'ils peuvent être très subtils. Vous pouvez obtenir n'importe quoi entre un comportement légèrement inhabituel (par exemple, un petit changement dans la tension de seuil de grille d'un MOSFET) et une panne complète de l'ensemble du dispositif.

zebonaut
la source
5

Si vous êtes sûr à 100% que vous exécutez les puces dans le même circuit et dans les mêmes conditions, la puce est probablement le coupable. N'a pas besoin d'être endommagé par les décharges électrostatiques, pourrait par exemple être mécanique ou provoqué par une alimentation >> 5V. Parfois, les dommages peuvent être faciles à prouver (comme une broche refuse de conduire haut), mais en général, il est très très difficile de prouver ou de réfuter le bon fonctionnement d'une puce complexe. Si votre temps vaut quelque chose: jetez les jetons suspects (ou au moins marquez-les et mettez-les de côté pour un travail de très faible priorité).

PS êtes-vous très sûr que vous n'êtes pas mordu par le bug / fonctionnalité / piège lecture-modification-écriture?

Wouter van Ooijen
la source
Je ne sais pas ce que vous entendez par «bug / fonctionnalité / piège lecture-modification-écriture»
c0m4
1
Si vous n'êtes pas sûr de ce que cela signifie et que vous utilisez des puces de base 12 ou 14 bits, vous devez certainement le lire! Fondamentalement, lorsque vous écrivez un bit dans un port de sortie, les autres bits verrouillent la valeur momentanée de ces bits lue par le tampon d'entrée . Dans certaines situations (pépin, charge élevée), cela peut être différent du niveau que le tampon de sortie tente d'atteindre. Vérifiez par exemple cornerstonerobotics.org/curriculum/lessons_year2/…
Wouter van Ooijen
Merci pour le conseil! Je ne savais pas que l'étape de lecture lisait l'état réel de la broche. Heureusement, la gamme 16f193x a un registre de verrouillage tout comme les puces 16 bits. Non pas que je l'utilise mais ça existe. Cependant, je suis sûr que ce n'est pas un problème pour moi car je n'ai pas de charges réelles sur les sorties.
c0m4