Auswahl eines Debug-/Programmieranschlusses für einen Mikrocontroller

TL;DR Zusammenfassung: Für ARM SWD, TI Spy-Bi-Wire oder Microchip ICD verwenden Sie den Tag-Connect No-Legs Footprint mit Standard-Pin/Pad-Belegungen und besorgen Sie sich Tag-Connect-Kabel.

Beim Entwurf von Geräten, die Mikrocontroller verwenden, muss ein Debug- und Programmieranschluss bereitgestellt werden. Dieser könnte nur für die Entwicklung verwendet werden, beim Schreiben und Debuggen von Software, oder auch in Produktionseinheiten verbleiben, für die Programmierung in der Fabrik.

Hersteller und Werkzeugmacher haben dafür gesorgt, dass wir in einer Welt leben, in der es eine Vielzahl von Debug-Anschlüssen mit viel Verwirrung um sie herum gibt. Deshalb enden wir hiermit:

Welchen Steckverbinder soll man also für ein neues Design wählen?

Dieser Artikel konzentriert sich hauptsächlich auf ARM-Geräte, die über die SWD-Schnittstelle (Single-Wire Debug) verfügen, ist aber auch auf andere Teile anwendbar, wie Texas Instruments MSP430, das das Spy Bi-Wire (2-Draht JTAG)-Protokoll verwendet, Microchip ICD oder sogar Teile, die einen vollständigeren Satz von JTAG-Pins benötigen.

Beliebte Debugging-Anschlüsse

Einige der gängigen Optionen, die oft in Betracht gezogen werden:

  • 10-poliger JTAG auf einem 0,1" IDC-Header. Normalerweise wird ein männlicher Header verwendet. Nachteil: Er ist riesig und der Header kostet Geld.
  • Cortex Debug Connector mit einem 0,05" Mikro-Header (10-polig oder 20-polig, Samtec FTSH-110 und FTSH-105). Der 10-polige Anschluss ist einigermaßen klein und als SMD-Komponente erhältlich, aber teurer als IDC-Anschlüsse.
  • 20-poliger 0,1" IDC-Anschluss. Sie ziehen diesen Dinosaurier doch nicht ernsthaft in Betracht, oder? Er ist größer als einige der Platinen, die ich entworfen habe.
  • Benutzerdefinierter Satz von 4 oder 6 Pins (oder Vias oder Kupferpads). Das Problem hierbei ist der "benutzerdefinierte" Teil. Das wird sich in Zukunft unweigerlich rächen, an dem Tag, an dem Ihr benutzerdefinierter Anschluss in der Fabrik bricht und Sie einen neuen aus Übersee verschiffen müssen, während die Produktion stillsteht.
  • Tag-Connect 6-poliger Footprint in einer der Varianten (mit Beinen oder ohne Beine). Beachten Sie, dass hier kein Anschluss vorhanden ist: nur ein standardisierter Footprint auf der Leiterplatte.
  • Tag-Connect 6-polig + Tag-Connect 10-polig (für ETM-Signale): Für diese Kombination gibt es sogar ein vorgefertigtes Kabel mit einem 20-poligen IDC-Anschluss und standardmäßiger ARM Cortex 20-poliger Pinbelegung.

Eine sofortige Beobachtung ist, dass die meisten dieser Steckverbinder, nun ja, Steckverbinder benötigen. Das ist eine zusätzliche Komponente, die Sie auf der Platine platzieren müssen, was Geld kostet. Bei Produktionseinheiten oder größeren Prototypenserien wird dieser Steckverbinder nur einmal im gesamten Lebenszyklus des Produkts verwendet, was eine Verschwendung ist.

Die Tag-Connect-Lösungen oder kundenspezifische Footprints mit Pogo-Pin-basierten Steckverbindern haben hier einen offensichtlichen Vorteil, da keine Komponenten auf der Leiterplatte platziert werden müssen, sodass die Kosten für den Debug-Anschluss pro Platine auf 0 sinken, was großartig ist!

So sieht ein Tag-Connect-Footprint auf einer echten Platine aus:

Und so sieht das Kabel mit Pogo-Pins aus: Die zweite wichtige Überlegung ist die Größe und der daraus resultierende Platzbedarf auf der Platine. Die einzigen Kandidaten sind der 10-polige 0,05"-Mikro-Header und ein Tag-Connect 6-poliger Footprint. Der 10-polige Mikro-Header ist tatsächlich in einer Richtung etwas kleiner, aber der Unterschied ist nicht signifikant. Hier ist, wie ein 10-poliger 0,05"-Mikro-Header aussieht (dieser stammt von einem Nordic Semiconductor nRF52832 Entwicklungsboard, dem PCA10040):

Beine oder keine Beine?

Es gibt zwei Varianten eines Tag-Connect-Anschlusskabels: eine mit "Beinen" (legs) und eine "ohne Beine" (no legs). Was ist der Unterschied?

Tag-Connect verwendet Pogo-Pins, die Federn im Inneren haben und gegen die Leiterplatte drücken. Wenn der Steckverbinder an Ort und Stelle bleiben soll, müssen Sie kontinuierlich Kraft darauf ausüben. Das ist in Ordnung für schnelles Programmieren, wo man eine Hand benutzen kann, um den Steckverbinder zu halten, und die andere, um den Programmiervorgang zu starten, funktioniert aber nicht so gut für längere Debugging-Sitzungen. Dafür eignet sich der „Legs“-Footprint (und Steckverbinder) viel besser. Die Beinchen wirken als kleine Clips, so dass sie nach dem Einstecken des Steckverbinders einrasten und die Pogo-Pins fest gegen die Platine halten, für unbegrenzte Zeit.

Das Problem mit dem "Beinchen"-Footprint ist seine Größe: Er ist deutlich größer als die Variante "ohne Beinchen". Was noch schlimmer ist, er benötigt vier große Löcher in der Platine. Große Löcher sind immer ein Problem: Sie müssen (offensichtlich) durch alle Lagen gehen, und man benötigt auch einen Sperrbereich um sie herum. Das bedeutet, dass der Einfluss eines "Beinchen"-Footprints auf Ihr Design viel größer ist als der der Variante "ohne Beinchen".

Für Produktionseinheiten, bei denen die Verbindung wahrscheinlich nur einmal im Leben eines Produkts hergestellt wird und die problemlos die ganze Zeit in der Hand gehalten werden können, steht es außer Frage: Sie bevorzugen definitiv den Footprint "ohne Beine", der Platz auf der Platine spart. Aber was tun mit den Prototypen? Einerseits können Sie sich den Platz auf der Platine leisten, andererseits möchten Sie die Leiterplatte nicht neu entwerfen, nur weil Sie die Löcher in der endgültigen Revision entfernen müssen.

Glücklicherweise gibt es eine andere Lösung. Tag-Connect verkauft einen kleinen Halteclip. Es ist ein Stück Leiterplatte mit drei Buchsen, die auf die Stifte des Tag-Connect-Kabels passen. Es ist keine mechanisch perfekte Lösung und die Clips neigen dazu, mit der Zeit zu verschleißen (sie sind auch unglaublich leicht zu verlieren!), aber in der Praxis funktioniert es recht gut.

Meine Empfehlung ist, immer den Footprint ohne Beinchen und Kabel zu verwenden, einen Haufen Halteklammern zu kaufen und Platz auf der Platine sowie das Redesign der Platinen zu sparen.

Verwenden Sie eine Standard-Signalzuweisung

Ich habe Hardware in freier Wildbahn gesehen, bei der Designer einen Tag-Connect-Footprint für ARM SWD (auf einem Cortex-M0) verwendeten, aber die Signale anders zuwiesen. Wahrscheinlich war die Motivation, die Schnittstelle zu verschleiern.

Das ist nichts, was ich empfehlen würde: Die Verschleierung wird leicht entdeckt, und man endet mit einem inkompatiblen Footprint, der in Zukunft unweigerlich Probleme verursachen wird.

Praktisches

Tag-Connect empfiehlt, keine Komponenten auf der anderen Seite des Footprints zu platzieren (oder Leiterbahnen zu verlegen). Obwohl dies eine gute Empfehlung ist, hat man nicht immer diesen Luxus, insbesondere auf kleinen Platinen mit engen Layout-Einschränkungen.

Wie ich festgestellt habe, kann man damit durchkommen, Komponenten auf der anderen Seite zu platzieren, selbst wenn man den Halteclip verwendet, um das Kabel an Ort und Stelle zu halten. Ich würde jedoch vorschlagen, ein Stück Isolator zwischen den Komponenten und dem Halteclip zu verwenden, um mögliche Kurzschlüsse zu vermeiden (Papier funktioniert gut). Obwohl dies nicht die empfohlene Praxis ist, funktioniert es, auch wenn die Befestigung des Debug-Anschlusses etwas aufwendiger wird.

Hier ist ein Beispiel für ein Prototyp-Board (bitte entschuldigen Sie die Lötqualität des Prototyps), bei dem Komponenten innerhalb des Bereichs des Debug-Footprints platziert sind:

Kritik

Es ist nicht alles rosig bei Tag-Connect. Die Website ist nicht gut organisiert, so dass es schwierig ist, die gesuchten Informationen zu finden. Es wird eine Vielzahl von Varianten angeboten, und obwohl die meisten Leute nur einen einzigen Kabeltyp benötigen, wird dieser nicht prominent angezeigt. Leider scheint dies eine Tradition bei Unternehmen zu sein, die Debug- und Programmiergeräte in der Embedded-Welt herstellen.

Der zweite Kritikpunkt, den ich habe, ist, dass das Unternehmen herunterladbare CAD-Bibliotheken mit Tag-Connect-Footprints anbietet, aber angibt, dass:

Diese Dateien werden 'WIE BESEHEN' bereitgestellt und ohne Garantie, dass sie vollständig, fehlerfrei oder für den Gebrauch geeignet sind. Überprüfen Sie die importierten Decals sorgfältig anhand des neuesten Datenblatts auf der Tag-Connect-Website (siehe unten). Achten Sie insbesondere auf die Lochgrößen, die Pin-Nummerierung und achten Sie genau auf die Lötpastenmaskenschicht, um sicherzustellen, dass keine Lötpaste auf den Footprint-Pads abgelagert wird.

Wenn Sie in die bereitgestellten ZIP-Dateien schauen, finden Sie normalerweise mehrere Footprint-Varianten für ein bestimmtes CAD. Welche soll ich verwenden? Und warum liegt es in meiner Verantwortung, dies zu überprüfen?

Ich denke, Tag-Connect sollte diese Bibliothek aufräumen und einen Satz unterstützter Footprints bereitstellen, zumindest für die populäreren CAD-Pakete, ohne einen Haftungsausschluss. Das sollte Teil des Wertes dieser Lösung sein.

Fazit

Alles in allem ist Tag-Connect immer noch die beste Standardlösung für Debugging und Programmierung. Ich würde empfehlen, darauf zu standardisieren und es in all Ihren Designs zu verwenden.

Frühere Blogbeiträge: KiCon 2019 (2019-03-27)
Spätere Blogbeiträge: Was gibt's Neues: Mai 2020 (2020-05-16)

PartsBox ist eine Online-App, mit der Sie die Kontrolle über Ihren Bestand an elektronischen Komponenten, die Stücklistenpreise und die Kleinserienproduktion übernehmen können. Sie verfolgt, wo Komponenten gelagert sind, wie hoch die aktuellen Lagerbestände sind und welche Komponenten in welchen Projekten/Stücklisten verwendet werden.

Blog-Index

Update Oktober 2020 (2020-10-12)
KiCon 2019 (2019-03-27)
Tags (2016-04-26)