Apžvalga
Programinės aparatinės įrangos failas gali būti visiškai tinkamas ir vis tiek nėra paruoštas gamybai.
Norint programuoti PCB agregato programinę įrangą, EMS komandai reikia išleisto vaizdo, tikslaus tikslinio įrenginio, plokštės, kuriai jis taikomas, peržiūros, programavimo sąsajos, bet kokio reikalingo atminties adreso arba įrenginio konfigūracijos ir apibrėžto būdo rezultatui patikrinti. Produktams, kuriems taip pat reikia serijos numerių, MAC adresų, kalibravimo verčių arba saugos kredencialų, reikia papildomų tvarkymo instrukcijų.
Naudingas gamybos patikrinimas yra paprastas:
Ar gali technikas, neparašęs programinės įrangos, teisingai užprogramuoti plokštę pagal išleistas instrukcijas?
Jei ne, programinė įranga gali būti baigta kūrimo požiūriu, tačiau gamybos perdavimas – ne.
Įdėkite programavimo leidimą viename puslapyje
Programinės įrangos vaizdas yra tik viena perdavimo dalis.
Daugeliui projektų naudingiausias papildomas dokumentas yra trumpas programavimo išleidimo lapas, kuriame nurodoma, kas buvo patvirtinta ir kaip tai turėtų būti naudojama.
Nesvarbu, ar klientas tai vadina programavimo instrukcija, išleidimo pažyma, gamybos instrukcija ar kontroliuojamo darbo instrukcija. Svarbu tai, kad operatoriui nereikėtų atkurti sąrankos iš el. pašto gijų, senų kūrimo pastabų ir failų pavadinimų.
Praktiniame išleidimo lape gali būti:
|
Išleidimo laukas |
Ko reikia gamybai |
|
Firmware leidimas |
Tiksliai patvirtintas failas ar failai |
|
Firmware peržiūra |
Išleista programinės įrangos versija |
|
Tikslinis įrenginys |
Tiksliai programuojamas įrenginys |
|
Valdybos peržiūra |
Patvirtinta programinės aparatinės įrangos versija |
|
Programavimo sąsaja |
SWD, JTAG, UART, USB DFU, SPI arba kita apibrėžta sąsaja |
|
Prieiga prie programavimo |
Antraštė, jungtis, tvirtinimo{0}}prieinami bandymo taškai arba kitas metodas |
|
Atminties paskirties vieta |
Jei reikia, pradžios adresas arba atminties sritis |
|
Įrenginio konfigūracija |
Parinkčių baitai, konfigūracijos žodžiai, saugikliai, įkrovos arba apsaugos nustatymai, jei taikoma |
|
Programavimo sąranka |
Patvirtintas programuotojas, projektas, scenarijus arba nustatymai, kur reikia |
|
Vieneto{0}}konkretūs duomenys |
Serijos numeris, MAC adresas, kalibravimo vertė arba kiti{0}}vieneto duomenys, jei taikoma |
|
Tikrinimo būdas |
Kaip gamyba patvirtina, kad programavimas praėjo |
|
Paskelbkite{0}}programavimo veiksmą |
Įkrovos patikrinimas, funkcinis testavimas, ženklinimas, atsekamumas ar kitas būtinas veiksmas |
Paprastai MCU plokštei gali prireikti tik kelių iš šių elementų. Produktui su keliais programuojamais įrenginiais, keliais programinės įrangos variantais, unikaliais identifikatoriais ar saugos funkcijomis reikės daugiau.
Išleidimo lapas neleidžia operatoriui priimti inžinerinių sprendimų. Kai plokštė pasiekia programavimą, patvirtintas vaizdas, sąranka ir tikrinimo taisyklė jau turėtų būti aiškūs.
Trys būdai, kaip tinkamas programinės aparatinės įrangos failas vis tiek gali sustabdyti gamybą
Pats failas dažnai nėra problema. Informacija aplink ją yra.
BIN yra teisingas, bet niekas neapibrėžė adreso
Neapdorotame dvejetainiame faile yra programuojami duomenys, tačiau jis savaime nenurodo programuotojui, kur tie duomenys priklauso.
Tai skiriasi nuo adreso-informacijos formatų, pvz., „Intel HEX“ arba „Motorola S{1}}record“.
Todėl .bin failas gali būti visiškai tinkamas, kol gamybos instrukcija vis dar neužbaigta. Jei programavimo darbo eigai reikalingas pradžios adresas arba atminties sritis, ta informacija turi būti gaunama iš kitur, o ne iš dvejetainio failo.
Štai kodėl programinės aparatinės įrangos gavimas nėra tas pats, kas tinkamas programavimo leidimas.
Programinė įranga yra teisinga, tačiau ji priklauso kitai plokštės versijai
Aparatinės ir aparatinės įrangos versijos dažnai valdomos atskirai. Paprastai tai yra gerai, kol aparatinės įrangos pakeitimas nepaveiks suderinamumo.
Apsvarstykite projektą su Firmware V1.6, Board Rev.B ir Board Rev.C. Visi trys gali būti išleisti elementai, tačiau 1.6 versijos programinė įranga galėjo būti patvirtinta tik Rev.C.
Dvi atskirai teisingos versijos vis tiek gali sudaryti netinkamą gamybos derinį.
Programavimo leidime turėtų būti nurodyta atitinkama plokštės versija, kai aparatinės įrangos pakeitimas gali turėti įtakos:
- smeigtukų priskyrimas;
- jutiklių tipai;
- atminties įrenginiai;
- Ryšio sąsajos;
- įkrovos konfigūracija;
- I/O kartografavimas;
- kalibravimo elgsena.
Nereikėtų tikėtis, kad programinės aparatinės įrangos failo pavadinimas pats priimtų šį sprendimą.
Programuotojas sako PASS, bet plokštė dar nepaleista
Žalias PASS užrašas ant programuotojo rodo, kad programavimo žingsnis atitiko apibrėžtą patvirtinimo taisyklę.
Jis nepasako, ar surinkta plokštė tinkamai bendrauja, nuskaito jutiklius, perjungia išėjimus ar tinkamai elgiasi esant apkrovai.
Plokštė gali sėkmingai programuoti ir vis tiek turėti surinkimo defektą, netinkamą aparatinės įrangos konfigūraciją, ryšio problemą, maitinimo gedimą arba programos{0}}lygio gedimą.
Čia funkcinis testavimas pradeda atlikti kitokį darbą.
Programavimo patikrinimas patvirtina programavimo veiksmą. Funkcinis testavimas tikrina užprogramuoto mazgo elgseną.
Failo formatas yra mažiau svarbus nei aiškus programavimo metodas
HEX ir BIN yra įprasti, tačiau nė vienas iš jų nėra automatiškai tinkamas atsakymas kiekvienam produktui.
Gamybos programavimo darbo eigos taip pat gali naudoti:
- ELF arba susiję vykdomieji formatai;
- Motorola S{0}}rekordas;
- pardavėjo-konkrečių programavimo failų;
- konkrečių įrenginių{0}}konfigūracijos paketų.
Neapdorotam BIN paprastai reikia atskirai apibrėžto paskirties adreso. Adreso{1}}formatuose gali būti daugiau šios informacijos faile. Ar naudojamas ELF, HEX, BIN, S-record ar kitas formatas, priklauso nuo tikslinio įrenginio ir patvirtintos programavimo sąrankos.
Gamybos aukšte taisyklė paprastesnė:
Naudokite patvirtintos programavimo sąrankos palaikomą formatą ir dokumentuokite viską, ko pats failas neapibrėžia.
Jei EMS taikymo sritis apsiriboja patvirtinto gamybos vaizdo programavimu, šaltinio kodas paprastai nereikalingas. Šaltinio kodas, IDE projektai ir kūrimo aplinkos tampa aktualios, kai kompiliavimas, derinimas, programinės aparatinės įrangos modifikavimas arba kūrimas{1}}atvaizdo generavimas yra sutartos apimties dalis.
Siunčiant visą saugyklą vis tiek nenurodoma, kuri versija patvirtinta.
Prieiga prie programavimo taip pat yra aparatinės įrangos sprendimas
Programavimo sistemoje{0}}programinės įrangos paketas yra tik pusė sąrankos.
Gamybos stotis taip pat turi fizinę ir elektrinę prieigą prie tikslinio įrenginio.
Priklausomai nuo produkto, tai gali būti:
- SWD;
- JTAG;
- UART arba kita įkrovos tvarkyklės sąsaja;
- USB DFU;
- SPI;
- speciali programavimo jungtis;
- tvirtinimo{0}}prieinami bandymo taškai;
- kitos įrenginio{0}}konkrečios sąsajos.
Programavimo instrukcijoje taip pat gali reikėti apibrėžti plokštės maitinimo būseną, jungtį arba bandomąjį -tašką, reikalingą įkrovos būseną, programavimo adapterį, atstatymo elgseną ir numatomą trynimo/programavimo/patikrinimo seką.
Šias detales geriausia išspręsti prieš surinktoms plokštėms pasiekiant programavimo stotį.
Nepasiekiamas SWD signalas negali būti ištaisytas siunčiant geresnį HEX failą.
Produktams, kurie priklauso nuo prieigos ar programavimo bandymo taškų, programavimo parengtis iš dalies yra DFT problema, o ne tik programinės įrangos perdavimas.
Laikykite programinės įrangos peržiūrą ir plokštės peržiūrą kartu
Failai, pavadinti latest.hex arba final_new_v2.bin, gali būti puikiai suprantami juos sukūrusiam asmeniui. Jie yra prasta gamybos kontrolė.
Gamybai reikia patikimo būdo atskirti patvirtintą leidimą nuo:
- pasenusi versija;
- inžinerinis statinys;
- tik bandomasis{0}}vaizdas;
- kitas gaminio variantas.
Atsižvelgiant į kliento dokumentų -valdymo sistemą, išleista tapatybė gali apimti programinės įrangos versiją, valdomą failo pavadinimą, išleidimo datą, taikomą plokštės versiją, kliento patvirtinimo nuorodą, failo dydį arba kontrolinę sumą / maišą.
Gamybai nereikia vienos universalios įvardijimo ar kontrolinės sumos schemos. Tam reikia patikimo būdo atskirti išleistą versiją nuo visko, kas yra aplanke.
Tai tampa dar svarbiau, kai viena aparatinės įrangos platforma palaiko kelis programinės įrangos variantus. Plokštės gali atrodyti identiškos, o gatavi produktai – ne.

Kai programavimas apima konkrečius vieneto{0}}duomenis
Daugelio produktų kiekviena plokštė gauna tą patį programinės aparatinės įrangos vaizdą.
Kitiems produktams taip pat reikia konkrečios{0}} vieneto informacijos, pvz.:
- serijos numeriai;
- MAC adresai;
- produktų ID;
- kalibravimo koeficientai;
- regioninė konfigūracija;
- kliento{0}}konkrečius nustatymus;
- įrenginio kredencialus.
Tuo metu bendra programinė įranga ir vieneto{0}}duomenys yra du skirtingi duomenų srautai.
Gamyba turėtų žinoti, iš kur gaunamos unikalios reikšmės, kur jos parašytos, kaip kiekviena vertė susieta su tinkama fizine lenta ir kaip apsisaugoma nuo pasikartojančių priskyrimų.
Vieną detalę lengva nepastebėti: kada unikali vertybė laikoma suvartota?
Serijos numeris arba MAC adresas gali būti naudojami, kai jie yra priskirti, kai programavimas sėkmingas arba tik įrenginiui išlaikius reikiamą testą. Nėra vienos taisyklės kiekvienam produktui, tačiau prieš pradedant kūrimą turėtų būti sutarta taisyklė.
Tas pats pasakytina ir apie sugedusius įrenginius. Komanda turi žinoti, ar priskirtą vertę galima naudoti pakartotinai, ar ji turi būti pašalinta, ar lieka susieta su sugedusia plokšte, kad būtų galima atsekti.
Programavimo leidimas nėra FCT leidimas
Programavimo patikrinimas ir funkcinis testavimas gali vykti arti vienas kito gamybos eigoje, tačiau jie atsako į skirtingus klausimus.
Programavimo patikrinimas
Programavimo patikrinimas klausia:
Ar numatyti duomenys buvo įrašyti teisingai pagal patvirtintą programavimo metodą?
Priklausomai nuo įrenginio ir sąrankos, tai gali apimti programuotojo tikrinimo funkciją, skaitymo palyginimą, kai tai leidžiama, CRC, konfigūracijos patikrinimą arba kitą patvirtintą metodą.
Funkcinis testavimas
Funkcinis testavimas klausia:
Ar maitinamas ir užprogramuotas PCB mazgas atlieka gaminiui reikalingas funkcijas?
Priklausomai nuo projekto, tai gali būti:
- galios{0}}elgesys;
- bendravimas;
- įvesties/išvesties atsakas;
- jutiklio įėjimas;
- relės arba pavaros išėjimas;
- srovės ištraukimas;
- kliento{0}}nubrėžtas veikimo sąlygas.
Programuotojas, rodantis PASS, neturėtų būti automatiškai traktuojamas kaip įrodymas, kad PCB mazgas praėjo FCT.
Projektams, kuriems reikalinga programinės aparatinės įrangos įkėlimas, suderinti su plokštės{0}}lygio patvirtinimu, STHLTestavimas ir apžiūrapajėgumai suteikia atitinkamą paslaugų kelią.

Dvi situacijos, kai reikia papildomų nurodymų
Daugeliui programavimo darbų nereikia sudėtingo aprūpinimo proceso. Dvi situacijos nusipelno ypatingo dėmesio, kai jos taikomos.
Išbandykite programinę-aparatinę įrangą ir gamybos programinę-aparatinę įrangą
Kai kurie gaminiai naudoja diagnostinę programinę-aparatinę įrangą gamybos metu ir skirtingą programinės aparatinės įrangos išleidimą siuntimui.
Jei taip, gamyba turi žinoti, kuris vaizdas taikomas kiekviename etape, kada bandomasis vaizdas pakeičiamas, kaip patvirtinamas galutinis išleidimas ir ar vėliau reikalingas kitas funkcinis patikrinimas.
Priešingu atveju plokštė gali išlaikyti gamybos diagnostiką ir vis tiek išeiti iš gamybos su įdiegta netinkama programine įranga.
Ne kiekvienam produktui reikalinga atskira programinė įranga. Procesas turi atitikti tikrąjį produktą.
Saugus aprūpinimas
Kai kuriems įrenginiams, kuriuose įgalinta saugumas{0}}, reikalingi pasirašyti arba užšifruoti vaizdai, saugūs -įkrovos nustatymai, OTP / „eFuse“ konfigūracija, raktai, sertifikatai ar kiti valdomi teikimo duomenys.
Kai taikomi šie reikalavimai, OĮG ir EMS teikėjas turėtų susitarti, kam priklauso neskelbtini duomenys, kokias operacijas leidžiama atlikti ir kaip patvirtinami negrįžtami nustatymai.
Su šiais elementais negalima elgtis kaip su įprastais programinės įrangos priedais.
Ką daryti, jei programinė įranga pasikeičia pradėjus programuoti?
Naują programinės aparatinės įrangos vaizdą galima beveik iš karto įdėti į bendrinamą aplanką.
Jau gamybiniame aukšte esančios lentos su juo nesikeičia.
Jei prasidėjus programavimui pateikiamas naujas leidimas, komandai reikia aiškaus nusiteikimo:
- įrenginiai, jau užprogramuoti naudojant ankstesnę versiją;
- jau išbandyti vienetai;
- vienetai, laukiantys programavimo;
- ar reikia perprogramuoti;
- ar turi įtakos funkciniams testams;
- ar reikalingas pakartotinis tyrimas;
- kur peržiūros riba yra gamybos partijoje.
Peržiūros lygis turėtų atitikti pokyčius.
Pataisyta rodymo eilutė ir galios{0}}valdymo elgsenos pakeitimas nekelia tos pačios gamybos rizikos. Tačiau nė vienas neturėtų būti įvestas tiesiog pakeičiant failą ir liepiant eilui tęsti.
Čia versijų kontrolė nustoja būti popierizmu ir tampa gamybos kontrole.
Trumpas išankstinis{0}}gamybinis patikrinimas
Prieš suprogramuojant pirmąjį gamybos padalinį, pirkėjas ir EMS komanda turi turėti galimybę atsakyti:
- Koks konkretus vaizdas ar vaizdai išleidžiami?
- Kuris programuojamas įrenginys gauna kiekvieną vaizdą?
- Kuriai plokštės versijai patvirtinta programinė įranga?
- Ar reikalingas apkrovos adresas arba atminties žemėlapis?
- Ar parinkčių baitai, saugikliai arba konfigūracijos duomenys yra įterpti arba atskirti?
- Kokia programavimo sąsaja naudojama?
- Ar plokštėje yra reikiama programavimo prieiga?
- Kaip plokštė maitinama programavimo metu?
- Kuris programuotojas, projektas ar patvirtinta sąranka taikoma?
- Ar reikalingi vieneto{0}}konkretūs duomenys?
- Kas įrodo, kad programavimo operacija praėjo?
- Ar vėliau reikia atlikti funkcinį testavimą ar kitą patikrinimą?
- Ar projekte naudojama bandomoji programinė įranga, saugus aprūpinimas ar kita speciali darbo eiga?
Jei tie atsakymai aiškūs, pačiame programavimo pakete gali būti tik keli failai.
Jei jų nėra, pridėjus daugiau failų perdavimas retai išsprendžiamas.

Kaip STHL palaiko programinės įrangos programavimą PCBA gamyboje
Shenzhen STHL Technology Co., Ltd. (STHL) palaiko MCU, FPGA ir EEPROM programavimą kaip taikomų PCB surinkimo projektų dalį. Jei reikia, programavimas gali būti derinamas su funkciniais testais ir konkrečiais projekto{3}} atsekamumo reikalavimais.
Atskiros versijos programavimo peržiūra gali apimti išleistą vaizdą, tikslinį įrenginį, plokštės versiją, prieigą prie programavimo, reikalingą įrenginio konfigūraciją, patvirtinimo metodą ir bet kokius konkrečius kliento pateiktus{0}}duomenis.
Tikslus programuotojas, armatūra arba kabelis, saugumo reikalavimai, programinės aparatinės įrangos nuosavybė ir reikalingi gamybos įrašai turi būti suderinti konkrečiam projektui, o ne daryti prielaidą iš bendrųjų pajėgumų pareiškimo.
Išvada
Svarbiausi PCBA programinės įrangos programavimo reikalavimai neapibrėžiami pagal tai, ar klientas siunčia HEX, BIN, ELF ar kitą palaikomą failą.
Gamybai paruoštas{0}}perdavimas turėtų leisti gamybos komandai atsakyti į keturis pagrindinius klausimus:
- Kokius duomenis reikia užprogramuoti?
- Kuriai įrenginio ir plokštės versijai jis priklauso?
- Kaip turėtų būti programuojama ir patikrinama gamyba?
- Kas turi įvykti, kol PCB surinkimas pereina į kitą gamybos etapą?
Paprastoje MCU plokštėje tie atsakymai gali tilpti viename puslapyje. Gaminiui su keliais programuojamais įrenginiais, unikaliais duomenimis, keliais programinės įrangos variantais arba saugumo reikalavimais, žinoma, reikės daugiau informacijos.
Programinė įranga yra paruošta gamybai, kai kvalifikuota gamybos komanda gali pakartoti patvirtintą programavimo procesą iš išleistos informacijos, o ne pasikliauti žiniomis, kurios egzistuoja tik kūrėjo galvoje.
Jei norite sukurti versiją, kuriai reikalingas programinės aparatinės įrangos programavimas, įtraukite turimus programavimo failus ir instrukcijas su MK, Gerber failais, surinkimo informacija, kiekiu ir testavimo reikalavimais.pateikite savo PCBA projekto duomenis.
Dėl konkrečių{0} programavimo klausimų susisiekite su STHL adresuinfo@pcba-china.com.

