In diesem Artikel werden wir lernen, wie man Altium Designer® verwendet, um zusätzliche Funktionen zu implementieren, die standardmäßig nicht verfügbar sind. Wir werden einen mächtigen Aspekt von Altium Designer entdecken, der, wenn er beherrscht wird, Ihre Designfähigkeiten auf ein höheres Niveau bringen kann. In diesem Artikel werden wir besprechen, wie man ein Skript implementiert, um die Designverifizierung für Sie durchzuführen.
Wir werden lernen:
Heutzutage sind Designs sehr komplex. Im Allgemeinen haben Kunden die Erwartung an ihre PCB-Designer, dass ihre Platinen beim ersten Mal funktionieren. Um dies zu erreichen, ist die Aufmerksamkeit für Details entscheidend.
In diesem Beispiel sehen wir, wie man ein Skript erstellt, das in einem realen Design verwendet werden kann. Betrachten wir das folgende Designproblem:
Wir müssen eine hochauflösende ADC-Platine mit einem 16-Bit-ADC-Wandler entwerfen. Der ADC-Wandler hat eine Eingangsimpedanz von 1 kΩ. „Was ist die maximale Leiterbahnenimpedanz zwischen Treiber und ADC, um einen Fehler unter 1 LSB zu erreichen?“ „Können wir ein Skript entwerfen, das uns dabei helfen kann?“
Abbildung 1 entwirft eine Spur eines hochauflösenden ADC
Um diese Frage zu beantworten, müssen wir den Widerstand der Spur berechnen und überprüfen, ob der Spannungsabfall auf der Spur höher als 1 LSB ist.
Um den Widerstand der Spur zu berechnen, können wir die folgende Formel verwenden:
Zum Beispiel:
Angenommen, unsere Spur hat die folgenden Abmessungen: L = 10 cm, h = 0,035 mm, w = 0,381 mm. Unter Verwendung von [1] und unter der Annahme, dass die Umgebungstemperatur 25 °C beträgt, ist die Gleichstromimpedanz der Spur 129 mΩ, dies führt zu einem Spannungsfehler von 0,013 %, weit über 1 LSB (0,0015 %) eines 16-Bit-ADC. Somit gibt uns die oben genannte Spur einen Offsetfehler von fast 9 LSB!
Ist es möglich, Altium Designer zu bitten, all diese Überprüfungen für uns durchzuführen? Möglicherweise in Echtzeit?
Die Antwort ist natürlich ja.
Lasst uns ein Skript entwerfen, das uns diese Informationen gibt.
Wir möchten in der Lage sein, auf eine Spur zu klicken, und wir möchten, dass Altium Designer einige Überprüfungen für uns durchführt, wie zum Beispiel den Widerstand der Spur zu berechnen, den Spannungsabfall zu berechnen usw.
Abbildung 2 Beispiel für Informationen aus unserem Demo-Skript
Altium Designer akzeptiert Skripte in einigen Sprachen, während meiner Karriere habe ich viele Sprachen verwendet, aber eine der ersten Sprachen, die ich in meinem Berufsleben verwendet habe, war Delphi, deshalb habe ich mich entschieden, dieses Skript in Pascal zu schreiben. Sie können jedoch auch andere Skriptsprachen wie Visual Basic verwenden, wenn Sie möchten.
Lassen Sie uns sehen, wie man ein Skript in Altium Designer entwirft, das das oben genannte Problem löst.
In unserem Skript möchten wir:
1. UNSER PCB-BOARD LADEN
Die erste Anweisung, die wir ausführen wollen, ist, unser PCB-Design zu laden und es in einer Variablen namens Board zu speichern. Wir können dies mit der folgenden Anweisung tun:
2. DEN LAGENSTAPEL LADEN
Nachdem das Board geladen ist, wollen wir den Lagenstapel laden und in einer Variablen namens Stackup speichern:
3. LADEN DER VOM BENUTZER MIT DER MAUS AUSGEWÄHLTEN LEITERBAHN
Wir können nun die Methode GetObjectAtCursor() verwenden, um die ausgewählte Leiterbahn zu erhalten und in einer Variablen namens Trace zu speichern.
4. BERECHNUNG DES WIDERSTANDS DER LEITERBAHN MIT DER FORMEL [1]
Nachdem der Benutzer eine Leiterbahn mit der Maus ausgewählt hat, möchten wir die Breite, Länge und Höhe der Leiterbahn berechnen und in drei Variablen namens TraceThickness, TraceWidth und TraceLength speichern:
Schließlich können wir den Widerstand der Leiterbahn Res mit der [1] berechnen, den Spannungsabfall berechnen (unter der Annahme, dass der ADC eine Vref von 1V hat).
5. ANZEIGE DES FEHLERS DER LEITERBAHN UND DES ADC-FEHLERS
Nachdem alle Berechnungen durchgeführt wurden, können wir diese auf dem Bildschirm anzeigen. Eine einfache Möglichkeit, dies zu tun, ist die Verwendung der MessageDlg()-Fenster.
OutputString := 'Leiterbahndicke = ' + FloatToStrF(TraceThickness,0,5,4) + ' mm' + #13#10; OutputString := OutputString + 'Leiterbahnbreite = ' + FloatToStrF(TraceWidth,0,5,4) + ' mm' + #13#10; OutputString := OutputString + 'Leiterbahnlänge = ' + FloatToStrF(TraceLength,0,5,4) + ' mm' + #13#10#13#10#13#10; OutputString := OutputString + 'Leiterbahnwiderstand = ' + FloatToStrF(Res,0,5,4) + ' mOhm' + #13#10; OutputString := OutputString + 'Spannungsabfall der Leiterbahn = ' + FloatToStrF(VoltageDrop,0,2,2) + ' %' + #13#10; OutputString := OutputString + 'ADC LSB = ' + FloatToStrF(ADCLSB,0,2,2) + ' %'; MessageDlg(OutputString,mtInformation,4,0);
Wie man das Skript ausführt
Um das Skript zu testen, klicken Sie in Ihrem PCB-Dokument auf Datei->Skript ausführen…
Dann wählen Sie Ihr Skript aus:
Sie sollten jetzt ein großes Kreuz sehen:
Klicken Sie auf die Leiterbahn, die Sie analysieren möchten.
Nun sollten Sie das Nachrichtenfenster mit den Berechnungen sehen:
Es ist möglich, dieses Skript zu erweitern und eine ausgefeiltere Prüfung hinzuzufügen, zum Beispiel die Leiterbahnen zu einem Bogen zu erweitern und den Effekt der Temperatur hinzuzufügen, usw. Ich werde dies als Übung für Sie überlassen.
Wir haben gesehen, dass Altium Designer, einmal gemeistert, verwendet werden kann, um komplexe Aktionen für uns durchzuführen. In diesem Beispiel haben wir gesehen, wie es möglich ist, die DC-Spurimpedanz mit nur einem Klick zu messen und wie man den Spannungsfehler in einem Hochauflösungs-ADC-Design abschätzen kann.
Dieses Demo-Skript hat viele Einschränkungen, kann aber als Basis für Ihre eigenen Altium Designer-Erweiterungen verwendet werden.
Haben Sie weitere Fragen? Rufen Sie einen Experten bei Altium an oder entdecken Sie mehr über die besten PCB-Designsoftware-Funktionen und den Spurimpedanzrechner in Altium Designer.