Kann ich beim Routing von I2C-Leitungsspuren auf der FR4-Leiterplatte Durchkontaktierungen vornehmen?


11

Ich verwende einen MSP430FR2633-Mikrocontroller und einen ADS122C04IPWR-DAC über I2C bei 100 kHz.

Kann ich die I2C-Leitungen durch Durchkontaktierungen in einer 2-Schicht-Leiterplatte verlegen?


3
Scheint unnötig schmerzhaft, dies mit nur 2 Schichten zu tun. Gibt es einen gültigen Grund warum? Kosten sind kein triftiger Grund.
Lundin

4
Wenn Sie als Hobbyist mit Geld aus Ihrer eigenen Tasche einen Prototyp erstellen, sind die Kosten ein sehr wichtiger Grund. 2-Lagen-Boards sind billig. Mehr als 2 Schichten werden sehr schnell teuer.
Tristan

1
@Lundin Der Preis für 10 Boards wird von $ 7,24 auf $ 34,24 steigen, wenn Sie es 4-lagig machen. Das ist für Hobbyisten von wesentlicher Bedeutung.
Navin

2
@Navin Keine Ahnung, wo Sie Ihre Leiterplatten kaufen, aber Sie werden hart betrogen.

1
@Amarth Fühlen Sie sich frei, einen besseren Lieferanten zu verlinken. Ich habe immer pcbshopper.com , um eine zu wählen. Beachten Sie, dass meine Preise den Versand in die USA beinhalten.
Navin

Antworten:


27

Bei I2C-Geschwindigkeiten verursachen Durchkontaktierungen überhaupt keine Probleme.

Zumindest keine Probleme hinsichtlich Spurwiderstand, Kapazität oder Induktivität. Wenn Sie jedoch eine 2-Lagen-Platte haben, sollten Sie beide Lagen am besten systematisch verwenden, da Sie sonst zu Problemen führen können.

Was viele Leute tun, ist, eine Schicht eines Brettes dem Boden zu widmen. Dies funktioniert im Allgemeinen gut, BIS sie anfangen, den Boden mit 'nur einer Spur' auf der anderen Ebene zu zerhacken. Wenn dieser Track durch "nur einen anderen" und einen anderen verbunden wird, sieht der Boden wie ein Spitzenvorhang aus. Es macht seinen Job nicht und es ist schwierig zu bestimmen, wo und wie es wieder zusammengenäht werden soll, besonders wenn Sie unerfahren sind. Schlimmer noch, einige werden alle Gleise routen und dann ein "Kupfergießen" durchführen, in der Hoffnung, dass dies eine gute Grundplatte ergibt.

Wenn Sie zwei Ebenen für Signale verwenden, ist es weitaus besser, mit einem Plan zu beginnen. Verwenden Sie eine Manhattan-Verfolgungsanordnung, Ost-West auf einer Ebene, Nord-Süd auf der anderen. Beginnen Sie mit einem "Gitterboden", legen Sie etwa alle 10 mm parallele Gleise und über diese an jeder Kreuzung. Dies funktioniert fast so gut wie eine Grundebene und ist bei I2C-Geschwindigkeiten absolut genauso gut. Jetzt haben Sie eine systematische Möglichkeit, eine Spur von überall nach überall zu fahren, und können genau dort auf die andere Seite des Boards springen, wo Sie dies benötigen, ohne die vorhandene Bodenkontinuität zu stören.

Eine Alternative besteht darin, eine Grundebene zu verwenden, diese jedoch nicht zu zerhacken, indem Sie für alle Signale auf Ihrer Signalschicht bleiben. Überqueren Sie Spuren, indem Sie Spuren unter Komponenten passieren. Zu diesem Zweck können Sie Null-Ohm-Widerstände kaufen, obwohl ein 1- oder sogar 10-Ohm-Widerstand bei I2C-Widerstandsstufen so gut wie ein Draht ist.


2
Um ein Zerhacken der Grundebene zu vermeiden, ist es hilfreich, die Spuren so kurz wie möglich zu halten. Verwenden Sie es nur zum Überqueren von Gleisen, um keine Distanz zurückzulegen. Es ist auch hilfreich, den tatsächlichen elektrischen Abstand zwischen Komponenten zu einer gemeinsamen Masse zu betrachten. Zum Beispiel von der Entkopplung der Kappen zum IC sollen sie entkoppeln (oft schauen die Leute nur auf den VDD-Draht).
Michael

1
@ Michael Du bist natürlich richtig. Ich war hin- und hergerissen zwischen dem Nicht-Erwähnen des Layouts und einer gründlichen Antwort auf das Layout. Vielleicht liegt diese Teilantwort zwischen zwei Stühlen. Wie gut wir mit Erdungsproblemen umgehen, hängt stark von der Erfahrung ab.
Neil_UK

9

Im Allgemeinen - ja. 100 kHz Signal ist sehr verzeihend. Stellen Sie sicher, dass SDA und SCL auf ähnliche Weise nahe beieinander verlegt werden.

Beachten Sie auch die I2C-Gesamtkapazitätsgrenze von 400 pF (Sie könnten auf dieses Problem stoßen, wenn die Spuren wirklich lang wären).


8

Sollte kein Problem sein. Wir verwenden Vias auf I²C, die ohne Probleme bis zu 800 kHz laufen.

Das Schlimmste, was ich gesehen habe, war ein schlechtes Via, das einen Serienwiderstand in der I²C-Linie erzeugte. Dies wirkte sich so stark auf die Anstiegsgeschwindigkeit der Karte aus, dass die I²C-Kommunikation fehlschlug. Aber das war auf einem Prototyp-Board und ist bisher noch nie auf einem Produktionsboard passiert.


6

100 kHz sind ziemlich einfach zu bewegen. Unsere Geräte verfügen über I2C-EEPROMs, die in einem vom Kunden austauschbaren Teil des Systems montiert sind, sodass Änderungen an der Kalibrierung beim Austausch dieses Teils automatisch von der Steuerung gelesen werden. Die Kabel hierfür können Meter lang sein, und bisher funktioniert das in Ordnung. Zwar haben wir Kabel mit geringer Kapazität, aber eine Leiterplatte über ist keine große Sache.

Beachten Sie jedoch, dass 100 kHz zwar die ursprüngliche I2C-Standardfrequenz ist, dies jedoch nicht das Ende der Geschichte ist. I2C "Fast Mode" erlaubt bis zu 400 kHz, "Fast Mode Plus" erlaubt bis zu 1 MHz und "High-Speed ​​Mode" erlaubt bis zu 3,4 MHz. Wenn Sie sich das Datenblatt ansehen, unterstützt Ihr DAC "Fast Mode Plus" bis zu 1 MHz. Solange Sie bei 100 kHz bleiben, können Sie im Grunde tun, was Sie wollen, weil es nicht schnell genug ist, um eine Rolle zu spielen. Wenn Sie jedoch in Zukunft schneller arbeiten möchten, sollten Sie die Entwurfsregeln für schnellere digitale Signale untersuchen.

Der DAC selbst kann jedoch nur 2K-Samples pro Sekunde verwalten. Bei einem 24-Bit-DAC plus dem damit verbundenen I2C-Overhead nehmen Datenübertragungen auf einer 100-kHz-Verbindung nur etwa 70-80% der Bandbreite in Anspruch. Wenn Sie mehrere DACs auf derselben I2C-Verbindung haben, möchten Sie möglicherweise eine schnellere Verbindung verwenden, um alle zu warten. Wenn Sie jedoch nur einen einzigen DAC haben, haben Sie keinen Grund, schneller als 100 kHz zu arbeiten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.