Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem ENC28J60


von joern (Gast)


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

von Frank aus Köln (Gast)


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

von Tom (Gast)


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.

von Andreas K. (a-k)


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.

von Daniel Schäfer (Gast)


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.

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.