Programmation des circuits intégrés lors du traitement des cartes de circuits imprimés

Programmation des circuits intégrés lors du traitement des cartes de circuits imprimés

Figure 1. Programmation des circuits intégrés lors du traitement des cartes de circuits imprimés

Dernière mise à jour : mai 2026 · Guide de fabrication pour les ingénieurs en systèmes embarqués et les équipes d'approvisionnement en matériel

Il existe deux méthodes pratiques pour charger le firmware dans les puces d'une carte lors de l'assemblage : la préprogrammation des composants avant leur placement (hors carte, sur un programmateur multiplex ou automatisé) ou la programmation en circuit après assemblage via une interface de débogage telle que JTAG, SWD, ISP ou un chargeur de démarrage série. La préprogrammation est rapide et convient aux productions en grande série avec un firmware stable ; la programmation en circuit permet de charger la dernière image, de calibrer et de sérialiser chaque unité, mais nécessite des broches de programmation accessibles intégrées à la carte. La plupart des chaînes d'assemblage modernes utilisent la programmation en circuit sur le poste de test car elle intègre le firmware, le calibrage et la traçabilité sur la carte finale.

Aperçu des deux approches :
• Préprogrammation hors-bord — puces programmées dans un système automatisé avant SMT. Cycle rapide, aucun accès embarqué nécessaire, mais les composants sont liés à une seule version de firmware.
• Programmation en circuit / en système (ICSP/ISP) — puces programmées après Assemblage via JTAG/SWD/SPI/UART sur la carte. Flexible, prend en charge les données par unité, mais nécessite un accès à la programmation dans le circuit imprimé.

Pourquoi la programmation des circuits intégrés fait partie du traitement des cartes de circuits imprimés

La plupart des cartes électroniques actuelles contiennent au moins un composant programmable : un microcontrôleur, un microcontrôleur avec radio intégrée, une mémoire flash, un FPGA ou un circuit intégré intelligent de gestion de l’alimentation/capteurs. Une carte assemblée nue n’est pas encore fonctionnelle tant que le microprocesseur n’y est pas programmé. Intégrer la programmation directement dans le circuit imprimé (PCBA), plutôt que de livrer des cartes vierges à programmer par le client, permet de gagner du temps, de vérifier le bon fonctionnement du composant en usine et d’inscrire des données uniques dans chaque unité. La question n’est pas de savoir s’il faut programmer lors de l’assemblage, mais quelle méthode est la plus adaptée au produit.

Méthode 1 : Préprogrammation du circuit intégré hors carte

Lors de la préprogrammation hors carte, les composants sont préprogrammés avec un firmware avant leur placement sur la carte. Cette opération est réalisée sur un programmateur de composants, et en grande quantité sur un système de programmation automatisé qui extrait les composants de la bande et de la bobine, les programme (souvent plusieurs à la fois – programmation en série), les vérifie, puis les rebobine ou les place sur des plateaux pour la machine de placement.

  • Points forts : très rapide sur la ligne SMT (pas d'étape de programmation à l'assemblage), aucun accès à la programmation embarqué requis, débit élevé pour un firmware stable.
  • Inconvénients : Les composants sont liés à une seule version de firmware, donc une modification tardive du code implique une reprogrammation ou la mise au rebut du stock ; la manutention ajoute une étape ; et les données par unité (numéros de série, étalonnage) ne peuvent généralement pas être écrites de cette manière car chaque composant est identique.

La préprogrammation est particulièrement avantageuse pour les produits à grand volume dont le micrologiciel est figé, et pour les appareils difficiles à programmer directement sur le circuit.

Méthode 2 : Programmation en circuit / en système (ICSP/ISP)

La programmation en circuit (ou programmation in-circuit) consiste à charger le micrologiciel après la soudure du composant sur la carte, via une petite interface de programmation accessible sur celle-ci. Un programmateur se connecte à un connecteur ou à un ensemble de pastilles de test, la carte est alimentée, puis le micrologiciel est écrit et vérifié sur place.

  • Points forts : Charge systématiquement l'image du firmware actuelle ; prend en charge l'étalonnage et les données par unité ; permet une vérification fonctionnelle immédiatement après la programmation ; les mises à jour du firmware ne nécessitent aucune modification des pièces.
  • Inconvénients : La configuration doit permettre l'accès à la programmation ; elle ajoute du temps à un poste de programmation/test ; et le partage de broches ou l'absence de résistances de rappel peuvent entraîner des pannes si la conception n'est pas soignée.

C'est le choix par défaut pour la plupart des conceptions contemporaines car cela unifie la programmation, l'étalonnage et la traçabilité sur la carte finie — et parce que le firmware est presque toujours en constante évolution.

Interfaces de programmation de circuits intégrés courantes (JTAG, SWD, SPI)

Interface Appareils typiques Remarques
SWD (Fil 2) Microcontrôleurs ARM Cortex-M Compact (SWDIO/SWCLK + alimentation/GND) ; débogage également disponible.
JTAG Microcontrôleurs, FPGA, CPLD, chaînes de balayage de limites Peut programmer la mémoire flash et tester les interconnexions
SPI / ISP AVR, mémoire flash SPI, périphériques de configuration Observez le partage de bus pendant la programmation
ICSP Famille de circuits intégrés microcontrôleurs (PIC) de Microchip Peu d'épingles ; accès réservé MCLR/PGC/PGD
Chargeur de démarrage UART/USB De nombreux microcontrôleurs avec chargeur de démarrage intégré Programmes via les lignes série/USB existantes
I²C EEPROM, capteurs intelligents Pour les données de configuration/étalonnage, plus que du code

Préprogrammation ou programmation en circuit : laquelle choisir ?

Considération Favorise la préprogrammation Favorise les communications en circuit (ICSP)
Volume Volume élevé et constant Du prototype à la production en série moyenne ; constructions mixtes
Stabilité du firmware Gelé, change rarement Images évolutives ou par construction
Données par unité Inutile (pièces identiques) Numéros de série, MAC, étalonnage requis
Accès au conseil d'administration Aucun en-tête de programmation souhaité Blocs de programmation/en-tête disponibles
Vérification lors des tests Fait séparément Combiné avec FCT dans une seule station

De nombreux programmes utilisent une solution hybride : une grande mémoire externe préprogrammée hors carte, tandis que le microcontrôleur est flashé en circuit afin que la dernière application et les données par unité soient chargées sur la ligne.

Comment concevoir une carte pour la programmation en circuit

La programmation en circuit ne se déroule correctement que si le circuit imprimé le permet. Prévoyez ces éléments avant de diffuser les fichiers :

  • Exposez les broches de programmation — un petit connecteur ou, pour gagner de la place, des pastilles de test adaptées aux broches à ressort. Placez-les d'un côté, à l'écart des pièces hautes.
  • Réservez les bons signaux — par exemple, SWDIO/SWCLK, ou MCLR/PGC/PGD, ou JTAG TCK/TMS/TDI/TDO/TRST, plus une détection de l'alimentation cible et une masse.
  • Protéger les bus partagés — ajouter des résistances en série ou une isolation afin que le programmateur n'entre pas en conflit avec d'autres appareils sur les mêmes lignes pendant la programmation.
  • Tractions à la hausse/à la baisse et réinitialisation — fournir les états passifs corrects et une réinitialisation accessible afin que l'appareil entre en mode programmation de manière fiable.
  • Puissance et séquençage — s’assurer que le dispositif peut être alimenté pour la programmation (alimentation par la cible ou par le programmateur) sans réinjecter de courant dans le reste de la carte.
  • Planifiez la sécurité à l'avance — Si vous configurez les bits de protection/verrouillage en lecture, assurez-vous que la séquence permet toujours la vérification avant le verrouillage de la pièce.

Ce sont précisément les éléments que vérifie une revue de conception pour les tests , car l'accès à la programmation et l'accès aux tests partagent généralement le même dispositif.

Programmation par unité : sérialisation, étalonnage, sécurité

L'une des principales raisons de programmer en circuit est que chaque carte peut recevoir ses propres données :

  • Numéros de série et identifiants uniques pour la traçabilité et la garantie.
  • Adresses MAC / clés réseau pour les produits connectés.
  • Constantes d'étalonnage Mesuré lors du test fonctionnel et réinscrit dans l'appareil afin que chaque unité réponde aux spécifications.
  • Configuration de la région/des fonctionnalités pour les variantes de produits construites à partir d'une seule conception matérielle.
  • Verrouillage de sécurité Après la programmation et la vérification, des bits de protection en lecture ou de verrouillage sont activés afin de protéger la propriété intellectuelle du firmware. Le verrouillage étant souvent irréversible, il s'agit de la dernière étape, validée avec soin.

Où la programmation des circuits intégrés a lieu sur la ligne de fabrication des cartes électroniques (PCBA)

Dans un flux de travail typique, la programmation en circuit est réalisée sur une station de programmation dédiée ou, le plus souvent, combinée à un test fonctionnel : la carte est placée dans le banc d’essai, le firmware est chargé, l’étalonnage est effectué, le dispositif est vérifié, les données et la sécurité spécifiques à chaque unité sont enregistrées, et un résultat de réussite/échec ainsi qu’un enregistrement sont consignés pour ce numéro de série. Le couplage de la programmation avec un test fonctionnel signifie qu’une unité n’est déclarée conforme que lorsqu’elle est à la fois programmée et que son fonctionnement est validé.

C’est également à ce niveau que la traçabilité est assurée — en reliant la version du micrologiciel, les valeurs d’étalonnage et les résultats des tests à chaque unité — ce qui constitue le type de preuve que les acheteurs étrangers devraient exiger d’un fabricant sous contrat.

Erreurs courantes de programmation des circuits intégrés à éviter

  • Aucun accès à la programmation dans la mise en page — découvrir en production qu’il n’y a aucun moyen de connecter un programmeur.
  • Contestation de bus — partage des lignes de programmation avec d'autres appareils actifs et absence d'isolation, provoquant des pannes intermittentes.
  • Verrouillage trop précoce — en définissant les bits de sécurité avant la vérification, afin que les pannes ne puissent pas être diagnostiquées.
  • Installation du firmware préprogrammé sur une version bientôt modifiée — la mise au rebut ou la refonte de certaines parties après une mise à jour du code.
  • Passage de relais flou — sans préciser la version du firmware, les données par unité et l'état de sécurité que l'usine doit appliquer.

Services de programmation de circuits intégrés chez Highleap Electronics

Highleap Electronics , fabricant chinois de circuits imprimés (PCB) et d'assemblages de cartes électroniques (PCBA), intègre la programmation des composants dans ses processus d'assemblage clés en main pour ses clients exportant vers les États-Unis, l'Europe et la région Asie-Pacifique. L'objectif : livrer une carte programmée, calibrée, vérifiée et traçable, et non vierge.

  • Programmation CI via JTAG, SWD, ISP/ICSP et chargeurs de démarrage série, intégrés ou préprogrammés selon les besoins du projet.
  • Test fonctionel combiné à la programmation et à l'étalonnage dans un seul poste, avec des enregistrements par unité.
  • Examen de la conception pour les tests séquence d'accès au programme, d'isolation et de sécurité avant le gel des fichiers.
  • PCBA clé en main couvrant l'approvisionnement, le SMT, la programmation, les tests et la sérialisation de bout en bout.
Détails de la programmation des circuits intégrés lors du traitement des cartes de circuits imprimés

Figure 2. Détails de la programmation des circuits intégrés lors du traitement des cartes de circuits imprimés.

FAQ sur la programmation des circuits intégrés lors de l'assemblage de cartes de circuits imprimés

Que signifie la programmation en circuit (ICSP) ?

Cela consiste à charger le firmware dans un composant après sa soudure sur la carte, via une interface de programmation (telle que SWD, JTAG, ISP ou ICSP) accessible sur celle-ci. La carte est connectée à un programmateur, alimentée, et le firmware est écrit et vérifié sur place.

Vaut-il mieux préprogrammer les puces ou les programmer directement sur la carte ?

Cela dépend du volume de production, de la stabilité du micrologiciel et de la nécessité de données spécifiques pour chaque unité. La préprogrammation est la plus rapide pour les micrologiciels figés et produits en grande quantité. La programmation en circuit est préférable en cas de modification du micrologiciel, de besoin d'étalonnage ou de sérialisation, ou pour vérifier le bon fonctionnement du dispositif lors de tests. Les approches hybrides sont courantes.

De quoi ai-je besoin pour la programmation des circuits intégrés lors de l'assemblage ?

L'image et la version du firmware, le périphérique cible et son interface, les points de programmation/connexion sur la carte, les données spécifiques à chaque unité (numéros de série, adresse MAC, procédure d'étalonnage) et l'état de sécurité/verrouillage souhaité sont définis. La programmation est ensuite effectuée sur un poste dédié ou en parallèle d'un test fonctionnel.

Chaque carte peut-elle recevoir un numéro de série unique ou un étalonnage ?

Oui, c'est un avantage clé de la programmation en circuit. Les identifiants uniques, les adresses MAC et les constantes d'étalonnage mesurées lors des tests peuvent être inscrits dans chaque unité, et les valeurs enregistrées pour assurer la traçabilité.

Comment puis-je empêcher la lecture de mon firmware ?

La plupart des microcontrôleurs prennent en charge des bits de protection ou de verrouillage en lecture qui empêchent la lecture externe après la programmation. Ces bits sont activés en dernière étape, après la vérification du dispositif, car le verrouillage est souvent irréversible. Discutez du niveau de sécurité précis souhaité avec le fabricant.

L'ajout d'un connecteur de programmation prend-il beaucoup de place sur la carte ?

Pas nécessairement. Vous pouvez utiliser une interface compacte à deux ou quatre fils (telle que SWD) ou remplacer le connecteur par de petites pastilles de test mises en contact par les broches à ressort du dispositif de test, ce qui réduit l'encombrement au minimum.

Un fabricant basé en Chine peut-il gérer la programmation du firmware en toute sécurité ?

Oui, lorsque le fabricant contrôle les mises à jour du micrologiciel, les programmes et les vérifie sur une station documentée, applique le verrouillage de sécurité convenu et fournit des enregistrements par unité. Définissez par écrit la version du micrologiciel, les données et la politique de sécurité afin d'éviter toute ambiguïté quant aux éléments chargés.

obtenir-un-devis-instantané

messages recommandés

Comment obtenir un devis pour les PCB

Nous réaliserons une analyse DFM/DFA pour vous et vous fournirons un rapport. Vous pouvez télécharger vos fichiers en toute sécurité via notre site web. Nous avons besoin des informations suivantes pour vous établir un devis :

    • Gerber, ODB++ ou .pcb, spécifications.
    • Liste de nomenclature si vous avez besoin d'un assemblage
    • Quantité
    • Temps de rotation
Outre la fabrication de circuits imprimés, nous proposons une gamme complète de services électroniques, incluant la conception de circuits imprimés, l'assemblage de cartes de circuits imprimés et des solutions clés en main. Que vous ayez besoin d'aide pour le prototypage, la vérification de la conception, l'approvisionnement en composants ou la production en série, nous vous offrons un accompagnement complet pour garantir la réussite de votre projet.

Pour les services PCBA, veuillez fournir votre nomenclature (BOM) et toute instruction d'assemblage spécifique. Nous proposons également des analyses DFM/DFA pour optimiser la fabricabilité et l'assemblage de vos conceptions, garantissant ainsi un processus de production fluide.






    Note rapide: Notre équipe vous contactera par courriel peu après l'envoi de votre demande. Afin de vous assurer de recevoir notre réponse, nous vous recommandons de bien vouloir… vérifier votre dossier SPAM/Courrier indésirable si vous ne voyez pas notre message dans votre boîte de réception.