TL;DR sammendrag: for ARM SWD, TI Spy-Bi-Wire eller Microchip ICD, bruk Tag-Connect No-Legs fotavtrykk med standard pinne/pad-tilordninger, og skaff Tag-Connect kabler.
Når man designer enheter som bruker mikrokontrollere, må man sørge for en feilsøkings- og programmeringskontakt. Denne kan brukes kun for utvikling, når man skriver og feilsøker programvare, eller den kan også beholdes i produksjonsenheter for programmering på fabrikken.
Produsenter og verktøymakere sørget for at vi lever i en verden der det er en mengde debug-kontakter med mye forvirring rundt dem. Det er derfor vi ender opp med dette: 
Så, hvilken kontakt skal man velge for et nytt design?
Denne artikkelen fokuserer hovedsakelig på ARM-enheter som har SWD-grensesnittet (Single-Wire Debug), men den gjelder også for andre komponenter, som Texas Instruments MSP430 som bruker Spy Bi-Wire (2-wire JTAG)-protokollen, Microchip ICD, eller til og med komponenter som trenger et mer komplett sett med JTAG-pinner.
Noen av de vanlige valgene som ofte vurderes:
En umiddelbar observasjon er at de fleste av disse kontaktene krever, vel, kontakter. Det er en ekstra komponent som du må plassere på kortet, noe som koster penger. For produksjonsenheter eller større prototypekjøringer vil den kontakten bare bli brukt én gang i hele produktets levetid, noe som er bortkastet.
Tag-Connect-løsningene eller tilpassede fotavtrykk med pogo-pin-baserte kontakter har en åpenbar fordel her ved at de ikke krever at noen komponenter plasseres på kretskortet (PCB), så kostnaden for debug-kontakten per kort stuper ned til 0, noe som er fantastisk!
Slik ser et Tag-Connect-fotavtrykk ut på et virkelig kort: 
Og slik ser kabelen med pogo-pinner ut:
Den andre store vurderingen er størrelse, og resulterende plasskrav på kortet. De eneste utfordrerne er 10-pinners 0,05" mikro-header og et Tag-Connect 6-pinners fotavtrykk. 10-pinners mikro-header er faktisk litt mindre i én retning, men forskjellen er ikke betydelig. Her er hvordan en 10-pinners 0,05" mikro-header ser ut (denne er fra et Nordic Semiconductor nRF52832 utviklingskort, PCA10040): 
Det finnes to varianter av en Tag-Connect-kabel: en med "ben" og en "uten ben". Hva er forskjellen?
Tag-Connect bruker pogo-pinner, som har fjærer inni og presser mot kretskortet. Hvis du vil at kontakten skal holde seg på plass, må du kontinuerlig bruke kraft på den. Dette er greit for rask programmering, der du kan bruke en hånd til å holde kontakten på plass og en annen til å starte programmeringsjobben, men fungerer ikke så bra for lengre feilsøkingsøkter. For det fungerer "legs"-fotavtrykket (og kontakten) mye bedre. Bena fungerer som små klemmer, så når du setter inn kontakten, klikker de på plass og holder pogo-pinnene stramt mot kortet i ubestemt tid.
Problemet med "legs"-fotavtrykket er størrelsen: det er betydelig større enn varianten uten ben. Hva verre er, det trenger fire store hull i kortet. Store hull er alltid et problem: de må (åpenbart) gå gjennom alle lag, og du trenger et sperreområde rundt dem også. Dette betyr at virkningen av et "legs"-fotavtrykk på designet ditt er mye større enn varianten uten ben.
For produksjonsenheter, hvor tilkoblingen sannsynligvis bare vil bli gjort én gang i produktets levetid, og enkelt kan holdes for hånd hele tiden, er det ingen tvil: du foretrekker definitivt fotavtrykket "uten ben", som sparer plass på kortet. Men hva gjør man med prototypene? På den ene siden har du råd til plassen på kortet, men på den andre siden ønsker du ikke å redesigne PCB-en bare fordi du må fjerne hullene i den endelige revisjonen.
Heldigvis finnes det en annen løsning. Tag-Connect selger en liten festeklips. Det er et stykke PCB med tre sokler som passer til pinnene på Tag-Connect-kabelen. Det er ikke en mekanisk perfekt løsning, og klipsene har en tendens til å bli slitt med tiden (de er også utrolig enkle å miste!), men i praksis fungerer det ganske bra.
Min anbefaling er å alltid gå for fotavtrykket uten ben og kabler, kjøpe en haug med festeklips, og spare plass på kortet og unngå redesign av kortene.
Jeg har sett maskinvare i felten der designere brukte et Tag-Connect-fotavtrykk for ARM SWD (på en Cortex-M0), men tildelte signalene annerledes. Det er sannsynlig at motivasjonen var å skjule grensesnittet.
Dette er ikke noe jeg vil anbefale: tilsløringen oppdages lett, og man ender opp med et inkompatibelt fotavtrykk, noe som uunngåelig vil skape problemer i fremtiden.
Tag-Connect anbefaler at ingen komponenter plasseres (eller baner rutes) på den andre siden av fotavtrykket. Selv om det er en god anbefaling, har man ikke alltid den luksusen, spesielt på små kort med stramme layoutbegrensninger.
Som jeg har oppdaget, kan du slippe unna med å plassere komponenter på den andre siden, selv når du bruker festeklipsen for å holde kabelen på plass. Jeg vil imidlertid foreslå å bruke et stykke isolator mellom komponentene og festeklipsen for å forhindre eventuelle kortslutninger (papir fungerer bra). Selv om det ikke er anbefalt praksis, fungerer dette, selv om det blir litt mer involvert å feste debug-kontakten.
Her er et eksempel på et prototypekort (vennligst unnskyld prototype-loddekvaliteten) der komponenter er plassert innenfor området til debug-fotavtrykket: 
Det er ikke bare fryd og gammen med Tag-Connect. Nettstedet er ikke godt organisert, så det er vanskelig å finne informasjonen du leter etter. Det tilbys en mengde varianter, og selv om de fleste vil trenge en enkelt type kabel, vises den ikke fremtredende. Dessverre ser dette ut til å være en tradisjon hos selskaper som lager feilsøkings- og programmeringsutstyr i den innebygde verdenen.
Det andre ankepunktet jeg har er at selskapet tilbyr nedlastbare CAD-biblioteker med Tag-Connect-fotavtrykk, men opplyser at:
Disse filene leveres 'SOM DE ER' og uten garanti for at de er komplette, feilfrie eller egnet for bruk. Sjekk de importerte dekalene nøye mot det nyeste databladet som er tilgjengelig på Tag-Connect-nettstedet (se nedenfor). Vær spesielt oppmerksom på hullstørrelser, pin-nummerering, og vær nøye med loddepasta-maskelaget for å sikre at ingen loddepasta blir avsatt på fotavtrykksputene.
Hvis du ser i ZIP-filene som følger med, vil det vanligvis være flere fotavtrykksvarianter for en gitt CAD. Hvilken skal jeg bruke? Og hvorfor er det mitt ansvar å verifisere det?
Jeg synes Tag-Connect bør rydde opp i dette biblioteket og tilby et sett med støttede fotavtrykk, i det minste for de mer populære CAD-pakkene, uten en ansvarsfraskrivelse. Det burde være en del av verdien av denne løsningen.
Alt tatt i betraktning er Tag-Connect fortsatt den beste hyllevare-løsningen for debugging og programmering. Jeg vil anbefale å standardisere på den og bruke den i alle dine design.
PartsBox er en nettbasert app som lar deg ta kontroll over din beholdning av elektroniske komponenter, BOM-prising og småskalaproduksjon. Den holder oversikt over hvor komponenter er lagret, hva de nåværende lagernivåene er, og hvilke komponenter som brukes i hvilke prosjekter/BOM-er.