Vælge en debug/programmeringsstik til en mikrocontroller

TL;DR resumé: for ARM SWD, TI Spy-Bi-Wire, eller Microchip ICD, brug Tag-Connect No-Legs footprint med standard pin/pad tildelinger, og få Tag-Connect kabler.

Når man designer enheder, der bruger mikrocontrollere, skal man sørge for en debug- og programmeringsstik. Dette kan kun bruges til udvikling, når man skriver og fejlfinder software, eller det kan også efterlades i produktionsenheder, til in-fabrik programmering.

Producenter og værktøjsmagere har sørget for, at vi lever i en verden, hvor der er et væld af debug-stik med masser af forvirring omkring dem. Dette er grunden til, at vi ender med dette:

Så, hvilken stik skal man vælge til et nyt design?

Denne artikel fokuserer hovedsageligt på ARM-enheder, der har SWD (Single-Wire Debug)-grænsefladen, men den er også relevant for andre komponenter, som Texas Instruments MSP430, der bruger Spy Bi-Wire (2-wire JTAG)-protokollen, Microchip ICD, eller endda komponenter, der har brug for et mere komplet sæt af JTAG-pins.

Populære fejlsøgningsforbindelser

Nogle af de almindelige valg, der ofte overvejes:

  • 10-pin JTAG på en 0,1" IDC-header. Normalt bruges en hanstik. Ulempe: den er kæmpestor, og stikket koster penge.
  • Cortex Debug Connector ved hjælp af en 0,05" mikro-header (10-pin eller 20-pin, Samtec FTSH-110 og FTSH-105). Den 10-pins stik er rimelig lille og tilgængelig som en SMD-komponent, men dyrere end IDC-stik.
  • 20-pin 0,1" IDC-stik. Du overvejer vel ikke seriøst den dinosaur, vel? Den er større end nogle af de printplader, jeg har designet.
  • Brugerdefineret sæt af 4 eller 6 pins (eller vias eller kobberpuder). Problemet her er "brugerdefineret" delen. Det vil uundgåeligt komme tilbage for at bide dig i fremtiden, den dag dit brugerdefinerede stik går i stykker på fabriksgulvet, og du er nødt til at sende et nyt fra udlandet, mens produktionen er stoppet.
  • Tag-Connect 6-pin fodaftryk i en af varianterne (med ben eller uden ben). Bemærk, at der ikke er noget stik her: bare et standardiseret fodaftryk på printpladen.
  • Tag-Connect 6-pin + Tag-Connect 10 pin (for ETM-signaler): for denne kombination er der endda et forudbygget kabel tilgængeligt, med et 20-pin IDC-stik og standard ARM Cortex 20-pin pin-tildelinger.

En umiddelbar observation er, at de fleste af disse stik kræver, ja, stik. Det er en ekstra komponent, du skal placere på boardet, hvilket koster penge. For produktionsenheder eller større prototypekørsler vil dette stik kun blive brugt én gang i produktets levetid, hvilket er spild.

Tag-Connect-løsningerne eller brugerdefinerede fodaftryk med pogo-pin-baserede stik har en åbenlys fordel her, idet de ikke kræver, at nogen komponenter placeres på PCB'en, så omkostningerne pr. debug-stik pr. kort falder til 0, hvilket er fantastisk!

Sådan ser et Tag-Connect fodaftryk ud på et rigtigt board:

Og sådan ser kablet med pogo-pins ud:  Det andet store hensyn er størrelse og de resulterende krav til plads på printpladen. De eneste konkurrenter er 10-pin 0.05" mikro-header og et Tag-Connect 6-pin fodaftryk. 10-pin mikro-headeren er faktisk lidt mindre i en retning, men forskellen er ikke signifikant. Her er hvordan en 10-pin 0.05" mikro-header ser ud (denne er fra et Nordic Semiconductor nRF52832 udviklingskort, PCA10040): 

Ben eller Ingen Ben?

Der er to varianter af et Tag-Connect stik kabel: et med "ben" og et uden "ben". Hvad er forskellen?

Tag-Connect bruger pogo pins, som har fjedre indeni og skubber mod printkortet. Hvis du vil have stikket til at blive på plads, skal du kontinuerligt anvende kraft til det. Dette er fint til hurtig programmering, hvor du kan bruge den ene hånd til at holde stikket på plads og den anden til at starte programmeringsjobbet, men det fungerer ikke så godt til udvidede fejlsøgningssessioner. For det fungerer "ben"-fodaftrykket (og stikket) meget bedre. Benene fungerer som små klip, så når du indsætter stikket, klikker de på plads og holder pogo pinsene stramt mod brættet, for en ubestemt tid.

Problemet med "ben"-fodaftrykket er dets størrelse: det er betydeligt større end "uden ben"-varianten. Hvad der er værre, det kræver fire store huller i pladen. Store huller er altid et problem: de skal (åbenlyst) gå igennem alle lag, og du har brug for et frigørelsesområde omkring dem også. Dette betyder, at indvirkningen af et "ben"-fodaftryk på dit design er meget større end af "uden ben"-varianten.

For produktionsenheder, hvor forbindelsen sandsynligvis kun laves én gang i produktets levetid, og som nemt kan holdes i hånden hele tiden, er der ingen tvivl: du foretrækker helt klart "ingen-ben" footprintet, som sparer plads på printpladen. Men hvad gør man med prototyperne? På den ene side har du råd til pladsen på printpladen, men på den anden side ønsker du ikke at redesigne PCB'en bare fordi du skal fjerne hullerne i den endelige revision.

Heldigvis er der en anden løsning. Tag-Connect sælger en lille fastholdelsesklips. Det er et stykke PCB med tre sokler, der passer til stifterne på Tag-Connect kablet. Det er ikke en mekanisk perfekt løsning, og klipsene slides med tiden (de er også utroligt nemme at miste!), men i praksis fungerer det ganske godt.

Min anbefaling er altid at gå med 'ingen-ben' fodaftryk og kabler, køb en masse fastholdelsesclips, og spar på plads på printpladen og omkonstruering af printpladerne.

Brug en standard signaltildeling

Jeg har set hardware i det fri, hvor designere brugte et Tag-Connect footprint for ARM SWD (på en Cortex-M0), men tildelte signalerne anderledes. Motivationen var sandsynligvis at gøre grænsefladen uklar.

Dette er ikke noget, jeg ville anbefale: forklædningen opdages let, og man ender med et inkompatibelt fodaftryk, hvilket uundgåeligt vil forårsage problemer i fremtiden.

Praktikaliteter

Tag-Connect anbefaler, at der ikke placeres komponenter (eller ruter spor) på den anden side af fodaftrykket. Selvom det er en god anbefaling, har man ikke altid den luksus, især på små kort med stramme layoutbegrænsninger.

Som jeg har opdaget, kan du slippe af sted med at placere komponenter på den anden side, selv når du bruger fastholdelsesklipset til at holde kablet på plads. Jeg vil foreslå at bruge et stykke isolator mellem komponenterne og fastholdelsesklipset, dog, for at forhindre eventuelle mulige kortslutninger (papir fungerer godt). Selvom det ikke er den anbefalede praksis, virker dette dog, selvom fastgørelsen af fejlfindingsstikket bliver lidt mere involveret.

Her er et eksempel på et prototypeprint (undskyld venligst kvaliteten af prototypelodningen) hvor komponenter er placeret inden for området af debug footprintet:

Kritik

Det er ikke altid rosenrødt med Tag-Connect. Websitet er ikke godt organiseret, så det er svært at finde de oplysninger, du leder efter. Der tilbydes en mangfoldighed af varianter, og selvom de fleste mennesker kun vil have brug for en enkelt type kabel, er det ikke fremtrædende vist. Desværre ser det ud til at være en tradition hos virksomheder, der laver fejlsøgnings- og programmeringsudstyr i den indlejrede verden.

Det andet problem jeg har er, at firmaet tilbyder downloadbare CAD-biblioteker med Tag-Connect fodaftryk, men udtaler at:

Disse filer leveres 'SOM DE ER' og uden nogen garanti for, at de er komplette, fri for fejl eller egnede til brug. Kontroller omhyggeligt de importerede dekaler mod det seneste datablad, der er angivet på Tag-Connect-webstedet (se nedenfor). Især tjek hulstørrelser, pinnummerering og vær særlig opmærksom på loddepastemaskelaget for at sikre, at der ikke deponeres loddepasta på footprint-pads.

Hvis du kigger i de ZIP-filer, der er leveret, vil der normalt være flere fodaftryksvarianter for en given CAD. Hvilken en skal jeg bruge? Og hvorfor er det mit ansvar at verificere det?

Jeg synes, Tag-Connect bør rydde op i dette bibliotek og levere et sæt understøttede fodaftryk, i det mindste for de mere populære CAD-pakker, uden en ansvarsfraskrivelse. Det bør være en del af værdien af denne løsning.

Konklusion

Alt taget i betragtning er Tag-Connect stadig den bedste off-the-shelf fejlsøgnings- og programmeringsløsning. Jeg vil anbefale at standardisere på den og bruge den i alle dine designs.

Tidligere blogindlæg: KiCon 2019 (2019-03-27)
Senere blogindlæg: Hvad er nyt: Maj 2020 (2020-05-16)

PartsBox er en online app, der lader dig tage kontrol over dit lager af elektroniske komponenter, BOM-prissætning og småskala produktion. Den holder styr på, hvor komponenterne er opbevaret, hvad de aktuelle lagerbeholdninger er, og hvilke komponenter der bruges i hvilke projekter/BOM'er.

Blog Indeks