Hallo allerseits! Ich habe ein seltsames Problem mit dem ENC28J60 Rev.4 Aktueller Stand: µC funktioniert, SPI funktioniert auch tadellos. Die MAC adressen werden in den ENC korrekt geschrieben, und auslesen kann ich sie auch. Den Linkstatus bekommt meine software auch mit. Die ENC beschaltung ist die standard minimal beschaltung mit RBIAS 2,7 K und MAG Jack SI-60024-F. Einziger Unterschied bei mir ist, dass ich jeweils 2x 100R 1% parralel geschalten hab um auf die 50R zu kommen. Mein Problem liegt darin, dass wenn der µC daten sendet bricht meine link Verbindung ab und baut sich danach wieder auf, bis zum nächsten sender der Daten. (Ich lasse hier in einer bestimmten zeit einen UDP Broadcast ins netz senden) Es macht keinen Unterschied ob ich per Switch an LAN oder per Kabel am Rechner verbunden bin. Daten empfängt der µC auch nicht, es geht also kein Ping! Bin über die Boardsuche auf die Kondensatoren am 25 MHz Quarz gestossen, die werde ich heute abend mal entfernen und testen, aber gibt es noch eine andere möglichkeit für diesen Fehler? Bin für alle Ratschläge Dankbar, ich weiss nämlich nimmer weiter.... mfg Christian
> Die ENC beschaltung ist die standard minimal beschaltung Wie aufgebaut? Lochraster, Steckbrett oder Platine? > Mein Problem liegt darin, dass wenn der µC daten sendet bricht meine > link Verbindung ab und baut sich danach wieder auf, bis zum nächsten > sender der Daten. Wie ist die Versorgung entkoppelt? Wie ist die Leitungsführung der Signalleitungen?
Hallo Lothar, den Aufbau habe ich auf Lochraster gemacht. (Netzwerkkarte) den Controller habe ich auf einen Bread Board mit der ENC Platine verbunden. Alle nötigen Pins des ENC zum µC habe ich auf Stiftleisten geführt. Der ENC ist mit pin 14/15 ca. 3 Raster vom Mag Jack entfernt, um die RX/TX Leitungen möglichst kurz zu halten. Ich habe alle Referenzspannungen des ENC mit 100nF gegen GND entkoppelt. Die ENC Spannungsversorgung regelt ein 5V -> 3,3V Festspannungsregler auf der Netzwerkkarte. Sekundärseitig ist der Festspannungsregler mit 10nF und 33 µF entkoppelt. Die 5V Versorgung wird auch über einen Festsapannungsregler erzeugt. Ich denke von der Spannung her sollte es keine Probleme geben. Was ich mir noch so überlegt habe, ich benutze einen PIC 18F252 Controller mit dem Microchip TCP/IP Stack. Den Broadcast den ich sende, macht ein Beispielprogramm von Microchip (Announce.c) bei diesem Programm wird der Broadcast über eine besondere Adresse gesendet (Hab sie nicht im Kopf) Im Quellcode heisst es aber, dass manche Switche diesen Broadcast nicht weiterleiten. Nun meine Überlegung: Kann es sein dass in diesem Fall der Switch oder auch der PC den Link unterbricht??? Denn wenn ich das Board mit DHCP betreibe, blinkt die TX LED (DHCP anfordung) und der Link wird nicht unterbrochen?! Allerdings bleibt hier dann noch die Frage offen, wieso ich keine Daten übertragen kann...
Hallo! Nachdem ich die Kondensatoren am Quarz entfernt habe, hat sich leider nichts geändert! Hat noch jemand irgendeine Idee woran es liegen könnte?
Hi, Versuch mal Folgendes: 1. SPI Takt heruntersetzen auf bspw. 2MHz. Damit koennte man Probleme im elektronik-Aufbau eingrenzen. 2. Steck den ENC und deinen PC mal an einen HUB (keinen Switch!!!) und sieh dir am PC mit Wireshark an was da passiert. Wenn du per DHCP eine Adresse bekommst, funktioniert die Uebertragung grundsaetzlich und du solltest dein announce.c unter die Lupe nehmen. Viel Erfolg
Hallo ENC Nutzer :-) SPI Takt heruntersetzen ist in meiner Konfig "fast" nicht möglich da ENC und µC über jeweils einen Quarz verfügen und der ENC Rev.B4 nur mit SPI Frequenzen ab 8 MHz funktioniert. Ich habe den PC und den ENC schon mit Crossover Kabel verbunden, gleicher effekt, beim Senden von Daten bricht der Link ab und wird in der "sendepause" wieder aufgebaut. Wireshark zeigt keine daten an! Nur die sachen die mein PC ins netz sendet!
Schau dir mal am Scope deine VCC am ENx an. Eventuell bricht die beim Senden zu stark ein. Gruß - Abdul
Hallo Abdul, Danke für den Tipp, ich hatte auch schon sowas im sinn, bin dann von einem 300 mA auf ein 500mA Netzteil gewechselt, leider der gleiche effekt. Werde es aber trotzdem mal mit dem Scope ansehen und testen. Allerdings wenn hierbei die Spannung soweit einbrechen würde, dass der ENC die Verbindung killt, (ich nehme an, der ENC mach dann einen Reset) dann müssten doch auch die Register von ENC gelöscht sein, denn diese Register bleiben erhalten, also die MAC Adresse steht nach wie vor in den MAC registern!
oder prüf mal die Flankensteilheit. Ich hatte das Problem, dass die Flanken bei den erforderlichen 8MHz nicht sauber waren. Nachdem ich auf die kleinstmöglichen Pullup Widerstände an den SPI Leitungen gewechselt habe, ging es. In dem B4 Errata stand auch was von Link Detection Problemen, wenn man Dioden verwendet, glaube ich mich zu erinnern.
> Ich habe alle Referenzspannungen des ENC mit 100nF gegen GND entkoppelt.
Die Versorgung auch?
Hast Du die Polarität der Signale beachtet? Es gibt auch ein Erratum, dass der ENC verpolte Signale nicht erkennt (obwohl es im Datenblatt behauptpt wird). Evtl. in Reihe mit den beiden Daten- und Clock-Signalen einen kleinen (niederinduktiven) R (10-47 Ohm) gegen das Ringing. Wie ist denn das PHLCON-Register beschrieben? Beitrag "ENC28J60 correct value of PHLCON and mirrored registers"
@ENC-Nutzer Ich habe keine Pullups an den SPI Leitungen, nur einen 74HCT125 als 3,3 -> 5 V Pegelwandler an der DO Leitung des ENC. Dioden Verwende ich auch keine ich nutze einen 5V -> 3,3 V LM3940 - T Festspannungsregler. Habe gerade auch mal die Spannung gemessen, die ist stabil bei 3,25 V Stromaufnahme 133mA und beim Senden sind es ca. 144 mA also von daher keine Probleme. @Lothar Die Versorgungsspannung ist auch mit 100 nF enkoppelt! @eProfi Das mit der Polarität ist mir auch in den Sinn gekommen, ich nutze einen MagJack SI-60062-F. Ich habe mir zich mal das Datenblatt dazu angesehen, so wie ich es verstanden habe sind unbenützte Pins des MagJack entfernt. Wenn das so ist, dann sollte P7 am Mag Jack nicht vorhanden sein, so ist es auch bei mir, von daher gehe ich mal davon aus, dass ich den richtigen P1 am MagJack identifiziert habe, und dann müsste auch meine Polarität passen. Da ich aber nicht mehr weiter weiss, werde ich gleich nochmal den Lötkolben anwerfen und testhalber die Leitungen tauschen. >Evtl. in Reihe mit den beiden Daten- und Clock-Signalen einen kleinen >(niederinduktiven) R (10-47 Ohm) gegen das Ringing. das sagt mir jetzt ehrlich nichts :-) Zum PHLCON Register, hier habe ich mal einen Register Dump als Bild angefügt. Ich muss zugeben dass ich diese sache nicht überprüft habe, da ich den Microchip TCP/IP Stack verwende und hierbei schon Errata Fixes mit berücksichtigt werden.
Nachtrag: RX/TX Polaritätstausch -> Keine änderung..... :-(
PHLCON 0472 ist schon mal falsch, die missachten ihre eigenen Datenblätter (darüber steht nicht in den Errata). Die 0 muss eine 3 sein. "Ich habe keine Pullups an den SPI Leitungen, nur einen 74HCT125 als 3,3 -> 5 V Pegelwandler an der DO Leitung des ENC." Würde ich anders machen: 3V Ausgang direkt oder mit 47 Ohm in einen 5V-Eingang. 5V-Ausgang über ausreichend hohen R (470 Ohm) in einen 3V-Eingang, evtl. eine Schottky-Diode nach +3V zum Clampen. "Evtl. in Reihe mit den beiden Daten- und Clock-Signalen einen kleinen (niederinduktiven) R (10-47 Ohm) gegen das Ringing." Einfach statt einer Leitung einen Widerstand (47 .. 270 Ohm) verwenden. Das begrenzt den Strom und damit zu steile Flanken.
Hab auch gerade mal das Datenblatt gelesen und das PHLCON 0472 in 3472 geändert damit die Bits 15/14/13/12 -> 0011 sind .-) Aber ich denke das wirkt sich nicht auf die funktion des ENC aus, denn dieses register wirkt ja nur auf die Statusanzeige der LED's, möglicherweise macht das Probleme wenn man über LEDB die duplex Auswahl macht. >3V Ausgang direkt oder mit 47 Ohm in einen 5V-Eingang. >5V-Ausgang über ausreichend hohen R (470 Ohm) in einen 3V-Eingang, evtl. >eine Schottky-Diode nach +3V zum Clampen. Problem ist nur mein µC läuft ja mit 5 V und die SPI Pins sind Schmitt Trigger inputs! 5V * 0,8 = 4V wird noch als high Pegel erkannt das ist mit etwas zu unsicher. Wie auch immer, SPI geht ja.. .-) >Einfach statt einer Leitung einen Widerstand (47 .. 270 Ohm) verwenden. >Das begrenzt den Strom und damit zu steile Flanken. Wenn ich das richtig verstanden habe, meinst du die +3,3V anbindung auf die 50R Widerstände der TX+/- leitungen von µC zum ENC28J60. Anstatt der L1? JA, das probier ich mal...
Hmmm.... Ich habe jetzt einen 47 R eingebaut anstatt des Ferrit. Beim senden bleibt jetzt der Link bestehen! Schon mal ein Fortschritt. allerdings bekomme ich jetzt nur noch einen Link mit meinem Laptop über ein 2 m Patchkabel. Mit meinem Switch ca. 30 m Kabel nicht mehr! Ich muss dazu sagen, dass ich diese L1 die angegeben ist durch einem kleinen Ferrit Kern ersetzt habe durch den ich CU Lack Draht ein paar mal gewickelt hab. Hab mir dabei nicht viel gedacht, da ja oft angegeben wird man kann auch eine Drahtbrücke verwenden! Wenn ich allerdings den 47R brücke, bekomme ich gar keinen link mehr! Ich versuche mal einen 100R ma sehn wie es da aussieht!
Eventuell hat die Ferritkernspule bereits die Sättigunggrenze erreicht? Dann wäre sie praktisch bis auf ihren DCR nicht mehr existent. Ein Ringkern(?) ist ganz schnell in der Sättigung. Störungen gehen also voll durch! So wie du es schilderst, hast du einen echt miesen Störabstand in deiner Schaltung. Komisch. Mein 100MBit-Ethernet mit 91C100 von SMSC lief auf Anhieb. Pappe mal einen großen Tantal hinter die Drossel. Der 25MHz Oszillator muß auch absolut stabil laufen. Ethernet ist da pingelig. Scope Scope Scope!!!! Gruß - Abdul
Habe jetzt mal eine 10µH Spule eingebaut (Reichelt: SMCC 10µ) gleicher effekt wie vorher, Link bricht wieder ab bein senden von Daten und ein link zum Switch geht gar nicht.... @Abdul nach der spule habe ich einen 10nF Tantal gegen GND! Meinst du ich soll mal lieber auf 100 nF gehen...? Oder haben die Störungen doch was mit meinem Parallelen 100R zu tun? Ich habe ja jeweils 100R 1% Widerstände Parallel geschaltet um die 50R zu erreichen mit denen die RX/TX Leitungen abgeschlossen werden.
Ah ja, wegen Scope und dem Quarz. Ich hab nur ein altes Hameg Scope das is bei 25 MHz schon an seinen Grenzen! Ich seh da leider nur noch grad die Schwingungen vom Quarz, f=1/T brauch ich da gar nicht anfangen :-) Da is die Auflösung (wenn man von Auflösung sprechen kann) viel zu gering...
Die Reichelt-Drossel sollte es nach ihren Daten tun. Du hast wirklich 10nF Tantals? Kann man die überhaupt noch kaufen? Oder meinst du 10uF? Das wäre ok. Dazu brauchts parallel noch ca. 100nF Keramik-C. Daß du keinen Link mehr kriegst, wenn du Ersatzwiderstand für die Drossel brückst, gibt mir allerdings zu denken. Was hängt alles noch an VCC auf der Platine? Stört da vielleicht irgendwas tierisch, z.B. ein MAXIM RS232-Transceiver? Gibt da ganz schlimme Finger, die mir auch schon mal ein paar graue Haare brachten. Dein Trick mit zweimal 100 Ohm gleich 50 Ohm ist völlig in Ordnung und ich erinnere mich gelesen zu haben, das ein Ethernet-Hersteller das sogar in einer AppNote so stehen hatte. Mach mal ein Foto deines Aufbaus. Die Leitungsführung wäre interessant. Ich habe mit dem ENx leider keine Erfahrung und kann daher nur allgemeine Entstörtipps geben. Dein Scope taugt leider nicht für deine Problemstellung. Du könntest einen integrierten 25MHz-Oszillator besorgen und mal ersatzweise anschließen. Gruß - Abdul
Hallo Abdul, wegen der genauen Kondensator Bezeichnung schaue ich heute Nachmittag nochmal, dann folgen auch bilder! Einen MAX3232 habe ich auch auf meinem Aufbau, allerdings zimlich weit weg, von der ENC Platine! Weiter habe ich nur noch einen PIC18F252, und einen 74HCT125 und halt den MAX3232 an der Betriebsspannung, weiter nix... Ich wüsste nicht was da stören könnte. Ich habe noch einen 25 MHz Quarz Oszillator hier, der hat allerdings eine Betriebsspannung von 5 V, ich denke das wird nix mit dem 3,3V ENC, oder kann ich den bedenkenlos anschliessen, ich denke mich aber zu erinnern, dass nur die SPI Leitungen des ENC 5 V tollerant sind... :-(
Hallo, da bin ich wieder! Es tut sich was!!!! Ich kanns nicht erklären hab das Board aktiviert und spasshalber einen Ping gemacht, und auf einmal, eine Antwort! Der Wahnsinn! AAAber: Leider nur wenn ich mit dem 2m Patchkabel direkt mit dem Notebook verbunden bin, über meinen Switch im Keller bekomme ich keinen Link mehr! Bin mir auf jeden fall sicher, dass es an meinem aufbau liegt :-( Abnbei mal wie Bilder! Die Kondensatoren an den 50R Widerständen sind 10N von Reichelt: KERKO 10N Die kleinen Kondensatoren vor und nach dem Festspannungsregler sind 100N (Reichelt: Z5U-5 100N) und die anderen sind Folienkondensatoren 100N an den Referenzspannungen. Ich hoffe jemand hat jetzt den richtigen Tipp für mich :-)
Okay, Fehler gefunden Mangelhaftes Patchkabel, mit nem anderen bekomm ich nen Link auch mit dem Switch im Keller!!! Es ist Vollbracht! Vielen Dank an alle die sich die Mühe gemacht haben mir zu helfen! Ich denke das Hauptproblem was die Spule L1 um es mal auf den Punkt zu bringen. Aber für verbesserungs Vorschläge bin ich offen!! Falls meine Bauteilwahl nicht gerade die beste ist! Christian
Gratulation! Mal wieder die Kabel. Den Schrott aus China kann man sowieso nicht trauen! Warum sollte L1 das Kernproblem sein???? Ich glaube daran werden wir noch arbeiten müssen. Dein Aufbau sieht auf den ersten Blick ok aus, die Bauelementewahl soweit auch. Auch wenn Z5U nicht so der Kracher ist, für Ethernet wirds reichen. Und jetzt kommen wir zu meinen Lieblingsfeind: Der MAX3232 ist einer dieser ganz heftigen Störer. Die interne Ladungspumpe ist extrem niederohmig und wenn die schaltet, gibts heftigste Schaltspitzen!! Das Dumme dabei ist nun, das das Teil nur selten mal an geht und dann wieder totenstill wird. Wenn in der restlichen Schaltung die Integrationszeit für Datensignale signifikant kleiner ist als diese unregelmäßig Störung, dann tritt kein Fehler auf bzw. dieser wird von der eventuell vorhandenen Fehlerkorrektur gebügelt. Ist diese Zeit jedoch größer, dann hast du eine Verminderung des Störabstandes!! Daher mein Rat an dich als offensichtlichen Nichtprofi: Schmeiß den MAX3232 raus und ersetze ihn durch einen Standard MAX232. Die sind wesentlich schwächer und machen nicht so die Mucken. Erschwerend für die Fehlersuche ist noch diese Sache: Der MAX3232 arbeit je nach Belastung seiner RS232-Ausgänge periodisch unregelmäßig. Wenn du den Stecker der RS232 abziehst, wird er relativ ruhig. Bei Belastung seiner Ausgänge pumpt er öfter... Zumindest solltest du ihn ordentlich entkoppeln. Eine Drossel mit 5mH oder so ist angebracht. Für empfindliche Funksignale würde ich ihn dringend rausdesignen. OK, ist ja nur Ethernet hier. Zum Oszillator: Den kannst du DC-frei über einen Kondi mit Serienwiderstand aus der 5V-Ebene in die 3,3V-Ebene koppeln. Gruß - Abdul
" >Einfach statt einer Leitung einen Widerstand (47 .. 270 Ohm) verwenden. >Das begrenzt den Strom und damit zu steile Flanken. Wenn ich das richtig verstanden habe, meinst du die +3,3V anbindung auf die 50R Widerstände der TX+/- leitungen von µC zum ENC28J60. Anstatt der L1? JA, das probier ich mal..." Nein, ich dachte an die SPI-Leitungen. Ich freue mich, dass es endlich klappt. Hast Du das Kabel mal mit anderen Geräten getestet?
Am Aufbau suboptimal: die Kondensatoren. Die betreffenden Pins vom ENC liegen nicht zufällig mehr oder minder dicht nebeneinander. Genau dazwischen gehören die Cs. Kerkos sind kleiner als Folientypen und passen deshalb besser. Optimal wenn diese Pins direkt benachbart sind: SMD Kerkos unten direkt dazwischen löten. Wenn man das nicht mag: Kerkos kann man oft ganz gut innerhalb der Fassung unterbringen. Da sind sie dicht dran und niemandem im Weg. Masse aussenrum sieht zwar sehr elegant aus, maximiert aber die Weglänge und damit die dabei höchst unerwünschte Induktivität. Mittendrin ist besser.
@eProfi Ok, war ein Missverständniss, aber dadurch bin ich erst drauf gekommen dass irgendwas nicht mit der +3,3V anbindung an die TX leitungen gepasst hat :-( Sonst würde ich wohl jetzt noch suchen... Hab ich mal das PHLCON wieder auf 0472 gesetzt, hat aber keinen Einfluss auf die Funktion. Der richtigkeit halber inititlisiere ich es aber mit 3472 :-) Ja das Kabel habe ich eigentlich immer am Notebook, da funktioniert es einwandfrei! Deswegen bin ich da erst gar nicht drauf gekommen... @A.K. Jepp werde ich bein nächsten Aufbau beachten. Ich habe mir deswegen nicht viele gedanken gemacht, da ich diverse Schaltungen im netz gefunden hab, bei denen diese C's an den Referenzspannungen einfach alle Parallel geschalten werden, und danach wird erst die Spannung an den Pins durchgebrückt. Meinen nächsten Aufbau wollte ich sowiso ätzen, da hat sich die sache mit der Masse dann auch erledigt :-)
Christian wrote: > Schaltungen im netz gefunden hab, bei denen diese C's an den > Referenzspannungen einfach alle Parallel geschalten werden, und danach > wird erst die Spannung an den Pins durchgebrückt. Sind wohl eher Versorgungsspannungen verschiedener Teile des ICs als Referenzspannungen. Zumal der ENC ein ziemlicher Schluckspecht ist, braucht er doch immerhin 3-4mal so viel Strom wie eine uralte ISA-Ethernet-Karte. Im Schaltbild ist es übrigens normal, dass die Cs sich an einer Stelle vom Bild regelrecht stapeln. Mit dem Layout hat das aber nichts zu tun, das ist nur eine grafische Vereinfachung.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.