Das Routing von Spuren zu und von einem 48-Pin-Mikrocontroller wird zu einem Chaos

Ich habe einen 48-poligen Mikrocontroller mit VCC = 5V. Ich mache mir Sorgen, dass ich die Spuren zu nahe habe und alle Durchkontaktierungen und Kreuzungsspuren die Integrität der Signale beeinträchtigen könnten.

Gibt es Beispiele und allgemeine Richtlinien für das Routing von Ablaufverfolgungen in einer solchen Situation?

Sehen Sie etwas auf dem Bild, das auffällt?

Ich habe nur ein 2-Lagen-Board, mit dem ich arbeiten kann.

Aktuelles Layout der Spuren zum mcu

Enthält das Datenblatt für die MCU, mit der Sie arbeiten, ein empfohlenes Layout?
Ist eine 4-Lagen-Platine realisierbar? Das Vorhandensein interner Ebenen hilft bei der Signalintegrität. Außerdem würde das Aufbringen von Massegüssen auf der oberen und unteren Schicht dazu beitragen, einen Leiter vom nächsten zu "abschirmen", um das Übersprechen zu reduzieren, obwohl es es nicht eliminieren wird
Sie müssen sich viel mehr anstrengen, um die Länge der blauen Spuren zu minimieren. Es werden mehr Vias benötigt und dies sollte nicht als Problem angesehen werden. Warum können Sie nicht 4-Layer gehen - begründen Sie das bitte. Es gibt so viele Änderungen, die an Ihrem Bild vorgenommen werden können und sollten, dass sie zu zahlreich sind, um sie in einem Kommentar zu behandeln. Sie können viel besser machen, da bin ich absolut überzeugt.
Sie brauchen mehr Schichten. Auch wenn es nur ebene Schichten sind.
Auch keine 45-Grad-Winkel.
Bevor Sie eine Leiterplatte auslegen, spielen Sie einen Morgen lang dieses Spiel auf planarity.net . Ihre Komponentenplatzierung hat weniger Signalkreuzungen und ist mit weniger Durchkontaktierungen viel einfacher zu routen.
Da es sich um einen Mikrocontroller handelt, möchten Sie möglicherweise die Funktionen einiger Pins austauschen, wenn Sie den Code darauf steuern, um das Routing sauberer zu gestalten.
Ich sehe nicht, wo jemand nach der Geschwindigkeit Ihrer Signale gefragt hat. Vielleicht sind Ihre Signale so langsam, dass Sie sich keine Sorgen machen müssen. Ich habe nur ein paar langsame Boards entworfen, daher kann ich nicht aus Erfahrung sprechen; aber ich würde dieses Konzept zuerst suchen.

Antworten (5)

Ich entwerfe seit einigen Jahren Boards und ein paar Dinge stechen heraus. Bitte beachten Sie zunächst, dass dies teilweise sehr subjektiv ist . Für bestimmte (hauptsächlich langsame) Signale ist gut genug gut genug. Denken Sie also bitte daran, dass Sie die von mir vorgeschlagenen Dinge nicht anwenden müssen, um dennoch ein funktionierendes Layout zu erhalten.

Diese Art von Design kann perfekt auf zwei Ebenen funktionieren. Es wird etwas mehr Aufwand erfordern als eine vierschichtige Platine, aber ich habe das Gefühl, dass Ihr Design dies nicht für Abschirmungs- oder EMI-bezogene Angelegenheiten erfordert.

Zunächst einmal kann die Arbeit mit einem zweischichtigen Board einige schwierige Situationen bei der Verwaltung Ihrer Power Planes verursachen. Ihre oberen und unteren Spuren verbrauchen den verfügbaren Platz, um Ihre Geräte mit Strom zu versorgen, und ein unterdurchschnittliches Layout kann die Folge davon sein. Das Wichtigste, was Sie tun möchten, ist, den Bereich, der zum Routing der Signale verwendet wird, sehr klein zu halten, mit minimalen Layer-Sprüngen. Wenn Sie eine Stromversorgungsebene "blockieren", können Sie diese mit vielen Durchkontaktierungen auf eine andere Ebene springen, aber dies wird unordentlich und das Springen der Signale stattdessen auf andere Ebenen ist nach Möglichkeit vorzuziehen. Der einfachste Weg dazu ist, die Signale etwas mehr zusammenzubringen. Wenn es sich nur um langsames IO oder serielles Zeug handelt, gibt es keinen Grund, warum Sie dies nicht tun können.

Wie dies in Ihrem Layout geschehen kann:

  • Halten Sie die unteren Spuren so kurz wie möglich. Ich sehe ziemlich lange Läufe. Dies ist nicht erforderlich, und Sie benötigen entweder die Ober- oder die Unterseite, um so viele Triebwerke/Trassen wie möglich zu verlegen. Sobald Sie im klaren sind (das Signal ist von überfüllten uC entfernt), fahren Sie mit dem Routing auf der obersten Ebene fort
  • Nutzen Sie Ihr Routing-Raster besser. Es gibt viele unebene Stellen. Ich route auf 1 mm, mit einem Altraster von 0,1 mm, mit 0,2 mm Spuren. Dies ermöglicht eine sehr einfache Kontrolle über das Intervall der Spuren und bietet auch die Möglichkeit, Signalgruppen fast wie einen Bus zu routen.
  • Nehmen Sie die Signale nicht so weit vom uC weg, bevor Sie Durchkontaktierungen verwenden. Dies nimmt nur wertvollen Platz auf der obersten Ebene ein. Wenn Sie beispielsweise die Vias auf den drei Spuren über C52 bis zu den Pins ziehen, können die drei darüber liegenden Signale problemlos bis zu D21 geführt werden, ohne die Schicht zu wechseln. Sie könnten sich sogar dafür entscheiden, die Leiterbahn unterhalb von R15 auf der untersten Schicht zu routen, um die Routing-Effizienz noch zu erhöhen.
  • Das ist vielleicht eine persönliche Vorliebe: Was hat es eigentlich mit den geschwungenen Linien auf sich? Es ist wirklich schwierig, Signale mit dieser Art von Trace schön und eng zusammen zu routen. Es macht die Dinge nur weniger organisiert und schwieriger für dich.
  • Nutzen Sie den Platz unter dem Chip besser aus. Das Debuggen wird schwieriger, stellen Sie also sicher, dass Sie dafür bereit sind, aber zum Beispiel: Nehmen Sie die vier Durchkontaktierungen unter dem Chip bis zur unteren linken Ecke und führen Sie die drei Signale oben links auf dem Chip alle durch Weg in die untere rechte Ecke und erst dann zur untersten Ebene springen. Bringen Sie noch besser alle oberen Vias in die Nähe des Chips und führen Sie die Signale oben links nicht unter, sondern im Uhrzeigersinn um den uC herum.
  • Machen Sie diese sehr scharfen Ecken nicht auf Pads, wie auf D51 oder dem oberen rechten Stift des uC. Dadurch können kleine Kupfer-/Ätzsplitter entstehen, die für den Leiterplattenhersteller schwer zu reinigen sind. Diese Splitter können sich bei der weiteren Montage lösen und zu Kurzschlüssen führen. Eher ein Problem bei den inneren Schichten, aber immer noch eine gute Praxis
  • NUTZE FLUGZEUGE!!!! wirklich, das ist ziemlich wichtig. Leiten Sie so viele Signale auf der obersten Schicht und füllen Sie die untere Schicht mit Versorgungsebenen (entweder Masse oder VCC) und verwenden Sie zwei Vias, um die Leistung zum oberen Entkopplungskondensator und dann direkt zu den Pins zu bringen. Vermeiden Sie lange Läufe auf solchen Spuren.

Ich habe eine brennende Leidenschaft für Board-Design, daher würde ich gerne alle Änderungen überprüfen, die Sie vornehmen. Ich habe irgendwo ein zweischichtiges MCU-Beispiel, ich werde versuchen, es für Sie zu finden.

Bearbeiten: Ich habe mein zweischichtiges Design nicht gefunden, aber ich habe ein vierschichtiges Design, das nur die oberste Schicht für Signale mit gelegentlichen Sprüngen zur unteren Schicht verwendet. Wenn Sie es so auslegen, lässt Ihre untere Schicht viel Platz, um die MCU-Pins mit Strom zu versorgen und Kondensatoren zu entkoppeln:

oberste Schicht

untere Schicht

Beachten Sie, dass, obwohl der SPI- und SWD-Bus durch die MCU läuft, die Auswirkungen auf die untere Schicht nicht so schlimm sind. Immer noch Raum für Verbesserungen, obwohl ich auf dieses Design zurückblicke :) Achten Sie nur darauf, die Masseebene unter großen Signalbussen (Rückströme usw.) zu schneiden. Ich habe eine interne Masseebene in diesem Board, wenn Sie dies nicht tun, müssen Sie in dieser Hinsicht besonders vorsichtig sein. Sie könnten Signale enger anordnen. Ihr Board sollte den Platz haben, den Sie suchen, solange Sie methodisch vorgehen. Viel Spaß beim Routen!

+1 allein für die Leidenschaft, die in Ihrer Antwort offensichtlich ist, auch ohne dass Sie dies ausdrücklich sagen :)
"Es ist wirklich schwierig, Signale mit dieser Art von Verfolgung schön und eng zusammen zu leiten. Es macht die Dinge nur weniger organisiert und schwieriger für Sie selbst." Einige ECAD-Tools haben jetzt abgerundete Ecken als Funktion, die man einfach aktiviert. Sie müssen sie nicht manuell runden, wenn Sie dies von OP vorschlagen

Hier sind einige allgemeine Richtlinien:

  • Halten Sie Ihre Grundebene intakt; laufen Sie nicht durch lange Spuren. Verwenden Sie Vias, um Masse über Bündel von Leiterbahnen "springen" zu lassen, und nähen Sie die unteren / oberen Masseebenen mit vielen Vias zusammen. Eine Grundplatte, die in viele kleine, kaum miteinander verbundene Teile zerbrochen ist, ist das Schlimmste, was Sie Ihrer Signalintegrität antun können. (Abgesehen davon, dass Sie natürlich überhaupt keine Grundebene haben - das ist noch schlimmer.)
  • "Bündeln" Sie Leiterbahnen zusammen, um sie einfacher umfahren zu können. Nebeneinander verlaufende Leiterbahnen verursachen bei einer MCU keine Probleme mit der Signalintegrität, sondern das Fehlen einer Masseebene. Versuchen Sie im Allgemeinen, die Dinge kompakt zu halten, damit Sie genug Platz um und zwischen ihnen haben, um Ihre Grundebene zu platzieren.
  • Wenn Sie analoge Eingänge zu Ihrer MCU haben, sollten Sie erwägen, einen kleinen Kondensator (z. B. Größe 0402) mit ~100 pF direkt an jedem der analogen Eingangspins der MCU hinzuzufügen, wenn Ihre Schaltung dies tolerieren kann.
  • Legen Sie die richtigen Designregeln in Ihrer PCB-Software fest. Dazu gehören die minimale Leiterbahnbreite, die minimale Bohrer- / Via-Größe und die minimalen Abstände. Sie können bis zu diesen Grenzen gehen, wenn es Ihr Layout verbessert.
  • Führen Sie einen DRC durch, bevor Sie die Leiterplatte zur Herstellung einreichen, um sicherzustellen, dass sie tatsächlich hergestellt werden kann.
  • Erwägen Sie, Ihren Chip um 45° zu drehen, dies erleichtert oft das Routing mit horizontalen/vertikalen Leiterbahnen. (Wirklich! Probieren Sie es aus!)
  • Vias sind in Ordnung. Sie bestehen aus Kupfer, genau wie Ihre Leiterbahnen, und leiten den Strom genauso gut. Machen Sie keine Spuren länger, nur um ein paar Durchkontaktierungen zu vermeiden.
  • Kreuzungsspuren sind in Ordnung. Zwei sich kreuzende Leiterbahnen sind aufgrund der Dicke der Leiterplatte, die höchstwahrscheinlich > 1 mm beträgt, tatsächlich ziemlich weit voneinander entfernt. Der tatsächliche Bereich, in dem sich die Spuren überlappen, ist ebenfalls winzig.
Die 45 Grad sind ein netter Trick, den viele meiner Meinung nach nicht in Betracht ziehen. Wir neigen dazu, nicht um die Ecke zu denken und nur um 90 Grad zu drehen.
+1 Ich bin gekommen, um als Antwort "um 45 Grad drehen" zu posten, aber jetzt sehe ich, dass Sie das und mehr bereits behandelt haben. Wirklich, eine Drehung um 45 CCW macht es so viel einfacher, weil dann alle nach unten führenden Spuren ohne Konflikte und Umwege tun können, mit der einzigen Ausnahme der vier, die derzeit in der oberen rechten Ecke sind, und die können unter dem Chip geroutet werden.

Beim Routing dreht sich alles um die Platzierung der Komponenten.

Dies ist ein Mikrocontroller, also wird es viel GPIO haben. Einige von ihnen werden austauschbar sein, andere nicht. Normalerweise lassen sich alle analogen Eingänge untereinander tauschen, aber natürlich nicht mit rein digitalen Pins. Einige Peripheriegeräte haben möglicherweise feste Pinbelegungen, oder die Pins können flexibel sein, es hängt vom Mikro ab.

Wenn Ihnen also das Layout nicht gefällt (ich nehme an, dass dies der Fall ist, da Sie fragen), speichern Sie es unter einem anderen Dateinamen und entfernen Sie alle Spuren um das Mikro herum. Bewahren Sie nur die Entkopplungskappen auf, da diese dicht sein sollten.

Trennen Sie dann im Schaltplaneditor alle Netze für alle austauschbaren Pins und lassen Sie nur die Pins übrig, die nicht ausgetauscht werden können. Alle austauschbaren GPIOs sollten unverbunden bleiben, da sie an dieser Stelle nur eine Ablenkung darstellen. Später, wenn die "unbeweglichen" Signale geroutet wurden, können Sie austauschbare Signale mit dem für das Routing am besten geeigneten Pin verbinden und dann #defines im Code aktualisieren.

Wenn sich alle analogen Eingänge auf derselben Seite des Chips befinden, können Sie sie angeschlossen lassen. Sie können Farben auf Ihren Netzen verwenden, wenn Sie möchten, um Pins zu kennzeichnen, die absolut nicht austauschbar sind (wie SPI, I2C ...) und möglicherweise zwei verschiedene Farben für Gruppen von austauschbaren Pins (z. B. analog, GPIO).

Dann können Sie das Mikro bewegen und drehen, ohne von den Stiften abgelenkt zu werden, die das Routing nicht wirklich einschränken. Sie können es auch um 45 ° drehen, manchmal macht es die Sache einfacher.

Wenn dies immer noch nach Kopfschmerzen aussieht, ziehen Sie vielleicht in Betracht, einige Blöcke auf Ihrem Board zu verschieben. Manchmal kann das Routing vereinfacht werden, indem eine Komponente an eine andere Stelle auf der Platine verschoben wird, manchmal ist die zu verschiebende Komponente ziemlich weit vom Mikro entfernt.

Ein häufiger Fehler (ich habe es getan) besteht darin, alles vom gesamten Board auf die bequemste Weise zum Mikro zu leiten, aber wenn Sie dann zum Mikro gelangen, ist alles in der falschen Reihenfolge und Sie stecken fest. Wenn Sie stattdessen eine Gruppe von Spuren haben, die in einer bestimmten Reihenfolge ankommen müssen, um auf den richtigen Stiften zu landen, können Sie das erforderliche Durcheinander von Durchkontaktierungen irgendwo anders auf dem Weg platzieren. Tatsächlich ist "überall außer in der Nähe des Mikros" tendenziell vorzuziehen, da der Bereich in der Nähe des Mikros überlastet sein wird.

Ein kleiner Erdungskupferguss unter dem Mikro ist ein Plus: Es verhält sich besser, wenn alle Erdungsstifte gut miteinander verbunden sind. Bei Powerpins (falls es sogar mehr als einen gibt) ist es weniger nötig, da man pro Pin eine Entkopplungskappe verwenden kann. Der Bereich unter dem Mikro, auf derselben Schicht, weist normalerweise nur wenige Spuren auf, da sie sich nur durch die Ecken einschleichen können. Dies ist also der ideale Ort für einen Bodenguss. Es muss nicht die gesamte Fläche ausfüllen, sondern nur mit Erdungsstiften verbunden werden, sodass Sie unbedingt auf beiden Seiten der Pad-Reihen Durchkontaktierungen vornehmen können.

Wenn Sie zweischichtig bleiben möchten, wählen Sie einen strukturierten Ansatz und verwenden Sie ein Manhattan-Layout. Das bedeutet, dass auf einer Seite der Platine nur Ost-West-Spuren, auf der anderen nur Nord-Süd-Strecken verlaufen, mit einem Via, wo immer es nötig ist. Legen Sie zuerst Erdungsspuren zwischen ICs, Versorgungen, Anschlüssen, dann einen VCC und dann Ihre Signale. Sie werden viele Vias verwenden, haben aber immer einen systematischen Weg, um von A nach B zu gelangen.

Dieser Ansatz kann fast so gut sein wie die Verwendung einer richtigen Masseebene, die bei weitem vorzuziehen wäre, aber wirklich vier Schichten benötigt. Lassen Sie sich nicht dazu verleiten, Spuren auf Ihrer Bodenschicht zu verlegen.

Gibt es Beispiele und allgemeine Richtlinien für das Routing von Ablaufverfolgungen in einer solchen Situation?

Ja, einige Faustregeln:

  • Wenn Sie mit einem Abstand von 0,5 mm oder kleiner arbeiten, verwenden Sie immer mindestens 4 Schichten.
  • Wenn Sie sich mit QFP oder QFN im Allgemeinen befassen, verwenden Sie immer mindestens 4 Schichten.

Sie sollten dies vor allem anderen beheben. Zum Beispiel beziehen sich Kommentare über lange Bodenspuren usw. auf das Fehlen einer dedizierten Bodenschicht.

Und ja, Sie können LQFP48 mit 2 Schichten machen. Ich habe sogar alle Spuren von diesen auf selbstgemachten Eval-Boards mehrmals von Hand gelötet. Aber beides ist nicht professionell.
Wenn ich QFP48 auf zwei Schichten machen müsste, hätte ich, denke ich, immer noch eine Ebene, auch wenn nur um den IC herum, und viele vorgecrimpte Jumper verwenden, egal ob SMD oder Durchgangsloch. Das Verlegen von Bodenspuren, die überall hin müssen und allem im Weg stehen, ist ärgerlich.
Nun, es ist heutzutage irgendwie lächerlich, dies auf 2 Schichten zu tun, da der Preisunterschied zwischen 2 und 4 vernachlässigbar ist und 4 Schichten eine große Verbesserung bewirken, insbesondere in Bezug auf EMI. Angenommen, Sie haben zum Beispiel einen externen Quarz, und das Zeichnen von Spuren dorthin wird ein EMV-Albtraum sein.