IC-programmering under PCBA-behandling
Figur 1. IC-programmering under PCBA-behandling
Sidst opdateret: Maj 2026 · En produktionsvejledning til indlejrede ingeniører og hardware sourcing-teams
Der er to praktiske måder at indlæse firmware i chippene på et printkort under PCBA: forprogrammer enhederne før placering (off-board, på en gang eller automatiseret programmerer) eller programmer dem in-circuit efter samling via en debug-grænseflade såsom JTAG, SWD, ISP eller en seriel bootloader. Forprogrammering er hurtig på linjen og passer til store mængder med stabil firmware; in-circuit programmering giver dig mulighed for at indlæse det seneste image, kalibrere og serialisere hver enhed, men kræver tilgængelige programmeringspins designet ind i printkortet. De fleste moderne samlinger bruger in-circuit programmering på teststationen, fordi det binder firmware, kalibrering og sporbarhed sammen på det færdige printkort.
• Ekstern forprogrammering — chips programmeret i en sokkel/et automatiseret system før SMT. Hurtig cyklus, ingen adgang på kortet nødvendig, men delene er dediceret til én firmwareversion.
• Programmering i kredsløb/system (ICSP/ISP) — programmerede chips efter Samling via JTAG/SWD/SPI/UART på kortet. Fleksibel, understøtter data pr. enhed, men kræver programmeringsadgang i layoutet.
Hvorfor IC-programmering er en del af PCBA-behandling
De fleste printkort, der bygges i dag, indeholder mindst én programmerbar enhed – en mikrocontroller, en MCU med integreret radio, en flashhukommelse, en FPGA-konfigurationsenhed eller en smart strømforsynings-/sensor-IC. Et enkelt samlet printkort er endnu ikke et fungerende produkt, før siliciummet indeholder den rigtige firmware. At folde programmering ind i PCBA – i stedet for at sende blanke printkort, som kunden kan flashe – sparer et trin, lader fabrikken verificere, at enheden fungerer ved funktionstesten, og tillader, at unikke data skrives ind i hver enhed. Spørgsmålet er ikke, om der skal programmeres under samling, men hvilken metode der passer til produktet.
Metode 1: Forprogrammering af eksterne IC'er
Ved off-board præprogrammering indlæses enheder med firmware, før de placeres på kortet. Dette gøres på en enhedsprogrammerer og i volumen på et automatiseret programmeringssystem , der trækker dele fra tape-and-reel, programmerer dem (ofte mange på én gang - "gruppe"-programmering), verificerer og omruller eller sætter dem i bakker til pick-and-place-maskinen.
- Styrker: Meget hurtig på SMT-linjen (intet programmeringstrin ved samling), ingen indbygget programmeringsadgang kræves, høj kapacitet for stabil firmware.
- Afvejninger: Dele er dedikeret til én firmwareversion, så en sen kodeændring betyder omprogrammering eller kassering af lager; håndtering tilføjer et trin; og data pr. enhed (serienumre, kalibrering) kan generelt ikke skrives på denne måde, fordi hver del er identisk.
Forprogrammering er fremragende til produkter i stor skala, hvis firmware er frosset fast, og til enheder, der er vanskelige at programmere i kredsløbet.
Metode 2: Programmering i kredsløbet/i systemet (ICSP/ISP)
In-circuit programmering — også kaldet in-system programmering (ISP) eller in-circuit seriel programmering (ICSP) — indlæser firmware, efter at enheden er loddet til kortet, via en lille programmeringsgrænseflade, der er placeret på samlingen. En programmerer tilsluttes en header eller et sæt testpuder, kortet får strøm, og firmwaren skrives og verificeres på plads.
- Styrker: indlæser altid det aktuelle firmwarebillede; understøtter kalibrering og data pr. enhed; muliggør funktionel verifikation umiddelbart efter programmering; firmwareopdateringer kræver ingen omarbejdning af dele.
- Afvejninger: Layoutet skal give adgang til programmering; det øger tiden ved en programmerings-/teststation; og deling af pins eller manglende pull-ups kan forårsage fejl, hvis de ikke designes omhyggeligt.
Dette er standardindstillingen for de fleste moderne designs, fordi den forener programmering, kalibrering og sporbarhed på det færdige printkort – og fordi firmware næsten altid udvikler sig.
Almindelige IC-programmeringsgrænseflader (JTAG, SWD, SPI)
| grænseflade | Typiske enheder | Noter |
|---|---|---|
| SWD (2-leder) | ARM Cortex-M MCU'er | Kompakt (SWDIO/SWCLK + strøm/GND); også fejlfinding |
| JTAG | MCU'er, FPGA'er, CPLD'er, grænsescanningskæder | Kan programmere flash og teste forbindelser |
| SPI / internetudbyder | AVR, SPI flash, konfigurationsenheder | Se busdeling under programmering |
| ICSP | Mikrochip PIC-familie | Få ben; reserveret MCLR/PGC/PGD-adgang |
| UART / USB bootloader | Mange MCU'er med indbygget bootloader | Programmer over eksisterende serielle/USB-linjer |
| I²C | EEPROM'er, smarte sensorer | For konfigurations-/kalibreringsdata mere end kode |
Forprogrammering vs. kredsløbsprogrammering: Hvilken skal man vælge?
| Betragtning | Foretrækker forudprogrammering | Favoriserer in-circuit (ICSP) |
|---|---|---|
| Bind | Høj, stabil lydstyrke | Prototype til mellemstor volumen; blandede byggeri |
| Firmware-stabilitet | Frossen, ændrer sig sjældent | Udviklende billeder eller billeder pr. build |
| Data pr. enhed | Ikke nødvendigt (identiske dele) | Serienumre, MAC, kalibrering påkrævet |
| Bestyrelsesadgang | Ingen programmeringsoverskrift ønsket | Programmeringspads/header tilgængelige |
| Verifikation ved test | Udføres separat | Kombineret med FCT i én station |
Mange programmer bruger en hybrid: en stor ekstern hukommelse, der er forprogrammeret off-board, mens MCU'en flashes i kredsløbet, så den seneste applikation og data pr. enhed indlæses på linjen.
Sådan designer du et printkort til programmering i kredsløbet
Programmering i kredsløbet går kun problemfrit, hvis layoutet understøtter det. Planlæg disse, før du frigiver filer:
- Afdæk programmeringsbenene — en lille topstykke eller, for at spare plads, testpuder i størrelsen pogo-pins. Hold dem på den ene side og væk fra høje dele.
- Reserver de rigtige signaler — f.eks. SWDIO/SWCLK, eller MCLR/PGC/PGD, eller JTAG TCK/TMS/TDI/TDO/TRST, plus en målstrømsføler og jord.
- Beskyt delte busser — tilføj seriemodstande eller isolation, så programmereren ikke konkurrerer med andre enheder på de samme linjer under programmeringen.
- Pull-ups/pull-downs og reset — sørg for de korrekte passive tilstande og en tilgængelig nulstilling, så enheden pålideligt går i programmeringstilstand.
- Power og sekventering — sørg for, at enheden kan strømforsynes til programmering (måldrevet eller programmeringsdrevet) uden at tilbageføre strøm til resten af printkortet.
- Planlæg sikkerheden på forhånd — hvis du vil indstille læsebeskyttelses-/låsebits, skal du bekræfte, at sekvensen stadig tillader verifikation, før delen låses.
Det er præcis disse punkter, der kontrolleres i et Design-for-Test-gennemgang , fordi programmeringsadgang og testadgang normalt deler den samme fixture.
Programmering pr. enhed: Serialisering, kalibrering, sikkerhed
En af de stærkeste grunde til at programmere i kredsløbet er, at hvert printkort kan modtage sine egne data:
- Serienumre og unikke ID'er for sporbarhed og garanti.
- MAC-adresser / netværksnøgler for forbundne produkter.
- Kalibreringskonstanter målt ved funktionstest og skrevet tilbage i enheden, så hver enhed opfylder specifikationerne.
- Region/funktionskonfiguration for produktvarianter bygget ud fra ét hardwaredesign.
- Sikkerhedslåsning — efter programmering og verifikation indstilles læsebeskyttelses- eller låsebits for at beskytte firmware-IP. Da låsning ofte er irreversibel, er det det sidste trin og valideres omhyggeligt.
Hvor IC-programmering sker på PCBA-linjen
I et typisk flow udføres programmering i kredsløbet på en dedikeret programmeringsstation eller, oftere, kombineret med funktionstest : kortet sættes i armaturet, firmware indlæses, kalibrering køres, enheden verificeres, data og sikkerhed pr. enhed skrives, og et bestået/ikke bestået resultat plus en post logges for det pågældende serienummer. Parring af programmering med FCT betyder, at en enhed først erklæres god, når den både er programmeret og bevist at fungere.
Det er også her, sporbarheden registreres – der forbinder firmwareversion, kalibreringsværdier og testresultater til hver enhed – hvilket er den slags dokumentation, som udenlandske købere bør anmode om fra en kontraktproducent.
Almindelige IC-programmeringsfejl, der skal undgås
- Ingen programmeringsadgang i layoutet — opdager i produktionen, at der ikke er noget sted at få kontakt med en programmør.
- Buskonflikt — deling af programmeringslinjer med andre aktive enheder og ingen isolation, hvilket forårsager periodiske fejl.
- Låser for tidligt — indstilling af sikkerhedsbits før verifikation, så fejl ikke kan diagnosticeres.
- Overførsel af forprogrammeret lager til firmware, der snart skal ændres — skrotning eller omarbejdning af dele efter en kodeopdatering.
- Vag overdragelse — uden at specificere hvilken firmwareversion, hvilke data pr. enhed og hvilken sikkerhedstilstand fabrikken skal anvende.
IC-programmeringstjenester hos Highleap Electronics
Highleap Electronics er en kinesisk producent af printkort og printkort (PCB) som integrerer enhedsprogrammering i nøglefærdig samling til kunder, der sender til USA, Europa og Asien-Stillehavsområdet. Målet er et printkort, der ankommer programmeret, kalibreret, verificeret og sporbart – ikke blankt.
- IC programmering via JTAG, SWD, ISP/ICSP og serielle bootloadere, in-circuit eller forprogrammeret efter projektets krav.
- Funktionel test kombineret med programmering og kalibrering i én station, med optegnelser pr. enhed.
- Design-til-test-gennemgang af programmeringsadgang, isolation og sikkerhedssekvens, før filer fryses.
- Nøglefærdige PCBA dækker sourcing, SMT, programmering, test og serialisering fra start til slut.
Figur 2. Detaljer om IC-programmering under PCBA-behandling
IC-programmering under PCBA – ofte stillede spørgsmål
Hvad betyder in-circuit programmering (ICSP)?
Det betyder at indlæse firmware i en enhed, efter den allerede er loddet til kortet, via en programmeringsgrænseflade (såsom SWD, JTAG, ISP eller ICSP), der er eksponeret på samlingen. Kortet er tilsluttet en programmeringsenhed, får strøm, og firmwaren skrives og verificeres på plads.
Er det bedre at forudprogrammere chips eller programmere dem på printkortet?
Det afhænger af volumen, firmwarestabilitet og om hver enhed har brug for unikke data. Forprogrammering er hurtigst til fastfrosset firmware med høj volumen. Programmering i kredsløbet er bedre, når firmwareændringer er nødvendige, når kalibrering eller serialisering er påkrævet, eller når du vil verificere enheden ved en funktionstest. Hybride tilgange er almindelige.
Hvad skal jeg sørge for til IC-programmering under samling?
Firmware-image og -version, målenhed og -grænseflade, programmerings-/forbindelsespunkter på kortet, eventuelle data pr. enhed (serienumre, MAC, kalibreringsprocedure) og den ønskede sikkerheds-/låsetilstand. Programmeringen køres derefter på en dedikeret station eller sammen med funktionstest.
Kan hvert kort få et unikt serienummer eller en unik kalibrering?
Ja – det er en vigtig fordel ved programmering i kredsløbet. Unikke ID'er, MAC-adresser og kalibreringskonstanter målt ved test kan skrives ind i hver enhed, og værdierne logges for sporbarhed.
Hvordan beskytter jeg min firmware mod at blive læst ud?
De fleste MCU'er understøtter læsebeskyttelses- eller låsebits, der deaktiverer ekstern tilbagelæsning efter programmering. Disse indstilles som det sidste trin, efter at enheden er verificeret, fordi låsning ofte er irreversibel. Diskuter den nøjagtige sikkerhedstilstand, du ønsker, med producenten.
Tager tilføjelse af en programmeringsheader meget plads på kortet?
Ikke nødvendigvis. Du kan bruge en kompakt to- eller firetrådsgrænseflade (f.eks. SWD) eller erstatte headeren med små testpuder, der er i kontakt med testfiksturens pogo-ben, hvilket holder produktionsfodaftrykket minimalt.
Kan en kinesisk producent håndtere firmwareprogrammering sikkert?
Ja, når producenten kontrollerer firmwarerevisioner, programmerer og verificerer på en dokumenteret station, anvender den aftalte sikkerhedslåsning og leverer optegnelser pr. enhed. Definer firmwareversion, data og sikkerhedspolitik skriftligt, så der ikke er nogen tvetydighed om, hvad der indlæses.
anbefalet Indlæg
RT duroid 6002 PCB Citat og Stackup
Denne side ejer opgaven med tilbud og stackup-definition...
TMM6 Filter PCB Fremstilling
IndholdsfortegnelseHvorfor bruger designere af mikrobølgeovnsfiltre...
Taconic RF 35 vs. RO4350B printkort
Indholdsfortegnelse RF-35 vs RO4350B Indkøb og...
TMM4 Filter PCB Fremstilling
Fremstilling af TMM4-filterprintkort styres af...
Sådan får du et tilbud på printkort
Lad os køre en DFM/DFA-analyse for dig og vende tilbage til dig med en rapport. Du kan uploade dine filer sikkert via vores hjemmeside. Vi har brug for følgende oplysninger for at kunne give dig et tilbud:
-
- Gerber, ODB++ eller .pcb, spec.
- Stykliste, hvis du ønsker montering
- Antal
- Vendetid
For PCBA-tjenester bedes du fremvise din BOM (Bill of Materials) og eventuelle specifikke monteringsinstruktioner. Vi tilbyder også DFM/DFA-analyse for at optimere dine designs med hensyn til fremstillingsevne og montering, hvilket sikrer en problemfri produktionsproces.
