Kretsar med ethernet-stöd

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Kretsar med ethernet-stöd

Inlägg av ankan »

Tittade lite på Atmel och såg att de har lite kretsar med ethernet-stöd.
Hur mycket krävs för att bygga en webserver av en sådan.

Hittade tex denna: AT91SAM7XC256

E sugen på att koppla upp något på nätverket. Men hur enkelt eller svårt är det? Finns några färdiga exempel kanske?
PeotryD
EF Sponsor
Inlägg: 188
Blev medlem: 11 november 2005, 13:24:44
Ort: Umeå
Kontakt:

Inlägg av PeotryD »

Tjenare, har inte testat den kretsen men håller just nu på med Microship's ENC28J60 - Ethernet kontroller, kopplad via SPI till en ATmega 128 Det är lite pulande, hurmycket har du programmerat ATmels grejjer tidigare, eller andra microkontrollers?
Priset i delar för denna ligger strax över 300:-
På den länken finns ytterligare länkar till andra som använt ENC28J60 som ethernet krets.
Samt excempel kod från killen som har www.jelu.se
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Har sett ENC28J60 på flera ställen. Verkar som en trevlig krets. Kostar inte så mycket heller.

Har programmerar PIC, Motorola och FPGAr i alla fall 2 år nu i skolan så en del koll har jag.
Har dock inte kört SPI ännu.

Men hur mycket kod krävs för att få upp en nätverksenhet med en ENC28J60 och en PIC eller Atmel uC?
Nåste man sätta upp hela TCP/IP protokollet eller är det något som är färdig som bara är att includa eller hur fungerar det?

Kör RTL8019 och ENC28J60 samma sak eller är det hel olika grejer?
RTL8019 har jag sett på en hel del projekt också. Vad skiljer dem åt?

Sedan funderar jag på om jag ska köra vidare på PICen eller om man skulle ta och lära sig Atmel-kretsarna också. Vad har Atmel och inte PICen har?
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

ankan >Men hur mycket kod krävs för att få upp en nätverksenhet med en ENC28J60 och en PIC eller Atmel uC?

Enligt den länk som PeotryD hade så verkar dom skrivit en "drivrutin" för ENC28J60 för användning mot uIP stacken av Adam Dunkels.

http://www.avrrepository.com/svn/listin ... rev=0&sc=0
http://www.avrrepository.com/svn/listin ... rev=0&sc=0

Första länken ovan verkar vara själva "drivrutinerna". Andra länken uIP stacken.

uIP är en fri implementation av en minimal IP-stack gjord av Adam Dunkels. Använder du dig av den behöver du ju inte koda så mycket själv.
http://www.sics.se/~adam/uip/

Angående PIC eller ATMEL, det som talar till ATMEL's fördel i just detta fall är väl gratis, obegränsad C-kompilator i GCC. Du kommer antagligen att behöva mer än 2kB kodutrymme med IP-stack + applikation och vad jag vet så är de flesta "gratis" C-kompilatorer för PIC begränsade till max 2kB kod, därefter blir det till att betala. Har du inget emot att lägga ut pengar på en C-kompilator till PIC spelar det väl ingen större roll vilken du väljer.

Du kan ju iofs hacka ihop rubbet själv i assembler, men det är nog inte att rekommendera. :)
Användarvisningsbild
lgrfbs
Inlägg: 7325
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Inlägg av lgrfbs »

mikroC har en demo gräns på 2000ASM instruktioner, så hur stor C-filen
blir har mindre betydelse :roll: samt attt det gå att få ut ASM ur mikroC
också om de inte tagit bort den fuktionen.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> och vad jag vet så är de flesta "gratis" C-kompilatorer för PIC begränsade till max 2kB kod,...

Microchips egen C18 har inga sådana begränsningar.
Bara att ladda ner "Student Edition" och köra. Efter 60 dagar slutar
vissa optimeringar att fungera, antingen kör man vidare utan dom eller
så installerar man om var 60'de dag...

Visst, den är för PIC18 serien, men ska man hålla på med IP stackar,
web servers och liknande så behöver man sannolikt kraften och minnes-
utrymmet i PIC18 i alla fall...

Dessutom kan man göra det lite enkelt för sig och köra Microchips egen kod
för ENC'n.
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Inlägg av Earendil »

Är det någon av er som provat SDCC (small devices c compiler) för PIC? Jag har en polare som använt den i kommersiella projekt. Den är ju helt fri.

Jag är själv sugen på att skriva en C-kompilator för PIC18, men det lär dröja något år innan jag får tid till det! :(
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Kodningsmässigt om man kör i C skiljer sig väll inte AVR och PIC så mycket antar jag, eller?

Kan PICen rätt bra. Har kört både ASM och C men som ni säger så finns det många gratiskomp. till Atmel kretsarna.

Hur skiljer de sig i pris, Atmel och PIC och två typ motsvarande kretsar?

Någon som har något kodexempel där man använder dessa drivrutiner uIP stacken. Vet inte alls hur mycket jobb det är för att göra en webserver tex eller för att bara få picen att skicka UDP trafik som någon dator fångar upp.

För det är väll knappast bara att knappa in en IP-adress och sedan lägga till en färdig webserver som någon har skrivit och sedan köra, eller?

Finns det drivrutiner för tex de enklare Nokia skärmarna också så det bara är att anropa någon funktion för att skriva till LCDn osv..
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Hur skiljer de sig i pris, Atmel och PIC och två typ motsvarande kretsar?

Antagligen ingen *avgörande* skillnad. Annat avgör...
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Så vad avgör?

Har hittar gratis C-kompilator till AVR (winavr). Finns det någon bra till picen tex som är gratis?

Finns några rätt trevliga varianter av ENC28J60 + Atmel uC som kan kommunicera över ethernet.

Men det jag undrar i första hand är hur mycket jobb det är efter att man har dragit ner drivrutinerna.
uIP verkar ha allt för att få upp en webserver. Någon med länk på något enkelt projekt som använder uIP. Tex en liten enhet som kan tända och släcka en lampa över nätverket.
Eller en enhet som skickar tex temperaturen över nätverket till en server som tolkar och presenterar datat.

Hur kraftfull uC behövs?
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Inlägg av Earendil »

Jag nämnde precis SDCC som är fri och gratis! Hur bra den funkar vet jag inte.
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

ankan > Så vad avgör?


Det är du som avgör. Du bör fråga dig själv ett par saker som t.ex:

. Vad ska jag göra?

. Hur mycket minne behöver jag?

. Hur många I/O portar?

. Hur snabb uC behöver jag?

. Behöver jag A/D omvandlare i uC eller separat extern, eller ingen?

. Om jag behöver A/D vilken precision ska jag ha, antal bittar?

. Behöver jag USART stöd i hårdvara?

. Behöver jag SPI stöd i hårdvara?

. Hur många timers?

. Vilket språk föredrar jag, och vad finns det för utvecklingsverktyg (det har vi ju mer eller mindre avklarat)?

Om man kollar upp uIP på länken jag gav dig står det ungefär hur mycket minne själva uIP tar http://www.sics.se/~adam/uip/size.html. Sedan tillkommer ju minne för webserver och eventuellt egna applikationer (för att blinka lampa t.ex som du nämner).

Hastigheten på uC är väl inte så kritisk just med tanke på nätverksanslutningen efter som ENC28J60 sköter den saken, men de flesta uC klarar väl runt 20MHz och uppåt, och du kommer troligen få det att funka på 4MHz också. Det beror ju helt på vad du tänkt göra.

När du vet svaret på ovanstående frågor kan du sätta dig ner och kolla runt på ATMELs (AVR) och Microchips (PIC) hemsidor vilken uC som lämpligast passar just dina behov.

Angående hur mycket jobb det är så kan du ju kolla koden på länkarna jag gav dig. Om du förstår nada av koden är det mycket jobb för dig. Ser den enkel ut för dig är det mindre jobb. uIP API är ganska väl beskrivet om du kollar på Adam Dunkels hemsida. Hur mycket jobb det blir för dig kan jag inte svara på. Om du inte vill ha jobbet så är det väl enklare att köpa en färdig lösning?
Senast redigerad av Kaggen 19 november 2006, 19:58:38, redigerad totalt 1 gång.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Jag föredrar nog att bestämma mig för antingen AVR eller PIC för att kunna göra ett bra jobb och lära mig hur kretsen fungerar fullt ut i stället för att kunna programmera hjälpligt på de flesta kretsarna.

Jag måste bara bestämma mig för PIC eller AVR först. Har aldrig jobbat med AVR men har fått för mig att de skulle vara lite billigare och ha bättre och fler finneser. Men det är inget som jag har några belägg för och vad jag har hört på ryktesvägar.

Jag misstänker att det kanske inte spelar så stor roll om man väljer PIC eller AVR när man kör programmeringen i C. Kompilatorn gör ju ändå större delen av jobbet åt en.
Så då är det igentligen en bra utvecklingsmiljö och kompilator jag söker. Har programmerat PIC i Hi-Tech eftersom vi hade det i skolan, vilket tyvärr inte är gratis.

Så vad finns för tips på bra och helst gratis IDE och kompilator som används av många så man kan få tag på bra kodexempel och drivrutiner?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Klart du ska köra AVR. Gratis C-kompilator, suverän utvecklingsmiljö och billiga programmerare. Valet är enkelt ;-)
Skriv svar