Ich bin grad an einem Leiterplattenentwurf, in der Phase "Rattennest".
Und es wird grad sehr sehr unübersichtlich, d.h. ich verlier so langsam
immer mehr den Überblick, welche Verbindungen womöglich noch fehlen.
Gibts eigentlich Techniken um in dieser Phase des Entwurfs den Überblick
zu behalten?
Ja. In hochkonjunkten Netzstrukturen bilden Terme aus Anzahl der
Netzknoten und Netzkreuzungen und aus der Kantenlänge ein areales Maß
für die Dichtkeit über der Leiterplatte. Das ist aber nichts, was man
auf Zettel und Papier schnell hinkritzelt, sondern eine Funktion, die
ein Werkzeug für dich bereitstellen muss.
Bist du sicher, dass dein Layout-Programm keine Funktion dafür hat?
Jedes bessere Programm, das ich bisher gesehen hab, bringt so eine
Funktion mit. Implizit macht es natürlich auch ein guter Autorouter -
also den einfach mal anfangen lassen und hinschaun, wo er anfängt,
"Ballungszentren" zu schaffen.
Auch wenn ich die Phase "Rattennest" nicht zuordnen kann vermute ich
mal, daß du beim Platzieren der Bauteile bist.
Da muss der gesunde Menschenverstand und die Erfahrung einfach zu Rate
gezogen werden. Üblicherweise lassen sich "Ballungszentren" schon im
Schaltplan als solche ausmachen.
Ich platziere diese Dann bei einer neuen, leeren Platine erstmal vor.
Gern auch außerhalb der späteren Leiterplatte. Beginnen mit dem,
üblicherweise im Zentrum liegenden IC wird rings herum stück für Stück
das Hühnerfutter angesammelt. Dabei wieder beginnend mit den
Abblockkondensatoren an den Spannungsversorgungspins bis hin zu den
"unwichtigeren" Bauteilen. (Pull Ups z.B.)
So bildet man kleine, Überschaubare Inseln die man dann zu einem
Leiterbild zusammenfügt.
Bei bestehenden Platinen ist die Vorgehensweise nur bedingt anwendbar.
Logischerweise.
Da sagt einem dann die Erfahrung, ab wann es sinnvoll ist bestehendes
Layout komplett abzureisen und nochmal neu zu Platzieren oder
bestehendes nur zur Seite zu schieben und das neue noch einzupflegen.
Ob sich das auch mit Autoplacern und Autoroutern lösen lässt weiß ich
nicht. Ich hab diese Tools noch nie verwendet. (Weil ich es Händisch mit
an Sicherheit grenzender Wahrscheinlichkeit besser hinbekomme und nicht
zuletzt, weil mir das routen einfach Spaß macht)
Christian B. schrieb:> Auch wenn ich die Phase "Rattennest" nicht zuordnen kann vermute ich> mal, daß du beim Platzieren der Bauteile bist.
Das ist eine allgemein bekannte veralberung der Funktion "Ratsnest" in
Eagle, welche die "Luftlinien" neu berechnet. In KiCad existiert etwas
vergleichbares als "Show/hide Ratsnest".
Keine Ahnung, ob das ein Akronym ist, oder ob irgendeine Verbindung zu
Rattennestern oder einem "Rattenkönig" (
http://de.wikipedia.org/wiki/Rattenk%C3%B6nig ) besteht.
Es ist jedenfalls die Phase gemeint, in der Bauteile noch plaziert bzw.
umplaziert werden, und Leiterbahnen verlegt werden. Die Verbindungen
bestehen nur (oder noch teilweise) aus "Airwires" bzw. "Gummibändern"
oder "Luftlinien".
> Ich platziere diese Dann bei einer neuen, leeren Platine erstmal vor.> Gern auch außerhalb der späteren Leiterplatte.
Ich auch.
> Beginnen mit dem,> üblicherweise im Zentrum liegenden IC wird rings herum stück für Stück> das Hühnerfutter angesammelt. Dabei wieder beginnend mit den> Abblockkondensatoren an den Spannungsversorgungspins bis hin zu den> "unwichtigeren" Bauteilen. (Pull Ups z.B.)> So bildet man kleine, Überschaubare Inseln die man dann zu einem> Leiterbild zusammenfügt.
Richtig. Tatsächlich besteht in diesem Zustand dann oft das Problem, das
die Inseln, die für das konkrete IC mit seiner Pheripherie ein Optimum
an Layout darstellen, dann in ihrer Form zusammen nicht auf die Platine
passen. Nicht weil der reine Flächenpedarf zu groß ist, sondern weil sie
zu sperrig sind. Aber ich erkenne dann auch, wie und wo ich Umgruppieren
kann.
Dabei sind dann auch die Übergänge zu den angrenzenden Schaltungsteilen
zu berücksichtigen. Lang gezogene Anschlussleitungen kosten auch Fläche
und fangen Störungen. Aber trozdem ist es meist besser ich ziehe längere
Verbindungsleitungen bei Schnittstellen zwischen zwei ICs, als zwischen
einem IC und seinen peripheren Bauteilen.
> Bei bestehenden Platinen ist die Vorgehensweise nur bedingt anwendbar.> Logischerweise.> Da sagt einem dann die Erfahrung, ab wann es sinnvoll ist bestehendes> Layout komplett abzureisen und nochmal neu zu Platzieren oder> bestehendes nur zur Seite zu schieben und das neue noch einzupflegen.
Wenn ich mich zum Abreissen des Layouts entschliesse, kann ich mich aber
trozdem an der alten Platine zwecks Vorgruppierung der Bauteile
orientieren. Oder auch gerade nicht, falls die Platine ein
abschreckendes Beispiel ist. Wenn ich aber nicht gerade so ein grottiges
Beispiel in der Hand habe, ist die Vorsortierung ja schon gemacht
worden, und im Zweifel kann ich das ganze mit "gruppieren" und "move"
relativ einfach wieder auseinanderdividieren.
Ansonsten existieren diese Gruppierungen bei mir der Übersichtlichkeit
halber schon im Schaltplan. Ich schaue also in den Plan, und sortiere
dann danach die Bauteile mit "move Bauteilname" bei Eagle oder "T
Bauteilname" bei KiCad zu Häufchen, die ich zuerst auch einmal separat
vorroute. Beispiel: Ich werde vermutlich den Kondensator direkt am IC
nicht weit vom IC wegbewegen wollen, wenn ich das IC selber auch
eventuell durch die Gegend schieben muss. Darum bewege ich meist besser
das IC zusammen mit diesem Kondensator (und anderem aus der Peripherie).
> Ob sich das auch mit Autoplacern und Autoroutern lösen lässt weiß ich> nicht. Ich hab diese Tools noch nie verwendet.
Autorouter und Autoplacer sind ein extra Thema. Es gibt weniger gute und
schlechte. Toll ist keiner.
> Weil ich es Händisch mit> an Sicherheit grenzender Wahrscheinlichkeit besser hinbekomme
Ohne Frage.....unter EMV Gesichtspunkten ist das, was Autorouter
produzieren, sehr übel.
Ein Autorouter wird Dir kaltlächelnd irgendeinen Abblock- oder
Stützkondensator diagonal gegenüber in der anderen Ecke der Platine
plazieren, und mit einer langen, mäandrierenden Leiterbahn
anschliessen.....
Autorouter haben die Tendenz, alles, aber auch wirklich alles ohne
Brücken erledigen zu wollen. Als Mensch kannst du sagen "Die Umwege
bringen es nicht, ich setzte lieber eine Drahtbrücke".
Bei umfangreichen Schaltungen mit wenig Anforderungen können sie aber
auch eine enorme Zeitersparnis darstellen. Wenn ich anschliessend
drüberschaue, erkenne ich oft Stellen, welche Bauteile sich z.B. einfach
durch eine Drehung um 180° besser anschliessen lassen. Die drehe ich
dann halt von Hand um.
> und nicht> zuletzt, weil mir das routen einfach Spaß macht
Richtig. Es ist eine kreative Tätigkeit wie Bilder malen oder
Geschichten schreiben. Aber Nicht-Nerds werden das nicht verstehen.....
Ein alter, erfahrender Arbeitskolege von mir hatte eine andere
Plazierungsstrategie:
Er sortierte zwar die Bauteile wie Du oder ich auch in Gruppen vor,
plazierte die peripheren Bauteile dann aber in Reih und Glied neben das
IC. Nicht unbedingt der kürzesten Verbindung entsprechend. Das
optimierte er dann auf kürzere Verbindungen, indem er einelne der
Bauteile untereinander tauschte. Das hat den Nachteil, dass er diese
kurzen Verbindungen, wie man sie heute oft haben möchte, eigentlich nie
hatte, weil er das "in Reih und Glied" nicht verwarf.
Vorteil: Er war sehr schnell, und für Wellenlöten ist diese Strategie
sogar essenziell, weil es erlaubt, die ICs in Längstrichtung quer zur
Welle, und die zweipoligen Bauteile in ihrer Längstrichtung mit der
Welle zu plazieren.
Das geplante Fertigungsverfahren spielt also auch mit hinein....
Gelegentlich hatte ich den Eindruck, dass einige Autorouter sich auch an
dieser Strategie vage orientieren.
Eigentlich wären Autorouter ein interessantes Spiezeug um schräge
Philosophien in Topologie, Ki und Spieltheorie zu testen. Aber als
Handwerkszeug....naja, eher durchwachsen.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
Vielen Dank für die umfangreichen Hinweise!
Ich hab zumindest zwei Dinge mitgenommen: ich werd die Arbeitsfläche für
mein Projekt erst mal größer anlegen als die Leiterplatte. Bisher war
mir der Grund für diese Option nicht klar, jetzt verstehe ich dass man
bei Platzierversuchen zunächst mehr Übersichtlichkeit hat, wenn man die
Chips zunächst weiter ausbreitet.
Mit "Rattennest" meinte ich tatsächlich das Verbinden der Leiterbahnen
gemäß Schaltplan mit Gummibändern. Ich hab grad etwas den Überblick
verloren, ob schon alle Verbindungen gemäß Schaltplan durch so ein
Gu8mmiband repräsentiert sind. Wenn ich alles weiter auseinanderziehe
wird das bestimmt übersichtlicher.
Ausserdem hab ich den Hinweis mitgenommen, Chips und deren zugehörige
Abblockkondensatoren eventuell zu gruppieren, so dass sie gemeinsam
verschoben werden.
Und dann hab ich eventuell noch einen "Joker", nämlich einen Atmega mit
an Bord. Dessen Pinbelegung hab ich zunächst mit dem Schwerpunkt
überschaubarer Software zugewiesen, also z.B. alle Pins eines Ports in
direkter Reihenfolge einem Datenbus zugeordnet. Hab jetzt woanders den
Tip aufgeschnappt, dass man ggf. die Pinzuordnung fürs Routing optimal
zuweisen sollte, der Preis dafür ist dann eben eine wirre Umsortierung
der Bits in der Software...
@ Micha (Gast)
>Mit "Rattennest" meinte ich tatsächlich das Verbinden der Leiterbahnen>gemäß Schaltplan mit Gummibändern. Ich hab grad etwas den Überblick>verloren, ob schon alle Verbindungen gemäß Schaltplan durch so ein>Gu8mmiband repräsentiert sind.
Wenn dein CAD-Programm nicht kaputt ist, dann kannst du sicher sein,
dass es so ist.
>Wenn ich alles weiter auseinanderziehe>wird das bestimmt übersichtlicher.>Ausserdem hab ich den Hinweis mitgenommen, Chips und deren zugehörige>Abblockkondensatoren eventuell zu gruppieren, so dass sie gemeinsam>verschoben werden.
Bei Eagle gibt es das schöne ULP show-group. Damit kann man im
Schaltplan eine Gruppe von Bauteilen markieren und im Layout anzeigen.
Damit kann man leicht zugehörige Bauteile finden zun passend platzieren.
>Tip aufgeschnappt, dass man ggf. die Pinzuordnung fürs Routing optimal>zuweisen sollte, der Preis dafür ist dann eben eine wirre Umsortierung>der Bits in der Software...
Kann man bisweilen machen, aber ein kleiner AVR ist nun nicht soooo
aufwändig beim Layout.
Micha schrieb:> der Preis dafür ist dann eben eine wirre Umsortierung> der Bits in der Software...
Was in dem Fall eine gezielte Definition aber wohl problemloser macht.
Dieses Verfahren wird bei FPGA's und CPLD's noch stärker gemacht, da
dort die Pins sehr viel besser tauschbar sind. Bei normalen Ports ist
das kein Problem aber versuch das mal bei einem UART. dann musst du im
Zweifelsfalle eine Software UART implementieren. Das muss dann auch
nicht sein.
Gut, die Airwires hat jedes Layoutprogramm was ich kenne. Ohne ist es
imho eine nahezu unmögliche Aufgabe komplexere Platinen in annehmbarer
Zeit zu routen.
Allerdings nutze ich Eagle nur zum Export der alten Designs.
Bernd Wiebus schrieb:> Richtig. Tatsächlich besteht in diesem Zustand dann oft das Problem, das> die Inseln, die für das konkrete IC mit seiner Pheripherie ein Optimum> an Layout darstellen, dann in ihrer Form zusammen nicht auf die Platine> passen. Nicht weil der reine Flächenpedarf zu groß ist, sondern weil sie> zu sperrig sind.
Das ist auch klar. Ich habe dabei üblicherweise dennoch mit den Groben
Inseln angefangen und diese dann, außerhalb der Platine schon gemeinsam
anzunähern. So kann man das Problem auch shcon außerhalb der Platine gut
lösen. z.B. FPGA mit DDR3 Anbindung... erst die beiden DDR Chips einzeln
Platziert, danach die Spannungsversorgung und den FPGA. Anschließend hab
ich die DDR3 Blöcke aneinander geschoben mit der Spannungsversorgung
dazwischen und dann das Ganze an eine Seite des FPGA's. Am Ende Muss man
halt (Erfahrung!) abschätzen können, ob man bei einer gewissen
Packungsdichte noch mit Vias hinkommt oder ob nicht. Es bringt nämlich
nichts, alles so Eng wie möglich zu schieben um dann festzustellen, daß
man die Bauteile alle nochmal um den Faktor X auseinander schieben muss
weil man vergesen hat, daß da noch Datenleitungen sind. Auch muss man,
bei Komplexeren Platinen, den Lagenaufbau schon früh definieren und in
seine Überlegungen mit einbeziehen. einen 6 Lagigen Multilayer platziert
man anders als eine 1+4+1 SBU. Aber das sind nun Details...
Generell sollte man sich beim Platzieren (insbesondere von komplexeren
Baugruppen) viel Zeit nehmen, gern auch mal am Ende ne Stunde was
vollkommen anderes machen und dann nochmal drüberschauen. Denn beim
Platzieren kann man sich das Layout später entweder sehr vereinfachen
oder komplett unmöglich machen. Natürlich in allen dazwischenliegenden
Graustufen.
ich denk ich hab im Eröffnungsbeitrag eine Sache vergessen zu erwähnen,
die den Beitrag sicher auch ziemlich missverständlich macht: ich hab
kein integriertes Programm für Schaltplan + Layout, bei dem die
Gummibänder automatisch vom Schaltplan übernommen werden sondern ein
"standalone" Layoutprogramm. Und da muss ich eben die Gummibänder von
Hand anlegen und zusehen, dass ich keine vergesse. Am Anfag ist das noch
einfach, je mehr Gewirr vorliegt umso schwieriger wird es, nichts zu
übersehen. Ich denk aber der Tipp, die Chips zunächst weiter
auseinanderzuziehen als Leiterplattengröße wird mir da sehr helfen.
Zu Eagle konnte ich mich bisher nicht aufraffen, deren
Preis/Leistungs-Politik ist nicht sehr Hobbyistenfreundlich, KiCAD hab
ich mal eine Weile probiert, bin aber überhaupt nicht damit
zurechtgekommen.
Micha schrieb:> Zu Eagle konnte ich mich bisher nicht aufraffen, deren> Preis/Leistungs-Politik ist nicht sehr Hobbyistenfreundlich
für eine halbe Europakarte ist Eagle umsonst, geht es noch günstiger?
Micha schrieb:> Hobbyistenfreundlich,
Die Fläche 80x100 hat mir bis jetzt immer gereicht. (Zur Not macht man
eben zwei Platinen.)
Was da allerdings für komplexere Layouts fehlt, ist die Möglichkeit, die
Bauteile schon mal außerhalb der Platine 'vorzusortieren'. Das hätte
einiges einfacher gemacht.
Hallo Micha.
Micha schrieb:> ich hab kein integriertes Programm für Schaltplan + Layout, bei dem die> Gummibänder automatisch vom Schaltplan übernommen werden sondern ein> "standalone" Layoutprogramm. Und da muss ich eben die Gummibänder von> Hand anlegen und zusehen, dass ich keine vergesse.
Das stelle ich mir grausam vor....
> Am Anfag ist das noch einfach, je mehr Gewirr vorliegt umso schwieriger> wird es, nichts zu> übersehen.
.....und Du bestätigst das!
> Ich denk aber der Tipp, die Chips zunächst weiter> auseinanderzuziehen als Leiterplattengröße wird mir da sehr helfen.>
Ja. Aber Airwires vergessen einzutragen ist ein weiteres Problem.
> Zu Eagle konnte ich mich bisher nicht aufraffen, deren> Preis/Leistungs-Politik ist nicht sehr Hobbyistenfreundlich, KiCAD hab> ich mal eine Weile probiert, bin aber überhaupt nicht damit> zurechtgekommen.
Mmmmh. Eagle und KiCad sind in etwa gleich kompliziert. Tatsächlich
steckt auch die "Kompliziertheit" nur zu einem kleinen Teil in den
Programmen, sondern in der Natur des Objektes, der Leiterplatte, das Du
bearbeitest.
Darum wundert mich das jetzt etwas, weil Du den komplizierteren Teil
"Platine layouten" sogar mit ohne Airwires angehst, aber mit KiCad nicht
zurechtkommst. Vermutlich würdest Du dann mit Eagle vergleichbare
Probleme haben....gut, das Du Dir das Geld gespart hast.
Vieleicht wird Dir aber über den Umweg jetzt klar, was Du eigentlich
tust. Und rückwirkend kommst Du dann auch mit den anderen Programmen
dafür besser klar.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
@ Micha (Gast)
>die den Beitrag sicher auch ziemlich missverständlich macht: ich hab>kein integriertes Programm für Schaltplan + Layout, bei dem die>Gummibänder automatisch vom Schaltplan übernommen werden sondern ein>"standalone" Layoutprogramm. Und da muss ich eben die Gummibänder von>Hand anlegen und zusehen, dass ich keine vergesse.
Mann O Mann, du liebst es kompliziert? Sowas hat man vor 20 Jahren nicht
mal mehr gemacht, und da waren die Komplexitäten auch im Hobbybereich
deutlich niedriger. Lass den Unsinn und nutze zeitgemäße Programm und
Arbeitsweisen.
>Zu Eagle konnte ich mich bisher nicht aufraffen, deren>Preis/Leistungs-Politik ist nicht sehr Hobbyistenfreundlich,
Sinnloses Gejammer. Du willst mal wieder alles zum Nulltarif, nicht
wahr?
> KiCAD hab>ich mal eine Weile probiert, bin aber überhaupt nicht damit>zurechtgekommen.
Dann such dir ein anderes Hobby.
Micha schrieb:> Und da muss ich eben die Gummibänder von> Hand anlegen und zusehen, dass ich keine vergesse.
Davon kann ich nur abraten, ausser bei ganz einfachen Sachen wie einem
linearen Netzteil. Schreib lieber eine Netzliste, die dein System
versteht. Die sind ganz einfach, z.B.
Ic1 15 Ic2 9 C1 1
Das kannst du schreiben (.txt) und im Stromlaufplan die Pins mit
Bleistift abstreichen und auch nachher noch mal das Ganze prüfen. So hat
man früher mal gearbeitet, da waren bei Layout-Dienstleistern
Schreibknechte/innen im Einsatz, meistens hat man 2 dieselbe LP tippen
lassen und dann die Netzlisten erstmal verglichen, um Tipp- und sonstige
Fehler auszuschliessen. Dann durfte der Designer ran.
Gruss Reinhard
Vielleicht habe ich das Problem nicht richtig erkannt. Ich will auch
keine Werbung machen.
Target gibt es kostenlos als Vollversion, wenn man auf die
PCB-pool-Version zugreift.
Entweder man lässt bei PCB-pool die Leiterplatte fertigen oder als
Bastler kann man natürlich zu Hause ätzen.
Die hier genannten Luftlinien werden vom Programm erzeugt, so dass so
man keine Verbindung vergessen kann.
Prüfungen auf Abstand, Kurzschluss usw. sind dabei.
Für mich besonders gut: Wahlweise alles in deutscher Sprache.
Wolfgang-G schrieb:> Die hier genannten Luftlinien werden vom Programm erzeugt, so dass so> man keine Verbindung vergessen kann.
Das Programm weiss, welche Pins verbunden werden müssen? Toll. Macht
zigtausende Ingenieure überflüssig.
Gruss Reinhard
@ Reinhard Kern (Firma: RK elektronik GmbH) (rk-elektronik)
>> Die hier genannten Luftlinien werden vom Programm erzeugt, so dass so>> man keine Verbindung vergessen kann.>Das Programm weiss, welche Pins verbunden werden müssen? Toll. Macht>zigtausende Ingenieure überflüssig.
Mein Gott, bist du wieder witzig. Gerade Du als ersternannter PCB
Spezialist solltes den impliziten Inhalt dieser Aussage doch wohl
kennen?!?
Die Luftlinien im Layout werden automatisch aus dem Schaltplan erzeugt,
welche logischerweise manuell erstell wird.
Wolfgang-G schrieb:> Die hier genannten Luftlinien werden vom Programm erzeugt, so dass so> man keine Verbindung vergessen kann.> Prüfungen auf Abstand, Kurzschluss usw. sind dabei.
Das macht eigentlich jedes PCB-Programm welches diese Bezeichnung
verdient. Ist jetzt nicht sonderlich aufregend dass Target das auch
macht.
cyblord ---- schrieb:> Das macht eigentlich jedes PCB-Programm welches diese Bezeichnung> verdient. Ist jetzt nicht sonderlich aufregend dass Target das auch> macht.
Sollte es auch nicht sein. War nur mal so als Hinweis an diejenigen
gedacht, die u.a. ein Problem wie Ralf G. haben.
Ralf G. schrieb:> Die Fläche 80x100 hat mir bis jetzt immer gereicht. (Zur Not macht man> eben zwei Platinen.)
Ich hab tatsächlich meine erste Leiterplatte mit Target designed und bei
PCB Pool anfertigen lassen. Das Design war ziemliche Stümperei (meine
Schuld), aber die LP hat sogar funktioniert.
Von daher muss ich zugeben, dass die intelligente Verbindung von
Schaltplan und Layout durchaus was für sich hat. Eine meiner ersten
Lernerfahrungen war allerdings auch, dass die Autorouter, die bei Target
dabei sind, erbärmlichen Murks fabrizieren. Aber das lese ich hier auch
immer wieder, dass man das Routing besser von Hand machen sollte.
Die meisten Tips hab ich im Laufe der Zeit hier auf mikrocontroller.net
erfragt bzw. aufgeschnappt. Z.B. hab ich bei den ersten Designs mir
selber das Leben schwer gemacht mit Masse-Leiterbahnen. Geht natürlich
mit ner Massefläche einfacher und eleganter. Als nächstes kam dann die
Massefläche, mit entsprechend problematischen Lötpunkten
(Wärmeableitung) bis ich hier über den Begriff "Thermal Pads" gestolpert
bin. Das Problem als Autodidakt ist immer, dass man nicht nach etwas
fragen kann, von dem man noch nicht mal eine Idee hat... gibts
eigentlich ein brauchbares Buch das Leiterplattendesign von der Pike auf
konzeptionell beschreibt?
Inzwischen hab ich mir irgendwann Sprint Layout zugelegt - mit dem
Nachteil dass keine Schaltplan+Layout Integration dabei ist, erscheint
es mir als Hobbyist trotzdem sehr intuitiv und wenig restriktiv.
Eigentlich lote ich gerade aus, wie weit man mit so einem Programm ohne
Schaltplan-Intelligenz kommt. Falk Brunner hat mich weiter oben
diesbezüglich komplett falsch verstanden. Das sollte kein sinnloses
Gejammer werden, ich will auch nicht alles zum Nulltarif. Tatsächlich
bin ich grade am ausprobieren wieweit man mit einem "schlanken" Programm
kommt. Eines hab ich schon begriffen inzwischen - eigene Fertigkeiten
und Kenntnisse bestimmter Design-Regeln kann auch das tollste Programm
nicht ersetzen.
Hallo Micha.
Micha schrieb:> Das Design war ziemliche Stümperei (meine> Schuld), aber die LP hat sogar funktioniert.
Es ist so, dass beim Leiterplattendesign in dem Sinne keine komplett
festen Regeln existieren. Es muss halt unter Randbedingungen
funktionieren, und die Randbedingungen machen u. U., dass die gleiche
prinzipielle Aufgabe sehr leicht oder sehr schwer sein kann.
> Von daher muss ich zugeben, dass die intelligente Verbindung von> Schaltplan und Layout durchaus was für sich hat.
Oja.....darum wundert es mich ja auch, dass anscheinend ein Programm
existiert, dass das nicht macht.
> Eine meiner ersten> Lernerfahrungen war allerdings auch, dass die Autorouter, die bei Target> dabei sind, erbärmlichen Murks fabrizieren. Aber das lese ich hier auch> immer wieder, dass man das Routing besser von Hand machen sollte.
Siehe meinen obigen Satz über die Randbedingungen....in meiner
persönlichen Erfahrung sind die aber eher selten so, dass sich der
Einsatz eines Autorouters lohnt.
> Die meisten Tips hab ich im Laufe der Zeit hier auf Mikrocontroller.net> erfragt bzw. aufgeschnappt. Z.B. hab ich bei den ersten Designs mir> selber das Leben schwer gemacht mit Masse-Leiterbahnen. Geht natürlich> mit ner Massefläche einfacher und eleganter.
Jain. Ich hab mich mit Masseflächen auch schon gut weggeschossen.
Masseflächen sind hervorragend bei HF, aber sie können bei NF tückisch
sein.
Das Problem wird vor allem dann akut, wenn ich NF und HF gleichzeitig in
der Schaltung habe (Was z.B. bei Modulatoren und Demodulatoren
naturbedingt der Fall ist).
> Als nächstes kam dann die> Massefläche, mit entsprechend problematischen Lötpunkten> (Wärmeableitung)
Das ist halb so wild, wie es sich anhört. Ein Thermalpad isoliert ja ein
Pad thermisch von einer umgebenden, verbundenen kupferfläche, damit Du
den Pin besser warm bekommst.
Das ist bei einer ein- oder zweilagigen Platine kein Problem, weil Du
bei der Handlötung den Pin immer warm bekommst, und bei der Wellenlötung
z.B. Flächen auf der Unterseite ja auch großflächig mit erwärmt werden.
Das gilt natürlich NICHT für Flächen auf der Oberseite.
Und vor allem gilt es NICHT bei Multilayer für die Innenlagen.
Persönlich würde ich darum bei einem einseitigen Layout nie, und bei
einem doppelseitigen Layout nur (wenn überhaupt) auf der Oberseite
thermal Pads verwenden.
Bei multilayer aber grundsätzlich.
Der Nachteil eines Thermal Pads ist der einer "Sicherung" an einer
ungewollten Stelle.....vor allem wenn die Speichen zu dünn und lang
gewählt wurden. Ein weiterer Nachteil ist der, das für HF die Speichen
schon einen induktivitätsbehafteten Umweg darstellen....besonders, wenn
thermal Pads auch für Vias verwendet werden, die dessen eigentlich
überhaupt nicht bedürfen, weil dort nicht gelötet wird.
> bis ich hier über den Begriff "Thermal Pads" gestolpert> bin. Das Problem als Autodidakt ist immer, dass man nicht nach etwas> fragen kann, von dem man noch nicht mal eine Idee hat...
Richtig. Deshalb fällt autodidaktisches Lernen um so leichter, je besser
die Allgemeinbildung ist, und mir persönlich helfen "Lehrbücher" sehr
gut, die NICHT erfolgsorientiert sind, sondern die Probleme mehr in der
Breite behandeln. Dadurch ergeben sich mehr Anknüpfungspunkte an schon
Vorhandenes Wissen. Hilft dem Gedächnis und dem Transferdenken gut auf
die Sprünge. ;O)
> gibts> eigentlich ein brauchbares Buch das Leiterplattendesign von der Pike auf> konzeptionell beschreibt?
Ja. Aber teuer und oft englischsprachig (was für mich aber weniger ein
Problem ist). Vieles findet sich aber auch im Internet. Hier existiert
eine
Artikelseite dazu:
http://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts
und hier in dem Thread findest Du Literaturhinweise und Links:
Beitrag "Re: PCB-Tutorial"> Inzwischen hab ich mir irgendwann Sprint Layout zugelegt - mit dem> Nachteil dass keine Schaltplan+Layout Integration dabei ist, erscheint> es mir als Hobbyist trotzdem sehr intuitiv und wenig restriktiv.
Ich kenne Sprint nicht gut. Mir wurde allerdings mal ein mit Sprint
erstellter Schaltplan vorgelegt. Darin tauchten Referenzbezeichnungen
doppelt auf, d.h. zwei verschiedene Widerstände mit unterschiedlichem
Wert, aber beide mit der gleichen Referenz "R39". Interessehalber habe
ich mir es mal vorführen lassen. Nunja....man KANN damit Schaltpläne
zeichnen und Layouts machen, aber zum Glück MUSS man es nicht. ;O)
> Eigentlich lote ich gerade aus, wie weit man mit so einem Programm ohne> Schaltplan-Intelligenz kommt. Falk Brunner hat mich weiter oben> diesbezüglich komplett falsch verstanden. Das sollte kein sinnloses> Gejammer werden, ich will auch nicht alles zum Nulltarif.
"Sprint", wenngleich grottig, kostet ja sogar Geld......
> Tatsächlich bin ich grade am ausprobieren wieweit man mit einem> "schlanken" Programm kommt.
Das ist ein Argument, das ich etwas verstehen kann. Reiner Sportsgeist.
So wie ohne Sauerstoffgerät auf den Mount Everest klettern oder zu Fuß
zum Südpol. ;O)
Hast Du es denn auch schon mal mit einem sehr einfachen Malprogramm
versucht, so wie z.B. MS-Paint? Inkscape wäre Dir vermutlich schon zu
aufgeblasen------
> Eines hab ich schon begriffen inzwischen - eigene Fertigkeiten> und Kenntnisse bestimmter Design-Regeln kann auch das tollste Programm> nicht ersetzen.
Ja. Und mit den Kenntnissen erklärt sich vieles in Layoutprogrammen dann
von selber. Zumindest ich kann mich besser in eine Aufgabe hineindenken,
je besser ich weiss was ich tue und wie sich diese Aufgabe in Ihr Umfeld
einfügt.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
Falk Brunner schrieb:> Die Luftlinien im Layout werden automatisch aus dem Schaltplan erzeugt,> welche logischerweise manuell erstell wird.
Korrekt, deswegen habe ich mich auch gemeldet, damit das nicht
missverstanden wird: natürlich kann man Verbindungen vergessen
einzugeben, bei Netzlisten ist das ein ständiges Problem. Eine
CAD-Software schützt nicht davor, sondern nur davor, dass man nachher
vergisst eine Verbindung auch zu routen. Wobei "nur" auch nicht richtig
ist, das ist schon sehr viel wert.
Gruss Reinhard
auf jeden Fall ist das ein sehr interessanter Lernprozess für mich.
Vielen Dank für die ausführlichen und hilfreichen Kommentare!
Gestern abend hab ich mich den ganzen Abend am "layouten" geschafft.
Dabei bin ich von aussen nach innen vorgegangen, von den ganzen
Hilfs-und Peripherie-Baugruppen, die tatsächlich am Rand der Platine
vorgesehen sind hin zur Mitte, wo der eigentliche funktionale Kern
liegt. Allerdings wurde es zur Mitte hin immer murksiger, das
Erfolgserlebnis wieder eine Luftlinie eliminiert zu haben trat immer
seltener ein. Hab dann irgendwann aufgegeben und bin zu Bett gegangen.
Heute morgen hatte ich beim Aufwachen paar Gedanken, was ich vielleicht
anders machen könnte:
1. das Layout von "innen nach aussen" angehen, also zuerst den Kern der
Schaltung, der tatsächlich die höchste Verknüpfungsdichte hat, und dann
aussen die peripheren Teile.
2. eine alte Weisheit der Dakota-Indianer besagt, dass man bei
zweilagigem Design auf einer Seite bevorzugt waagerecht und auf der
anderen Seite bevorzugt senkrecht routen sollte. Das hab ich irgendwann
mal spontan begriffen als ich mir eine professionell gefertigte LP
genauer angeschaut hatte. Hab ich gestern aber auch nicht dran gedacht.
3. Bus-Strukturen, also z.B. Daten- Adress- und Steuerbus können
durchaus ein strukturelles Vorbild für das Routing liefern.
Um das Ganze nicht garzusehr theoretisch zu machen, häng ich mal
Unterlagen von dem an, was ich konkret gerad bastel:
Es ist ein Z180 Experimentiersystem, allerdings ohne konventionellen ROM
(weil das Neubrennen eines Eprom bei jedem neuen Entwicklungsschritt der
Software nervt). Sondern mit einem Atmega Steuerprozessor. Das Konzept
basiert auf einer Anregung hier aus dem Forum.
Heute hab ich den Kern der Schaltung in ein Layout umgesetzt und ich
denke es ist gelungen. Mal schauen ob ich den Rest auch noch
hinbekomme... ;)
Kurze Anmerkung zur Anbindung eines statischen RAM: die Adressleitungen
lassen sich beliebig untereinander vertauschen, da ja sowohl beim
Schreiben als auch beim Lesen "falsch" adressiert wird.
Das selbe trifft übrigens auch auf die Datenleitungen zu.
Bei einem EPROM/FLASH müsste man die Daten entsprechend vertauscht
speichern.
stimmt, man kann die Reihenfolge der Leitungen dem Routing unterordnen.
In diesem konkreten Beispiel muss ich allerdings sicherstellen, dass die
beiden Prozessoren die temporär Kontrolle über den Bus haben jeweils die
selben Bits in gleicher Sortierug bekommen...
Dieter Werner (dds5) schrieb:
> Kurze Anmerkung zur Anbindung eines statischen RAM: die Adressleitungen> lassen sich beliebig untereinander vertauschen, da ja sowohl beim> Schreiben als auch beim Lesen "falsch" adressiert wird.> Das selbe trifft übrigens auch auf die Datenleitungen zu.> Bei einem EPROM/FLASH müsste man die Daten entsprechend vertauscht> speichern.
Hä? D0 soll dann D3 sein und A0 plötzlich A2???
So einen Mist würde ich nicht machen. Sowas erwarte ich auch nicht von
einer Schaltung. Das führt nur zur Verwirrung. Wenn es keinen ZWINGENDEN
Grund gibt (Routing ist keiner!!), dann gehört das so verdrahtet, wie
man es auch erwarten würde und im Manual vorfindet, nämlich in LOGISCHER
Abfolge zugeordnet!
also ich kann dem Dieter Werner prinzipiell schon folgen. Wenn der SRAM
nur einem Prozessor "gehört" kann man die Pins der Daten- und
Adress-Busse dem Layout folgend zuordnen. Was beim Schreiben verwirrt
wird, wird beim Lesen dann wieder entwirrt. Aber wehe es hängen mehrere
Teilnehmer am Bus... dann könnte es eng werden.
Was soll da dran Mist sein, die Anschlüsse sind völlig gleichwertig und
nur durch ihre Bezeichnung festgelegt.
Bei einem Logikgatter mit mehreren Eingängen spielt es auch keine Rolle
welches Signal an welchen Eingang gelegt wird.
Aber du kannst es ja wie mit den Autoreifen machen, nur wo "vorne
rechts" draufsteht kommt auch vorne rechts hin. ;-)
Dieter Werner (dds5) schrieb:
> Was soll da dran Mist sein, die Anschlüsse sind völlig gleichwertig und> nur durch ihre Bezeichnung festgelegt.> Bei einem Logikgatter mit mehreren Eingängen spielt es auch keine Rolle> welches Signal an welchen Eingang gelegt wird.
Und dann hast du ein EEPROM am BUS und deine BlockDaten landen
verwürfelt irgendwo im Speicher bzw. werden beim Chiptausch
(beispielsweise aus anderen Platinen die wieder anderes gelayoutet sind)
an falsche Adressen geladen. Bei meiner (ur- )alten 68HC11-Platine
benutzte ich höhere Adressleistungen gezielt zum Umschalten der
Speicherblöcke. Da hätte ich ungerne erwartet, dass die 2k im 8k X 8
EEPROM plötzlich nicht mehr da aufzufinden sind, wo man sie
normalerweise erwarten würde, bloß weil das Nachfolgelayout hier
kunterbunt die Adressleitungen vertauscht hat.
Tatsächlich zeigt mein Schaltungsbeispiel weiter oben genau dieses
Muster:
>Aber du kannst es ja wie mit den Autoreifen machen, nur wo "vorne>rechts" draufsteht kommt auch vorne rechts hin. ;-)schäm ich begreif das jetzt erst, man kann so nen SRAM viel
Layout-optimaler an den Rest der Schaltung dranhängen.
inzwischen sieht mein Layout so aus (Anlage). Der Kern der Schaltung war
eigentlich gut gelungen, bei der Peripherie hab ich etwas geschlampt,
geht aber auch noch.
Mein Problem, auf dem Screenshot deutlich zu sehen: ich hab mir vorher
gedacht die Stromversorgung mache ich ganz zum Schluss, wenn alles
andere fertig ist. Jetzt, wo ich soweit bin, fällt es mir wie Schuppen
aus den Haaren: da ist kein Platz mehr! Und eigentlich dürften die
Leiterbahnen für die Stromversorgung gerne etwas breiter sein.
Ok, ich lerne eben die Sachen auf die harte Tour.
Plan A: die ganze Platine noch mal neu designen
Plan B: Stromversorgungen per "Bridges". Vielleicht garnicht mal so
dumm, da die ordentlich Querschnitt haben...
Hallo Micha.
Micha schrieb:> Plan B: Stromversorgungen per "Bridges". Vielleicht garnicht mal so> dumm, da die ordentlich Querschnitt haben...
Eine Option, die einen Zuverlässigkeitsvorteil bringen kann. Die
Verkopplung der Leitungen untereinander ist geringer, da sie nicht in
ein und derselben Ebene dicht zusammenliegen.
Auch die Entwicklungszeit wird reduziert. Ein Vorteil vor allem bei
Einzelstücken und Kleinserien.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
Schau Dir noch einmal die Platzierung der Bauteile an. Das SRAM könnte
auch in die Mitte.
Der MAX232 sitzt zu hoch.
Bauteile bitte nicht im 45° Winkel anordnen. Das sieht nicht so toll
aus.
Und Leiterbahnen immer nur 90° oder 45° abknicken lassen und hier auch
im Raster bleiben (siehe SD-Card)
nachdem ich dann noch mal drüber geschlafen hatte hab ich am nächsten
Tag entdeckt, dass der Platz doch noch für ausreichend dicke
Masseverbindungen ausreichte.
Zwei Verbindungen sind am Ende offen geblieben - allerdings hab ich mal
irgendwo gelesen (eventuell sogar ein Artikel hier?) dass man nicht
unbedingt allen Ehrgeiz dransetzen muss, alle Verbindungen bis zur
letzten auf der LP unterzubringen, das kostet dann am Ende unnötig Zeit
und Nerven. Ein paar Drahtbrücken dürfen es schon mal sein - eine
Einstellung mit der ich mich sehr gut anfreunden kann.
@ Micha (Gast)
>Zwei Verbindungen sind am Ende offen geblieben -
Schlecht.
> allerdings hab ich mal>irgendwo gelesen (eventuell sogar ein Artikel hier?) dass man nicht>unbedingt allen Ehrgeiz dransetzen muss, alle Verbindungen bis zur>letzten auf der LP unterzubringen,
???
>das kostet dann am Ende unnötig Zeit
Nö, es ist der Normalfall.
>und Nerven. Ein paar Drahtbrücken dürfen es schon mal sein - eine>Einstellung mit der ich mich sehr gut anfreunden kann.
Bastelmurks^3
Hallo Falk.
Falk Brunner schrieb:>>und Nerven. Ein paar Drahtbrücken dürfen es schon mal sein - eine>>Einstellung mit der ich mich sehr gut anfreunden kann.> Bastelmurks^3
Nein.
Seh es mal so. Auf einer einseitigen Platine hast Du keine Möglichkeit,
auf die andere Seite einer Leiterbahn zu gelangen, außer sie zu umgehen
oder Brücken zu verwenden. Lange Leitungen möchte ich auch nicht
unbedingt. Als Brücken lassen sich oft Bauteile verwenden, die halt
geschickt über die zu querende Leiterbahn gelegt werden. Das meint jetzt
nicht unbedingt den klassischen "0-Ohm Widerstand" sondern auch z.B. ein
Kondensator, der von einem Anschluss nach Masse führt, und selber dabei
andere Leiterbahnen überspannt.
Aber das hat alles topologische Grenzen. Insbesondere bei SMD Bauteilen
ist die Funktion als Brücke aufgrund der geringen Bauteilgröße
eingeschränkt.
Bei doppellagigen Platinen ist die Situation etwas entspannter. Zum
Kreuzen kann ich auf die andere Seite ausweichen. Aber wenn ich den Fall
habe, das ich aus Entstörungsgründen eine Leitung auf der Oberseite
verlege, und die Rückleitung, um möglichst dicht an der Hinleitung zu
bleiben (Ich will ja keine großen "Schlaufen" aufspannen), direkt
paralell auf der Unterseite verlege, habe ich wieder beide Ebenen
blockiert. Klar, ich kann jetzt mit der Rückleitung paralell zur
Hinleitung neben diese auf die Oberseite Wechseln, und hätte die
Unterseite wieder frei....kostet aber alles Platz
und gibt Stossstellen.
Je mehr Lagen ich zur Verfügung habe, um so entspannter wird die
Situation theoretisch. Aber im allgemeinen steigt die Anzahl der Lagen
erst dann, wenn es wirklich nicht mehr anders geht.....das heisst, ich
hänge immer irgendwo am Limit.
Eine einzelne Brücke kostet nicht viel. Darum ist es nicht sinnvoll, für
ein paar dutzend Platinen eine solche Brücke weg zu optimieren. Steigt
die Anzahl der Platinen, wird es irgendwann doch wieder lohnend (wenn es
denn überhaupt machbar ist). Für einige 10.000 Platinen dürfen dann auch
wieder ein paar Stunden mehr Entwicklungszeit hineingesteckt
werden....aber irgendwann gibt es auch dort Grenzen. Vor allem wenn ich
nur um auf die andere Seite des ICs zu kommen einmal um die komplette
Platine herumrouten muss.
Aber vollends wiedersinnig kann das Brückenvermeiden werden, wenn es um
elektromagnetische Verkopplungen geht. Eine Brücke (Mit Rückleiter zum
Beispiel sogar als verdrillte Doppelleitung!) von einem Ende der Platine
zum anderen ist meistens störunanfälliger, weil sie magnetisch und
kapazitiv weniger koppelt, als das ganze per Leiterbahnzickzack zu
erledigen. Die Abstände sind größer, und es liegt nicht alles in einer
Ebene.
Eine gute Alternative zum legen von Brücken kann das Umsetzten von
Steckern sein, wenn es nicht Gründe gibt, warum die Stecker gerade an
diesem Ort sitzen sollten.
Keine Ahnung, wo diese Brückenvermeidungsmanie her kommt.....Genau diese
Manie verleidet aber vielen Anfängern den Spass: Sie investieren viele
Stunden Gehirnschmalz in eine Lösung, die "formal" besser ist, aber
praktisch schlecht oder gar nicht funktioniert. Sowas frustet.
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de
@ Bernd Wiebus (berndwiebus) Benutzerseite
>>>und Nerven. Ein paar Drahtbrücken dürfen es schon mal sein - eine>>>Einstellung mit der ich mich sehr gut anfreunden kann.>> Bastelmurks^3>Nein.
Doch ;-)
>Seh es mal so. Auf einer einseitigen Platine hast Du keine Möglichkeit,>auf die andere Seite einer Leiterbahn zu gelangen,
Er hat und redet aber von einer zweiseitigen!
Beitrag "Re: Gibts eigentlich Techniken um ein "Rattennest" systematisch zu prüfen?"
Das man besondes bei einseitigen Platinen mit Drahtbrücken arbeiten
muss/darf ist doch unbestritten. Er sagt aber, "keine Lust mehr, zieh
ich halt quer über die Platine ein fliegendes Kabel". DAS ist Murks.
>Situation theoretisch. Aber im allgemeinen steigt die Anzahl der Lagen>erst dann, wenn es wirklich nicht mehr anders geht.....das heisst, ich>hänge immer irgendwo am Limit.
Der OP muss ersmal die Grundlagen lernen. Seine Platine ist noch lange
nicht an den Grenzen einer zweiseitigen Platine angelangt. Er findet nur
blumige Erklärungen für seinen Wissenstand, anstatt sich reinzuknieen
und so zu machen wie der Rest der Welt.
>Eine einzelne Brücke kostet nicht viel. Darum ist es nicht sinnvoll, für>ein paar dutzend Platinen eine solche Brücke weg zu optimieren.
Eine normale Drahtbrücke ja, das was der OP uns "verkaufen" will, nein.
Schau dir sein Layout an.
Hallo Falk.
Falk Brunner schrieb:> Das man besondes bei einseitigen Platinen mit Drahtbrücken arbeiten> muss/darf ist doch unbestritten. Er sagt aber, "keine Lust mehr, zieh> ich halt quer über die Platine ein fliegendes Kabel". DAS ist Murks.>
Möglicherweise ist er aber auch aufwandsökonomisch. ;O)
Hängt halt davon ab, wie er seine eigenen Qualitäten einschätzt. Wenn er
meint, er braucht 2 Stunden um die verbliebenen 2 Verbindungen zu
routen, kann die beiden Verbindungen aber in 2 Minuten mit Fädeldraht
löten, dann zieht das erst gleich, wenn 60 Platinen gefertigt werden.
Meint er aber, er braucht 20 Minuten zum Routen der offenen
Verbindungen, aber 5 Minuten um die Verbindungen zu löten, dann zieht
das schon bei 4 Platinen gleich.
Den Materialaufwand für den Fädeldraht habe ich jetzt mal unter den
Tisch fallen lassen.
Fazit: Bei geschätzten zwei Stunden Routen gegen zwei Minuten Löten pro
Platine würde ich auch Löten, wenn es um 10 Platinen ginge. Im zweiten
Falle mit 20 Minuten Routen gegen 5 Minuten Löten pro Platine würde ich
auch eher zum Routen tendieren.
Für eine Einzelplatine.....ich mache viel mit Fädeltechnik auf
Lochraster.
> Der OP muss ersmal die Grundlagen lernen. Seine Platine ist noch lange> nicht an den Grenzen einer zweiseitigen Platine angelangt.
Richtig.
> Er findet nur> blumige Erklärungen für seinen Wissenstand, anstatt sich reinzuknieen> und so zu machen wie der Rest der Welt.
Er will halt "fertig" werden.
>>Eine einzelne Brücke kostet nicht viel. Darum ist es nicht sinnvoll, für>>ein paar dutzend Platinen eine solche Brücke weg zu optimieren.> Eine normale Drahtbrücke ja, das was der OP uns "verkaufen" will, nein.> Schau dir sein Layout an.
Ok. Er hat wirklich reichlich Platz. Aber ich kenne Sprint nicht.
Vieleicht ist es sehr wirklich fummelig in der Bedienung.
Was mir gerade am Layout auffällt: Wenn er von seinem Grundsatz:
Horizontal auf der einen Seite, und Vertikal auf der anderen Seite
Ausnahmen macht, bekommt er seine beiden Verbindungen noch locker
verlegt, ohne am Restlayout was zu ändern. Und das vermutlich sogar in
weniger als 20 Minuten. Dann ist er auch "fertig" und hat keine
Fädeldrahtleitungen.
Grundsätze sind eine feine Sache, wenn man den Punkt kennt, wo man sie
besser in den Wind schiesst.
Ich gestehe aber, das ich schon unter Zeitdruck Platinen gemacht habe,
wo ich einzelne Schaltungsgruppen von anderen Platinen zusammenkopiert
habe, und die Verbindungen untereinander und mit der Stromversorgung
auch durch solche Fädeldrahtverbindungen erzeugt habe.
Verdrillte Fädeldrahtverbindungen sind sehr störungsarm.....elektrische
Störungen sind gemeint, kein mechanisches Abreissen.....
Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.dl0dg.de