Hallo zusammen,
durch einen anderen Beitrag bin ich auf folgendes (zugegeben extremes)
Beispiel für die Nutzung von Labels anstelle von Linien gestoßen:
http://www.mikrocontroller.net/attachment/187717/MK_STM32F4_Sensorboard_Schematic.pdf
Früher™ kannte ich Labels nur, um Leitungen oder Busse über
unterschiedliche Schaltplanseiten zu verbinden, im Umfeld von
Mikrocontrollerschaltungen finden sie sich oft immer mehr als alleinige
Verbindung auch von Bausteinen auf der gleichen Schaltplanseite, wo ich
eher Leitungen oder Busse erwarten würde. Generell scheinen Busse aus
der Mode zu kommen.
Ist die vermehrte Sichtung dieser Darstellungsweise eher auf die
größerwerdende Ansammlung von Hobbyisten und Wahrnehmungsverzerrung
zurückzuführen oder ist das eher ein Trend, für den es gute Gründe gibt?
Viele Grüße
Nicolas
Das hat den Sinn das es einfach Übersichtlicher ist, besonders bei
mehrseitigen Schaltplänen. So kann man sich einfach die Netznamen merken
und muss nicht ewig die Verbindungslinien verfolgen.
Wie sonst willst du über mehrere Seiten hinweg Bauteile verbinden.
Durch dieses Labelgrab ist man in der Lage A4 große Schaltpläne
übersichtlich und struktuiert zu gestalten und muss nicht A0 Blätter
verwenden. Ebebnso kann den Schaltplan geschickt in voneinander
unabhängige Baugruppen aufsplitten. Es ist doch vorerst relativ egal an
welchem Pin genau nun der Taster angeschlossen wird und wenn, dann suche
ich eben den Pin am uC. Der Aufwand dürfte der selbe sein, wie die
Leitung nachzuvollziehen in einem Schaltplan mit fast keinen Labels.
Ebenso interessiert mich der Taster nicht, wenn ich den Gyro anschaue.
Wie du auch siehst, wird in dem Beispiel eine A4 Seite für
zusammenhängende Peripherie benutzt, I2C, SPI, Equipment, ...
Und da eine I2C Schnittstelle nur aus zwei Leitungen besteht, ist der
Gewinn ein Bus als Signal zu verwenden nichtexistent.
Und ich denke es ist ebenso unnötig aufzuzeigen, dass die Bauteile auf
der I2C Seite am I2C Bus hängen, das ist offensichtlich und daher
erübrigt es sich, meiner Ansicht nach, einen Bus einzuzeichnen.
Es wir aber nur dann Übersichtlicher, wenn an den Labels auch Referenzen
stehen, also wo und auf welche Seite geht das Signal genau hin. Bei dem
Beispiel oben wird alles nur viel unübersichtlicher. Niemand weiß, wie
viele ICs am Bus hängen. Man muss erst alle Pläne durcharbeiten.
Warum hat der Ersteller es nicht geschafft den USB-Filter an die USB
Buchse zu zeichnen? Sind zwei Leitungen schon so unübersichtlich? Und
jetzt sagt nicht durch die Trennung von Connectoren und ICs, denn daran
hat er sich bei den beiden Anschlüssen im Schaltplan des STM32 selbst
nicht gehalten. Nicht sehr konsequent. Ich finde, der Schaltplan ist ein
gutes Beispiel dafür, wie man es nicht machen sollte. Der Plan ist
einfach nur extrem unübersichtlich.
LG Christian
Stimme Dir zu.
Das ist ein Schlatplan für einen rechner, dem ists wurschtob Label oder
Linien.
Aber "human interface" sieht anders aus.
Richtig problematisch ist, wie schon erwähnt: Was hängt alles an einem
Label? An einem Signal?
Hallo Frank,
daß Dein Schaltplan hier steht, ist reiner Zufall, nicht weil er ein
besonders abschreckendes, sondern eher ein typisches Beispiel ist.
Nicht für ungut.
@Christian L. (cyan)
>nicht gehalten. Nicht sehr konsequent. Ich finde, der Schaltplan ist ein>gutes Beispiel dafür, wie man es nicht machen sollte. Der Plan ist>einfach nur extrem unübersichtlich.
Genau. Man kann es auch übertreiben. I2C Pull-Ups mit Labels ;-)
Was kommt als nächstes? Nur noch Netzlisten?
Ich versuche i.d.R. den Schaltplan in Funktionsgruppen zu unterteilen.
So ähnlich wie in dem Beispiel. Ich versuche dann auch immer den
Leitungen Namen zu geben, die direkt erahnen lassen wohin es geht. Also
jetzt nicht nur sowas wie SCL0 sondern SCL_GYRO usw.
Ich finde das jedenfalls übersichtlicher als Leitungen komplett über den
Schaltplan zu ziehen. Aber meine Platinen waren bislang auch noch nie so
komplet wie in dem Beispiel.
Nicolas S. schrieb:> Hallo Frank,> daß Dein Schaltplan hier steht, ist reiner Zufall, nicht weil er ein> besonders abschreckendes, sondern eher ein typisches Beispiel ist.>> Nicht für ungut.
Ist nicht mein Schaltplan, wird von einem anderen Frank stammen :-)
Ich gebe aber Christian L. recht, in dem Beispiel ist es übertrieben,
was mir beim ersten drüber schauen nicht so aufgefallen ist. Es ist
quatsch das USB-Filter vom Stecker zu trennen, ich habe bspw. ewig
gebraucht um das Filter zu finden.
Auch ist mir nicht aufgefallen, dass im I2C Blatt zwei I2C Buse hängen,
hier hätte sich natürlich ein Bus einzuzeichnen sehr angeboten.
Ja, also das Beispiel ist wirklich eine Extrembeispiel und hier werden
Labels missbraucht. Sorry, ist mir beim ersten mal nicht aufgefallen,
dass es so ist.
Aber ich nutze selbst labels eben aus meinen zuvor genannten Gründen.
Aber so extrem auftrennen tue ich nicht. So habe ich auch einen großen
Schaltplan über 5 volle A4 Seiten, mit einer sechsten A3 Seite, die ich
nicht in zwei A4 Seiten mit Labels aufsplitten wolllte,
übersichtshalber. Aber bspw. der uC ist bei mir auch meist nur mit
Labels versehen bis auf Quarz, Kondensatoren, Programmierschnittstelle,
nächste Peripherie, ähnlich wie im Beispiel.
Früher suchte man per Auge auf dem ausgedruckten Papier die Verbindungen
zu anderen Funktionsgruppen. Da waren Hilfslinien in Form der Leitungen
oder Busse sinnvoll. Heute macht man einen Doppelklick auf den Label und
läßt den Rechner alle anderen Stellen mit gleichem Namen finden.
Das Verfahren ist daher konsequent auf PCs statt Papier ausgelegt.
Abdul K. schrieb:> Heute macht man einen Doppelklick auf den Label und> läßt den Rechner alle anderen Stellen mit gleichem Namen finden.
Wenn das in einer PDF-Datei funktioniert, sind wir einen großen Schritt
weiter.
Ich habe dazu (leider ohne Zeichnung) auch das krasse Gegenbeispiel
erlebt.
In meiner alten Firma warn Labels verpönnt, jedenfalls als Sprünge.
Ich musste allle (wirklich alle) Netze zeichnen.
Das mit einem Display, UC3, SRAM und noch einger Menge an kapazitiven
Tastern.
Chef meinete immer das wäre übersichtlicher...
Naja 30 Linien direkt nebeneinander waren es nicht mehr.
Ein Bus für Daten und Adressen, wäre schöne gewesen....
Dirk
Wolfgang schrieb:> Wenn das in einer PDF-Datei funktioniert, sind wir einen großen Schritt> weiter.
Bei Altium Designer kann man sich auf jeden Fall PDF mit
Inhaltsverzeichnis erzeugen lassen. Dort sind dann alle Signalnamen mit
Sprungmarken aufgeführt.
Dirk schrieb:> Naja 30 Linien direkt nebeneinander waren es nicht mehr.
Für den Zweck gibt es ja auch immer noch Busse.
Andreas Schweigstill schrieb:> Bei Altium Designer kann man sich auf jeden Fall PDF mit> Inhaltsverzeichnis erzeugen lassen. Dort sind dann alle Signalnamen mit> Sprungmarken aufgeführt.
Das finde ich gut. Eine interaktive Netzliste hätte ich bei Eagle
manchmal auch gerne.
Folgende Arten von Schaltplänen hasse ich wie die Pest:
- Schaltpläne, bei denen innerhalb eines Sheets Verbindungen fast
ausschließlich über Labels gemacht werden, weil der Zeichner zu faul
war, die Verbindungslinien zu zeichnen.
Man ist dann ständig nur am Suchen, welche Bauteile wie miteinander
verbunden sind.
Labels innerhalb eines Sheets sind dann sinnvoll, wenn viele Bauteile
über eine Leitung miteinander verbunden sind. Beispiele sind VCC, GND
und Reset-Leitungen (wenn viele ICs gemeinsam resettet werden). Das
ist aber meist nur eine Handvoll. Alle anderen Verbindungen sollten
als Linien gezeichnet werden.
- Schaltpläne, wo die Bauteile innerhalb eines Sheets zwar durch Linien
verbunden sind, bei der Linienstruktur aber die Anzahl der Ecken und
Kreuzungspunkte mutwillig oder aus Faulheit maximiert wurde.
Ein Schaltplanzeichner sollte, ähnlich wie ein Platinenlayouter, die
Schaltung möglichst gut entflechten. Dazu gehört, dass die Bauteile
erst einmal vernünftig platziert werden, dass Kreuzungen nach
Möglichkeit vermieden werden und dass Leitungen nicht über tausend
kleine Ecken verlegt werden.
Wenn irgendwann die Leitungen nicht mehr vernünftig verlegt werden
können, müssen evtl. die Bauteile etwas weiter auseinander platziert
werden. Dabei ist natürlich derjenige im Vorteil, der ein
Schaltplanprogramm mit halbwegs intelligenter Nachführung der
Verbindungen beim Verschieben der Bauteile benutzt.
Am Ende muss die Schaltung im Gegensatz zu einem Platinenlayout nicht
völlig kreuzungsfrei sein, sollte aber nicht an einen Spaghettitopf
erinnern.
- Schaltpläne, die nur deswegen auf mehrere Sheets verteilt sind, um dem
Zeichner eine Ausrede dafür zu liefern, dass er sämtliche Verbindungen
mit Labels, statt Linien macht. Solche Schaltpläne enthalten im
Extremfall nur ein einzelnes wesentliches Bauteil pro Sheet.
Solche Pläne sind kaum besser zu lesen als eine Tabelle, die für jedes
IC und für jeden Anschluss den Pin- und den Labelnamen enthält, also
eine etwas erweiterte Netzliste.
Besser ist es, auf jedem Sheet eine ordentliche Anzahl von Bauteilen
zusammenzufassen, die zusammen eine logische und nichttriviale
Funktion bilden. Ansammlungen von Pullup-Widerständen oder
Steckverbindern alleine stellen keine nichttriviale Funktion dar,
sollten für sich also kein ganzes Sheet beanspruchen.
Die einzelnen Sheets dürfen dabei gut gefüllt sein, da dies die
Gesamtzahl der Sheets reduziert.
Eine gute Dekomposition der Schaltung in Komponenten (Sheets) zeichnet
sich dadurch aus, dass die Anzahl der Verbindungen zwischen den Sheets
minimal ist.
Bei mehr als ca. 5 Sheets sollte ein Übersichts-Sheet erstellt werden,
das alle Komponenten (Sub-Sheets) als Blackboxen enthält und zeigt,
wie diese untereinander verbunden sind.
Be sehr komplexen Schaltungen sollten die Sub-Sheets in mehreren
Hierarchieebenen angeordnet sein, um zu erreichen, dass Jedes
(Sub-)Sheet maximal ca. 5 weitere Sub-Sheets enthält. Alle moderneren
Schaltplanprogramme unterstützen diese hierarchische Strukturierung,
deswegen sollte man sie auch anwenden.
- Schaltpläne, die Busse zur Zusammenfassung von Leitungen verwenden,
die logisch gar nicht zusammengehören.
Man erkennt solche falschen Busse daran, dass sie stark ausgefranst
sind: Maximal ein IC ist an alle Busleitungen angeschlossen, alle
anderen verwenden immer nur ein paar wenige der Leitungen. So eine
Verbindungsstruktur ist ein Kabelbaum, aber kein Bus. Und Kabelbäume
sollten in Schaltplänen im auseinandergefieseltem Zustand dargestellt
werden.
Umgekehrt erhöhen als Busse dargestelle echte Busse (wie bspw. Daten-
und Adressbusse) die Übersichtlichkeit gewaltig.
Das waren ein paar der Punkte, die mir immer wieder negativ auffallen,
nicht nur bei Hobby-, sondern auch bei "professionellen" Schaltungen.
Yalu X. schrieb:> Das waren ein paar der Punkte, die mir immer wieder negativ auffallen,> nicht nur bei Hobby-, sondern auch bei "professionellen" Schaltungen.
Full ACK!!!
Der Schaltplan ist die Sprache des Elektronikers. Und da sollte man
klare, logisch saubere und verständliche Sätze bilden. Und diese Sätze
sollen in ordentlich strukturierter Form angeordnet werden - wie die
Kapitel eine guten Lehrbuchs.
Alles andere ist Stottern, von Hölzchen auf Stöckchen kommen und
zusammenhanglos mal dieses und mal jenes Teil der Funktion beschreiben.
Gruß Dietrich
Bzgl Hobby bin ich da völlig Deiner Meinung. Das waren noch schöne
Zeiten, als in jedem Röhrenfernseher hinten ein vernünftig gezeichneter
Schaltplan drinsteckte, aus dem man noch was lernen konnte.
Dienstlich schaut's ein wenig anders aus. Viele Kunden verlangen die
Herausgabe der Schaltpläne und Stücklisten (ohne das der BTV deren
Inhalt wirklich technisch nachvollziehen kann). Da macht es Sinn, die
Schaltung so zu zeichnen, dass man sie nicht einfach auf
Tietze/Schenk-Grundwissen reduzieren kann.
Und den Layout-Tool ist es eh egal, dem kann ich die Netzliste auch als
Textfile reinschieben.
soul eye schrieb:> Das waren noch schöne> Zeiten, als in jedem Röhrenfernseher hinten ein vernünftig gezeichneter> Schaltplan drinsteckte
Gerade alte teutonische Schaltpläne sind mir immer wegen völliger
Abwesenheit von Labeln negativ aufgefallen; Versorgungsspannungen, Masse
und diverse Signale schön parallel im Zickzack über die Seite gezogen.
Das gibt zwar sehr schön die Tradition der Kabelbäume wieder, dafür darf
man eine Linie 30cm quer über die Seite verfolgen und darf dabei nicht
verrutschen, um herauszufinden, an welcher Versorgungsspannung
Transistor 17 hängt.
Die wesentlichen Dinge wurden gesagt, auch ich bevorzuge an vielen
Stellen Linien und vorallem das häufig fehlende Übersichtsblatt bei 12
Seiten Schema ist bei Inbetriebnahmen und Fehlersuche mühsam.
Aber: Labels muss man nicht immer als Ersatz für Linien einsetzen.
Auch bei Layout und Inbetriebnahme hilft es mitunter gewaltig wenn die
Netze erkennbare Namen haben. Daher bekommen auch Netze die ich
vollständig als Linien zeichne manchmal ein Label verpasst.
behaltet gesunden Menschenverstand
Hauspapa
Sehr schöner Ansatz. So sollte ein Schaltplan heutzutage aussehen.
Jetzt noch die Funktionsgruppen auf mehreren Seiten, die man mit
maximal DIN-A3 ausdrucken kann.
Sicher kann man hier und da ein wenig meckern, aber von der Basis her
die richtige Richtung.
(Es gibt übrigens auch Layout-Tools, bei denen man beim PDF auf ein
Label klicken kann und man springt dann den nächsten identischen Label
an.)
Nicolas S. schrieb:> Ist die vermehrte Sichtung dieser Darstellungsweise eher auf die> größerwerdende Ansammlung von Hobbyisten und Wahrnehmungsverzerrung> zurückzuführen oder ist das eher ein Trend, für den es gute Gründe gibt?
Ich mache es bewusst so. Denn die Labeltechnik widerspiegelt ja
eigentlich die Denkweise des Gehirns: Du denkst nämlich "Dieser Pin
liegt an Signal A", "dieser Pin liegt an Signal B" usw. und nicht in
Form einer Linie, die Punkte verbindet.
Yalu X. schrieb:> Folgende Arten von Schaltplänen hasse ich wie die Pest:
Einen Punkt hätte ich noch:
Schaltpläne, bei denen alle Pins z.B. eines Prozessors mit Labels wie
"SCK_USART_schlagmichtot" versehen sind und erst das nachzählen im
Layout zeigt dass dieser Pin überhaupt nicht beschalten ist. Nicht jeder
Leser eines Schaltplanes hat jederzeit Zugriff auf die entsprechende
Software.
Unter vielem anderen kommt es auch immer darauf an, was ich denn
überhaupt will.
Das Eingangs gewählte Beispiel ist ja kein Schaltplan, sondern ein
Bilderbuch.
Jemand, der wahrscheinlich auf Stundenlohnbasis arbeitet, wollte Leute,
die von tuten und blasen keine Ahnung haben, beindrucken.
Wenn die allerdings wüssten, was das bildhafte Zerreißen, eines vorher
wahrscheinlich vernünftigen Schaltplanes, gekostet hat - auch Zeitlich,
würden sie den wahrscheinlich, zum nächst möglichen Zeitpunkt,
freistellen (ein tolles Wort - George Orwell lässt grüßen).
Oder sollte dieser Erguss von einer unserer, ach so hochgelobten,
Hochschulen kommen? "Bitte den Schaltplan in funktionale Einheiten
zerlegen". Zugegeben, das mit dem Zerlegen hat geklappt.
Eine Verbesserung wäre wohl nur möglich, indem man jedem Widerstand und
Kondensator auch eine eigene Seite zur Verfügung stellt und bei der
Gelegenheit auch gleich jede Seite mit einem eigenen Ornament versieht.
P. M. schrieb:> Denn die Labeltechnik widerspiegelt ja> eigentlich die Denkweise des Gehirns: Du denkst nämlich "Dieser Pin> liegt an Signal A", "dieser Pin liegt an Signal B" usw.
Hmm... das entspricht der Denkweise von Programmierern, wenn das Layout
fertig ist.
Für mich ist der Schaltplan allerdings das, was im Kopf vor dem Layout
liegt, und auch wenn mir die folgende Problematik noch nie begegnet ist:
Georg W. schrieb:> [...] und erst das nachzählen im> Layout zeigt dass dieser Pin überhaupt nicht beschalten ist. [...]
erledigt sich durch das Entflechten des Schaltplans oft auch schon ein
guter Teil des Entflechtens des Layouts.
Zum Programmieren bediene ich mich auch gerne der Labels (die zu diesem
Zweck oft zusätzlich an den Pins angebracht sind).
Amateur schrieb:> Eine Verbesserung wäre wohl nur möglich, indem man jedem Widerstand und> Kondensator auch eine eigene Seite zur Verfügung stellt und bei der> Gelegenheit auch gleich jede Seite mit einem eigenen Ornament versieht.
Wobei das noch lange nicht das Optimum ist: Man kann die Widerstände und
Kondensatoren auch jeweils in zwei Teile zerlegen, so dass man auf jedem
Sheet nur ein ein einziges Label hat. Welche Bauteilfragmente
zusammengehören, ist ja sofort aus der Bauteilnummer (R123, C151 usw.)
ersichtlich. Ein 64-Pin-Mikrocontroller wird entsprechend einfach auf 64
Sheets verteilt.
Für ein PC-Board mit einem Sandy-Bridge-E-Prozessor im LGA-2011-Sockel
wird der Papierstapel zwar locker einen Meter hoch, dafür ist aber jedes
einzelne Sheet auch für den Elektronikanfänger genauso leicht zu
verstehen wie ein Widerstand :D
Anhand der vielen Unterschiedlichen Meinungen sieht man schon das es
nicht die eine richtige Antwort geben kann.
Ich persönlich finde das Attachment gut.
Ob man Linien, Busse, Netlabel oder Ports verwendet kommt immer auf den
Schaltplan an. (für Altium sind Ports nur für Blatt übergreifende
Signale gedacht)
Ich halte es so: Wenn die sich zu viele Linien kreuzen ersetze ich
Linien durch Aussagekräftige Netlabels. Auch Busse zeiche ich nur wenn
sie eine Aussagekraft besitzen, einen Bus zu zeichen der alle Teile
miteinander verbindet ist nicht hilfreich.
Zurück zum geposteten Schaltplan, auf der ersten Seite ist der
Controller alle Bauteil die direkt dazu gehören sind dran, die Label
haben vernüftige Namen. Abblockkondensatoren sind in der Nähe.
Auf den folgenden Seiten sind die Sensoren die über SPI angeschlossen
sind sofort verständlich. Würde man die 6 Sensoren auf dem ersten Blatt
bringen und über Linien mit den Controller verbinden wäre das ein
Linien-Labyrint. Auch ein Bus wäre nicht hilfreich man weiß ja schon das
alle Sensoren am SPI hängen und für die Pin zu Pin Verbindungen müste
man eh die Labels lesen.
Mein Fazit: Gut mit kleinem Verbesserungspotential.