Webserver ENC28J60 + PIC18F4620

OP #3059617
Lesenswert?

Hallo zusammen,

ich bin momentan auch dabei den ENC28J60 über SPI anzusprechen, ich 
verwende dafür einen PIC18F4620 mit einem 32MHz Quarz.

Allerdings klappt die Initialisierung des ENC noch nicht wirklich.
Hat eventuell jemand eine funktionsfähige Init für den ENC28J60 in C 
evtl. für einen PIC18?

Im Moment finde ich den Fehler in meiner Init nicht, ich vermute das ich 
evtl. noch Pausenzeiten einfügen muss. Im Datenblatt find ich aber 
nichts außer die Zeit für den Reset.

Gruß chrisb20
OP #3059686
Lesenswert?

Den hätte ich auch nehmen können, hab aber ein externes Ethernetmodul 
mit dem ENC drauf.
Nachdem ich so wie alle erst mal über die SPI Frequenz von 8MHZ 
gestolpert bin hab ich das jetzt mit einem 32MHz Quarz behoben.
Nur nimmt, so wie es momentan aussieht, der ENC die Werte die ich 
versuche in seine Register zu schreiben nicht an.

chrisb20
OP #3059709
Lesenswert?

@joachim: im Prinzip baut meine Hardware auf dem Schaltplan auf, nur 
mich interessiert es das selber zu programmieren, Fertige Module gibt es 
ja jede Menge.

@Theo: den Link kenn ich schon allerdings bringt mich das auch nicht 
weiter, den das ist ja erst der nächste Schritt mit dem TCP/IP zeugs 
aber im Moment klappt die Init noch nicht.
#3059736
Lesenswert?

Chris Br schrieb:
> Den hätte ich auch nehmen können, hab aber ein externes Ethernetmodul
> mit dem ENC drauf.

... das Du unbedingt nehmen wolltest.

Du wirst Dir das ohnehin nochmal überlegen müssen. Dein PIC18F4620 hat 
nämlich etwas wenig Flash. Die 128k des 18F67J60 sind bei mir schon ganz 
gut gefüllt. Wenn Du Dein Modul unbedingt verwenden musst, wäre ein 
18F47J13 oder 18F47J53 beispielsweise besser geeignet - das sind dann 
auch gleich stromsparende 3.3V-Typen (erkennbar an den J in der 
Bezeichnung).

Ansonsten folge meinem Rat, und Deine Probleme werden verschwinden.

fchk
#3059770
Lesenswert?

Chris Br schrieb:
> ja wollte das Modul schon verwenden, wegen dem Flash hatte ich mir
> überlegt vllt ein EEPROM noch an den SPI Bus dran zu hängen um etwas
> mehr Speicher zu haben.

Aus einem SPI-EEPROM kann kein PIC Code ausführen. Schon verloren.

> Hast du den ENC28J60 schon einmal mit einem Controller selbst
> programmiert oder nur mit dem Olimex Modul?

Ich habe immer integrierte Lösungen verwendet, weil die leistungsfähiger 
sind und das ganze in der Summe billiger ist. Und ich habe meine eigenen 
Boards gebaut.

fchk
OP #3060048
Lesenswert?

Ich hab jetzt gerade mal versucht den Quarz am PIC noch einmal zumessen 
und hab etwas komisches Festgesellt.

Wenn ich mit dem Oszi an den Quarz gehe dann gehen meine LEDs aus und 
auf dem Oszi ist auch kein Takten des Quarzes zu sehn sondern nur eine 
gleichspannung die aber von der höhe sehr gering ist.

Hat dazu jemand eine Idee, ist das ein Software- oder Hardwareproblem?

Gruß chrisb20
OP #3060192
Lesenswert?

Chris Br schrieb:
> Ich hab jetzt gerade mal versucht den Quarz am PIC noch einmal zumessen
> und hab etwas komisches Festgesellt.
>
> Wenn ich mit dem Oszi an den Quarz gehe dann gehen meine LEDs aus und
> auf dem Oszi ist auch kein Takten des Quarzes zu sehn sondern nur eine
> gleichspannung die aber von der höhe sehr gering ist.
>
> Hat dazu jemand eine Idee, ist das ein Software- oder Hardwareproblem?
>
> Gruß chrisb20

hab den Fehler gefunden, da hatte sich ein Kabel gelöst gehabt und hatte 
daher keinen richtigen Kontakt
OP #3066997
Lesenswert?

So wie es aussieht funktioniert die Übertragung über SPI nicht korrekt.
Den Clock kann ich zwar messen aber die Ausgabe der Daten nicht.

Kann es sein das nach der Übertragung des SSPBUF Registers ein Interrupt 
ausgelöst wird, welcher zuerst gelöscht werden muss damit ein weiteres 
Byte übertragen werden kann???

Hat zu diesem Problem jemand eine Antwort für mich?

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