Forum: Platinen Platinenoptimierung brauche kompetente Hilfe.


von Der A. (der-albi)


Angehängte Dateien:

Lesenswert?

Halooo

Ich mache gerade ein Redesign meines Mp3-Players. Der alte lief nicht 
stabil und machte mir software-mäßig keine Freude.
Diesmal MUSS es laufen. Ich habe diesmal ein wenig mehr auf das 
Platinendesign wert gelegt :-) Aber ich habe noch ein paar grunsätzliche 
Fragen!

Erstmal zu meinem Konzept:
Der Player besteht aus 2 Prozessoren gleichen Typs. 2x AVR32 UC3B. Damit 
komme  ich auf unglaublich niedrige Stromaufnahmen von 18mA bei voller 
Lautstärke, wenn ich WAV abspiele und 23mA wenn ich Mp3 (320kb/s) 
decodiere. Stromsparen ist mein Hauptwunsch/ziel. Ich denke das habe ich 
damit ausgereizt.

Zwischen den Prozessoren besteht eine Kommunikation über eine SPI oder 
USART (geht beides).

Die Clock-Leitung dieser Kommunikation ist wegen der Pinlage wesentlich 
länger als die Datenleitungen. Die Kommunikation läuft mit max. 15Mhz.
Clock (4.4cm / Daten : 1.8cm).
15Mhz ist ja schon relativ hochfrequent und 4cm lang. Ich habe daher die 
Datenleitungen durch Schlaufenlegen auf die Länge der Clockleitung 
angepasst. Die Datenleitungen liegen etwas von einander entfernt und ich 
habe Masse dazwischen gehauen, um eventuelles Übersprechen zu 
unterbinden.

->Nun frage ich mich, ob die Schlaufen eventuell wie eine Spule wirken 
und das ganze System noch anfälliger werden lassen? Die Schlaufen sind 
ringsrum mit Masse umgeben. Bzw VCC -> Da ich mir denke, dass das 
eventuell ungünstig ist, habe ich an der Stelle VCC extra nocheinmal 
abgeblockt - 1µ.
Andererseits.. Hochfrequente boards haben auch schlängel und sind auch 
EMV-unempfindlich.. Kann mir das bitte jemand bestätigen? Ich will weder 
Sender noch Empfänger bauen ;-)

->Eine andere Leitung ist eine richtige SPI-Leitung die bis 60Mhz 
taktet. Diese versorgt einen CPLD mit Daten. Der CPLD ist extrem 
störempfindlich. (vor allem Übersprechen der Leitungen und Überschwingen 
durch Induktion)
Die Leitungslänge ist ungefähr 3cm (1.8cm auf der Controller-Platine). 
Auch hier habe ich unteschiede durch schlängel ausgeglichen. So viel wie 
möglich Masse liegt ringsrum und zwischen drinne auch.
Welche gefahren bestehen hier?
Das darf weder übersprechen noch induktiv wirken.


Außerdem quälen mich auch Grundsätzliche Fragen:
-> Abstend Masse-Leiterbahn: so eng wie möglich, oder doch lieber etwas 
platz. Z.Z. sind es bei mir 0.2mm. Je enger, destro größer die 
Leitungskapazität. Mein Hersteller kann 0.15 Abstand. Was ist hier zu 
empfehen um Störungen zu vermindern?
-> Dicke der Leiterbahnen: Haben dünne Leiterbahnen eine kleinere 
impedanz  induktivität  Kapazität als dicke? Um schnelle Signale zu 
übertragen.. was bietet sich an? So dünn wie möglich, oder eher 
standard..?
Ich habe z.Z 0.2mm Leiterbahndicke. auch hier ginge 0.15mm.

->Die Versorgunsspannungen habe ich ordentlich abgepufert - dafür nur 
0.4mm dick. Ich habe insgesamt 60Cs verbaut. Ich denke das reicht :-) 
Des weiteren habe ich Masse seeehr gründlich und wesentlich öfter als 
eigentlich nötig durchkontaktiert um niederohmigkeit zu gewährleisten.
Die Borhungen sind bei mir 0.3 und 0.5mm. Sind die 0.3er schlechter oder 
sogar sinnvoller?

->Ich habe keine Ecken in den Leiterbahen - mache immer alles rund.. ist 
das ok oder bürgt das Probleme?

Ich hänge einfach mal das Layout an.. wer lust hat, darf mal drüber 
schauen. Das is nur eine Platine von zweien. (da sist die mit den 2 
controllern drauf.)

Über konstruktive Antworten bezüglich meiner Fragen wäre ich sehr froh 
:-)
Gute Hardware is der erste schritt zu guter Software.

MFG
Albi.

von Roland P. (pram)


Lesenswert?

Stell die Platine doch noch als PNG rein. Nicht jeder hat eagle

von Sepp K. (seppk)


Lesenswert?

Dein grundsätzliches Problem deine Leiterplatte störunempfindlicher zu 
machen habe ich ja soweit verstanden. Du solltest noch näher beschreiben 
bei welchen Störungen deine Schaltung bislang am empfindlichsten 
reagiert hat.

Hinweise bietet dir evtl. das hier:

http://www.mikrocontroller.net/articles/EMV_Einfache_Tester

Die Maßnahmen, die du bisher ergriffen hast (runde Leiterbahnführung, 
gute Masseführung etc.) sind grundsätzlich richtig und sollten bei jedem 
Leiterplattendesign berücksichtigt werden um störfest zu werden.

Eine Betrachtung des Leiterplattendesigns alleine reicht aber zum 
Erreichen wirklicher Störfestigkeit nicht aus. Es gilt außerdem noch 
hardwaretechnische Maßnahmen zu ergreifen (Flanken langsamer 
machen,...). Die Software spielt außerdem auch noch eine relativ große 
Rolle.

Wenn es dir möglich ist poste doch mal den Schaltplan. Soweit ich es 
verstanden habe ist ja auch das Board mit dem CPLD am empfindlichsten. 
Poste dies doch auch mal.

Kannst dich auch direkt bei mir melden.

von Karl (Gast)


Lesenswert?

Ich hätte da noch eine andere Frage: Was soll der MP3-player noch tun 
außer mp3s abzuspielen? Das sollte doch ein AVR32 auch locker schaffen, 
oder?

von Tim R. (vref)


Lesenswert?

Gar nicht gut ist die Anordnung deiner Vias.
In Pads und zu nahe daran geht gar nicht!
Der Stopplack zwischen einem Pad und einem Via muss mind. 0.1mm breit 
sein.
Sonst zieht es dir beim Bestücken das Zinn unter dem Pad weg (in das 
Via), und einzelne Pins/Bauteile sind dann nicht ordentlich verlötet.

N$30 und N$42 kommen sich zu nah. Es nützt nichts, wenn du das im DRC 
einfach billigst, es ist ein Problem.
Du hast mindestens ein Pad zu nah am Platinenrand...
etc...
Beseitige alle 87 DRC Fehler, und du wirst glücklich.

von Der A. (der-albi)


Lesenswert?

Ich löte das per Hand. Wenn Lötzinn in die Vias reinfließt freue ich 
mich höchstens über den geringer werdenden Widerstand.
Das beseitigen der DRC-Fehler wird zu nix besseren führen. Ich kann sehr 
wohl bis an den Platinenrand Leiterbahnen legen..  ich sehe keine 
einschränkung, da ich nicht automatisch bestücke ;-) Das issn Hobby 
projekt ;-)

Der Mp3-Player soll nix weiter tun als MP3 und WV abzuspielen. OGG wäre 
cool, aber dafür reicht der Speicher nicht. Das sind "nur" UC3B. dafür 
laufen die dinger aber quasi ohne Strom, wenn man das mit anderen 
gleichwertigen Prozessoren vergleicht. Es ghet nicht um die 
Leistungsfähigkeit des Prozessors, sondern eigentlich nur darum, dass 
ich ihn schön niedrig takten kann. Das Teil kümmert sich um die SD-Karte 
/ Dateisystem und decodierung von 320kb/s schon bei 26Mhz fehlerfrei.

Die Flankensteilheit ist leider durch den AVR UC3B festgelegt. 
Widerstände zur verlangsamung würde ich nur ungerne spendieren. ICh bin 
auch noch weit von Lamda/48 entfernt, glaube ich zumidnest. Reflexionen 
sind also hoffentlich kein Problem.

Ich kann leider auch nicht beschreiben, was meinen Player imme zum 
Abstürzen bringt. Es ist leider nicht reproduzierbar.
Außerdem fahre ich den Prozessor mit unterspannung (2.5V statt 2.7 und 
1.5V statt 1.65V) Dafür takte ich ihn aber auch nur niedrig. Sollte also 
kein Problem sein. Erhöhen der Spannung hatte ja auch nix gerbacht.
Hauptsächlich ist das Teil immer bei der Kommunikation hängen geblieben. 
Ich vermute da wurde ein paar bits zu viel/zu wenig erkannt. D.h. auf 
die 4cm schlängel kommt es an..

Würde denn das verkleinern der Leiterbahnen aud 0.15 etwas bringen? So 
weit ich weiß macht das ja den Abstand zwischen den Bahnen größer und 
somit reduziert sich das übersprechen.. oder?

Bitte weiter um antworten :-)

MFG
Albi.

von gast (Gast)


Lesenswert?

> Außerdem fahre ich den Prozessor mit unterspannung (2.5V statt 2.7 und
1.5V statt 1.65V) Dafür takte ich ihn aber auch nur niedrig. Sollte also
kein Problem sein.


ach?

von Der A. (der-albi)


Lesenswert?

Wie schoneinmal geschrieben: erhöhen der Spannung auf die Soll-Werte 
macht es nicht stabiler. Es soll jetzt auch nicht darum gehen. Wenn sich 
später herausstellt, dass es eine Fehlerquelle ist, kann ich die 
Spannung etws erhöhen.
Hier geht es aber erstmal um das prinzipielle Leiterplattendesign.
Die Platten sollen so unanfällig wie nur möglich sein.

Dafür brauche ich nur ein paar merkregeln:
1) was verhindert übersprechen effektiv (Leiterbahndicke / Massefläche 
dazwischen / min entferngung der "befeindeten" Leiterbahnen usw)
2) sind mäanderförmige Leiterbahnen anfälliger gegenüber einkoppelungen, 
da sie eine höhere induktivität haben? wie wirkt sich das uim 
schlimmsten falle aus
3) signal führende leitungen so dünn wie möglich, oder eher nicht..

MFG

von Olaf (Gast)


Lesenswert?

Hallo Albi,

Übersprechen gibt es viele. Kapazitiv, Induktiv,... . Das Wesentliche 
was hier wohl eintritt ist die Kapazitive Kopplung. Die kann man 
verringern indem man die Kopplungsmechanismen (Koppelflächen, 
Koppelabstand) variiert. Die Koppelflächen also klein. Dann kommt aber 
das nächste Problem, dass die Leitung induktiv wird. Also einfach mal 
eine GND-Fläche zwischen die beiden Leitungen. Da geht dann schonmal ein 
Teil der Kopplung Richtung GND. Alles wird natürlich nicht weg sein.

Grundsätzlich sucht man das Problem an der Stelle wo es auftritt. Das 
ist allerdings schwierig, da die meisten weder H-Feldsonden geschweige 
denn eine TEM-Zelle oder ähnliches zuhause haben.

Was ich mir an deinen Board frage ist folgendes, warum drehst Du den AVR 
nicht um 90 Grad? Dann könntest Du deine drei Leitungen geradlienig 
legen und die Clock-Leitung (COM_CLOCK) wird auch etwas kürzer. Was noch 
auffällt ist folgendes. Du hast sehr viele Kreuzungen von 
Signalleitungen auf ober und Unterseite. Das Problem hierbei ist, dass 
Dein Rückstrom z.B. der Clockleitung (COM_CLOCK) von mehr als 10 
Leitungen in seinem Fluss behindert wird. Der Rückstrom bei hohen 
Frequenzen folgt nämlich ziemlich genau dem Hinstrom. D.h. bei der 
Clockleitung (COM_CLOCK) läuft der Rückstrom auf der Unterseite der 
Platine der Leiterbahn nach (je höher die Frequenz desto prägnanter wird 
das).

Ähnliches gilt für Deine 3 Datenleitungen die auf der Oberseite durch 
DECODER_CLOCK gekreuzt werden.

Das ist zwar nicht einfach umzusetzen (ausser vielleicht mit einer 
4-lagen Platine) aber bei kritischen Signalen sollte man das bedenken. 
Solltest Du mal die Gelegenheit haben dir eine Feldsimulation auf 
Leiterplatten anschauen zu können, dann mach das. Da kommt man ab und an 
ins staunen.

Aber wie schon gesagt. Man sollte erstmal suchen wo genau der Fehler 
liegt. Und das ist im Bastelkeller oft nicht ganz so einfach.

Gruß und viel Erfolg

Olaf

von Der A. (der-albi)


Lesenswert?

hmmh. Vielen dank für die Antwort :-)
Ich kann den einen Chip nicht drehen, da sonst die 60MHz-SPI zu lang 
wird und das is definitiv das empfindlichste. ;-)
Ich habe schon versucht, das ganze nach Prioritäten zu routen.

Der Punkt mit der DECODER_CLOCK.. das ist eine Leitung auf der ständig 
4MHz anliegen werden. Wobei die letzlich nicht sonderlich fehleranfällig 
sind.. meinst du, ich sollte das nocheinmal ändern?

Die Kommunikatoin läuft ja auch nur im Worst-Case auf 15Mhz 
normalerweise bei 2-8Mhz. Aber auch bei 15MHz sollte die funktionieren.

Du meinst also, dass ich quasi an jedes Via einer gefährdeten leitung 
ringsrum GND-Viad lege, damit der Strom besser fließen kann? Das ist 
kein Problem :-)

Wo der wirkliche Fehler liegt, kann ich leider nicht sagen. Er tritt 
einfach zu selten auf. ICh will eifach nur Platinenprobleme 
ausschließen...

MFG

von vistageek (Gast)


Lesenswert?

Du kannst die Schlaufen mal komplett vergessen, bei der niedrigen 
Taktrate macht das abolut nichts aus. Guck dir das Timingdiagramm an und 
überlege dir mal, ob da wirklich ein Problem besteht. Ich sehe keines, 
Schlaufen bei diesem Design sind eigentlich nur der Beweis für das 
Vortäuschen von kompetentem Fachwissen.

von vistageek (Gast)


Lesenswert?

Und generell...abgerundete Leiterbahnen, mache dich bitte nicht 
lächerlich.

von DerAlbi (Gast)


Lesenswert?

Och junge... nich so rumtrollen... ich wollte extra kompetente hilfe 
;-) Sowas suche ich mir ja nicht, wenn ich selber die Kompetenz habe.. 
schlaumeier.. ätsch.

15MHz ist meines Erachtens schon eine empfindliche Frequenz.. das ist 
keine 500kHz SPI, die da laufen soll. Ein fehler auf der Leitung und das 
Teil wird sich aufhängen. Meine CLK-leitung ist immerhin doppelt so 
lang, wie die Datenleitungen. Jetzt sind alle im 4cm-Bereich. Keine 
Ahnung, ob das ein Vorteil ist.. deswegen erfrage ich das ja.

Runde leitungen: lassen sich komischer weise besser verlegen und brauche 
insgesamt weniger platz. Keine Ahnung, warum das so ist.. kann auch 
sein, dass ich mir das einbilde, aber es klappt super :-P
Das nennenswerte Reflexionen auftreten denke ich eher nicht. Selbst bei 
den 60MHz solten das keine Probleme geben. die Leitung wird insgesamt 
3cm lang.

Es wäre cool, wenns noch weitere Meinungen gibt.. aber bitte mit anderem 
Ton :-)

von Jupp (Gast)


Lesenswert?

>kann auch sein, dass ich mir das einbilde

Die kürzeste Verbindung zwischen zwei Punkten ist leider kein Bogen, 
daher tippe ich auch auf Einbildung.

Im übrigen ist die Frequenz völlig egal, ausschließlich die 
Flankensteilheit ist relevant.

>die Leitung wird insgesamt 3cm lang.

Vielleicht nur so als Info, ich habe mein MP3-Player auf Lochraster 
gelötet. Waren zwar nur 8MHz SPI, aber die die Leitungsverlegung war 
halt lochrastermäßig. Funzte einwandfrei und die Datenintegrität war 
immer gegeben.

von Der A. (der-albi)


Lesenswert?

Jo, das kann sein, mein alter funktionierte auch wunderbar... Aber die 
60MHZ SPI wird von einem CPLD empfangen.. und der ist, so wie es 
aussieht herzlich epflindlich, was störungen angeht. zur Zeit kann ich 
mit 3MHz nichtmal 5cm übertragen.Ich vermute das leigt an den Oberwellen 
der Flanke.. die werden scheibar auch als Impuls erkannt (der CPLD kann 
200MHz)
ICh will halt jede möglichkeit äußerer störungen ausschließen.. dazu 
gehört es auch niederfrequente signale ordentlich zu routen.
ICh selber wäre auch dafür die Schlängel wieder weg zu machen.
Wie gesagt.. keine Ahnung om das bei 15MHz und 4cm bzw 2cm unterschied 
schon kritisch ist..

von Olaf (Gast)


Lesenswert?

> 15MHz ist meines Erachtens schon eine empfindliche Frequenz.. das ist
> keine 500kHz SPI, die da laufen soll.

Das sieht man mal das Analogtechnik doch wichtiger ist als 
Digitaltechnik und das abmalen von anderen Platinen nichts bringt wenn 
man die Hintergruende nicht versteht. :-D

Das verlaengern einer Leitung kannst du dir sparen. Es ist Aufgabe des 
Clocks deine Daten zu syncronisieren. Wenn du aber nur eine Datenleitung 
und eine Clockleitung hast kann das nichts schiefgehen.

Es ist ausserdem vollkommen egal ob dein Bus mit 15Mhz oder 15Hz laeuft,
die Stoerungen kommen durch die Anstiegsgeschwindigkeit der Flanken,
beziehungsweise Reflexionen an den Leitungsenden. Ein Indiz ist
dafuer auch dein CPLD, die wollen naemlich sehr schnelle Eingangsflanken 
sehen und reagieren auch sofort wenn es nur eine winzig kurze Reflexion
gibt die langsamere ICs nichtmal bemerken.

Die Loesung sieht normalerweise so aus das man die Leitung terminiert. 
Allerdings wundert es mich das du bereits bei nur 4cm Leitungslaenge 
damit ein Problem hast. Falls dein Ausgang aus irgendwelchen Gruenden zu 
langsam ist, z.B weil dein IC mit Unterspannung laeuft, so koenntest du 
am
CPLD den Eingang auf Schmitt-trigger umschalten, oder einen davor bauen
wenn der das nicht kann.

Olaf

von Der A. (der-albi)


Lesenswert?

Gut.. also nehme ich die Schlängel wieder raus.
Was das terminieren angeht:  das wollte ich eigentlich vermeiden.. das 
zieht ganz schön strom. Ích sehe einfach ein paar widerständ evor uns 
gut. muss man ja nicht bestücken. Ich geb zu das wildes gekabel meines 
jeztigen CPLD-Aufbaus vielleicht nicht das Wahre ist. Ich hoffe, das 
läuft irgendwann einfach stabil, wenns auf Platte ist.

..es wäre bloß schön das auch vorher zuu wissen ;-)

Ivh setz noch ein paar Masse-Vias und gut :-)

von gast (Gast)


Lesenswert?

"Masse"  ist so nen ganz gutes Stichwort.

Durch deine wild verlegten Traces hast du dir eine recht unklare 
Grunding-Situation  geschaffen.
Überlege dir mal, wie der Strom von deinen ICs zur Stromversorgung 
zurück fließt.

Ich würde an deiner Stelle auf 4 Lagen gehen, und eine Lage für Masse 
vorsehen.

Route auf einem Grid, und mit 45° Knicken. Dann sieht's auch nicht so 
grausig aus.

von spess53 (Gast)


Lesenswert?

Hi

Wenn du den Rat von Roland (2. Beitrag) berücksichtigt hättest, würdest 
du vielleicht noch mehr Hilfe bekommen. Oder erwartest du, das sich 
wegen dir jemand EAGLE installiert.

MfG Spess

von Der A. (der-albi)


Lesenswert?

Nix is. Eagle rulez :-P

So aber mal ernst: Multilayer kostet einfach zu viel. das kann ich nicht 
mehr bezahlen...Ich würde viel mehr einfach mehrere Masseleitungen 
legen.. An sonen Akku kann man ja mehr als nur ein Minuskabel löten ;-)

Die Masse macht mir sowieso sorgen. ICh habe ja 2 Platinen, die später 
ünbereinander liegen. die zweite Platine (auf der sind dann Display und 
SD-Karten) hat nur 2 Masseberbindungen ach unten. mal sehen, wuie ich 
das geregelt bekomme...

Ich denke an meiner Masse kann ich nicht mehr vie ändern.. außer dass 
ich sie noch mehr durchlöchere.

ICh werde die Platine morgen Schlängefrei rauschschicken zum 
fertigen.mal sehen, wie dann das ergebnis aussieht.
Der jetzige Player funktioniert ja auch... und da drauf siehts wirklich 
grußelig aus ;-)

von Olaf (Gast)


Lesenswert?

> Was das terminieren angeht:  das wollte ich eigentlich vermeiden..
> das zieht ganz schön strom.

Ich terminiere immer mit 100R+100pF, zieht nur Strom wenn Bewegung
auf dem Bus ist. Passt dir das nicht, so lernst du jetzt warum schnelle
Sachen immer viel Strom ziehen. :-)
Ansonsten empfehle ich dir mal dir das Signal mit einem schnellen Oszi,
mindestens 100Mhz oder besser einmal mit und einmal ohne Terminierung 
anzusehen. Danach nimmst terminierst du dann immer...

Willst du Strom sparen dann koenntest du den Wert des Kondensators
verkleinern. Aber dabei solltest du dir halt dein Signal auf dem Bus 
ansehen. Wichtig ist das eigentlich nur beim Clock-Signal. Die 
Datenleitung
sollte schon stabil sein wenn die Clockflanke kommt.

Olaf

von gast (Gast)


Angehängte Dateien:

Lesenswert?

So. Ich klinke mich jetzt hier aus aus der Diskussion.

a) Du willst offenbar nichts lernen sondern lieber ewig diskutieren - 
die ganzen Tips gehen ins Leere

b) Wenn dir eine seine Hilfe anbietet, und mit Eagle-Files nichts 
anfangen kann, dann ist es schon ziemlich arrogant zu sagen "Nix is. 
Eagle rulez :-P". Ich benutze auch gerne Eagle, aber kann mir auch 
vorstellen, dass andere Leute andere Systeme gut finden und mir trotzdem 
helfen können.
Ich stelle jetzt für dich dein Design als PNG rein, damit sich jeder mal 
ein Bild machen kann
:-P :-P :-P

c) Ich wünsche viel Spaß beim Kabel verlegen und hoffe du hast eine gute 
Abisolierzange, damit deine Fingernägel nicht zu sehr beansprucht 
werden.

von gast (Gast)


Angehängte Dateien:

Lesenswert?

bottom

von Michael H* (Gast)


Lesenswert?

ich glaub, er will weniger tipps, sondern nur hörn, nur toll sein 
projekt und natürlich er ist. v.a. die leiterbahnführung hats ihm 
scheinbar angetan...

von jens (Gast)


Lesenswert?

Hallo Albi,

bei schnellen Flanken ist ein konstanter Wellenwiderstand über die 
gesammte Leitungslänge wichtig. In Verbindung mit einer einfachen 
Serienterminierung direkt an der Quelle brauchst du dann auch keinen 
extra Strom.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.