Handlicher Ethernet-Controller mit SPI von Microchip

Gast #163021
Lesenswert?

@Freakazoid

Der Dank gilt nicht nur mir, sondern vor allem m4444x:
http://www.mikrocontroller.net/forum/read-6-291186.html#new

Ich habe nur die kleinen Fehler beseitigt und den Bus-Treiber
eingefügt. Wegen der Bestellung melde ich mich nochmal. Die Platine ist
auch nur zum testen gedacht, bis ich das Layout mit dem M16C62 fertig
habe.

@Jörn
Vielen Dank, aber das ist ein wenig klein für meine zittrigen Hände :)

Mfg Sascha
Gast #163028
Lesenswert?

> Autor: Kacker2000 - kacker(at)t-onine.de
> Datum: 05.02.2006 10:51
>
> Hat schon jemand den Chip im Einsatz ?

Jepp. Bei mir läuft der Aufbau (steckbrett + teilweise gelötet) soweit.
Hab nur etwas emv probleme aber das kommt vom steckbrett. Trafo hab ich
von ner alten 3com nic genommen.
den stack hab ich selbst geschrieben, da der von microchip mir zu
wuchtig war und außerdem instabil lief. bisher sind arp, icmp, telnet,
http, sntp, ftp und shoutcast playback über nen vs1001k teilweise
implementiert.
#163031
Lesenswert?

Ab 25 sogar noch einen Euronen günstiger.

Die Jungs sind echt gut. Besorgen auf Nachfrage wirklich alles.
Hoffentlich wird das Sortiment ein wenig mehr erweitert (will ja nicht
wegen jedem Teil nachfragen). Dann kann Reichelt mich mal mit Ihren
Falschlieferungen. Und das in meiner Heimatstadt gerührtsei
Gast #163033
Lesenswert?

Gibt doch einen 25MHz-Quarzoszillator für 1 Euro und...

Und ob die MagJacks billiger sind als normale RJ45-Buchse + Übertrager
und Hühnerfutter, wage ich zu bezweifeln.
Ich habe bis jetzt nur Preise von >5 Euro gesehen, wenn sie in
Deutschland angekommen sind.
CSD kennt auch günstigere Quellen für z.B.den Übertrager, aber im
Moment lohnt es sich nicht, wegen weniger Teile bei 1000 Lieferanten zu
bestellen.
Gast #163036
Lesenswert?

Hi,
wäre das nicht auch eine Geschichte für den Artikelbereich wert, als
"Konkurenz" zu Ulrichs Webserver? Wäre Klasse wenn Matthias da was
macht, denn der Beitrag verliert langsam etwas an Übersichtlichkeit.

Marcus
#163038
Lesenswert?

Aaah, danke! Hab ihn echt nicht finden können.

Vielleicht war's auch besser so ;)
In der zip-Datei befindet sich eine exe-Datei die mir den Code erst
installiert! Muss sowas denn sein? Unglaublich.
Außerdem braucht das Ding 20kbyte Speicher.

Matthias, du bist meine (letzte) Hoffnung! :)
Gast #163042
Lesenswert?

Ich hab mal bei CSD bescheid gesagt, daß sie keine 25MHz Quarze im
Programm haben. Mal sehen wann sie die ins Programm nehmen. Nach
MagJacks hab ich schon vor ein paar Tagen angefragt, da waren sie sich
noch net sicher gewesen deswegen.
Weiß einer wo man die sonst noch günstig bekommen kann, falls CSD die
doch nicht noch in den nächsten Tagen aufnimmt (außer Farnell, Digi-Key
usw.)? Mir wär so nen MagJack lieber als die "diskretere" Lösung.
Einen 25MHz Quarz hab ich mir zum Glück bei Segor mitbestellt, ist da
allerdings etwas teuer (im Vergleich zu Reichelt, die aber nur nen
25MHz mit 3.Oberton haben).
Gast #163046
Lesenswert?

Hallo, ich versuche mit dem ENC28J60 zu kommunizieren, leider
vergeblich. Wie kann man denn auf die Register zugreifen. Ich habe an
meinem Kontroller SPI initialisiert weiß nun aber nicht weiter. Ich
kann doch jetzt nur byt-weise Daten senden. Wie kann ich die Control
Register ansprechen und meine Packete senden?
(Möchte alles in Assembler machen)

Danke! Enrico
Gast #163051
Lesenswert?

@Steffen:

Ich denke mal, Du setzt den schon bei deinem ENC ein, oder? Wenn deine
Email stimmt, meld ich mich heute abend bei Dir. Danke schon mal für's
Angebot.

@Michael

Naja, so teuer ist Segor auch nicht ;). Da ich da eh einiges bestellt
hab (hab den FT232RL sonst nirgends gefunden und CSD verkauft den
momentan nur 25er-weise), waren die 1,30 verkraftbar :).
Aber die Adresse behalt ich mal, ein Shop mehr, wo man reinschauen
kann, danke ;).
Gast #163052
Lesenswert?

@alle
ich muss nochmal fragen: Sind noch alle am Material besorgen oder hat
schon jemand Erfahrung mit dem Programmieren? Wenn ja, wie sprecht ihr
die Control-Register an? Doch nur über SPI, oder?
Danke, Enrico
Gast #163054
Lesenswert?

Danke, aber zu spät. Hab den Chip schon vor mir liegen. Segor hatte auch
ne passende Adapterplatine auf DIP-28 (ich bau meine Versuche auf nem
Breadboard auf). Das Angebot bei embedit ist ... sagen wir mal
"übersichtlich", da schlagen die Versandkosten mehr durch, als wenn
man gleich mehr bei Segor oder Reichelt bestellt.
Gast #163055
Lesenswert?

Herzliches Dankeschön an Steffen für die Zusendung der 2 MagJacks,
obwohl die Versandkosten dann doch höher waren als angegeben. Hab ich
aber schon ausgeglichen.

Fehlt jetzt nur noch der ENC, etwas Zeit und ich kann rumwurscheln :).

Andreas
#163064
Lesenswert?

Hi!

Hat schon jemand den Chip am laufen ?

Ich habe mir mit der avrlib ein kleines Testprog gebaut
welches erst enc28j60Init(); ufruft und dann
enc28j60RegDump();

RegDump liefert:
1
RevID: 0x02
2
Cntrl: ECON1 ECON2 ESTAT  EIR  EIE
3
         04    80    01    08   C0
4
MAC  : MACON1  MACON2  MACON3  MACON4  MAC-Address
5
        0x0D    0x00    0x32    0x00   304646494345
6
Rx   : ERXST  ERXND  ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL
7
       0x0600 0x1FFF  0x0000  0x0600   0xA1    0x00  0x05EE
8
Tx   : ETXST  ETXND  MACLCON1 MACLCON2 MAPHSUP
9
       0x0000 0x0005   0x0F     0x37     0x10
Chip scheint also zu laufen...

Leider bekomme ich weder am Hub einen Link
noch leuchtet LEDA oder LEDB :(

Als Verbindungsstecker benutze ich einen MagJack
BEL 0810-1XX1-03 von einer alten Netzwerkkarte.
Den 25Mhz Quarz habe ich auch von der NW Karte.

Am Magjack habe ich allerdings anstelle der 50 Ohm R's ganz normale
47 Ohm R angeschlossen.
Ist das sehr kritisch ?

Dann habe ich vorhin nochmal MAC adresse setzen/wieder auslesen
getestet und auch das geht.
Also scheint der Chip zu laufen.

Achja, das ganze ist auf nem Steckbrett aufgebaut :-X
Mir sind ausserdem die steckbaren 100nF Cs ausgegangen, ich habe nur
einen am enc28j60 sitzen.
Ja ich weiss, ist zuwenig, hatte keine mehr g
Muss ich morgen mal vernünftig beschalten bzw mir 0603 Cs an kabel
löten g

Hat jemand sonst noch ne Idee ?

Gruss, Simon
#163065
Lesenswert?

Hab gerade bei Microchip das Errata pdf angesehen:
http://ww1.microchip.com/downloads/en/DeviceDoc/80254b.pdf

Interessant, der ausgelesenen ID nach (0x02) haben sie mir wohl
einen der fehlerhaften ersten Revision geschickt
(hab den als Sample Ende Januar bekommen).

Im Errata steht unter anderem dass
- SPI mindestens 8mhz sein sollte
- RBIAS 2.7kOhm statt 2kOhm sein sollte

Werde ich morgen mal testen 8)
SPI war bei mir >3mhz glaub ich ...

Bye, Simon
#163066
Lesenswert?

Juhuu es geht :)

ACHTUNG:
Die Grafik mit dem Übertrager ganz genau angucken !

Die 3.3V gehen über den ferrit NUR an den mittleren Abgriff und nicht
oben dran.

Bei mir (100%ansicht) sieht es so aus als ob der ferrit eine Spule
des übertragers kurzsschliesst!
Ich hatte mich schon gefragt was die da für nen Quatsch machen ...
Erst wenn ich auf 200% zoome erkenne ich dass dort oben keine
Verbindung ist DOH

Jetzt habe ich die Link LED am laufen (vorher led auf link
einstellen!)
und alle paar sekunden kommt ein Paket an...

Vielleicht hat ja irgendwann jemand dasselbe Problem ;)

Bye, Simon
#163067
Lesenswert?

es lebt: ARP + ICMP sind fertig:
1
> ping 192.168.0.5
2
PING 192.168.0.5 (192.168.0.5): 56 data bytes
3
64 bytes from 192.168.0.5: icmp_seq=0 ttl=64 time=1.3 ms
4
64 bytes from 192.168.0.5: icmp_seq=1 ttl=64 time=1.3 ms
5
64 bytes from 192.168.0.5: icmp_seq=2 ttl=64 time=1.3 ms
6
64 bytes from 192.168.0.5: icmp_seq=3 ttl=64 time=1.4 ms

Jetzt bastel ich erstmal nen eigenen tcp stack :)
Ziel ist es das ganze inkl Webcam kram in einen mega8 zu packen g

Bye, Simon
Gast #163068
Lesenswert?

Meine ENC28J60's sind da! Juhuuu!

CSD verschickt zu super Konditionen in die EU! Und dann auch noch in
Rekordzeit, RESPEKT!

In meinem Fall:
- Versandkosten 5,25€ (davon gehen 4,50€ an die Deutsche Post)
- Bestellt am 12. (Sonntag)
- Überwiesen am 15. (Mittwoch)
- Postausgang am 21. (Dienstag)
- Päckchen in der Hand am 24. (Freitag)

Jetzt habe ich mit erschrecken festgestallt, das ich Quarze und
MagJacks vergessen habe, also nochmal Bestellen. Jaja, die Aufregung
;)

Feadi
Gast #163072
Lesenswert?

Ich wohne in Frankreich, aber nur 4km von der Grenze nach Deutschland
entfernt. Trotzdem brauch ein ganz ordinärer Brief von, D nach F, 6
Tage. Bei größeren Sachen bin ich es gewöhnt 3 Wochen lang zu warten,
daher finde ich es sehr schnell. In Deutschland wäre es natürlich sehr
lahm ;)

Feadi
#163074
Lesenswert?

@Feadi:
Ich meine was anderes. Du hast geschrieben:
- Überwiesen am 15. (Mittwoch)
- Postausgang am 21. (Dienstag)
- Päckchen in der Hand am 24. (Freitag)

Was ich meine ist die Dauer vom 15. bis zum 21. Wenn ich das richtig
verstehe, dann haben die dort vom Mittwoch auf Dienstag nichts gemacht.
Der Versand vom 21. bis zum 24. ist allerdings schon schnell.
Gast #163075
Lesenswert?

Bei mir hat's auch ne Weile gedauert (ca. ne Woche und dann noch 5 Tage
 über's WE für Hermes), bis sie das Zeug verschickt haben (nach D
wohlgemerkt). Aber ich vermute, es war net alles vorrätig, ein Teil
wird mir noch (versandkostenfrei) nachgeschickt.
Aber sie waren dafür die einzigsten, die den ENC hatten und sie gehen
auf Kundenwünsche ein, muß man loben :).
#163077
Lesenswert?

Also auf Kundenwünsche gehen die sogar erstklassig ein. Eine
Überweisung dauert hierzulande ja schon 1-2 Tage. Da kann man
vielleicht davon ausgehen, daß es aus Frankreich etwas länger dauert.
Trotz EU-Überweisung. CSD vorzuwerfen sie hätten von MI bis DI nichts
gemacht find ich übertrieben.
Gast #163085
Lesenswert?

Ich habe so meine Probleme mit dem enc. habe mit vor einiger Zeit den
Framethrower von EDTP-Electronics bestellt und versuche seit dem mal
nen Frame zu senden, bzw. das Teil mal zu initialisieren. Hab aber
immer komische Werte im SPI meines Atmega48 bekommen.
Wenn ich mir das Verhaöten auf dem Oszi anschaue wird mir auch klar
warum. Der Sck Pin vom AVR gibt nur Takte fuer den Sendevorgang, Taktet
danach jedoch nicht mehr weiter, so daß er dem Enc keine Antwort
entlocken kann. Gibts da nen Tauertakt - Modus im SPI den man nutzen
kann? Oder muss ich einfach noch n zweites mal Muelldaten senden???

Gruss

Daniel
Gast #163088
Lesenswert?

Naechste Frage:
Die CRC Berechnung muss mna ja eigentlich nich selber machen, wenn man
entweder das MACON3 Register-Flag TXCRCEN setzt oder im PER packer
controll byte DAS pcrcen und poverride bYTE SETZT:
Das Setzen des MACON3 Registers interresiert meinen enc jedoch
garnicht,  beim auslesen steht da immer 0x83 drin.
Beim einstellen des PerPacketBytes aendert er jedoch auch nix, bzw
haengt er keine CRC dran.

Ist ein Bug im MACON3 bekannt? Benutze leicht umgebaut eigentlich den
AVRLIB code.


Gruss
Daniel
Gast #163089
Lesenswert?

Hallo allzusammen,


kleine Frage: was muss ich alles initialisieren, um die LED's am ENC28
blinken zu lassen?
Ich habe versucht, auf das PHYREGADR zu schreiben, kann jedoch nur den
Reset-Value auslesen.

Danke für jede Hilfe.
#163090
Lesenswert?

Hallo Michael,

du musst wohl die 16 Bit aufteilen und dann in die Register MIWRL und
MIWRH einschreiben damit Sie im MIREGADR stehen.
Also WCR mit following bytes. (Seite 28)
Die richtige Bank muss adressiert werden!
Hier Bank 2 also die 1 0.

Ich glaube hier wird wohl noch nich viel Wissen Anfänger`n mitgeteilt.
Sind wohl Alle noch am Testen.

Ich glaube der ENC wird die "Welt den MCU`s mit Ihren Anwendungen"
einen neuen Schwung bringen.
Man denke nur an die vielen Anwendungen über Ethernet mit den billigen
Komponenten.


Gruß Herbert
Gast #163091
Lesenswert?

Hallo an alle,

habe den ENC an verschiedenen Controllern getestet: an enem DSP VC33
scheint das Interface schwierig zu sein; an einem R8C oder M16C ist es
wegen des fehlenden Modes 0 fast unmöglich; an einem AVR hat es auf
Anhieb geklappt. Der ENC wird bei dem AVR (90S8515) mit 25MHz
betrieben; der AVR selbst mit einem 7.345MHz Quarz (8MHz ist auch OK).
Dann läuft die SPI mit fc/4 = 1.8MHz. Das funzt einwandfrei bis hin zum
UDP-Protokoll (weiter bin ich noch nicht). LED's blinken super und ohne
eine komplette Initialisierung der ganzen ETH-Register.
Das problem bei den anderen Controllern war anscheinend das
Protokoll-Timing. Der SCK muß vor dem Wechsel des /CS unbedingt auf LOW
sein und nach der Übertragung auch auf LOW bleiben. Die Daten können
byte-weise gesendet werden mit einer längeren Pause dazwischen, wo aber
der SCK wieder auf LOW "pausieren" muß. Beim R8C war der SCK an
unbenutzten Stellen auf High - deswegen gab's da Fehler beim Auslesen
der MAC und MII Register.

Grüßle,
Michael.
Gast #163092
Lesenswert?

Hi,
ich benutze zwar erfolgreich den EN28J60 mit einem PIC18F458 (40MHz)
unter dem PICC-Compiler von CCS.

Wenn ich nur das UDP-Protokoll nutze, komme ich bei Paketen mit 1000
Byte Nutzdaten nur auf ca. 11 kB/s download. Das reicht mir leider
nicht.
Carsten Kappenberger schreibt in seiner Schätzung etwas von 450 kB/s

Frage: Hat von euch jemand Erfahrungen mit dem gleichen, oder einem
vergleichbaren (40 MHz) Prozessor, was die Downloadrate angeht?

--> Ich habe mir den Code von CCS angesehen (es ist wohl der angepasste
TCP/IP-Stack von Microchip:
Es werden auf jeden Fall keine Interrupts verwendet (ausser für Timer0)
Das kommt mir erstmal seltsam vor...???


Ich habe schon versucht den TCP/IP-Stack von Microchip bzw. von uIP
(http://www.sics.se/~adam/uip/index.html) mit dem CCS-Compiler zu
benutzen. Doch dafür währen wahnsinnig viele Anpassungen nötig...
Ohne zu wissen, ob ich Aussicht auf höhere Downloadraten habe, ist mir
das erstmal zu viel Aufwand :-(

Kann mir jemand weitere Infos geben?

Gruß,
Andreas
Gast #425268
Lesenswert?

Hatte jetzt mal im Shop unter www.csd-electronics.de/de bei denen 
gesucht und finde aber keinen MagJack mit der Artikl Nummer, außer den 
hier:

MagJack SI60024 (art.nr. 015-54085)

- je eine LED Orange/Grün pro Seite, antiparallel verschaltet
- integrierter Übertrager 1:1
- Gehäuseabschirmung

Der kostet nur 3,95 €

Ist der geeignet??

Gruß

Dennis
Gast #450856
Lesenswert?

He..

im Datenblatt steht man soll in ein Register die MAC Adresse schreiben. 
War es nicht so dass MACs einmalig auf der Welt sind? Wie kann ich das 
jetzt verstehen? Eigentlich müsste die doch fest im Chip-Rom sein. (nur 
lesbar)
Gast #451381
Lesenswert?

@mike s ...

man ändert nicht physikalisch die mac-adresse einer karte, die ist 
i.d.r. wirklich immer fest "verdrahtet", windows allerdings speichert 
(und nutzt) quasi die mac-adresse in der registry, wo diese dann per 
hand oder einem tool geändert werden kann...
Gast #451866
Lesenswert?

ich habe mal die Schaltung mit nur dem Nötigsten aufgebaut. 
SPI-Verbindungen und Spannungsversorgung.
Ich wollte einfach mal das Register EREVID auslesen. Da sollen wohl 
Revisionsinfos drinstehen. Er gibt mir immer ein 0x00 aus wenn er das 
liest. Kann das sein oder ist da dann doch noch ein Problem im Programm?
Gast #504773
Lesenswert?

Sorry...

Was ich noch fragen wollte,

Ich möchte natürlich auch einen kleinen Webserver bauen.
Allerdings mit zusätzlicher SD-Karte als Speicherplatz.
Diese läuft ja auch über den SPI-Bus.

Glaubt Ihr dass ich da Performance-Probleme bekomme?
Gast #504863
Lesenswert?

Ich habe mir ein Modul geätzt mit einem ENC28j60 als DIP und Leitungen
für ein Steckboard. Alles hat funktioniert (senden und empfangen von 
Packeten)und ich konnte die Software
entwickeln.

Jetzt habe ich mir ein Modul mit einem PIC geätzt, damit 
Verbindugsleitung zwischen Modul und Steckboard weg kommen. Der ENC28j60 
ist hier ein SO
Type.

Jetzt sendet das Modul allerdings nicht, der PIC kann aber mit dem Modul
kommunizieren. Beide haben die REV. 5.
Wo könnte das Problem liegen?
Gast #504879
Lesenswert?

Ja, die sind weg. Ich kann sehen, dass der ENC28j60 empfängt an einer 
LED. Er sendet nur keine Packete.
Die selbe Software mit der gleichen Schaltung ist allerding auf dem 
Steckboard aufgebaut. Nur dass ich statt DIP ein SO Package auf der 
Platine verwendet habe.

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