Probleme mit dem ENC28J60

Gast #624140
Lesenswert?

Moin,
ich habe eine Schaltung mit dem ENC28J60 aufgebaut und nun bei der 
Datenübertragung Probleme. Ein angeschlossener Controller empfängt die 
Daten richtig, es werden aber falsche Daten gesendet. Das Datenpaket ist 
immer der selbe Datenmüll und ungefähr 50% länger als beabsichtigt. Kann 
das an dem Ferrit liegen? Was für einen Typen benötigt man dort? Ich 
habe, soweit ich mich erinnere, einfach irgendeine Spule eingelötet.

Gruß, Jörn
Gast #624365
Lesenswert?

Hallo Joern,

ich habe bei mir nur eine Drahtbrücke eingelötet, also nicht wirklich 
was induktives. Andere hier im Forum haben wohl nur eine Drahtbrücke mit 
Ferritperle drum und läuft auch super. Ich glaube eine "richtige Spule" 
hat hier keiner drin. Ich würde an deiner stelle die Spule erst mal 
brücken, um dieses Bauteil auszuschliessen. Hat dieser Aufbau denn mal 
Funktioniert ? Für mich hört sich das eher danach an, das der TX Pointer 
nicht richtig gesetzt wird, also Software-Macke.

Gruß aus Köln

Frank
Gast #624406
Lesenswert?

Soweit ich mich erinnern kann, gibt es bei der Hardware eigentlich nur 
zwei   kritische Punkte. Die Kondensatoren am Quarz, was ich aber nicht 
bestätigen kann. Ich hab 10pF und auch 33pF verbaut und hab keine 
Probleme. Der zweite Punkt der Bias-Widerstand. Aber auch hier habe ich 
entgegen der Empfehlung von Microchip 2k7 statt 2k32 verbaut, auch hier 
zeigten sich keine Probleme. Naja und so Empfehlungen wie kreuzungsfreie 
Verlegung der Datenleitung mit minimalem Abstand und Groundplane 
darunter sind nicht verkehrt, aber daran wird es definitiv auch nicht 
legen. Daher tippe auch ich auf einen Softwarefehler.
#624464
Lesenswert?

Das Teil überlebt auch einen Lötpunktrasteraufbau mit 5cm Flachbandkabel 
zwischen RJ45 und Platine am einen Ende sowie 20cm Flachbandkabel (SPI) 
zwischen µC und ENC am anderen.

Was den Müll angeht: Wenn die CRC vom Ethernet-Frame stimmt, dann kriegt 
der sendende Ethernet-Controller bereits Schrott angeliefert.
Gast #624512
Lesenswert?

Bei mir lag das Problem an den BufferPointern, vlt. liegt es
an deinem Code? Weil wenn er falsch sich das erste byte
rausholt (weil der Bufferpointer falsch steht) interpretiert dein 
programm das sicherlich falsch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren