IC-programmering tijdens PCBA-verwerking
Figuur 1. IC-programmering tijdens PCBA-verwerking
Laatst bijgewerkt: mei 2026 · Een handleiding voor de productie van embedded systemen voor engineers en hardware-inkoopteams
Er zijn twee praktische manieren om firmware in de chips op een printplaat te laden tijdens de PCBA-ontwikkeling: Programmeer de apparaten vooraf voordat ze geplaatst worden. (buiten het schip, op een gang of geautomatiseerde programmeur) of Programmeer ze in-circuit na de montage. Via een debug-interface zoals JTAG, SWD, ISP of een seriële bootloader. Voorprogrammering is snel op de productielijn en geschikt voor grote volumes met stabiele firmware; in-circuit programmering maakt het mogelijk om de nieuwste image te laden, te kalibreren en elke eenheid te serialiseren, maar vereist toegankelijke programmeerpinnen die in de printplaat zijn ingebouwd. De meeste moderne assemblages gebruiken in-circuit programmering op het teststation, omdat dit firmware, kalibratie en traceerbaarheid op de uiteindelijke printplaat combineert.
• Externe voorprogrammering — chips geprogrammeerd in een socket/geautomatiseerd systeem vaardigheden SMT. Snelle cyclus, geen toegang tot de printplaat nodig, maar de onderdelen zijn gebonden aan één firmwareversie.
• In-circuit / in-system programmering (ICSP/ISP) — geprogrammeerde chips na Assemblage via JTAG/SWD/SPI/UART op de printplaat. Flexibel, ondersteunt data per eenheid, maar vereist programmeertoegang in de lay-out.
Waarom IC-programmering onderdeel is van PCBA-verwerking
De meeste printplaten die tegenwoordig worden gemaakt, bevatten minstens één programmeerbaar apparaat: een microcontroller, een MCU met geïntegreerde radio, een flashgeheugen, een FPGA-configuratie-eenheid of een slimme stroom-/sensor-IC. Een kale, geassembleerde printplaat is pas een werkend product als de chip de juiste firmware bevat. Door de programmering in de printplaat zelf te integreren – in plaats van blanco printplaten te leveren die de klant zelf moet flashen – wordt een stap bespaard, kan de fabriek de werking van het apparaat tijdens een functionele test controleren en kunnen unieke gegevens in elke eenheid worden geschreven. De vraag is niet... of programmeren tijdens de assemblage, maar welke methode past bij het product.
Methode 1: Voorprogrammering van de IC buiten het moederbord
Bij externe voorprogrammering worden apparaten voorzien van firmware. vaardigheden Ze worden op de printplaat geplaatst. Dit gebeurt met een programmeerapparaat, en op grote schaal met een geautomatiseerd programmeersysteem die onderdelen van een tape-and-reel haalt, ze programmeert (vaak meerdere tegelijk - "gangprogrammering"), controleert en ze vervolgens weer op de tape of in trays plaatst voor de pick-and-place machine.
- Sterke punten: Zeer snel op de SMT-lijn (geen programmeerstap tijdens de assemblage), geen toegang tot programmeergeheugen op de printplaat nodig, hoge doorvoer voor stabiele firmware.
- Zwakke punten: De onderdelen zijn gekoppeld aan één firmwareversie, dus een late codewijziging betekent herprogrammering of het afschrijven van de voorraad; de verwerking voegt een extra stap toe; en per-eenheidsgegevens (serienummers, kalibratie) kunnen over het algemeen niet op deze manier worden opgeslagen omdat elk onderdeel identiek is.
Voorprogrammering is vooral handig voor producten die in grote volumes worden geproduceerd en waarvan de firmware vastligt, en voor apparaten die lastig in-circuit te programmeren zijn.
Methode 2: In-circuit/in-systeem programmering (ICSP/ISP)
In-circuit programmering — ook wel in-system programmering (ISP) of in-circuit seriële programmering (ICSP) genoemd — laadt firmware. na Het apparaat wordt op de printplaat gesoldeerd via een kleine programmeerinterface die op de printplaat is aangebracht. Een programmeerapparaat wordt aangesloten op een header of een set testpunten, de printplaat wordt van stroom voorzien en de firmware wordt ter plaatse geschreven en geverifieerd.
- Sterke punten: Laadt altijd de meest recente firmware-image; ondersteunt kalibratie en gegevens per unit; maakt functionele verificatie direct na programmering mogelijk; firmware-updates vereisen geen aanpassingen aan onderdelen.
- Zwakke punten: De lay-out moet programmeertoegang bieden; dit kost extra tijd bij een programmeer-/teststation; en het delen van pinnen of het ontbreken van pull-upweerstanden kan storingen veroorzaken als het ontwerp niet zorgvuldig is.
Dit is de standaard voor de meeste hedendaagse ontwerpen, omdat het programmeren, kalibratie en traceerbaarheid op de uiteindelijke printplaat verenigt – en omdat firmware vrijwel altijd blijft evolueren.
Gangbare IC-programmeerinterfaces (JTAG, SWD, SPI)
| Interface | Typische apparaten | Notes |
|---|---|---|
| SWD (2-draads) | ARM Cortex-M MCU's | Compact (SWDIO/SWCLK + voeding/GND); ook debuggen |
| JTAG | MCU's, FPGA's, CPLD's, boundary-scan ketens | Kan flashgeheugen programmeren en interconnecties testen. |
| SPI / ISP | AVR, SPI-flash, configuratieapparaten | Bekijk het busdeelprogramma tijdens de uitzending. |
| ICSP | Microchip PIC-familie | Weinig pinnen; reserveer MCLR/PGC/PGD-toegang |
| UART/USB-bootloader | Veel microcontrollers hebben een ingebouwde bootloader. | Programma's via bestaande seriële/USB-lijnen |
| I²C | EEPROM's, slimme sensoren | Voor configuratie-/kalibratiegegevens, meer dan code. |
Voorprogrammering versus in-circuit programmering: welke keuze?
| Overweging | Geeft de voorkeur aan voorprogrammering | Geeft de voorkeur aan in-circuit (ICSP) |
|---|---|---|
| Volume | Hoog, constant volume | Van prototype tot middelgrote series; gemengde productie. |
| Firmware stabiliteit | Bevroren, verandert zelden | Evoluerende of per-build afbeeldingen |
| Gegevens per eenheid | Niet nodig (identieke onderdelen) | Serienummers, MAC-adres, kalibratie vereist |
| Toegang tot het bord | Geen programmeerheader gewenst | Programmeerpads/header beschikbaar |
| Verificatie tijdens de test | Apart gedaan | Gecombineerd met FCT op één locatie. |
Veel programma's gebruiken een hybride aanpak: een groot extern geheugen dat vooraf is geprogrammeerd, terwijl de microcontroller in-circuit wordt geprogrammeerd, zodat de nieuwste applicatie- en per-eenheidsgegevens direct op de lijn worden geladen.
Hoe ontwerp je een printplaat voor in-circuit programmering?
Programmeren in het circuit verloopt alleen soepel als de lay-out dit ondersteunt. Plan dit voordat u de bestanden vrijgeeft:
- Leg de programmeerpinnen bloot. — een kleine header of, om ruimte te besparen, testpads die geschikt zijn voor pogo-pinnen. Houd ze aan één kant en uit de buurt van hoge onderdelen.
- Reserveer de juiste signalen — bijvoorbeeld SWDIO/SWCLK, of MCLR/PGC/PGD, of JTAG TCK/TMS/TDI/TDO/TRST, plus een doelvermogensdetectie en aarding.
- Bescherm gedeelde bussen — Voeg serieweerstanden of isolatie toe, zodat de programmeur tijdens het programmeren geen last heeft van andere apparaten op dezelfde lijnen.
- Optrekken/neertrekken en opnieuw beginnen — zorg voor de juiste passieve toestanden en een toegankelijke reset, zodat het apparaat betrouwbaar in de programmeermodus terechtkomt.
- Vermogen en volgorde — zorg ervoor dat het apparaat van stroom kan worden voorzien voor programmering (via het doelapparaat of de programmeur) zonder dat de rest van het bord wordt belast.
- Plan de beveiliging vooraf. — Als u leesbeveiligings-/vergrendelingsbits instelt, controleer dan of de volgorde nog steeds verificatie mogelijk maakt voordat het onderdeel wordt vergrendeld.
Dit zijn precies de items die een Ontwerp-voor-test beoordeling controles, omdat programmeertoegang en testtoegang meestal dezelfde testomgeving delen.
Programmering per eenheid: serialisatie, kalibratie, beveiliging
Een van de belangrijkste redenen om in-circuit te programmeren is dat elke printplaat kan ontvangen. eigen data:
- Serienummers en unieke ID's voor traceerbaarheid en garantie.
- MAC-adressen / netwerksleutels voor verbonden producten.
- Kalibratieconstanten De metingen worden uitgevoerd tijdens de functionele test en de gegevens worden teruggeschreven naar het apparaat, zodat elk exemplaar aan de specificaties voldoet.
- Regio-/functieconfiguratie voor productvarianten die gebouwd zijn op basis van één hardwareontwerp.
- Beveiligingsslot — Na programmering en verificatie worden leesbeveiligings- of vergrendelingsbits ingesteld om het IP-adres van de firmware te beschermen. Omdat vergrendeling vaak onomkeerbaar is, is dit de laatste stap en wordt deze zorgvuldig gecontroleerd.
Waar IC-programmering plaatsvindt op de PCBA-lijn
In een typische workflow wordt in-circuit programmering uitgevoerd op een speciaal programmeerstation of, vaker, in combinatie met functionele testHet bord wordt in de testopstelling geplaatst, de firmware wordt geladen, de kalibratie wordt uitgevoerd, het apparaat wordt geverifieerd, per-unit gegevens en beveiliging worden geschreven en een geslaagd/mislukt resultaat plus een registratie voor dat serienummer wordt vastgelegd. Programmeren in combinatie met FCT betekent dat een unit pas als goed wordt beschouwd als deze zowel geprogrammeerd is als bewezen werkt.
Dit is ook waar traceerbaarheid Deze gegevens worden vastgelegd — waarbij de firmwareversie, kalibratiewaarden en testresultaten aan elke unit worden gekoppeld — en dat is het soort bewijs dat buitenlandse kopers van een contractfabrikant zouden moeten eisen.
Veelvoorkomende programmeerfouten bij IC's die u moet vermijden
- Geen programmeertoegang in de lay-out. — tijdens de productie ontdekken dat er geen mogelijkheid is om een programmeur aan te sluiten.
- Busconflict — Het delen van programmeerlijnen met andere actieve apparaten en het ontbreken van isolatie, wat leidt tot intermitterende storingen.
- Te vroeg vergrendelen — Beveiligingsbits worden ingesteld vóór de verificatie, waardoor fouten niet kunnen worden vastgesteld.
- Voorgeprogrammeerde voorraadgegevens vastleggen in firmware die binnenkort zal worden gewijzigd. — het weggooien of herwerken van onderdelen na een code-update.
- Vage overdracht — zonder te specificeren welke firmwareversie, welke gegevens per eenheid en welke beveiligingsstatus de fabriek moet toepassen.
IC-programmeerdiensten bij Highleap Electronics
Highleap-elektronica is een in China gevestigde fabrikant van printplaten (PCB's) en printplaatassemblages (PCBA's) die apparaatprogrammering integreert in de complete assemblage voor klanten die leveren aan de Verenigde Staten, Europa en de Aziatisch-Pacifische regio. Het doel is een printplaat die geprogrammeerd, gekalibreerd, geverifieerd en traceerbaar aankomt – en niet blanco.
- IC-programmering via JTAG, SWD, ISP/ICSP en seriële bootloaders, in-circuit of voorgeprogrammeerd, al naar gelang het project vereist.
- Functioneel testen Gecombineerd met programmering en kalibratie in één station, met registratie per apparaat.
- Ontwerp-voor-test beoordeling van de programmeervolgorde voor toegang, isolatie en beveiliging voordat bestanden worden bevroren.
- Kant-en-klare PCBA Het gehele traject, van sourcing en SMT tot programmeren, testen en serialisatie, wordt van begin tot eind behandeld.
Figuur 2. Details over IC-programmering tijdens PCBA-verwerking
Veelgestelde vragen over IC-programmering tijdens PCBA
Wat betekent in-circuit programmering (ICSP)?
Dit houdt in dat firmware in een apparaat wordt geladen nadat het al op de printplaat is gesoldeerd, via een programmeerinterface (zoals SWD, JTAG, ISP of ICSP) die op de printplaat beschikbaar is. De printplaat wordt aangesloten op een programmeerapparaat, van stroom voorzien en de firmware wordt ter plekke geschreven en geverifieerd.
Is het beter om chips vooraf te programmeren of om ze op de printplaat te programmeren?
Het hangt af van het volume, de stabiliteit van de firmware en of elke eenheid unieke gegevens nodig heeft. Voorprogrammering is het snelst bij grote volumes met vaste firmware. Programmering tijdens het gebruik is beter wanneer de firmware verandert, wanneer kalibratie of serialisatie vereist is, of wanneer u het apparaat wilt controleren tijdens een functionele test. Hybride benaderingen komen vaak voor.
Wat moet ik aanleveren voor IC-programmering tijdens de assemblage?
De firmware-image en -versie, het doelapparaat en de interface, de programmeer-/aansluitpunten op de printplaat, eventuele per-unit-gegevens (serienummers, MAC-adres, kalibratieprocedure) en de gewenste beveiligings-/vergrendelingsstatus. Programmeren gebeurt vervolgens op een speciaal daarvoor bestemd station of gelijktijdig met een functionele test.
Kan elk bord een uniek serienummer of kalibratie krijgen?
Ja, dat is een belangrijk voordeel van in-circuit programmering. Unieke ID's, MAC-adressen en kalibratieconstanten die tijdens de test worden gemeten, kunnen in elke eenheid worden opgeslagen en de waarden worden vastgelegd voor traceerbaarheid.
Hoe bescherm ik mijn firmware tegen uitlezen?
De meeste microcontrollers ondersteunen leesbeveiligings- of vergrendelingsbits die het uitlezen door derden na programmering uitschakelen. Deze worden als laatste stap ingesteld, nadat het apparaat is geverifieerd, omdat vergrendeling vaak onomkeerbaar is. Bespreek de gewenste beveiligingsstatus met de fabrikant.
Neemt het toevoegen van een programmeerheader veel ruimte in beslag op het printplaat?
Niet per se. Je kunt een compacte twee- of vierdraads interface gebruiken (zoals SWD) of de header vervangen door kleine testpads die worden gecontacteerd door de pogo-pinnen van de testopstelling, waardoor de benodigde ruimte voor de productie minimaal blijft.
Kan een in China gevestigde fabrikant firmwareprogrammering op een veilige manier uitvoeren?
Ja, wanneer de fabrikant de firmware-revisies beheert, de software programmeert en verifieert op een gedocumenteerd station, de overeengekomen beveiligingsvergrendeling toepast en per apparaat documentatie verstrekt. Leg de firmwareversie, de gegevens en het beveiligingsbeleid schriftelijk vast, zodat er geen onduidelijkheid bestaat over wat er wordt geladen.
aanbevolen berichten
Taconic RF-35 PCB-productieservice — van prototype tot serieproductie
Afbeelding 1. Taconic RF-35 printplaat. De Taconic RF-35 is het werkpaard...
Isola Astra MT77 PCB-productie
Afbeelding 1. Fabricage van de printplaat Isola Astra MT77...
Op maat gemaakte Rogers RO4835 printplaatfabricage en -assemblage
Afbeelding 1. Rogers RO4835 printplaat. De Rogers RO4835 printplaat is een...
Nelco N4000-13 PCB-materiaal- en fabricagehandleiding | Highleap Electronics
Afbeelding 1. Nelco N4000-13 printplaat. De Nelco N4000-13 printplaat is een...
Hoe u een offerte voor PCB's kunt krijgen
We voeren een DFM/DFA-analyse voor u uit en sturen u een rapport. U kunt uw bestanden veilig uploaden via onze website. We hebben de volgende informatie nodig om u een offerte te kunnen sturen:
-
- Gerber, ODB++ of .pcb, spec.
- BOM-lijst als u assemblage nodig heeft
- Aantal
- Draaitijd
Voor PCBA-diensten verzoeken wij u uw BOM (Bill of Materials) en eventuele specifieke assemblage-instructies te verstrekken. Wij bieden ook DFM/DFA-analyses aan om uw ontwerpen te optimaliseren voor maakbaarheid en assemblage, wat een soepel productieproces garandeert.
