Sida 2 av 3
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 13 september 2011, 21:19:12
av H.O
Jag kör W5100 med en PIC18 och trots att jag är ethernet-rookie så har jag fått den att fungera. Jag är dock inte i stånd att bedömma hur den är prestandamässigt i förhållande till en mjukvarustack. Jag kör SPI mellan W5100 och PIC'en så flaskhalsen är garanterat där i mitt fall. Som du sa, kul chip!
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 13 september 2011, 21:53:40
av jesper
Eller Texas/Luminary LM3S6965. Har inbyggd PHY.
Lätt som en plätt med lwIP.
Deja vu?
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 13 september 2011, 22:18:58
av AndLi
jesper: det är bra att du påminner

listpris verkar vara ca 11USD i 100 tal.
H.o: Jag tror spi kommer bli flaskhalsen, om jag förstog databladet rätt finns det inget sätt att läsa ut en hel buffer utan man måste hålla på och skicka läskommando för varje byte, så för att läsa ut 8 bitar behövs det 24 klockpulser, och min spi klocka verkar vara 70ns / 14.28MHz, vilket då skulle betyda 581 kByte/s. Vilket väll iof lär hålla de flesta 8bitars µC upptagna, om de ens kan generera en 14MHz spi klocka från början.
Jag tror jag behöver ca 100-150 kBit/s
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 13 september 2011, 22:32:13
av jesper
Det finns en lite billigare variant, LM3S6100, ca $8 vid 100.
Inga direkt billiga kretsar kanske, men å andra sidan är det oftast den enda som behövs då PHY är inbyggd.
Föreslog denna sist du frågade, då det verkade vara bråttom.
Hur länge har du hållit på att försöka labba fram en lösning? Och hur funkar det?
Att lägga in en lwIP stack i en LM3S krets tar endast marginelt längre än själva nedladdningen.
Tid är pengar. (Om inte man inte bara gör det för att lära sig eller för skojs skull).
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 13 september 2011, 22:42:02
av H.O
Angående W5100:
Det är riktigt, i SPI mode måste varje byte som ska läsas eller skrivas addreseras individuellt. Dessutom måste du lägga till en OP-kod (läs/skriv) så det går åt 32 klockpulser per byte.
Det finns något dom kallar Indirect Bus Interface Mode där man, om jag förstår det rätt, klockar in en startadress (via databussen (inte adressbussen)) och sedan läser (eller skriver) data sekventiellt. Detta borde vara betydligt snabbare än SPI men med det kostar fler I/O, dock inte lika många som Direct Interface vilket av naturliga skäl också är det snabbaste.
W5100-specen säger just minimum 70 ns för SPI-klockan så fortare än ~14 MHz eller ~430 kByte/s är inte aktuellt med SPI oavsett vilken CPU du har.
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 13 september 2011, 22:51:58
av AndLi
Heltid sen jag starta tråden....
Nä, några strötimmar här och några strötimmar där, när någon sticker ett utvecklingskit under näsan provar jag väll det under några timmar.
Det handlar mer om 10% / labprojekt/ petproject än en tids/penga pressad produktutveckling, så det är nog än så länge mer läro/skoj än något annat.
Enda som faktiskt har gett mig en fungerande tcp koppling hittils är silabs cp2201...
ho: stämmer såklart, hade för mig det bara var en addresbyte. Vad jag tyckte var lite synd på SPI versionen var att IRQ linan inte användas? Hade ju varit smidigt att veta att något hänt utan att behöva polla hela tiden.. Annars verkar det behövas 4 i/o för SPI , 14 för indirect och 27 för direct, så det gäller att ha gott om i/o...
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 14 september 2011, 00:37:20
av blueint
Ser att det nämts lite olika ethernet chips förutom dom på
EF-wikin, så hur bra är dessa?
* Silabs
CP2201
* LPC2368
* LM3S6965
* Silabs C8051F120
* Microchip ENC624J600
* LM3S6100
Hårdvaru TCP/IP:
* Wiznet 5100 (4 socket)
Hur bra är dom olika mjukvaru TCP/IP stackarna?
* lwIP
* uIP
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 14 september 2011, 07:21:30
av AndLi
C8051F120 är en vanlig µC inget ethernet chip...
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 14 september 2011, 07:25:19
av H.O
AndLi,
Jag har inte provat/verifierat men vad jag förstår så ska /INT-pinnen fungera oavsett mode. Det finns en app-note för SPI och där står /INT-pinnen listad som optional så min uppfattning är att den ska fungera.
En nackdel med W5100 är att den inte är direkt prototyp-vänligt - 0.2mm ben på 0.4mm pitch, det gick att montera den med vanlig lödkolv men det var lite pilligt och inget jag vill göra speciellt ofta....
Såg just att det finns en W5200 som också har SPI (till skillnad mot W5300) men 32k buffert-minne, 8 sockets och SPI klockfrekvens på upp till 80 MHz.
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 14 september 2011, 07:43:59
av limpan4all
Om du tittar i denna tråd så kanske du får mera matnyttigt.
http://elektronikforumet.com/forum/view ... it=MEGA128
Så jag rekommenderar starkt Davicom DM9000 den kommer att funka mycket bra mot AtMEGEA1284.
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 20 september 2011, 20:04:29
av AndLi
Den förkompilerade CMX stacken från Silabs kollar att man faktiskt kör mot ett Silabs chip, och F380 är för nytt för att passera den testen... Ryktet säger att det ska fixas, kan man kompilera stacken från källkod funkar den mot en F380...
Fick en stund över att prova W5100 idag, och lysdioderna för ethstatus tänds (vilket typ kräver ström och rätt spänning på resetpinnen ) men jag kan bara skicka ner en sekvens av READ/WRITE ADDR ADDR DATA över SPI. Första gången gör den precis som den ska, klockar ut 0,1,2,3 om man gör en WRITE och 0,1,2,data om man gör en write. Men försöker man sen sig på en lösning/skrivning i något annat (eller samma) register igen är MISO pinnen helt still. Div delayer och olika snabba klockor är också provade. Drar man i resetpinnen och provar ett nytt register funkar det precis som det ska igen..
Lite magiskt tycker jag, eftersom jag såklart tycker att jag gör allt rätt, höjer och sänker ChipSelect osv, men något är bevisligen fel

Får kolla lite fler exempelkoder tror jag, kanske rent av sno någons kod

Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 20 september 2011, 20:22:31
av H.O
Har du testat att, som första operation köra en soft-reset (skriv $80 till mode-registret)?
Släpper du /CS pinnen mellan de individuella försöken att läsa/skriva eller håller du den låg? Nu var det ett tag sedan jag läste databladet så jag vet inte om man bör/ska/måste släppa den men jag gör det i min kod och det har fungerat fint.
/Henrik.
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 20 september 2011, 20:48:31
av AndLi
Yepp, soft reset är det första jag gör, och den gör som den ska(=MISO ändras, räknas upp) , men försöker jag sen läsa tillbaka den, eller skicka en softreset till ligger MISO hög hela tiden.
/CS går hög mellan varje 4 tecken alltså efter en sekvens av R/W ADDR ADDR DATA.
CLK ligger låg mellan alla tecken och MOSI ligger på vad den råkar vara, timeingen mellan alla omslag tycker jag ser ut att vara rätt, började med klockan på 10MHz och sen 5MHz. Tycker inte det borde vara problemet då de första 4 teckena klockas in rätt.
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 20 september 2011, 20:53:14
av blueint
Finns det inget kod- eller timingexempel att använda som referens?
Re: Ethernet till AtMega1284 (var:Ethernet till en AtMega168
Postat: 20 september 2011, 21:08:52
av AndLi
Jodå, det finns ganska många som använt chipet för atmegor på nätet, och databladet har ganska tydlig bild på hur timingen ska vara, iof hittar jag inga minimum tider mellan två olika registerskrivningar..