Forum: Mikrocontroller und Digitale Elektronik Aufbau mit ENC28J60 mit Problemen


von U. E. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
so langsam gehen mir die Ideen aus, wie ich weiter komme - deshalb hoffe 
von Euch ein paar Tipps zu bekommen.
Hier das Problem:
Ich habe mit einen Atmega644 und ENC28J60 zur IP-Anbindung aufgebaut.
Zu Testzwecken habe ich das Ganze erst auf einem Steckbrett gemacht- 
auch wenn ich weiß, daß die 25 MHz, mit denen der ENC betrieben wird, 
nicht wirklich steckbrett-geeignet sind.
Dann ein zweiter "Premium"-Aufbau mit einer geätzten Platine, um 
irgendwelche störenden Steckbrett-Eigenschaften ausschließen zu können.
Der ENC-Teil der Schaltung ist jeweils wie im Anhang dargestellt.

Die SW auf Basis der Ulrich Radig Arbeiten habe ich für meine Zwecke 
angepaßt und läuft - so weit- auf dem Steckbrett. Genauer: Die SW prüft, 
ob eine IP-Verbindung vorliegt und holt sich dann via DHCP eine 
IP-Adresse.

Das gleiche auf dem geätzten Board war leider erfolglos. Hier lag auch 
keine IP-Verbindung vor, obwohl ich das gleiche Ethernet-Kabel 
verwandte.

Nun kann es eine Fülle von Fehlermöglichkeiten geben. Die SW möchte ich 
ausschließen, weil sie auf beiden System sicher gleich ist :-)
Zur Hardware:

Ich kann auf der geätzten Platine den ENC via SPI ansprechen und z.B. 
die Revision ID des Bausteines auslesen (-> 6, die gleiche wie auf dem 
Steckbrett). Die Initialisierung des Bausteins sollte daher auch 
klappen.

Ich habe außerdem geprüft (ohne Ergebnis):
o die Löstellen
o die Bauteile
o auf Leiterbahnunterbrechungen oder Kurzschlüsse

ENC und Magjack habe ich mal ausgetauscht - auch wenn das Auslöten des 
Magjack's nicht wirklich eine Freude war. Leider ohne Erfolg.

Ich bin nun ratlos und weiß nicht, was ich noch prüfen kann.

Nach meinem Verständnis erkennt der ENC selbstständig, ob eine 
IP-Verbindung vorliegt. So leuchtet eine LED des Magjacks in der 
Steckbrett-Fassung nach dem Start auf, wenn ein Kabel gesteckt ist-  bei 
der anderen Platine nicht. Weiß jemand, woran der ENC festmacht, ob eine 
IP-Verbindung vorliegt - welche Leitungen sind dafür verantwortlich?
Überhaupt: Kann es an der Leitungsbreite im Layout liegen? Die Breite 
ist die Default-Breite von Eagle (etwas schmäler als 1mm) - zu schmal?

Hat jemand eine Idee?
Grüße
schnack

: Verschoben durch User
von Axel L. (axel_5)


Lesenswert?

Wenn die Link LED nicht anngeht, ist etwas zwischen Magjack und ENJ 
nicht in Ordnung, vorausgesetzt, der bekommt Spannung.

Evtl. sind die TPIN+ / TPIN- vertauscht.

Den Link erkennt der an den regelmässigen Pulsen, die vom anderen Ende 
der Leitung kommen sollten.

Evtl. mal schauen, ob an CLKOUT 6,25 MHz rauskommen. Es kann gut sein, 
dass das SPI auch funktioniert, wenn kein Takt dran ist.

Gruss
Axel

von Karl H. (kbuchegg)


Lesenswert?

Bei Problem fragen sie ihr µC oder Elektronikforum.

Aber NICHT die Codesammlung!

von Ingo K. (drohne235)


Lesenswert?

Korrekter Quarz? Benötigt wird ein Grundton-, kein Obertonquarz! Ich 
denke das kann man auch an CLKOUT prüfen.

von U. E. (Gast)


Lesenswert?

Hi,
es ist ein 25 MHz-Grundtonquarz - habe extra darauf geachtet :-)
Bei beiden Aufbauen (Steckbrett, geätzte Platine) ist auch der gleiche 
Typ verbaut. Ich werde heute abend mal mal CLKOUT prüfen und auch der 
Sache mit TPIN+/- nachgehen. Danke!
Grüße
schnack

von eProfi (Gast)


Lesenswert?

Die Link LED sollte auch ohne µC-Verbindung funktionieren, sobald ein 
"Gegenüber" angeschlossen ist.
Auch mal die intern erzeugten 2,5V messen, die müssen extern mit einem C 
gepuffert werden.
Kannst ja auch mal das Layout oder ein Foto posten.
Keine Frage, das bekommen wir hin.

von ... (Gast)


Lesenswert?

Pin 10 (RESET) darf nicht direkt an 3,3V, sondern entweder über einen 
10K an 3,3V oder offen lassen, da der Pin intern eh einen 
PullUp-Widerstand hat. Ein 0,1µF an den Pin und gut ist.
Der Kondensator an Pin 1 (VCAP) sollte ca. 10µF (low ESR) haben und 
nicht 220µF.

von U. E. (Gast)


Lesenswert?

Hi,
jetzt bin ich doch nicht dazu gekommen, heute weiter daran zu arbeiten 
:-(

Heute ist nämlich der neue LCD-Fernseher gekommen und da war doch noch 
der volle Einsatz gefragt, das Ding zusammen mit einem VDR 
(www.yavdr.de, falls es jemanden interessiert) zum Laufen zu bringen. 
Aber nun löppt's.. :-)

Der Hinweis mit dem Reset ist interessant. Beim Steckbrett habe ich hier 
tatsächlich einen 10k Widerstand gegen Vcc verwendet, also nicht direkt 
an Vcc hängen. Dies ist der einzige mir jetzt bekannte Unterschied. Ich 
hatte auch schon im Datenblatt deswegen nachgelesen und auch den Hinweis 
("kann man auch unbeschaltet lassen") gefunden, allerdings so 
verstanden, daß Vcc direkt auch nicht schadet. Nun ja, abklemmen ist ja 
einfach zu machen.

Layout: kann ich auch noch posten. Allerdings ist die Atmega644-ENC 
Verbindung nur ein Teil der Gesamtschaltung. Deshalb bin ich mir nicht 
sicher, ob das mehr Verwirrung auslöst - aber auf einen Versuch lasse 
ich es gerne ankommen.

Morgen werde ich den ganzen Tipps nachgehen und mich wieder melden.
Grüße
schnack

von U. E. (Gast)


Lesenswert?

Jetzt muß ich mich doch korrigieren, ist anscheinend schon zu spät..

Ich hatte gestern, inzwischen vorgestern, in Sachen 'Reset' schon 
getestet, nachdem ich das ENC-Sheet dazu gelesen hatte. Da Vcc leider 
direkt auf der Platinenoberseite unter dem Sockel zum Pin geroutet 
worden ist, habe ich den ENC-Pin hochgebogen, so daß er nicht mehr im 
Sockel ist. Dies hatte aber leider keinen Erfolg..
Grüße
schnack

von ... (Gast)


Lesenswert?

Könnte sein, dass du durch RESET an VCC den ENC schon gegrillt hast.

von U. E. (Gast)


Lesenswert?

Gegrillt, hm.. klingt nicht gut. Denn dann hätte ich schon zwei 
Bausteine kaputt gemacht. Da muß ich mal schauen, ob noch ein dritter 
ENC aufzutreiben ist.
Grüße
schnack

von U. E. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
zuerst mal das Gute: gegrillt ist der ENC offenbar nicht. Ich habe den 
Baustein ausgebaut und im Steckbrett eingebaut. Dort geht auch mit 
diesem ENC alles wie gehabt. Also weiter Suchen...

Anbei jetzt ein Ausschnitt des Layouts. Unten ist der ENC mit 
Beschaltung zu erkennen, rechts der MagJack. Da drüber ein Teil des 
Atmega (allerdings mit falscher Auszeichnung - verbaut ist ein 644. Ich 
hoffe, der Ausschnitt liefert genügend Info.

Grüße
schnack

von Gernot (Gast)


Lesenswert?

C. D. schrieb:
> hoffe, der Ausschnitt liefert genügend Info.
Voll und Ganz :D

von Simon K. (simon) Benutzerseite


Lesenswert?

Das ist ja schon ein übles Layout. Wie lang die Quarzleitungen sind. Und 
die Leitungen zur Ethernet Buchse erst! Normalerweise muss man letztere 
sogar impedanzkontrolliert verlegen, worauf man verzichten kann, wenn 
diese kurz sind. Beides ist aber bei dir nicht der Fall :-X

von Helmut L. (helmi1)


Lesenswert?

Ist das eine Multilayerkarte oder hast du den GND wirklich mit Bindfäden 
überall hingezogen ?

von U. E. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
na ja, das ist so ziemlich mein erstes Layout. Ich mache besser kein 
Foto vom Steckbrettaufbau... Hier habe ich den ENC nach einigem hin und 
her doch auf eine Rasterplatine gesetzt - allein der Atmega ist 
inzwischen auf dem Brett verblieben - und den MagJack über eine (ähäm) 
15cm lange Leitung angebunden. Geht aber ... :-)
Ich verstehe aber, daß mein Layout Probleme machen kann.

Das mit den Gummifäden habe ich nicht verstanden, alle Leitungen sind 
geroutet- hat jedenfalls Eagle gemeldet. Ich habe hier auch nichts 
gesehen- was meinst Du?

Inzwischen bin ich dem Hinweis mit vertauschtem TPIN-/+ nachgegangen und 
bin gerade einigermaßen entsetzt.
Der MagJack (bei der Steckbrettlösung separat auf Rasterplatine gelötet) 
ist komplett anders angeschlossen als auf der geätzten Fassung - da 
stimmt anscheinend gar nichts. Anscheinend habe ich die falsche Lib 
verwendet (anbei Bild mit Device Info).

Grüße
schnack

von Helmut L. (helmi1)


Lesenswert?

C. D. schrieb:
> Das mit den Gummifäden habe ich nicht verstanden, alle Leitungen sind
> geroutet- hat jedenfalls Eagle gemeldet. Ich habe hier auch nichts
> gesehen- was meinst Du?

Ich meinte damit das deine GND Leiterbahnen sehr dünn sind (Bindfäden 
halt). Somit hast du keine richtige Masse überall. Das führt zu 
Störungen in der Schaltungen. Masse (Gnd) ist möglichst flächig zu 
verlegen. Am besten auf einem seperatem Layer. Dünne Leiterbahnen haben 
eine höhere Induktivität als grosse Flächen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Das, was du verbaut hast ist kein MagJack, sondern eine RJ-45 Buchse der 
Firma AMP Connectors.

Ein MagJack ist ein eingetragenes Warenzeichen (Bel Stuart glaube ich).

von U. E. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
(Bindfäden:)ok, jetzt verstehe ich.

MagJack verbaut: SI-60024-F (Bel Stewart) und die beiliegende Lib wollte 
ich dafür nutzen, ist anscheinend daneben gegangen.

Grüße
schnack

von U. E. (Gast)


Lesenswert?

Hi Simon,
ein wirklich dämlicher Fehler..
Grüße
schnack

von Simon K. (simon) Benutzerseite


Lesenswert?

Die Lib sollte eigentlich gehen. Also hast du nur das falsche Bauelement 
gewählt? ;-) Hihi.

von U. E. (Gast)


Lesenswert?

Hi Simon,
ich meine, ich hatte auch das Element dieser Lib genommen, um meinen 
Steckbrett-Aufbau richtig zu machen. Irgendwie ist mir dann dieser 
Lapsus unterlaufen..

Also werde ich meinen MagJack mal wieder auslöten (brummel) und dann 
(bitte nicht weiterlesen) irgendwie fliegend anbringen.
Grüße
schnack

von U. E. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
na ja- die Geschichte ging natürlich weiter.
Als erstes habe ich den Gedanken mit dem fliegenden Aufbau wieder ad 
acta gelegt. Der MagJack sollte direkt auf der Platine bleiben.
Also habe ich die Zuleitungen mit einem Messer gekappt und die 
Anschlüsse direkt mit Drähten verlötet. Dabei habe das richtige Bauteil 
(SI-60024-F, aus der lib im früheren Post) verwendet und in die
Schaltung so eingefügt, daß ich pinweise die Leitungen anfügte, d.h. die 
Leitung an Pin 1 des alten Bauteils ging nun auch an Pin 1des neuen.

Nun ja, keine gute Idee.

Nach dem Einschalten passierte erst gar nichts, dann fing der MagJack an 
zu knistern und zu rauchen - da war es mit dem Grillen doch noch 
passiert..

Ich habe daraufhin die letzte Version von Ulrich Radig heruntergeladen 
(15.01.2010) und mußte feststellen, daß das Bauteil (natürlich) auch 
ganz angebunden wird (siehe beigefügtes Bild). Ein weiterer Magjack (den 
ich zu Anfang schon mal ausgelötet hatte) lag noch bereit und so ging es 
mit der neuen Beschaltung in die nächste Runde.
Ergebnis: die LED's leuchten. Per DHCP kommt die Adresse rein.
Aber: Ein Ping auf das Bauteil liefert mehr als 50% Ausfall, manchmal 
kommt auch gar nichts zurück. EIne LED blinkt im Ping-Takt - offenbar 
kommen die Pakete an, aber nicht allzu viel kommt wieder zurück. Im 
Steckbrett gibt es dagegen keinen Paket-Verlust.
Ich vermute nun, daß ich meinen (nunmehr letzten) Magjack durch die 
allererste Beschaltung (im ersten Post) nun auch ein wenig lädiert habe.

Kann das sein?

Immerhin würde ich einen Beschaltungsfehler ausschließen. Ich habe nun 
Leitung für Leitung auch mit der Steckbrett-Version verglichen 
(mehrfach..) und bin nun überzeugt, daß das zumindest stimmt.

Anbei auch mein neues Layout (als Ausschnitt) - gibt es dazu spontan 
Vorschläge, Kritik..?

von Helmut L. (helmi1)


Lesenswert?

C. D. schrieb:
> Ein Ping auf das Bauteil liefert mehr als 50% Ausfall, manchmal
> kommt auch gar nichts zurück.

Das sieht nach elektrischen Stoerungen in deinem Aufbau aus.

Wenn ich mir dein Layout ansehe hast du zwar eine Kupferflaeche da 
eingefuegt das die GND deiner Schaltung verbunden waere sehe ich da 
nirgends.
Kein Pin von einem Bauteil das ich da sehe hat Kontakt mit dieser 
Masseflaeche. Also besteht dein GND Netz immer noch aus duennen 
Laeiterbahnen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Die meisten Zuleitungen zum MagJack sind von der Länge her Okay, 
allerdings geht eine unten "über die ganze Platine". Route doch einfach 
die Leitungen zum MagJack zu erst, bevor du mit den andere 
(unkritischeren) weitermachst.

C12 ist außerdem immernoch zu groß. Hier würde ich außerdem ein Tantal 
Typ, evtl. auch ein Keramik Typ wählen.

von ... (Gast)


Angehängte Dateien:

Lesenswert?

hier mal ein Beispiel für das Routing eines ENC. Erhebt sicher keinen 
Anspruch auf
Optimum, aber funktioniert einwandfrei. Die blaue Fläche ist GND und die 
rote +3,3V.

von eProfi (Gast)


Lesenswert?

Das Gehäuse des MagJack wird nicht mit Gnd verbunden, sondern mit R und 
C parallel auf Gnd, damit es keine Gnd-Schleifen gibt.

Was mich wundert: Hast Du eigentlich bemerkt, dass es zum Thema ENC und 
MagJack dutzende Threads hier gibt? Die würde ich mal alle durchlesen.

Das Layout ist zwar ein wenig besser geworden, aber es gibt noch viel 
Potential. Mit der fehlenden Gnd-Verbindung zur blauen Fläche hat Simon 
recht.

Ich weiß ja nicht, welche Stückzahlen Du bauen willst, aber warum nimmst 
Du nicht ein fertiges Produkt wie z.B. das Pollin NET-IO?
Da bräuchtest Du nur noch einen CAN-Adapter dranhängen (was Du sonst 
noch alles auf der Platine hast, entzieht sich unserer Kenntnis).

von U. E. (Gast)


Lesenswert?

Hi,
ich hatte mich bemüht, die anderen Threads zu dem Thema zu lesen, so 
hatte ich auch die richtige Lib identifiziert, die Sache mit dem 
Grundtonquarz beachtet und der Steckbrettaufbau klappte ja auch.

Zusätzlich zum ENC möchte ich noch 4 CAN Adapter dranhängen , eine Art 
Switch für den CAN-Bus. Die Stückzahlen werden sich sicher in engen 
Grenzen halten.

> Das Gehäuse des MagJack wird nicht mit Gnd verbunden, sondern mit R und
> C parallel auf Gnd, damit es keine Gnd-Schleifen gibt.

-> habe ich so nicht gelesen...?

Das Problem ist sicher, daß ich auch in Eagle noch ein Anfänger bin. 
Bislang ist mir gar nicht aufgefallen, daß die Flächen nicht mit GND 
Kontakt hatten.
Ich weiß gar nicht, wie ich das erreichen kann (mal im Eagle Forum 
schauen..). DAs manuelle Routen mit Eagle habe ich bislang auch nicht 
probiert (bislang habe ich die Bauteile verschoben und mit 'auto;' Eagle 
arbeiten lassen..). Mir ist bewußt, daß das nicht das Optimum liefert 
kann.

Die SMD-Fassung oben ist natürlich spitzenmäßig. Allerdings wollte ich 
mit SMD-Löten nicht noch einen extra Schwierigkeitsgrad in die Aufgabe 
reinbringen.

Ich muß mal schauen, wie ich die Hinweise auswerte. Das eine ist das 
zukünftige Layout, das andere die aktuellen Probleme mit dem ohnehin 
etwas verhunzten Aufbau/Layout.

Grüße
schnack

von Helmut L. (helmi1)


Lesenswert?

C. D. schrieb:
> Bislang ist mir gar nicht aufgefallen, daß die Flächen nicht mit GND
> Kontakt hatten.
> Ich weiß gar nicht, wie ich das erreichen kann (mal im Eagle Forum
> schauen..).

Du must nur das Polygonnetz mit GND benennen da verbindet Eagle 
Automatisch alle GND Pine miteinander.

von ... (Gast)


Lesenswert?

C. D. schrieb:
> Allerdings wollte ich
> mit SMD-Löten nicht noch einen extra Schwierigkeitsgrad in die Aufgabe
> reinbringen.

War jetzt auch nur als Routingvorschlag gedacht. Das kann man so auch 
mit THT-Bauteilen aufbauen, braucht eben nur mehr Platz

von U. E. (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> Du must nur das Polygonnetz mit GND benennen da verbindet Eagle
> Automatisch alle GND Pine miteinander.
.. hat (auch nach einer weiteren Suche im Forum) geklappt :-)

Inzwischen bin ich dabei die kritischen Leitungen von Hand zu routen. 
Mal schauen..

Bleiben noch die Probleme im aktuellen Aufbau:
> Das sieht nach elektrischen Stoerungen in deinem Aufbau aus.
Könnten die dadurch behoben werden können, daß ich die Flächen mit GND 
verbinde? Oder welche Ursachen können diese Störungen haben?

Grüße
schnack

von Helmut L. (helmi1)


Lesenswert?

C. D. schrieb:
> Könnten die dadurch behoben werden können, daß ich die Flächen mit GND
> verbinde? Oder welche Ursachen können diese Störungen haben?

Das kann sehr gut möglich sein. Es kann aber auch noch andere Ursachen 
haben.

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.