Ik ben al enige tijd bezig met het bestuderen van de ENC28J60 tutorial van Ben's Hobbycorner.
Ik zou nu graag z'n webserver nabouwen. Hierbij stoot ik op enkele problemen:
* Hoe komt hij aan z'n kloksignaal? Wordt simpelweg de CLKout (pin 3) van de ENC28J60 verbonden met de XTAL1 (pen 9) van de AVR?
* Verder blijkt uit de datasheet dat de ENC28J60 een voedingsspanning verwacht tussen de 3.14V en 3.45V. Moet ik de AVR dan ook op 3.3V laten draaien omdat anders de SPI communicatie niet meer klopt?
* Om de verbinding te maken met het netwerk heb ik deze RJ45 gekocht. Kan ik deze rechtstreeks aansluiten op de ENC28J60 of moeten hier nog weerstanden/spoelen bij zoals in onderstaand schema?
Ik neem aan dat in de connector enkel de spoelen en transformatoren zitten. Dan moet ik nog enkel de 49 ohm en 75ohm weerstanden aansluiten?
Alvast bedankt...
Marcel
AVR C tutorial http://expand.xs4all.nl/avr
* Hoe komt hij aan z'n kloksignaal? Wordt simpelweg de CLKout (pin 3) van de ENC28J60 verbonden met de XTAL1 (pen 9) van de AVR?
Dat kan inderdaad en wordt in het voorbeeld (zie onder) ook gedaan, je zit dan wel vast aan een deelfactor van 25MHz. Je kan ook de interne RC gebruiken of een externe klok aanbieden. De klok is niet kritisch voor communicatie met de ENC28J60 omdat de SPI bus zijn eigen klok gebruikt.
* Verder blijkt uit de datasheet dat de ENC28J60 een voedingsspanning verwacht tussen de 3.14V en 3.45V. Moet ik de AVR dan ook op 3.3V laten draaien omdat anders de SPI communicatie niet meer klopt?
Dat is wel het makkelijkste. De SPI bus van de ENC28J60 is overigens geschikt om met 5V aan te sturen. Dus de AVR zou ook op 5V mogen zonder niveau aanpassing. Dat kan handig zijn als je nog andere componenten wilt aansluiten die 5V moeten hebben.
* Om de verbinding te maken met het netwerk heb ik deze RJ45 gekocht. Kan ik deze rechtstreeks aansluiten op de ENC28J60 of moeten hier nog weerstanden/spoelen bij zoals in onderstaand schema?[afbeelding]
Ik neem aan dat in de connector enkel de spoelen en transformatoren zitten. Dan moet ik nog enkel de 49 ohm en 75ohm weerstanden aansluiten?
De connector is alleen voorzien van de trafo. Weerstanden en condensator zal je zelf nog moeten toevoegen evenals de condensatoren en het ontstoor spoeltje (Ferrite Bead).
Het schema dat je laat zien komt rechtstreeks uit de datasheet van de ENC28J60. Daar staat ook een complete uitleg bij.
Hier heb je nog het originele (complete) schema van Tuxgraphics waarvan de Bascom variant weer is afgeleid. http://www.tuxgraphics.org/common/src2/article06061/eth-remote-device.…
Misschien geen antwoord op je vraag, maar ik heb ooit ook een projectje gedaan met de enc28j60. Alleen had ik geen zin om alle componenten zelf bijelkaar te zoeken en te solderen. Daarom heb ik gebruik gemaakt van een boardje met een enc28j60 en alles er op.
Ik heb het van bij Futurlec electronics, voor een prijs waar je het zelf niet voor kunt maken.
kijk zelf maar eens:
ENC28j60 board
Dankje voor de antwoorden.
Goed om te weten dat de ENC28J60 ook 5V accepteert op z'n aansluitingen, want ik ben inderdaad van plan om nog andere componenten aan te sluiten op de AVR. Zo moet ik me ook niet meer druk maken over de ISP programmer die 5V levert. 
Ik ben vrij zeker dat die ethernet controller een kristal nodig zal hebben. Typisch 25MHz. Een leuk idee als je wat test en geen geschikte trafo beschikbaar hebt (Al zit die bij u in de connector), en je controller een 1:1 trafo nodig heeft: Je kunt de ethernet kabel direct aansluiten op je ethernet chip, zeker voor korte afstanden.
[Bericht gewijzigd door Uranium op (58%)]
Ik heb de benodigde componenten binnen (ik had eerder in dit topic het 25MHz kristal nog niet binnen) en ben verder aan het klussen gegaan.
Ik heb alles aangesloten en de software om het ledje aan en uit te doen in de AVR geprogrammeerd. (Klik)
Als ik een netwerkkabel aansluit gaat het oranje ledje branden, en soms knippert het groene ledje ook om aan te geven dat er data verstuurd wordt.
Als ik echter probeer te pingen naar de microcontroller dan komt er geen reactie. In het programma staat het IP van de microcontroller ingesteld op 192.168.1.61. Het lijkt echter dat de microcontroller niet reageert op ARP requests. In wireshark zie ik volgende meldingen voorbij komen: "Who has 192.168.1.61? Tell 192.168.1.126", er komt echter geen antwoord op deze request. Het ledje aan de ENC28J60 knippert wel om aan te geven dat deze requests binnen komen.
Ik heb de microcontroller op 5V draaien en de ENC28J660 op 3.3V. Iemand enig idee waar ik kan gaan debuggen?
Edit: Het ledje dat aan PB1 hangt wordt netjes aangezet zoals in de code staat. Op de seriele poort van de microcontroller komt echter niks, terwijl er toch de nodige print commando's in de code staan...?
Edit2: Wat kortere kabels genomen voor de verbindingen tussen de microcontroller en de ENC (vooral het kloksignaal), en opeens werkt het af en toe.
De helft van de ping's die ik stuur komt aan, maar de webserver laat nog niet van zich horen.
Ik open een connectie naar de AVR, hij stuurt SYN en ACK terug, maar laat daarna niks meer van zich horen van zodra er GET / HTTP/1.1 gestuurd wordt...