Auswahl eines Debug-/Programmiersteckers für einen Mikrocontroller

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

Bei der Entwicklung von Geräten, die Mikrocontroller verwenden, muss ein Debug- und Programmieranschluss bereitgestellt werden. Dieser könnte nur für die Entwicklung verwendet werden, wenn Software geschrieben und debuggt wird, oder könnte auch in Produktionsgeräten belassen werden, 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 mit so etwas:  

Also, welchen Stecker soll man für ein neues Design wählen?

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

Beliebte Debugging-Steckverbinder

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 Stecker ist angemessen klein und als SMD-Teil erhältlich, aber teurer als IDC-Stecker.
  • 20-poliger 0,1" IDC-Stecker. Sie ziehen diesen Dinosaurier nicht ernsthaft in Betracht, oder? Er ist größer als einige der Platinen, die ich entworfen habe.
  • Benutzerdefiniertes Set aus 4 oder 6 Pins (oder Vias oder Kupferpads). Das Problem hier ist der "benutzerdefinierte" Teil. Es wird unweigerlich in der Zukunft zurückkommen, um Sie zu beißen, an dem Tag, an dem Ihr benutzerdefinierter Stecker auf dem Fabrikboden bricht und Sie einen neuen aus Übersee versenden müssen, während die Produktion stillsteht.
  • Tag-Connect 6-poliger Footprint in einer der Varianten (mit Beinen oder ohne Beine). Beachten Sie, dass es hier keinen Stecker gibt: nur einen standardisierten Footprint auf der PCB.
  • 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-Stecker und standardmäßigen ARM Cortex 20-poligen Pin-Zuordnungen.

Eine sofortige Beobachtung ist, dass die meisten dieser Steckverbinder, nun ja, Steckverbinder benötigen. Das ist eine zusätzliche Komponente, die Sie auf die Platine setzen müssen, was Geld kostet. Bei Produktionsgeräten oder größeren Prototypenläufen wird dieser Steckverbinder nur einmal in der gesamten Lebensdauer des Produkts verwendet, was eine Verschwendung ist.

Die Tag-Connect-Lösungen oder benutzerdefinierte Footprints mit Pogo-Pin-basierten Steckverbindern haben hier einen offensichtlichen Vorteil, da sie keine Komponenten auf der PCB platzieren müssen, so dass die Kosten für den Debug-Stecker pro Board 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 große Überlegung ist die Größe und die daraus resultierenden Anforderungen an den Platz auf der Platine. Die einzigen Anwärter sind der 10-polige 0,05" Mikro-Header und ein Tag-Connect 6-Pin-Fußabdruck. 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 einer Nordic Semiconductor nRF52832 Entwicklungsplatine, der PCA10040):

Beine oder keine Beine?

Es gibt zwei Varianten eines Tag-Connect-Steckverbindungskabels: eines mit "Beinen" und eines ohne "Beine". Was ist der Unterschied?

Tag-Connect verwendet Pogo-Pins, die Federn im Inneren haben und gegen die PCB drücken. Wenn Sie möchten, dass der Stecker an Ort und Stelle bleibt, müssen Sie ständig Kraft darauf ausüben. Das ist in Ordnung für schnelles Programmieren, wo Sie eine Hand verwenden können, um den Stecker an Ort und Stelle zu halten und eine andere, um den Programmierjob zu starten, aber es funktioniert nicht so gut für ausgedehnte Debugging-Sitzungen. Dafür funktioniert der "Beine"-Footprint (und Stecker) viel besser. Die Beine wirken wie kleine Clips, so dass, sobald Sie den Stecker einsetzen, sie einrasten und die Pogo-Pins fest gegen die Platine halten, für eine unbestimmte Zeit.

Das Problem mit dem "Beine"-Fußabdruck ist seine Größe: Er ist deutlich größer als die Variante "ohne Beine". 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 Schichten gehen, und Sie benötigen eine Freihaltezone um sie herum. Das bedeutet, dass der Einfluss eines "Beine"-Fußabdrucks auf Ihr Design viel größer ist als der der Variante "ohne Beine".

Für Produktionseinheiten, bei denen die Verbindung wahrscheinlich nur einmal in der Lebensdauer eines Produkts hergestellt wird und die problemlos die ganze Zeit in der Hand gehalten werden können, gibt es keine Frage: Sie bevorzugen definitiv den "beinlosen" Footprint, der Platz auf der Platine spart. Aber was ist mit den Prototypen? Einerseits können Sie sich den Platz auf der Platine leisten, andererseits möchten Sie das PCB nicht neu gestalten, 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 eine kleine Halteklammer. Es handelt sich um ein Stück PCB mit drei Buchsen, die auf die Pins des Tag-Connect-Kabels passen. Es ist keine mechanisch perfekte Lösung und die Klammern neigen dazu, mit der Zeit zu verschleißen (sie sind auch unglaublich leicht zu verlieren!), aber in der Praxis funktioniert es ziemlich gut.

Meine Empfehlung ist, immer die "no-legs"-Footprint und Kabel zu wählen, eine Menge Halteclips zu kaufen und Platz auf der Platine und das Neudesign 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) verwendet haben, aber die Signale anders zugewiesen haben. Wahrscheinlich war die Motivation, die Schnittstelle zu verschleiern.

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

Praktisches

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

Wie ich herausgefunden habe, kann man Komponenten auf der anderen Seite platzieren, auch wenn man die Halteklammer verwendet, um das Kabel festzuhalten. Ich würde vorschlagen, ein Stück Isolator zwischen den Komponenten und der Halteklammer zu verwenden, um mögliche Kurzschlüsse zu verhindern (Papier funktioniert gut). Obwohl dies nicht die empfohlene Praxis ist, funktioniert es, obwohl die Befestigung des Debug-Steckers etwas komplizierter wird.

Hier ist ein Beispiel für eine Prototypenplatine (bitte entschuldigen Sie die Qualität des Prototypenlötens), auf der die Komponenten innerhalb des Bereichs des Debug-Footprints platziert sind:

Kritik

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

Mein zweiter Kritikpunkt ist, dass das Unternehmen herunterladbare CAD-Bibliotheken mit Tag-Connect-Footprints anbietet, aber feststellt, dass:

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

Wenn Sie in den bereitgestellten ZIP-Dateien nachsehen, finden Sie normalerweise mehrere Footprint-Varianten für ein gegebenes CAD. Welches soll ich verwenden? Und warum liegt es in meiner Verantwortung, es zu überprüfen?

Ich denke, Tag-Connect sollte diese Bibliothek aufräumen und eine Reihe von unterstützten Footprints bereitstellen, zumindest für die beliebteren CAD-Pakete, ohne einen Haftungsausschluss. Dies sollte Teil des Wertes dieser Lösung sein.

Schlussfolgerung

Alles in allem ist Tag-Connect immer noch die beste Off-the-Shelf-Debugging- und Programmierlösung. Ich würde empfehlen, darauf zu standardisieren und es in all Ihren Designs zu verwenden.

Frühere Blog-Beiträge: KiCon 2019 (2019-03-27)
Spätere Blog-Posts: Was ist neu: Mai 2020 (2020-05-16)

PartsBox ist eine Online-App, die Ihnen die Kontrolle über Ihr Elektronikkomponenten-Inventar, die BOM-Preiskalkulation und die Kleinserienproduktion ermöglicht. Sie behält den Überblick darüber, wo Komponenten gelagert sind, wie der aktuelle Bestandsstand ist und welche Komponenten in welchen Projekten/BOMs verwendet werden.

Blog-Index