Forum: Mikrocontroller und Digitale Elektronik Problem bei LAN8710A-Inbetriebnahme


von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

bei folgendem Problem komme ich seit zwei Tagen überhaupt nicht weiter:

Ich möchte zwei LAN8710A-Ethernet-Phys an einem FM3-Controller 
(MB9BFD18S) von Fujitsu betreiben, der zwei MAC-Einheiten verbaut hat. 
Die Anbindung erfolgt jeweils über RMII. Die Software läuft problemlos 
auf dem SK-FM3-176PMC-Ethernet-Starterkit mit einem MB9BFD18T-Prozessor 
- dieser ist aber bezüglich des Sourcecodes identisch mit der 
S-Variante, hat nur mehr Pins.

Ich habe den Schaltplan zum Board einmal angehängt. Dieser war bisher 
immer frei zugänglich auf der Fujitsu-Seite, nur die FM3/FM4-Controller 
werden fortan wohl bei Spansion angeboten - da fehlt aber die Hälfte der 
Seiten noch...

Bis auf die Reset-Pins ist meine Schaltung identisch mit dem Schaltplan, 
trotzdem läuft die Schaltung nicht, ich bekomme keinen Link.

Nach etlichen Messen und Probieren kommt mir folgendes komisch vor: Ein 
nicht initialisierter LAN8710A (zum Beispiel wenn man den FM3-Controller 
auf dem Starterkit im Reset hilft) erkennt die Geschwindigkeit (hier 
100MBit) auf dem Netzwerk und zeigt den Link auch an über die beiden 
LED-Ausgänge - wie gesagt auch ohne angeschlossenen Controller. Dies 
klappt bereits bei mir nicht, bei mir auf dem eigenen Board leuchtet 
ständig die grüne LED an LED1/REGOFF zur Anzeige eines Links, auch ohne 
eingestecktes Netzwerkkabel.

Verwendet wird ein MagJack von WE (gleicher wie auf dem Demo-Board), ein 
50MHz Oszillator mit 50ppm (Frequenz und Funktion auch per Oszi geprüft) 
sowie der interne 1,2V-Regulator im LAN8710A. An dem Regulator messe ich 
auf meinem Board jedoch nur 1,10V, weswegen ich die Schaltung auch schon 
auf externe 1,2V umgebaut habe, jedoch mit dem gleichen Ergebnis (kein 
Link).

So langsam gehen mir die Ideen aus, was man noch testen kann. Pinout, 
Lötstellen und Bestückung habe ich mehrfach durch, das passt alles. 
Insgesamt treten die Fehler auf drei verschiedenen Platinen auf, 
weswegen es wohl auch nicht ein einzelner defekter LAN8710A sein kann.

Für weitere Ideen wäre ich sehr dankbar.

Chris

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Was für einen Sinn macht es, den Plan eines funktionierenden Boards zu 
posten, wenn das Problem wohl auf einem ganz anderen Board liegt?
Wie sollen wir erkennen können, wo die Probleme auf Deinem Board sind, 
wenn Du NULL Unterlagen zur Verfügung stellst? Glaskugel?
Mal ganz abgesehn davon, daß ich mir nicht vostellen kann, daß der 
Rechteinhaber des Schaltplans die Veröffentlichung hier gut heißt.

von Chris (Gast)


Angehängte Dateien:

Lesenswert?

Joerg L. schrieb:
> Was für einen Sinn macht es, den Plan eines funktionierenden Boards zu
> posten, wenn das Problem wohl auf einem ganz anderen Board liegt?
> Wie sollen wir erkennen können, wo die Probleme auf Deinem Board sind,
> wenn Du NULL Unterlagen zur Verfügung stellst? Glaskugel?

Anbei der Schaltplan und ein Ausschnitt des Layouts. Den habe ich jetzt 
aber x-Mal durch, der ist identisch mit dem Fujitsu-Board. Zum Testen 
habe ich sowohl den einzelnen WE-MagJack verwendet wie Fujitsu als auch, 
wie im Schaltplan zu sehen, eine doppelte Buchse.

Beim Layout weiß ich auch nicht, wo ein Problem sein könnte. Ich konnte 
zwar nicht alle Hinweise von SMSC zum Phy-Layout berücksichtigen 
(insbesondere Anbindung an MAC), aber das Fujitsu-Layout ist in jedem 
Fall noch viel schlimmer, da die Phys sehr weit vom MAC entfernt sitzen 
mit Stiftleisten dazwischen.

> Mal ganz abgesehn davon, daß ich mir nicht vostellen kann, daß der
> Rechteinhaber des Schaltplans die Veröffentlichung hier gut heißt.

Dann möge ein Moderator den gerne wieder löschen. Wie gesagt, es sind 
öffentliche Unterlagen von Fujitsu, die auf der Homepage die ganze Zeit 
erreichbar waren. Nur nach dem Umzug zu Spansion fehlen noch etliche 
Datenblätter auf der neuen Seite.

von Chris (Gast)


Lesenswert?

Eine Anmerkung noch: Der CRS_DV-Pin ist bei mir im Gegensatz zum 
Fujitsu-Board high, aber das signalisiert eigentlich auch nur, dass der 
Carrier nicht im Idle-Zustand ist, was ja auch zur eingeschalteten 
Link-LED passt.

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Ein paar Fragen als Denkanstöße:
- ist das exposed Pad des QFN Gehäuses angeschlossen? An welches 
Potential?
- die Pinbelegung Deines LAN-Trafos scheint anderst zu sein wie in dem 
Fujitsu-Board. Stimmt die?
- Kann Dein Oszillator 3 Lasten zu je 22R teiben? Sicher? Das ist 
nämlich eine Menge "Holz".
- 1.1V Core-Spannung ist mit Sicherheit zu wenig. Das ist fast 10% unter 
Soll. Wird der Chip warm? Stromaufnahme?

von Chris (Gast)


Lesenswert?

Joerg L. schrieb:
> Ein paar Fragen als Denkanstöße:
> - ist das exposed Pad des QFN Gehäuses angeschlossen? An welches
> Potential?

Ja, über fünf Vias an Masse auf der Unterseite.

> - die Pinbelegung Deines LAN-Trafos scheint anderst zu sein wie in dem
> Fujitsu-Board. Stimmt die?

Ja, die passt. Ich habe die Platine noch einmal neu aufgebaut nur mit 
dem LAN8710A und dem Oszillator sowie die Cs und Rs um den LAN8710A 
herum und einen einzelnen MagJack (den vom Fujitsu-Board) angeschlossen, 
womit ich das gleiche Problem habe.

> - Kann Dein Oszillator 3 Lasten zu je 22R teiben? Sicher? Das ist
> nämlich eine Menge "Holz".

Laut Datenblatt kann der 10 LSTTL-Lasten, das wären 4mA. Auf dem 
Oszilloskop sieht das Taktsignal auch gut aus. Mit dem einen LAN8710A 
habe ich aber die gleichen Probleme, daher denke ich, dass es der Takt 
nicht ist.

> - 1.1V Core-Spannung ist mit Sicherheit zu wenig. Das ist fast 10% unter
> Soll. Wird der Chip warm? Stromaufnahme?

Der Chip hat etwa 35°C, also 10K mehr als die Umgebung, was im Rahmen 
sein dürfte. Die Stromaufnahme liegt bei 30-40mA, wobei 17mA für den 
Quarz drauf gehen und wie gesagt eine LED im MagJack ja an ist.

Die 1,1V kamen mir auch merkwürdig vor, daher habe ich den LAN8710A 
testweise auf externen 1,2V-Regulator umgestellt (über die 
LED-Beschaltung mit externem Widerstand) und 1,2V direkt eingespeist. 
Das Problem bleibt aber.

von Chris (Gast)


Lesenswert?

Ich habe testweise den LAN8710A kopfüber auf einer Briefmarken großen 
SMD-Lochraster-Platine gelötet und mit Fädeldraht alles angeschlossen 
(Rs, Cs, Oszillator und MagJack). Hier leuchtet manchmal nach einem POR 
die gelbe Speed-LED, egal ob ein Netzwerk-Kabel gesteckt ist oder nicht. 
Der 1,2V-Regulator liefert aber auch nur wieder 1,1V. Stromaufnahme von 
allem sind 30mA.

von Chris (Gast)


Lesenswert?

Ich habe einen der LAN8710A auf dem Fujitsu-Board nun getauscht gegen 
einen der Bausteine, die ich auf meiner Platine hatte (geliefert von 
Farnell). Das Fujitsu-Board läuft auch mit dem anderen Baustein, meine 
Platine mit dem LAN8710A vom Fujitsu-Board hingegen nicht... Die 
Bauteile selber scheinen also auch in Ordnung zu sein. Ich lasse meine 
Unterlagen jetzt nochmal von jemand anders gegengucken. Es bleibt 
langsam fast nur noch das Layout, aber so kritisch sollte der LAN8710A 
eigentlich nicht sein...

von René Z. (dens)


Lesenswert?

Chris schrieb:
> aber so kritisch sollte der LAN8710A
> eigentlich nicht sein...

Wobei mir die TRX+/- Leitungen die da so in Määndern liegen mir 
persönlich(!) Sorgen bereiten bezüglich der Impedanz, da würde ich mehr 
auf Parallelität achten.

von MiWi (Gast)


Lesenswert?

Chris schrieb:
> Ich habe einen der LAN8710A auf dem Fujitsu-Board nun getauscht
> gegen
> einen der Bausteine, die ich auf meiner Platine hatte (geliefert von
> Farnell). Das Fujitsu-Board läuft auch mit dem anderen Baustein, meine
> Platine mit dem LAN8710A vom Fujitsu-Board hingegen nicht... Die
> Bauteile selber scheinen also auch in Ordnung zu sein. Ich lasse meine
> Unterlagen jetzt nochmal von jemand anders gegengucken. Es bleibt
> langsam fast nur noch das Layout, aber so kritisch sollte der LAN8710A
> eigentlich nicht sein...

Ich kenn das als Fehler beim Erstellen des Bauteils im jeweiligen 
CAD-System... und da ich dann bei deiesen Fehlern selber der Verursacher 
bin schlägt oft die Betriebsblindheit als Fehlerfindenverhinderungsgrund 
zu...

Also - Chip in den Libs Deines CAD-Systems Pin für Pin durchgehen und... 
vielleicht fündig werden.

Grüße und viel Glück

MiWi

von Chris (Gast)


Lesenswert?

René Z. schrieb:
> Wobei mir die TRX+/- Leitungen die da so in Määndern liegen mir
> persönlich(!) Sorgen bereiten bezüglich der Impedanz, da würde ich mehr
> auf Parallelität achten.

Um 100Ohm Impedanz bei der differentiellen Microstrip-Struktur zu 
bekommen, bräuchte ich aber bei 1,6mm Leiterplatten und 0,15mm Abstand 
zwischen den Leitungen 0,9mm breite Bahnen - das geht hinten und vorne 
nicht. Ich will nicht behaupten, dass es egal ist, aber bei wenigen cm 
Leiterbahn (hier sind es <2cm) sollte die Impedanz eigentlich egal sein. 
Zumindest habe ich in ähnlicher Form schon mehrfach 100 und 1000MBit 
Schnittstellen geroutet.

von Chris (Gast)


Lesenswert?

MiWi schrieb:
> Also - Chip in den Libs Deines CAD-Systems Pin für Pin durchgehen und...
> vielleicht fündig werden.

Das habe ich bereits getan, weil ich genau das auch vermutet habe. 
Sowohl die Zuordnung im Device stimmt als auch die Reihenfolge der 
Nummerierung im Package...

Gerade habe ich noch den Quarzoszillator getauscht gegen einen anderen 
Typen, aber das brachte auch nichts.

Langsam verzweifele ich und bin für alle Ideen offen...

von René Z. (dens)


Lesenswert?

Chris schrieb:
> René Z. schrieb:
>> [...]
> [...]
> nicht. Ich will nicht behaupten, dass es egal ist, aber bei wenigen cm
> Leiterbahn (hier sind es <2cm) sollte die Impedanz eigentlich egal sein.
> [...]

Ich auch nicht, aber ich würde es in die Liste der möglichen (!!!, 
möglich nicht unbedingt wirklich) Fehlerursachen aufnehmen.

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Die Stromaufnahme sieht gut aus, die Werte sind normal. Trotzdem 
verstehe ich die 1.1V nicht. Wie ist das mit dem Chip, den Du auf das 
Fujitsu-Board gelötet hast, hat der denn eine korrekt Core-Spannung?
Zum Layout: TX+ und TX- sollten paarweise layoutet werden, mit Kopplung 
der Traces zueinander, und jeweils RX+ mit RX-. Die Verlängerungsmäander 
verstehe ich nicht, sie machen keinen Sinn. Sie beeinflussen auch die 
Impdanz nicht, da sie nicht miteinander layoutet sind. Sie ändern nur 
die Signallaufzeit. Bei den 2cm sehe ich die Impedanz nicht so wichtig, 
dann ist die maximale Kalbellänge eben kürzer, für 10m reichts auf jeden 
Fall. Aber Du solltest zwischen dem TX und dem RX-Päärchen etwas Abstand 
einhalten, sonst wird das Übersprechen unnötig erhöht.
Apropos Leiterplatte: 1.6mm Dicke und 900um Bahnen - das hört sich nach 
nur 2 Lagen an. Ist das Dein Ernst? Die hat hoffentlich mehr als 2 
Lagen!!!
Ein 2-Lagen Layout mit 50MHz Arbeitstakt ist an sich schon eine Kunst, 
und wenn ich mir die Packungsdichte bei Dir ansehe und die vielen 
Unterbrechungen in der Masse, dann würden mich die Probleme nicht 
wundern. Ein EMV-Test damit wird niemals gelingen.
Eine LP mit 4 Lagen und einem passenden Lagenaufbau läßt problemlos die 
Z100diff mit schmalen Leiterbahnen zu.

von MiWi (Gast)


Lesenswert?

Chris schrieb:
> MiWi schrieb:
>> Also - Chip in den Libs Deines CAD-Systems Pin für Pin durchgehen und...
>> vielleicht fündig werden.
>
> Das habe ich bereits getan, weil ich genau das auch vermutet habe.
> Sowohl die Zuordnung im Device stimmt als auch die Reihenfolge der
> Nummerierung im Package...
>
> Gerade habe ich noch den Quarzoszillator getauscht gegen einen anderen
> Typen, aber das brachte auch nichts.
>
> Langsam verzweifele ich und bin für alle Ideen offen...

Ok, Du schreibst, daß alles bis auf den Reset identisch ist und schon 
mehrfach gegengeprüft wurde. Daher - wird der Reset wirklich richtig 
bedient?

Und noch eine Idee - schmeiß das Board für heute in ein Eck und schlafe 
eine Nacht drüber....

PS - wieso ist das Exposed PAD nicht direkt mit den GND-Pins 24/25 
verbunden?
Und wenn ich mir anschauen (muß) wie die Puffer-Cs nicht an den Chip 
angebunden sind... würd es mich nicht wundern daß der Chip ja gerne was 
tun würde aber ständig intern resetiert weil die Versorgung ziemlich 
nicht abgeblockt ist. Puffer-Cs gehören an den Chip. Nicht in die 
Pampas. Und bei denen ist alles was mehr als 1cm vom Chip entfernt ist 
schon (aus Abblocksicht) meilenweit entfernt.... Versuch zB. einmal den 
kürzesten Pfad von den Kerkos C13, 14, 15 zum Chip und dann über die 
beiden GND-Pins und dem Exposed Pad wieder zu den Kerkos zu finden... 
Ich hab jedenfalls keinen GND-Pfad der Kerkos, die an bei Pin1 und Pin12 
angeschlossen sind,  gefunden...

iaW: nimm ein schnelles Oszi (60Mhz aufwärts) und messe einmal am Chip 
die Versorgungsspannung mit einer AC-Messung im mV-Bereich. Wird 
vermutlich übel aussehen.


Grüße

MiWi

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

MiWi schrieb:
> iaW: nimm ein schnelles Oszi (60Mhz aufwärts) ...

Der Chip ist ein 100Mbit Phy mit extern 50MHz Takt.
Ich würde ein Oszi empfehlen mit mindestens 250-350MHz Bandbreite und 
mindestens 1Gs/sec, dazu eine Aktive Probe... man will ja auch was 
sehen.

von MiWi (Gast)


Lesenswert?

Joerg L. schrieb:
> MiWi schrieb:
>> iaW: nimm ein schnelles Oszi (60Mhz aufwärts) ...
>
> Der Chip ist ein 100Mbit Phy mit extern 50MHz Takt.
> Ich würde ein Oszi empfehlen mit mindestens 250-350MHz Bandbreite und
> mindestens 1Gs/sec, dazu eine Aktive Probe... man will ja auch was
> sehen.

Glaubst Du wirklich daß wer so ein Layout fertigen läßt sowas flottes im 
Regal stehen hat oder damit umgehen kann?

iaW: ein schnelles Oszi & aktive Probe und dieses Layout sind - bei 
allem Respekt vor der Arbeit, die auch in diesem Layout steckt - IMHO 
ein Widerspruch in sich.



Grüße

MiWi

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Gut, aber was will er auf einem 60MHz Oszi denn erkennen können?
Ich habe viele Jahre mit 10/20MHz Oszilloskopen gearbeitet, und dachte 
immer, meine Z80 und 8051er Leiterplatten wären prima.
Bis ich dann mal ein 6GHz-Teil in die Hand nehmen durfte. Das hat mir 
die Augen geöffnet. Erschreckend, wie schlecht diese (meine) Boards 
waren.
Ich bin auf die Zahl seiner Lagen gespannt.

von Björn (Gast)


Lesenswert?

Ist das Eval-Board wirklich mit nem 50Mhz-Quarz bestückt?

5.6 Clock Circuit
The device can accept either a 25MHz crystal or a 25MHz single-ended 
clock oscillator (±50ppm) input. If the single-ended clock oscillator 
method is implemented, XTAL2 should be left unconnected and XTAL1/CLKIN 
should be driven with a nominal 0-3.3V clock signal. See Table 5.13 for 
the recommended crystal specifications.

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Für RMII (R=reduced) nimmt man 50MHz und 2 Datenbits, für das "normale" 
MII ein 25MHz und 4 Datenbits.
Paßt schon so. Das ist ja das besondere am RMII, daß man am MAC und am 
Phy Pins sparen kann. Dafür hat man dann die doppelte Frequenz.

von Chris (Gast)


Lesenswert?

Guten Morgen,

danke für die Anregungen, aber im Einzelnen:

Die Platine ist zweilagig. Sicher wäre eine vierlagige Platine besser, 
nur hat das letzte (zweilagige) Layout mit einem DP83848 am STM32 auch 
wunderbar funktioniert. Von daher hätte ich jetzt einfach nicht gedacht, 
dass das beim LAN8710A so reinhaut. Ziel war halt eine möglichst 
günstige und kompakte Platine.

Die Määnder waren zur Längenanpassung gedacht, da die eine RX/TX-Leitung 
einmal um die anderen Pins vom MagJack herum muss, aber das Übersprechen 
würde natürlich durchaus auch zum Fehlerbild passen (Phy meint Aktivität 
auf dem Ethernet zu haben).

Der Reset wird richtig bedient, das hatte ich gleich getestet.

Die GND-Pins an 24/25 scheinen nicht angeschlossen zu sein wegen den 
150µm Abständen bzw. Leiterbahnbreiten - das scheint von EAGLE gerade 
rausgerechnet worden zu sein. Kann ich aber manuell anschließen, ohne 
DRC-Fehler zu produzieren.

Die Versorgungsspannung werde ich versuchen zu messen, ein 200MHz Oszi 
mit passiven Tastköpfen habe ich. Ebenfalls die 1,2V am Fujitsu-Board 
mit dem neuen Phy.

Ich werde mich wohl an ein vierlagiges Layout machen, dann kann ich auch 
die Impedanzen anpassen und die Cs näher an die Phys bringen. Etwas 
Sorgen macht mir halt das RMII-Interface und die Clock-Leitung mit 
50MHz, weil die halt vom MAC auf zwei Phys gehen. Wie würde man die denn 
am besten legen, damit die möglichst störungsarm sind? Microstrip mit 
Masse rechts und links (und untendrunter in der Mittellage)?

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

Es ist nicht der LAN8710, der Dir bei diesem Design das Genick bricht. 
Es sind die vielen, vielen Unterbrechungen der Masselage.
Wenn Du diese Unterbrechungen bei dem NatSemi Phy genauso eingebaut 
hast, ist es reine Glückssache, daß das Design tut. Halte mal ein 
sendendes Handy in die Nähe (1-2m Abstand sollten schon ausreichen), 
dann ist auch hier ruck-zuck schluß mit der einwandfreien Funktion.
Bei 50MHz ist es zwingend nötig, daß zu jedem Signal ein passender 
Rückstrompfad vorhanden ist, entweder als 2.Trace parallel oder als 
Massefläche darunter.
Die Verlängerungen der Signale ist nicht nötig. Es sind nur 100MHz. 
Verglichen mit den bis zu 100 Meter Kabellänge gehen die 10mm extra 
komplett unter.

DRC-Fehler werden überbewertet. Gerade bei QFN-Gehäusen und 
Mindestabständen von Masse zu diff-Päärchen bei impedanzkontrollierten 
Leitungen kommt es immer zu DRC-Fehlern, die sind dann halt so, man weiß 
ja, warum und ignoriert sie an dieser einen Stelle.

Wenn Du es schaffst, die Rückseite möglichst komplett mit Masse zu 
fluten, und an den Masse-Wechseln zur Oberseite nicht nur einen Via, 
sondern mehrere einzubauen, kann es mit 2 Lagen durchaus klappen. Aber 
in dem jetzigen Layout ist viel zu wenig Masse vorhanden.

Wenn Du eine 4 Lagige Platine machst, nimm keinen Standardaufbau. Ich 
kann Dir genauere Unterlagen zur Verfügung stellen, meld Dich dazu bitte 
mal hier an.

Gutes Gelingen!

von Björn (Gast)


Lesenswert?

Joerg L. schrieb:
> Für RMII (R=reduced) nimmt man 50MHz und 2 Datenbits, für das "normale"
> MII ein 25MHz und 4 Datenbits.
> Paßt schon so. Das ist ja das besondere am RMII, daß man am MAC und am
> Phy Pins sparen kann. Dafür hat man dann die doppelte Frequenz.

Ja, RMII läuft mit 50MHz. Ich hatte nur ein Verhalten wie beim LAN8720A 
erwartet, da erzeugt der PHY die 50MHz per PLL aus nem 25MHz-Quarz (und 
stellt die dann dem MAC zur Verfügung). Kann der LAN8710A aber nicht, 
von daher sind die 50MHz in der Tat richtig...

Funktioniert denn die Kommunikation über RMII? Wenn ja, würd ich mal die 
diversen Register auslesen und gucken, ob da auch wirklich alle 
Funktionen so gesetzt sind wie erwartet. Evtl. geht da auch in der 
Config-Phase nach dem Reset was schief, wenn an irgendnem Pin noch n 
falscher Pegel hängt...

von MiWi (Gast)


Lesenswert?

Chris schrieb:
> Guten Morgen,
>
> danke für die Anregungen, aber im Einzelnen:
>
> Die Platine ist zweilagig. Sicher wäre eine vierlagige Platine besser,
> nur hat das letzte (zweilagige) Layout mit einem DP83848 am STM32 auch
> wunderbar funktioniert.

Klar geht das auch 2-lagig, hab ich mit dem DM9161A auch schon gemacht. 
Aber das erste was ich da mache ist: Entkoppel-Cs nah am Chip (3-4mm) 
setzen, DKs legen und dann fixieren, damit die nicht mehr wandern. Alles 
andere muß sich da irgendwie drumherumschlängeln. Oben dann 3V3-Fläche 
(oder was immer der Chip braucht), unten GND-Fläche und geht schon. 
Nicht allzuweit (2-3cm sind ok) von den 100nF-Kerkos (in 0603) einen 10u 
Tantal oder Kerko, wenn Kerko aber nicht in 0805 sondern 1206 oder 1210.


> Von daher hätte ich jetzt einfach nicht gedacht,
> dass das beim LAN8710A so reinhaut. Ziel war halt eine möglichst
> günstige und kompakte Platine.

Der Kerl muß ja immerhin die Lan-Treiber niederohmig ansteuern, da 
fließt schon ein bischen Strom. Da aber keine Cs da sind, aus denen er 
den quasi kurzfristig entnehmen kann passiert was passieren muß: die 
Spannung bricht zusammen. Und bevor irgendwelche Register im Chip 
wackeln schlägt der interne Reset zu. Also Reset, Spannung ist stabil 
und daher auf ein neues und patsch - schon wieder...

4 Lagen kosten nicht soooo viel mehr, nicht einmal in geringen 
Stückzahlen.

>
> Die Määnder waren zur Längenanpassung gedacht,

Vergiß es. Dieses TWP kommt aus dem Telefonnetz und auch wenn 100Mbit 
auch ein bischen... flotter sind, das Zeug ist in weiten Grenzen 
ziemlich Robust in jeder Hinsicht. Deine Längenanpassung geht in den 
100m max. zulässigen Kabelentfernungen unter.

>
> Der Reset wird richtig bedient, das hatte ich gleich getestet.

gut.

>
> Die GND-Pins an 24/25 scheinen nicht angeschlossen zu sein wegen den
> 150µm Abständen bzw. Leiterbahnbreiten - das scheint von EAGLE gerade
> rausgerechnet worden zu sein. Kann ich aber manuell anschließen, ohne
> DRC-Fehler zu produzieren.
>

Ähem, die mußt Du anschließen.
> Die Versorgungsspannung werde ich versuchen zu messen, ein 200MHz Oszi
> mit passiven Tastköpfen habe ich. Ebenfalls die 1,2V am Fujitsu-Board
> mit dem neuen Phy.


> Ich werde mich wohl an ein vierlagiges Layout machen, dann kann ich auch
> die Impedanzen anpassen und die Cs näher an die Phys bringen. Etwas
> Sorgen macht mir halt das RMII-Interface und die Clock-Leitung mit
> 50MHz, weil die halt vom MAC auf zwei Phys gehen. Wie würde man die denn
> am besten legen, damit die möglichst störungsarm sind? Microstrip mit
> Masse rechts und links (und untendrunter in der Mittellage)?

Bitte erkläre mir, warum Du Microstrips machen willst? Wenn Du eine 
möglichst ungestörte(!!) GND-Fläche unter den Leitungen hast paßt das 
schon im Großen und Ganzen.

Stell Dir sehr vereinfacht vor, die Signale müssen sich immer auf das 
Referenzpotential beziehen können, immer (ich meine wirklich immer). Und 
weil es so schnell geht sind keine großen Umwege möglich. Also ist eine 
durchgehende Fläche unter den RMII-Leitungen, die auch an die GND-Pins 
der beteiligten Chips gehen muß - nötig. Im Grunde genommen ist das 
alles. Zumindest bei der Verbindung uC <> LAN-Interface-Chip.

Grüße

MiWi

von Chris (Gast)


Lesenswert?

>> Die GND-Pins an 24/25 scheinen nicht angeschlossen zu sein [...]
> Ähem, die mußt Du anschließen.

Ok, falsch ausgedrückt: Die Pins sind natürlich angeschlossen, nur eben 
nicht direkt an das Exposed-Pad unter dem IC.

> Bitte erkläre mir, warum Du Microstrips machen willst? Wenn Du eine
> möglichst ungestörte(!!) GND-Fläche unter den Leitungen hast paßt das
> schon im Großen und Ganzen.

Wenn ich vier Lagen zur Verfügung habe, kann ich die Impedanzen auch 
anpassen, das ist dann kein wirklicher Mehraufwand.

> Stell Dir sehr vereinfacht vor, die Signale müssen sich immer auf das
> Referenzpotential beziehen können, immer (ich meine wirklich immer). Und
> weil es so schnell geht sind keine großen Umwege möglich. Also ist eine
> durchgehende Fläche unter den RMII-Leitungen, die auch an die GND-Pins
> der beteiligten Chips gehen muß - nötig. Im Grunde genommen ist das
> alles. Zumindest bei der Verbindung uC <> LAN-Interface-Chip.

Eine durchgängige Masse-Fläche bekomme ich bei dem Design aber nur mit 
vier Lagen hin. Das Problem ist einfach, dass die zwei 
RMII-Schnittstellen an den Mikrocontroller angeschlossen werden müssen 
und sich die beiden teilweise schneiden. Von daher muss ich mit ein paar 
Signalen auf die Unterseite.

von Chris (Gast)


Angehängte Dateien:

Lesenswert?

So, ich habe ein vierlagiges Layout einmal begonnen. Zum Messen kam ich 
heute aber leider noch nicht.

Es wird in jedem Fall ein Standard-Aufbau (0,71mm Kern mit 0,36mm 
Prepegs und 35µm Kupfer) werden, alles andere wird in kleiner Stückzahl 
einfach sehr viel teurer.

Vom Lagenaufbau her:

1: Signale (RX/TX-Leitungen zwischen Phy und MagJack, Großteil des RMII)
2: GND
3: VCC
4: Signale (ein paar RMII-Leitungen und diverses unkritisches Zeugs)

Alle Kondensatoren sind jetzt maximal 2mm vom Phy entfernt, zusätzlich 
ist je Phy noch ein 22µF-Kondensator eingeplant neben den ganzen 
100nF-Typen.

Die RX/TX-Leitungen zum Phy haben 100Ohm Impedanz und die beiden Kanäle 
sind weiter auseinander.

Beim Oszillator habe ich ein 2,5x3,2mm Gehäuse genommen und die Position 
zwischen die beiden Phys geändert, um insgesamt minimale Leitungslängen 
beim 50MHz-Signal zu bekommen.

Anbei einmal der erste Stand von einem Phy.

von Joerg L. (Firma: 100nF 0603 X7R) (joergl)


Lesenswert?

[x] gefällt mir.
Bei den paar cm Leitungslänge wird das auch mit den 360er Prepregs 
klappen.

von Chris (Gast)


Lesenswert?

Ich muss nochmal nach Hilfe fragen:

Ich habe entsprechend der vielen hilfreichen Tipps das Layout angepasst 
wie oben bereits beschrieben und eine vierlagige Platine gefertigt. 
Dennoch tritt wieder der gleiche Fehler auf, es wird regelmäßig ein Link 
erkannt, der keiner ist. Der interne 1,2V-Regulator liefert wieder nur 
ganz knapp über 1,1V, auf dem Demo-Board aber immer 1,2V. Die 
Versorgungsspannung habe ich mit einem TDS2024B (200MHz, 2GS/s) 
untersucht und kann maximal ein Rauschen von 20mV peak-to-peak auf der 
Versorgungsspannung und dem internen Regulator messen, jeweils direkt am 
Phy. Das müsste eigentlich ok sein, zumal wirklich alle Kondensatoren 
<2mm am Phy hängen.

Noch jemand eine Idee?

von Ben (Gast)


Lesenswert?

Hallo, ich beschäftige mich derzeit auch mit Ethernet. Zwar geht es bei 
mir um ein Micrel-Switch (KSZ8864RMN), das sollte aber nicht weiter 
stören. Bei meiner Recherche bin ich auf das Thema Masseschleife 
gestoßen.

Da Du DGRND nicht von AGRND trennst, könnte das vielleicht den 
Spannungsabfall und die Fehlfunktion erklären?

Unter AppNote 139 findest Du auch einen PCB-Designvorschlag

http://www.micrel.com/index.php/technical-support/application-notes.html?option=com_joodb&view=catalog&format=html&reset=false&ordering=&orderby=&Itemid=979&task=&search=&gs[Product][]=LAN+Solutions

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.