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:
1
while(1){
2
enc28j60Read(MAADR5);
3
enc28j60Read(MAADR4);
4
enc28j60Read(MAADR3);
5
enc28j60Read(MAADR2);
6
enc28j60Read(MAADR1);
7
enc28j60Read(MAADR0);
8
}
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
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
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.
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
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 ...
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
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)...
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
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?
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
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.
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
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 ;)
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.
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...