Mikrokontrollerin debuggaus/ohjelmointiliittimen valinta

TL;DR tiivistelmä: ARM SWD:lle, TI Spy-Bi-Wirelle tai Microchip ICD:lle, käytä Tag-Connect No-Legs -jalanjälkeä standardilla nastojen/padien sijoittelulla ja hanki Tag-Connect-kaapelit.

Suunniteltaessa laitteita, jotka käyttävät mikrokontrollereita, on tarjottava debuggaus- ja ohjelmointiliitin. Tätä voidaan käyttää vain kehityksen aikana, kun kirjoitetaan ja debugataan ohjelmistoa, tai se voidaan myös jättää tuotantoyksiköihin tehdasohjelmointia varten.

Valmistajat ja työkalunvalmistajat ovat varmistaneet, että elämme maailmassa, jossa on monia debug-liittimiä ja paljon sekaannusta niiden ympärillä. Tämän vuoksi päädyimme tähän:

Joten, mikä liitin valita uuteen suunnitteluun?

Tämä artikkeli keskittyy pääasiassa ARM-laitteisiin, joissa on SWD (Single-Wire Debug) -liitäntä, mutta se on sovellettavissa myös muihin komponentteihin, kuten Texas Instrumentsin MSP430, joka käyttää Spy Bi-Wire (2-johdin JTAG) -protokollaa, Microchip ICD:tä tai jopa komponentteja, jotka tarvitsevat täydellisemmän JTAG-nastojen sarjan.

Suositut debuggausliittimet

Jotkut yleisesti harkitut vaihtoehdot:

  • 10-nastainen JTAG 0,1" IDC-liittimessä. Yleensä käytetään urosliitintä. Haittapuoli: se on valtava, ja liitin maksaa rahaa.
  • Cortex Debug -liitin käyttäen 0,05" mikroliitintä (10-nastainen tai 20-nastainen, Samtec FTSH-110 ja FTSH-105). 10-nastainen liitin on kohtuullisen pieni ja saatavilla SMD-komponenttina, mutta kalliimpi kuin IDC-liittimet.
  • 20-nastainen 0,1" IDC-liitin. Et kai vakavissasi harkitse tuota dinosaurusta? Se on suurempi kuin jotkut suunnittelemistani levyistä.
  • Mukautettu sarja 4 tai 6 nastaa (tai vias tai kuparipäällysteet). Ongelma tässä on "mukautettu" osa. Se tulee väistämättä puraisemaan sinua tulevaisuudessa, sinä päivänä kun mukautettu liittimesi hajoaa tehtaalla ja sinun on lähetettävä uusi ulkomailta, kun tuotanto on pysähtynyt.
  • Tag-Connect 6-nastainen jalanjälki yhdessä variantissa (jaloilla tai ilman jalkoja). Huomaa, että tässä ei ole liitintä: vain standardoitu jalanjälki PCB:llä.
  • Tag-Connect 6-nastainen + Tag-Connect 10-nastainen (ETM-signaaleille): tälle yhdistelmälle on jopa saatavilla valmiiksi rakennettu kaapeli, jossa on 20-nastainen IDC-liitin ja standardi ARM Cortex 20-nastainen nastajärjestys.

Yksi välitön havainto on, että useimmat näistä liittimistä vaativat, no, liittimiä. Se on lisäkomponentti, jonka sinun on asetettava levyyn, mikä maksaa rahaa. Tuotantoyksiköille tai suuremmille prototyyppierille tuo liitin käytetään vain kerran koko tuotteen elinkaaren aikana, mikä on hukkaa.

Tag-Connect-ratkaisuilla tai mukautetuilla jalkalevyillä, joissa on pogo-pinnipohjaiset liittimet, on tässä selvä etu, koska niiden asentamiseen ei tarvita komponentteja piirilevylle, joten vianetsintäliittimen kustannus per levy putoaa nollaan, mikä on hienoa!

Tältä Tag-Connect-jalanjälki näyttää oikealla levyllä:

Ja tältä näyttää kaapeli pogo-nastoilla:  Toinen tärkeä seikka on koko ja siitä johtuvat piirilevyn tilavaatimukset. Ainoat kilpailijat ovat 10-nastainen 0,05" mikroliitin ja Tag-Connect 6-nastainen jalanjälki. 10-nastainen mikroliitin on itse asiassa hieman pienempi yhteen suuntaan, mutta ero ei ole merkittävä. Tältä näyttää 10-nastainen 0,05" mikroliitin (tämä on Nordic Semiconductorin nRF52832-kehityslaudalta, PCA10040): 

Jalat vai Ei-Jalkoja?

Tag-Connect-liittimen kaapelissa on kaksi varianttia: yksi "jaloilla" ja toinen "ilman jalkoja". Mikä on ero?

Tag-Connect käyttää pogo-nastoja, joissa on sisällä jouset ja jotka painautuvat PCB:tä vasten. Jos haluat, että liitin pysyy paikallaan, sinun on jatkuvasti sovellettava voimaa siihen. Tämä sopii hyvin nopeaan ohjelmointiin, jossa voit pitää toisella kädellä liitintä paikallaan ja toisella käynnistää ohjelmointitehtävän, mutta se ei toimi niin hyvin pitkissä vianetsintäistunnoissa. Tätä varten "jalat"-jalanjälki (ja liitin) toimii paljon paremmin. Jalat toimivat pieninä klipseinä, joten kun työnnät liittimen paikalleen, ne napsahtavat paikalleen ja pitävät pogo-nastat tiukasti levyä vasten, määrittelemättömän ajan.

"Jalkojen" jalanjäljen ongelma on sen koko: se on huomattavasti suurempi kuin "jalkojen puuttumisen" variantti. Pahempaa on, että se tarvitsee neljä suurta reikää levyyn. Suuret reiät ovat aina ongelma: ne (ilmeisesti) täytyy porata kaikkien kerrosten läpi, ja niiden ympärille tarvitaan vapaata aluetta. Tämä tarkoittaa, että "jalkojen" jalanjäljen vaikutus suunnitteluusi on paljon suurempi kuin "jalkojen puuttumisen" variantin.

Tuotantoyksiköille, joissa yhteys luodaan todennäköisesti vain kerran tuotteen elinkaaren aikana, ja jotka voidaan helposti pitää kädessä koko ajan, ei ole kysymystä: ehdottomasti suosittelet "ei-jalkoja" jalanjälkeä, joka säästää piirilevyn tilaa. Mutta mitä tehdä prototyypeistä? Toisaalta, voit varata piirilevyn tilan, mutta toisaalta, et halua suunnitella piirilevyä uudelleen vain siksi, että sinun on poistettava reiät lopullisessa tarkistuksessa.

Onneksi on toinenkin ratkaisu. Tag-Connect myy pientä pidikerengasta. Se on palanen piirilevyä, jossa on kolme liitintä, jotka sopivat Tag-Connect-kaapelin nastoihin. Se ei ole mekaanisesti täydellinen ratkaisu ja pidikkeet kuluvat ajan myötä (ne ovat myös uskomattoman helppoja kadottaa!), mutta käytännössä se toimii melko hyvin.

Suositukseni on aina valita "jalkojen puuttuva" jalanjälki ja kaapelit, ostaa joukko kiinnitysklipsejä ja säästää piirilevyn tilaa sekä välttää piirilevyjen uudelleensuunnittelua.

Käytä standardia signaalimääritystä

Olen nähnyt laitteita luonnossa, joissa suunnittelijat käyttivät Tag-Connect-jalanjälkeä ARM SWD:lle (Cortex-M0:ssa), mutta määrittivät signaalit eri tavalla. Motivaationa oli todennäköisesti rajapinnan salaaminen.

En suosittelisi tätä: salaus löydetään helposti, ja päädytään yhteensopimattomaan jalanjälkeen, mikä väistämättä aiheuttaa ongelmia tulevaisuudessa.

Käytännöllisyydet

Tag-Connect suosittelee, että jalanjäljen toiselle puolelle ei sijoiteta komponentteja (tai reittejä). Vaikka se on hyvä suositus, ei aina ole sitä ylellisyyttä, varsinkin pienillä levyillä, joilla on tiukat asettelurajoitukset.

Kuten olen huomannut, voit selviytyä sijoittamalla komponentteja toiselle puolelle, jopa kun käytät pidikeklipsiä pitämään kaapelin paikallaan. Ehdottaisin eristeen käyttöä komponenttien ja pidikeklipsin välissä, kuitenkin, estääksesi mahdolliset oikosulut (paperi toimii hyvin). Vaikka tämä ei ole suositeltu käytäntö, tämä toimii, vaikkakin vianmääritysliittimen paikallaan pitäminen muuttuu hieman monimutkaisemmaksi.

Tässä on esimerkki prototyyppilevystä (anteeksi prototyypin juotoslaatu), jossa komponentit on sijoitettu vianetsintäjalanjäljen alueelle:

Kritiikki

Tag-Connectin kanssa ei ole kaikki ruusuilla tanssimista. Verkkosivusto ei ole hyvin järjestetty, joten etsimäsi tiedon löytäminen on vaikeaa. Tarjolla on monia variantteja, ja vaikka useimmat ihmiset tarvitsevat vain yhden tyyppisen kaapelin, sitä ei ole esillä näkyvästi. Valitettavasti tämä näyttää olevan perinne yrityksissä, jotka valmistavat debug- ja ohjelmointilaitteita sulautettujen järjestelmien alalla.

Toinen valitukseni on, että yritys tarjoaa ladattavia CAD-kirjastoja Tag-Connect-jalanjäljillä, mutta toteaa, että:

Nämä tiedostot tarjotaan 'SELLAISINAAN' ilman takuuta, että ne ovat täydellisiä, virheettömiä tai sopivia käyttöön. Tarkista huolellisesti tuodut dekaalit Tag-Connectin verkkosivustolla olevan uusimman tietolehden mukaan (katso alla). Tarkista erityisesti reikäkoot, nastojen numerointi ja kiinnitä erityistä huomiota juotospastamaskikerrokseen varmistaaksesi, että juotospastaa ei levitetä jalkalevyille.

Jos katsot tarjotuissa ZIP-tiedostoissa, yleensä on useita jalanjälkivariantteja annetulle CAD:lle. Mitä niistä käytän? Ja miksi minun vastuullani on varmistaa se?

Mielestäni Tag-Connectin pitäisi siivota tämä kirjasto ja tarjota tuettujen jalkalevyjen sarja, ainakin suosituimmille CAD-paketeille, ilman vastuuvapauslauseketta. Sen pitäisi olla osa tämän ratkaisun arvoa.

Johtopäätös

Kaiken kaikkiaan, Tag-Connect on edelleen paras hyllyltä saatava vianetsintä- ja ohjelmointiratkaisu. Suosittelisin sen standardisoimista ja käyttämistä kaikissa suunnitelmissasi.

Aiemmat blogikirjoitukset: KiCon 2019 (2019-03-27)
Myöhemmät blogikirjoitukset: Uutta: toukokuu 2020 (2020-05-16)

PartsBox on verkkosovellus, joka antaa sinun hallita elektronisten komponenttiesi varastoa, BOM-hinnoittelua ja pienimuotoista tuotantoa. Se pitää kirjaa siitä, missä komponentit on varastoitu, mikä on nykyinen varastotaso, ja mitkä komponentit ovat käytössä missäkin projekteissa/BOM:eissa.

Blogi-indeksi