banner
Heim / Blog / Code erkunden
Blog

Code erkunden

Dec 28, 2023Dec 28, 2023

Im Gegensatz zur Programmierung, bei der ein Entwickler eine Funktion schreiben kann, die sie an anderer Stelle im Programm mehrfach verwenden kann, mangelt es beim Leiterplattendesign noch an diesen Funktionen. Beispielsweise kann das Erstellen und Anordnen eines LED-Rasters mit Verbindungen zu bestimmten Pins oder das Hinzufügen eines Testpads für jeden Eingang eines Steckers viel Zeit in Anspruch nehmen. Aber wie Cayden Pierce in seinem neuesten PCB-Projekt zeigt, ermöglichen moderne Tools wie JITX Ingenieuren, Platinen durch das Schreiben von Code zu erstellen, anstatt Footprints auszuwählen, was eine breite Palette von Möglichkeiten in der Automatisierung und Erweiterbarkeit ermöglicht.

Ein gutes Beispiel für diese Technik ist die Erstellung einer Breakout-/Testplatine für Kabel, da jeder Pin ein Testpad, eine LED und eine Beschriftung benötigt. Über diese Anforderungen hinaus würde der USB-C-Kabeltester von Pierce aufgrund der Helligkeitsunterschiede zwischen ihnen auch einen anderen Strombegrenzungswiderstandswert für jede LED benötigen. Bei einem Kabel innerhalb des USB-Kabels wird eine Spannung vom Quellenende gesendet und am anderen Ende empfangen, das sowohl mit einem Testpad als auch mit einer strombegrenzten LED verbunden ist, die aufleuchtet, wenn das Kabel ordnungsgemäß leitet.

Der erste Schritt beim Entwurf der Leiterplatte bestand darin, ein Stromnetz für die positive Spannungsleitung zu definieren und alle Pins des „Quell“-USB-Steckers damit zu verbinden. Von hier aus wurden Testpunkte innerhalb einer Schleife definiert, die eine Beschriftung zuweist und sie in der Nähe des Pads platziert sowie das Pad mit dem zugehörigen Pin am anderen USB-Anschluss verbindet. Die LEDs wurden ebenfalls programmgesteuert definiert, außer dass die Erstellungsfunktion aufgrund ungleichmäßiger Helligkeitsstufen zwischen den Farben auch die Farbe bei der Auswahl des Widerstandswerts berücksichtigt.

Traditionell erfordert der Übergang von der Schaltplan- zur PCB-Phase des Schaltungsentwurfs in einem älteren EDA-Tool das Ziehen jedes Footprints auf die Platine und das Verlegen von Leiterbahnen entsprechend den Netzen, was viel Zeit in Anspruch nimmt. Pierce konnte jedoch durch eine einfache Arithmetik innerhalb derselben Schleife, in der sie definiert sind, programmgesteuert festlegen, wo jedes Testpad/Widerstand/LED eingestellt werden soll. Der letzte Schritt bestand darin, die Autorouter-Funktion von JITX zu verwenden, die mit minimalem menschlichen Eingriff automatisch Ablaufverfolgungen zwischen Komponenten durchführt.

Durch die Entscheidung für ein Code-First-Design zeigte Pierce, wie er beim Design seiner USB-C-Kabeltestplatine im Vergleich zu herkömmlichen Methoden Stunden Zeit sparen konnte. In Zukunft könnte er problemlos weitere Komponenten, zusätzliche Leitungen oder andere Anschlüsse hinzufügen und schnell Routen und Layouts erstellen. Seinen Code und das Tutorial können Sie hier in seinem Blogbeitrag ausführlicher lesen.