mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ENC28J60: SPI Problem


Autor: Philipp F. (nerdture)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe meinen ENC28J60 am ATmega8 SPI angeschlossen.
Leider bekomme ich nicht einmal die LEDs zum blinken. Wenn ich ein 
Netzwerkkabel reinstecke blinken sie schon ab und zu mal, aber ich 
möchte über das PHY-Register das Dauerblinken einschalten.
Habe komplett den Code von Nik Bambert 
(Beitrag "ENC28J60 Basics[Beispielprogramm in AVRGCC für atmega8]") übernommen, aber trotzdem 
tut sich nichts.

Jetzt habe ich mal folgende Schleife eingebaut:
  while(1) {
  enc28j60Read(MAADR5);
  enc28j60Read(MAADR4);
  enc28j60Read(MAADR3);
  enc28j60Read(MAADR2);
  enc28j60Read(MAADR1);
  enc28j60Read(MAADR0);
  }
und ein Oszi an MOSI und MISO gehängt. Im Bild sieht man wie gerade 
MISTAT ausgelesen wird , nur wundert mich der Pegel von MISO etwas! (Der 
ist ja positiv und negativ während die Adresse geschickt wird?)

Auf jeden Fall kommen immer nur Nullen zurück, obwohl am Anfang die MAC 
adresse gesetzt wurde. Und wie gesagt die LEDs blinken auch nicht nach 
einem
enc28j60PhyWrite(0x14,0b0000010000100000);
...

Hat jemand da eine Idee?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eingang des Scopes auf AC geschaltet?
Masse vom ENC nicht gleich Masse vom ATmega?

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne, beides nicht der Fall. Schade eigentlich. Das mit der Masse wäre 
eine plausible Erklärung gewesen, aber habe mit dem Oszi auf direkt am 
ENC gemessen (sowohl Masse als auch Datenleitungen).
Auf AC war's auch nicht gestellt... Sehr merkwürdig

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese trinären Pegel sehen nach einem Kurzschluss zwischen 2 Leitunge, 
z.B. zwischen DO und DI aus.
PS: Dreh mal die Volt/div Einstellung am Oszi etwas runter, dann steigt 
das SNR deutlich und man kann die Signale besser erkennen.

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin gerade mal alle Kombinationen mit dem Messgerät auf "pieper-modus" 
durchgegangen. Keine Leitungen am ENC sind kurzgeschlossen, auch nicht, 
wenn der ATmega mit dranhängt...
Das mit der DIV einstellung muss ich nochmal testen.

PS: Im Bild ist der lilane Eingang mit eine 10x Eintellung gemessen 
(pegel also eigtl. zwischen 0 und 5 V), am weißen ist ein 1x probe dran, 
also die pegel sind unter 1 Volt

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich vermute immer noch, das zwischen dem ATmega und dem ENC keine 
Masseverbindung besteht. Das scheinst du ja auch nicht nachgemessen zu 
haben.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spannungsversorgung am ENC vorhanden?

Autor: Philipp F. (nerdture)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Der ENC hat konstant 3.24 Volt. Die Masse ist wunderbar 
durchverbunden... Vielleicht ist der ENC kaputt? Habe aber nichts 
schlimmes damit angestellt eigentlich.

Im Anhang mal die Schematics. Kann bei bedarf auch das Layout noch 
schicken oder echte Fotos ...

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich vermisse da so einiges an der Beschaltung des ENC, auch wenn es mit 
der Übertragung per SPI nicht unbedingt zusammenhängen muß.

100n an mehreren Spannungs-Pins, Widerstände/C/Spannungsversorgung von 
TX/RX.

Gruß aus Berlin
Michael

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LF33 ohne Kondensator dahinter - das ist mutig!

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also auf dem ENC board habe ich ja noch ein 100n an der 
Versorgungsspannung.
Und die weitere Beschaltung der Ethernet buchse habe ich weggelassen, 
nachdem mir einige im Forum gesagt haben, man bräuchte theoretisch nicht 
mal den Übertrager, wenn es nur um kurze distanzen geht. Aber hat ja mit 
SPI nix zu tun.

Ich könnte versuchen die Kabel zwischen den Boards kürzer zu machen (im 
Moment ca 20cm)...

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe übrigens keine Kondensatoren am Quarz. Viele meinten ja so würde es 
am besten funktionieren.
Am CLKOUT kommen auf jeden Fall 6.25 MHz raus...

Autor: Philipp F. (nerdture)
Datum:
Angehängte Dateien:
  • preview image for s.gif
    s.gif
    36,9 KB, 470 Downloads

Bewertung
0 lesenswert
nicht lesenswert
So, also ich habe es nun nochmal mit den richtigen Einstellungen 
gemessen. Habe auch noch Kondensatoren vor und hinter den LF33 gehängt.

Im Oszi-Bild sieht man wie drei Stellen der zuvor gesetzten MAC-Adresse 
korrekt ausgelesen werden. Warum funktioniert es also nicht korrekt? 
(Die LEDs blinken ja zB nicht)
Das Bild ist der eindeutige Beweis, dass ich ich mit dem ENC 
kommunizieren kann...


EDIT: Ok, der Blink-Befehl war falsch ^^. Jetzt blinkts auch...
Sorry

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal zu der Beschaltung des ENC.
Ich bekomme nämlich trotzdem keinen Link zum Switch...
Was ist wirklich nötig? Kann es doch sein das die Spulen allein nicht 
ausreichen? Habe auch nur 4 Pins des RJ45 angeschlossen... Sollte doch 
für 10Mbit aber reichen oder?

Autor: Gast (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde ihn so anschließen. Der Stromlaufplan funktioniert 
einwandfrei.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Philipp F. schrieb:
> Nochmal zu der Beschaltung des ENC.
> Ich bekomme nämlich trotzdem keinen Link zum Switch...
Wundert mich nicht wirklich...

> Was ist wirklich nötig? Kann es doch sein das die Spulen allein nicht
> ausreichen? Habe auch nur 4 Pins des RJ45 angeschlossen... Sollte doch
> für 10Mbit aber reichen oder?

Der Hersteller aht die Widerstände nur ins Datenblatt gemalt, weil er 
einen Vertrag mit dem 49,9 Ohm-Widerstandshersteller hat.
50 oder 51 Ohm gehen aber auch.

Woher stammt die Idee, das man alles mögliche da weglassen kann?

Ich zitiere mal aus einem vorigen Posting von Dir:
>nachdem mir einige im Forum gesagt haben, man bräuchte theoretisch nicht
>mal den Übertrager, wenn es nur um kurze distanzen geht. Aber hat ja mit

Der Unterschied zwischen theoretisch und praktisch ist Dir aber klar? 
;-)

Gruß aus Berlin
Michael

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum baust du das ganze nicht nach Datenblattschaltung auf? Da fehlt 
doch jede Menge Beschaltung an dem Übertrager. Der Hersteller malt ja 
nicht umsonst da die Widerstände und Kondensatoren (übrigens auch am 
Quarz) hin.

Autor: Marcus Müller (marcus67)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Übertrager kann man vielleicht weglassen, wenn man 2 Chips auf der 
gleichen Platine mit gleichem Potential und 2cm langen Leiterbahnen 
verbindet.

Schon bei 1-2m Kabel stimmen die Impendanzen nicht mehr und es ist 
höchst zufällig, ob es noch funktioniert.

Hinzu kommt, daß die Übertrager eine galvanische Trennung gewährleisten. 
Wenn der Switch und Deine Schaltung auf unterschiedlichen Erdpotentialen 
liegen (das hat man schnell mal im Haus) ist sonst ganz schnell ein Teil 
der Schaltung im Himmel.

Gruß, Marcus

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Beiträge. Ehrlich gesagt weiß ich auch nicht wie ich auf 
diese Idee komme.. Vielleicht weil ich dachte das sei nur zur 
Stabilisierung und würde aber auch ohne gehen. Nun ja. Ich werde dann 
die Schaltung wohl mal richtig aufbauen.

Aber am besten wäre es glaube ich, wenn ich verstehen würde warum man 
diese Beschaltung braucht. Also was machen die 50ohm widerstände mit dem 
kondensator zu GND? Und die spule zur versorgungsspannung? Bin zwar eher 
der Informatiker als der Elektrotechniker, aber ich würde es wirklich 
gern verstehen ;)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was die Widerstände angeht, siehe Wellenwiderstand. Cat5 Kabel hat 
100 Ohm, Ethernet überträgt differenziell und die beiden Rs zusammen 
bilden den 100 Ohm Abschluss.

Die Spule sorgt dafür, dass hochfrequente Störungen aus Vcc dem Ethernet 
fernbleiben und dass das Ethernet-Signal dem Vcc fernbleibt.

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah cool. Interessant.
Habe in meinem alten 10mbit hub noch eine Spule gefunden (Sieht aus wie 
ein ferrit-kern, steht aber L2 dran). Ich denke mal stark dass die 
geeignet ist. Ich probiers einfach mal. die 49,9 ohm widerstände hab ich 
auch da (in SMD)

EDIT: Also ich habe folgende Schaltbilder gefunden:
http://www.mikrocontroller.net/attachment/28089/enc28j60.png

http://trac.mlalonde.net/Ethduino/images/schematic...

http://www.mikrocontroller.net/attachment/15108/ENC28J60.gif

http://www.dzsc.com/dzbbs/uploadfile/200831911253847.gif

In dem einen ist zB gar keine Spule zu finden... Manche benutzen diesen 
Mittelabgriff, aber in 
http://www.mikrocontroller.net/attachment/28089/enc28j60.png ist der zum 
beispiel gar nicht angeschlossen...

Autor: Philipp F. (nerdture)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yippieh :)
Mit den Widerständen und der Spule gehts. Es gibt einen Link.
Also auch wenn ihr euch wahrscheinlich an den Kopf packen werdet und 
sagt "war ja klar dass es vorher nicht gehen konnte". Ich hab auf jeden 
Fall was dazu gelernt...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.