Kretsar med ethernet-stöd

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47050
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

en mycket bra IDE, dock inte gratis, men billig är WIZ-C, använder den själv.
Priserna starta runt £35:- och upp till £100:- för Pro versionen.

WIZ-C är så nära ANSI man kan komma (gissar jag), en grafisk simulator med "External Devices", dvs LCD, knappar, lampor minnen mm.mm.mm.

En "Application Designer" där du drar och släpper "biblioteksmoduler" och kopplar in I/Ot till de olika rutinerna.

Full ICD support direkt i IDE'n med radsupport för C-koden, Dock inte uChip's ICD, utan deras egen, vilken i vissa lägen är bättre (en pinne samt 16 BP, mot uChip 2 pinnar och 2 BP(eller nått sånt))

Pro-versionen stöder "Multi-PIC" dvs du kan simulera flera ihopkopplade PICar samtidigt.
Proversionen inkluderar även en assembler, så du kan även skriva helt i asm om du vill.
Samt sist och inte minst, bra support.

Har skrivit min Webbserver baserad på en 18F8622 och RTL8019 med WIZ-c

Länk till deras hemsida www.fored.co.uk

PS, de stöder också AVR.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Ett fint program för att grafiskt simulera olika uC är annars Proteus VSM (http://www.labcenter.co.uk/index.html?/ ... erview.htm)
Lekte med det när jag programmerade PIC tidigare.

Läste på wiki precis att skillnaden mellan PIC och AVR är just att AVR är snabbare och kraftfullare.
Sedan verkar det finnas många gratis C kompilatorer till AVR. Så frågan är vilken C-kompilator man ska välja.

Det verkar som att det är WinAVR som gäller, eller?

Finns WinAVR som plugin till AVR Studio kanske?

Man kanske ska ladda ner den och börja hacka lite kod. Måste bara leta rätt på en vettig programmerare. Har ett par men ingen för AVR. Har en multiprogrammer (AD-Teknik) och en Wisp628.

Vilken programmerare ska man sätta ihop då?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Den som är helt gratis är WinAVR. Gör så här: Ladda ner AVR-studio från Atmels sida och installera. Ladda sedan ner service pack 4 och installera. Hämta sedan senaste versionen av WinAVR och installera. Du bör nu kunna starta AVR-studio och välja om du vill göra ett "c-projekt" eller "asm-projekt", enklare kan det inte bli?

Du kan ju tex börja med att skriva kod till en blinkande lysdiod och köra den i simulatorn så får du själv avgöra om du tycker om miljön eller inte.

Atmel har en billig programmerare AVR-ISP MKII och även en emulator AVR Dragon. Annars finns det många hemmabyggen att välja mellan. Smidigast är en programmerare som stöds av AVR-studio.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

AVR Dragon kostar ju lika mycket som AVR-ISP MKII. Är inte en debugger en programmerare som man även kan använda för debugging?

Har Atmel eller Microchip förresten några FPGA:er med uC-kärna?

Glömde säga att jag har en Atmel Butterfly som jag knappt har rört. Man kanske skulle skaffa en ENC28J60 och sätta ihop med butterflyn och börja leka.

Vilka Atmel-kretsar ska man beställa samples på och börja leka med då?
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

AVR Dragon är begränsad till max minne 32kB, det betyder att du antagligen inte kan använda den till din webserver. Annars är förstås en debugger en suveränt hjälpmedel. Tror det finns nåt projekt på avr-freaks som gör om din Butterfly till AVR-ISP, kolla efter buttload. :)
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Är inte 32kB rätt mycket för en uC?
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

Tydligen är det inte många som tittar på de länkar jag bifogar (för lite bilder?). Enligt http://www.sics.se/~adam/uip/size.html, så blir sammantaget:

. ARP
. IP/ICMP/TCP (transportprotokoll och ping)
. HTTP (Hyper Text Transport Protokoll, Webserver asså)
. Checksum functions
. Packet buffer

6258 Bytes i kodstorlek och utnyttjar 988 bytes RAM på en ATMEL AVR kompilerat med GCC 3.3 och kodoptimering (-Os), vilket enligt mig (trots kassa betyg i matte) då skulle vara mindre än 32kB och kunna rymmas nätt och jämt i en Atmega 8.

Iofs blir det inte mycket över till annat, men nog skulle man kunna blinka en och annan diod iaf.

EDIT: Det framgår inte om kod för att hantera ethernethårdvara (typ ENC28J60) är inkluderad, så för att vara säker kanske man skall välja en storlek större än Atmega8.
EDIT2: OOps! ARP är inte alls nåe routingprotokoll
Senast redigerad av Kaggen 17 november 2006, 22:53:19, redigerad totalt 2 gånger.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47050
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

Min webserver tar fn upp ca 20 kord, 18F8622 har 48, så det finns en del plats för applikation kvar, men i slutänden när jag är klar, är det tveksamt om 64 kord (18f8722) räcker.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

EDIT2: OOps! ARP är inte alls nåe routingprotokoll
Betyder det att man måste ha en hub för att man ska kunna kommunicera med den och inte kan använda en switch imellan?

TomasL
Använder du en ENC28J60?

Några fler här som har kopplat sin PIC eller AVR till sitt nätverk?

Vill gärna hitta något färdig projekt som man kan kolla igenom för att se hur det hela sätts upp. Gärna AVR-baserat eftersom jag fuderar på att sätta mig ner med en sådan.

Vilket används oftast hos utvecklare. Jag menar om man har det som jobb?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47050
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

quote:
--------------------------------------------------------------------------------
EDIT2: OOps! ARP är inte alls nåe routingprotokoll
--------------------------------------------------------------------------------


Betyder det att man måste ha en hub för att man ska kunna kommunicera med den och inte kan använda en switch imellan?

TomasL
Använder du en ENC28J60?

Några fler här som har kopplat sin PIC eller AVR till sitt nätverk?

Vill gärna hitta något färdig projekt som man kan kolla igenom för att se hur det hela sätts upp. Gärna AVR-baserat eftersom jag fuderar på att sätta mig ner med en sådan.

Vilket används oftast hos utvecklare. Jag menar om man har det som jobb?
ARP= Address Resolution Protocoll, används föra att översätta en IP till MAC.
Förklaring: IP är ointressant, det är MAC som gäller, all överföring i TCP/IP sker mellan mellan MAC-Addresser.


Använder RTL8019, INTE 28J60.
PICDem.net är en bra start, för att se hur det funkar.

Skillnaden mellan AVR och PIC är minimal, dvs NOLL om du skriver i C.


Dock har olika kompilatorer olika egenheter, då de inte är ANSI fult ut, dvs det som funkar i en kompilator funkar inte i en annan, sedan finns det andra begränsningar också, av akademisk karaktär
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

ankan:

Ok, routing med TCP/IP sker i IP-lagret. Har inte direkt med ARP att göra. Så från min förra post, bortse från det jag sagt om ARP.

Så här tror jag (kanske lite förenklat) det går till:

Datorn kollar om destinations IP, via logiskt and med nätmasken, ligger på samma nät som datorns lokala IP. Om inte kollas datorns routingtabell om det finns en route specifikt till destinations IP, i så fall skickas paketen via den routern, annars skickas paketen via default router.

Hub eller switch har inte direkt något med routing att göra (iaf inte på IP nivå) så det har ingen betydelse vilket som.

Angående PIC vs AVR så är det som att välja mellan SAAB eller VOLVO. Båda kan köra i 110, svänga höger och vänster, och ligger ungefär lika i pris. Det är mer en prestige sak vad man väljer.

Personligen håller jag på med PIC vad gäller assembler, däremot kommer jag att köra AVR iaf tills vidare när jag kör C. Främst beroende på att jag kommer utveckla på Linux. Om du är van vid PIC fortsätt med den. Jag kan inte direkt säga att det finns rena prestandaskäl att välja det ena eller det andra. Både AVR och PIC finns i massa olika modeller för alla möjliga ändamål.

EDIT: Skit oxå, det jag beskrev ovan är "proxy ARP", inte "ARP". Skrivit om ovanstående angående IP routing
Senast redigerad av Kaggen 19 november 2006, 20:07:18, redigerad totalt 1 gång.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Jag kanske ska hålla mig till PICen trots allt eftersom jag känner till den rätt bra. Har kört både C och ASM mot den.
Har dessutom programmerare för picen.

Då är det bara att börja leta projekt som använder en pic och ENC28J60 eller RTL8019.

Vad är det för skillnad mellan RTL8019 och ENC28J60 ?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47050
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

RTL8019 är egenteligen avsedd för PC-ISA bussen, men eftersom ISA-bussen ursprungligen var en 8-bitars buss, så fungerar den bra ihop med uC.


ENC28J60 är en ny krets, speciellt konstruerad för uC, och använder sig av SPI istället.

vilken som är bäst är ju en smaksak.

Vad jag förstått så är ENC'n rätt buggig fortfarande.
Användarvisningsbild
flippy
Inlägg: 110
Blev medlem: 10 december 2005, 13:49:44

Inlägg av flippy »

Nån som har testat PIC18F66J60? Verkar som en intressant krets, funderare på att beställa en och skriva ihop lite kod så man bara har dom nödvändiga grejerna för att köra UDP.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Något speciellt med den? Har den en ENC28J60 i sig eller?
Skriv svar