Comment les entreprises pré-programment-elles les puces?

11

Je suis particulièrement intéressé par les packages SMD. Un package DIP, je suppose, est simplement placé dans une prise et programmé de cette façon.

Bien sûr, vous pouvez contourner cela en concevant un en-tête de programmeur dans le produit final afin que le code puisse être téléchargé et / ou mis à jour, mais je sais que certaines entreprises vendent des puces préprogrammées (des fournisseurs comme Digikey offrent cette option, et de ce que je '' J'ai entendu dire que vous pouvez parfois passer un contrat avec l'OEM pour fournir des puces préprogrammées). Je suis simplement curieux de savoir comment ils font cela.

J'ai deux théories, mais je ne pense pas que l'une ou l'autre soit vraiment pratique et / ou fiable.

  1. Sorte de "tenir" la broche en contact avec des tampons sur un PCB, peut-être même utiliser une sorte de verrou pour assurer un contact solide. Cela serait similaire à la façon dont les packages DIP sont programmés. Fonctionnerait pour les packages avec des prospects réels (QFP, SOIC, etc.), mais j'ai des doutes quant à la façon dont cela fonctionne pour les packages BGA ou exposés.

  2. Souder la pièce en place, programmer, puis dessouder. On dirait que cela soumettrait les chipsets à des contraintes thermiques inutiles et utiliserait une tonne de soudure / d'autres ressources.

helloworld922
la source
1
Les fabricants sondent les puces avant de les emballer, pour les tester et éviter d'emballer les mauvaises puces. Ils pourraient également programmer à ce moment-là. Mais je suppose que vous auriez besoin d'un grand volume pour rendre cela économique.
markrages

Réponses:

27

Ils fabriquent des sockets ZIF (force d'insertion nulle) pour pratiquement tous les packages disponibles.

Tels que QFN:
entrez la description de l'image ici

Ou SSOP:
entrez la description de l'image ici

Et oui, ils font des sockets ZIF pour les appareils BGA.

entrez la description de l'image ici

Et les programmeurs qui prennent en charge plusieurs sockets à la fois:

entrez la description de l'image ici

Ou pour de très gros volumes, des programmeurs complètement automatisés avec un robot intégré:

entrez la description de l'image ici

Il n'est pas difficile d'imaginer comment quelque chose comme ça pourrait être adapté à un système robotique de ligne de production, en particulier lorsque la plupart des microcontrôleurs modernes n'ont pas réellement besoin de tant de broches pour être connectés pour être programmés.

Il suffit de google Production Programmer , et regardez autour de vous.


Divulgation: Tous les liens ici que je viens de trouver via google. Je n'ai aucune expérience réelle avec aucune de ces sociétés.

Connor Wolf
la source
2
Bonne réponse. Les images parlent d'elles-mêmes.
Michael Karas
2
@MichaelKaras - J'ai utilisé les googles!
Connor Wolf
11

Outre le programmateur de socket ZIF, une autre alternative à faible coût pour la programmation manuelle à très faible volume des circuits intégrés SMD consiste à utiliser un clip de test SOIC ou SOP connecté via un câble IDC à la carte de programmation:

Clip de test SOIC

Cette méthode est utilisée par les amateurs et les maisons de production à petit / petit budget pour les petites séries de microcontrôleurs ou EEPROMS. La puce est saisie par les mâchoires du clip et les entrées de puissance et de signal requises sont fournies par la carte de programmation.

Anindo Ghosh
la source
1
Je suis presque sûr que la plupart des trucs d'amateur à faible volume sont généralement programmés en circuit, avec une configuration pogo-pin (ou quelque chose de similaire).
Connor Wolf
1
Étant donné que les clips de test SOIC sont réutilisables dans tous les projets et coûtent environ 11 $ avec le câble IDC connecté ...
Anindo Ghosh
2
Oui. Je fais exactement cela pour programmer des AVR Tiny13s. La carte est trop petite pour un en-tête ISP et je n'en fais pas assez pour justifier une configuration de broche pogo, j'ai donc l'idée d'utiliser un clip Pomona SOIC-8 qui se branche sur les cavaliers de mon JTAG-ICE II débogueur. Ça marche vraiment bien.
lyndon
2

Pour ceux d'entre nous à l'extrémité inférieure du passe-temps, un bon conseil, si vous débranchez le même circuit intégré DIP plusieurs fois afin de le programmer séparément de sa carte PCB finale, peut-être pendant le développement d'un programme, est de le brancher sur un DIP socket, et utilisez cette combinaison branchée sur le pcb et le programmeur. Cela évite de porter et éventuellement de plier ou de casser les broches du CI: si cela arrive à la prise DIP, elles sont assez bon marché. Je fais aussi cela pour un IC branché sur une planche à pain. Les douilles à broches tournées sont nécessaires pour établir un bon contact.

Si l'usure de la prise de la carte PCB est susceptible d'être un problème, vous pouvez utiliser une troisième prise DIP et retirer l'IC ainsi que sa propre prise DIP, en laissant les deux autres prises sur la carte.

J'ai toujours le premier PIC que j'ai jamais programmé, en 1996 - un PIC16C84, qui a perdu une épingle (et a subi de nombreuses autres indignités comme être branché à l'envers) avant de penser à cette astuce. Il a maintenant un fil soudé pour remplacer la broche, et cela fonctionne toujours.

Harry Weston
la source