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?
13
Réponses:
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é.
la source
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.
la source
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?
la source