Howto Kleine Einführung in den hierarchischen Block (HB) bei LTspice

RudiS

Absoluter Profi
Member
Landesflagge
"Halt, mein Freund! Wer wird denn gleich in die Luft gehen! Greife lieber zum HB!
Dann geht alles wie von selbst. HB benutzen heisst frohen Herzens simulieren..."

Spass beiseite! Da es hier noch gar keinen Beitrag zum sogenannten 'hierarchischen Block' (HB) gibt,
habe ich versucht, eine kleine Einführung dazu zu schreiben. Im folgenden die Kurzfassung, ausführlich erläutert wird man alles in einem Archiv finden,
das ich in der Folge diesem Beitrag nachträglich hinzufügen werde.

Es gibt in der LTspice-Hilfe natürlich auch einen Passus über den HB unter "Schematic Capture / Hierarchy",
ich möchte jedoch anmerken, dass die partiell m.E. überkorrekte Ausdrucksweise womöglich das Verständnis erschwert.

Was ist denn ein hierarchischer Block überhaupt?
Kurz gesagt: eine Teilschaltung aus einem umfangreichen (komplexen) Hauptschaltplan.

Dabei ist es von Vorteil, wenn diese Teilschaltung eine Funktionseinheit darstellt, unbedingt nötig ist dies jedoch nicht.
Als Funktionseinheit kann man sie (meistenteils) unabhängig vom Hauptschaltplan testen.

Sehen wir uns ein Beispiel an, den Schaltplan eines Effektgerätes für Gitarristen.

01__HB_chod2_full.png

Die rot umrandeten Baugruppen sind potentielle Kandidaten für einen hierarchischen Block (HB):
zwei gleichartige Baugruppen für die Spannungsversorgung, das FlipFlop für die Steuerung der FET-Schalter und drei diskret aufgebaute Opamps.

Exemplarisch skizziere ich das Vorgehen an der Spannungsversorgung. Da wir zwei fast identische Teile haben,
eignet sie sich besonders gut, um auch die Schachtelung von HBs (hierarchischer Block im hierarchischen Block) zu demonstrieren.
Eines noch vorweg: Die Spannungsangaben im Schaltbild sind symbolisch gemeint. Es ist völlig klar, dass wenn wir 9V hineingeben,
nach Durchlaufen eines Transistors bei "o1" nicht die gleichen 9V herauskommen. Das gilt auch für die anderen Ausgänge.

02__HB_chod2_PSU.png

Wir zeichnen in LTspice nur einen Teil der Spannungsversorgung und benennen die Anschlüsse (nodes).

03__HB_chod2_PSU_TS1-schema.png

Auf dem Schaltplan bitte noch die folgende Zeile einfügen:
.include 2N4401_C.model
Das Ganze speichern wir dann unter "CHOD2-VR_HB.asc".

Anschliessend entwerfen wir dazu ein einfaches, rechteckiges Symbol. Für die Grösse kann man sich
an dem untenstehenden Screenshot orientieren: wenn man die Länge zwischen zwei Punkten mit 'a' bezeichnet,
so schaffen wir ein Quadrat mit der Seitenlänge 6a. (Falls erforderlich bitte LTspice Hilfe lesen! Abschnitt "Creating New Symbols")
Alle im Schaltplan aufgeführten Anschlüsse müssen auch im Symbol vorhanden sein (COM nicht vergessen!).
Die Anschlüsse im Symbol werden Pins genannt. Wichtig ist nur, dass der Pin Label identisch ist mit den Bezeichnungen in der Teilschaltung,
da die elektrische Verbindung zwischen Teilschaltung und Haupschaltung über die Pins hergestellt wird!

04a__HB_chod2_PSU_TS1-sym+pinprop.png

Beschriftung der Pins (manuell):
Die Benennung der Pins auf dem Symbol sollte möglichst mit dem Pin-Label übereinstimmen (muss aber nicht).
Eingabe wie folgt:
Rechtsklick / Draw / Text, Text eingeben, für die linke Seite Justification left, Font Size 1.0, OK und mit Linksklick ablegen.
Für die rechte Seite Justification right!
Bei mehrfacher Verwendung der Teilschaltung brauchen wir ein für uns sichtbares ID (Instanznamen):
Rechtsklick / Attributes / Attribute Window und klick InstName, OK und mit Linksklick oberhalb des Rechtecks ablegen.

Als Parameter deklarierte Bauteile tragen wir ein über:
Rechtsklick / Attributes / Edit Attributes, und zwar bei Spiceline:
Rechtsklick (unterhalb von value) und eintragen: Cpuf=100u Rdiv=4k7
Bei Description einen beschreibenden Text: Rechtsklick und eintragen: CHOD2_Teilschaltung-1_HB
Ganz oben bei "Symbol Type" sollte "Block" (als Voreinstellung) gewählt sein.
Alle anderen Zeilen bleiben frei.
Das sollte dann so aussehen:

04b__HB_chod2_PSU_TS1-sym+attr.png

Als nächstes zeichnen wir die Teilschaltung 2: 2mal unser Symbol von Teilschaltung 1 und ein paar zusätzliche Bauteile.
Die Verpolungsschutzdiode lassen wir weg, weil wir alles richtig herum anschliessen. ;-)

05__HB_chod2_PSU_TS2-schema.png

Eine Besonderheit: im zweiten (rechten) Teil der Spannungsversorgung ist der Pufferelko auf 10uF reduziert,
die Spannungsteilerwiderstände sind auf 10k erhöht
. Diese Werte ändern wir nicht im Schaltplan,
sondern durch Parameter override:
Rechtsklick auf Symbol X2, die bei "PARAMS:" angezeigten ursprünglichen Werte ändern wir auf "Cpuf=10u Rdiv=10k" und OK.

06__HB_chod2_PSU_TS2-Params.png

Nach der Änderung speichern nicht vergessen: CHOD2-PSU_HB.asc!

Nun müssen wir auch für die Teilschaltung 2 ein Symbol entwerfen, einfach und schmucklos:

07__HB_chod2_PSU_TS2-sym+attr.png

Bei den Attributen tragen wir bei Description ein: CHOD2_PSU_HB, OK und speichern das Symbol ab unter CHOD2-PSU_HB.asy.

Wir haben bis hierhin: zwei Teilschaltungen und zwei dazugehörige Symbole.
Fehlt noch der Hauptschaltplan, eine Testschaltung.
Und die ist super-einfach: wir lassen uns die Ausgangsspannungen anzeigen.
Die Werte der jeweiligen Ausgangsspannungen finden wir in der LOG-Datei.

08__HB_chod2_PSU_HS+LOG.png

Wenn wir nun - wir befinden uns im Hauptschaltplan - den darunter liegenden Teilschaltplan 2 anzeigen lassen wollen:
einfach Rechtsklick auf das Symbol und "Open Schematic":

09__HB_chod2_PSU_HS+R-Klick.png

10__HB_chod2_PSU_HS+TS2.png

Desgleichen können wir uns zusätzlich Teilschaltung 1 anzeigen lassen.
In Teilschaltung 2 Rechtsklick auf das entsprechende Symbol und "Open Schematic":

11__HB_chod2_PSU_HS+TS2+TS1.png

Für nur momentane Korrekturen mögen überlappende Fenster angehen, bessere Übersicht gewährt ein Klick auf "Tile Windows" im Toolbar:

12__HB_chod2_PSU_HS+TS2+TS1_TW.png

In solch einer Anordnung kann man bequem experimentieren, Bauteile ändern und den Effekt der Änderung beobachten,
ja, man kann sich sogar per Mouse cursor Spannungen und Ströme anzeigen lassen auf dem Statusbar, auch in den Teilschaltungen:
ein grosser Vorteil, den es nur beim hierarchischen Block gibt!
----------------------------​

Irgendwie erinnerte mich der HB immer an das Lied "Judy in disguise":
vielleicht, weil der hierarchische Block ja auch in einer Art "Maskierung" daherkommt:
mal verbirgt sich jemand hinter einer grossen Sonnenbrille, mal hinter einer kunst- und prunkvollen Maske wie beim venezianischen Karneval.
Wer das nicht versteht, weiss wahrscheinlich auch nicht, wie Teilschaltung auf englisch heisst.
Ein Blick in die Netliste, vor allem von Teilschaltung 1, öffnet eine Tür.
Man muss nur den Mut haben, hindurchzugehen. [Das ist kein Zen-Koan! (Oder doch?) . . . ;-) ]

Eine frohe vorweihnachtliche Zeit wünscht

RudiS
 

Anhänge

  • HBlock.zip
    556,7 KB · Aufrufe: 0
Zuletzt bearbeitet:

Ähnliche Themen

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Wer hat diesen Thread gelesen

Zurück
Oben