Sida 1 av 2

EasyPIC2 alt. EasyAVR2

Postat: 5 maj 2005, 12:27:34
av tecno
http://www.breadboarding.co.uk/index.htm

Ja då står man mellan två hötappar, PIC eller AVR - AVR eller PIC.

Vill inte starta nåt 'flame-war' men skulle uppskatta era synpunkter.

1. Novisen vid spisen är vad som gäller (hackat lite basic - thats all)
2. Båda utvecklingskorten kostar samma pengar
3. Mjukvaran, antar att det är här som det blir skillnad i pengar, eller?
Utgår ifrån att det är Basic av nån sort som ska användas då C kanske
är för svårt för en gammal stöt att lära sig :?

Bengt

Postat: 5 maj 2005, 12:41:05
av Jine
Avr är "mycket" kraftfullare..
Dock så kan man sampla Pic..

Ska man köra Basic till Pic så kostar det nåra tusen för komplimerare osv..
Jag "kan" pic, och jag skulle nog egetnligen ha valt AVR eftersom det går att använda till nästan allt!

Mvh Jim

Postat: 5 maj 2005, 12:47:28
av Icecap
Nja....du har kanske glömt ytterligare en processor: freescale.

Kompiler: gratis fullscale C + assembler (codewarrior)
Processorpris: lägre än PIC (ingen aning om AVR)
Funktionalitet: kan mycket mer än PIC.

Jag kollade på en freescale som hade FLASH programminne, inbyggd RAM samt UART. Den kostade ca: 40% av motsvarande PIC, ville klarar jobbet avsevärd bättre, har inte dumma minnesbanker osv.

Jag har kollat programmeringsdelen, den är ganska enkel, behöver en serieport med ett par grejor på, sen är det klart.

Så det kan vara värd att kolla Freescale också.

Postat: 5 maj 2005, 12:51:29
av ensten
Den här frågan har varit uppe förut och något flame-war brukar det inte bli. :) Jag har bara testat AVR och det valet gjorde jag efter förfrågan här på forumet. Dom har ju sina för och nackdelar. Om man köper en STK-500 programmerare så får man med AVR studio gratis. Jag har bara sysslat med VB förut men jag tycker att assambler inte var helt omöjligt att komma in i. Om man kör lite tutorials och steg för steg projekt så kommer man in i det efter ett tag.

Postat: 5 maj 2005, 13:06:53
av Johan.o
Att AVR är kraftfullare vet jag inte, grejen är vad jag vet att
en instruktion i PIC tar 4 klock-cyklar.
I AVR tar en instruktion 1 klock-cykel. (?)

Jag tror nog ändå att likvärdiga familjer från pic och AVR
har lika kraftfulla instruktionsset..

Jag har ingen koll på AVR, men PIC kan jag tala för..

De nackdelar man kan uppleva med pic är att minnet (RAM)
är uppdelat i olika banker som man måste bläddra mellan..

Även om man skriver program över 2K (händer sällan) kan det bli lite jobbigt.

Men då kan jag varmt rekomendera 18F familjen, där slipper man fundera
på program över 2K, då de kan adressera programminne över 2MB.
Man har även förenklat bank användningen för RAM, och ofta behöver man inte ens tänka på olika banker.

Det finns PICbasic , en välanvänd basic -kompilator.
Kanske passr dig?
Går nog att ordna utan att det kostar en förmögenhet


:wink:

Postat: 5 maj 2005, 13:44:10
av cyr
Nu har jag aldrig använt AVR så om jag skriver något tokigt får någon rätta mig...

AVR är en mer "normal" processor-arkitektur med separat minne/register-fil och riktigt stack, fler adresseringsmodes osv. PIC är lite mer special, med bara det nödvändigaste och internt RAM som används direkt för att utföra operationer på (istället för load/store).

Jag tror AVR kräver fler instruktioner för att göra en del enkla saker, t.ex. addera ett tal i RAM till ett annat i RAM måste väl bli load, load, add, store (2+2+1+2 cykler/words) mot PICs movf, addwf (1+1 cykler/words, där en "cykel " dock är 4 klockpulser).

Så AVR = mer kraftfull, mer lämpad för högnivåspråk och "tunga" beräkningar.
PIC = mer slimmad, optimerad för små styrändamål och kompakt ASM-kod.

PIC18 är en upphottad arkitektur som nog står sig hyffsat mot AVR, fast den inte är alls lika "snygg" (IMHO). Den är iaf snabbare, klarar mer minne utan att man behöver tänka på banker, bättre lämpad för högnivåspråk osv...

Postat: 5 maj 2005, 14:21:56
av erixon
Freescale? är det inte företaget och du menar inte typ MC68HC05 eller MC68HC16 osv..


Priser och uppgifter hämtade från ELFA

Kod: Markera allt

Vad             MIPS  RAM   Flash  EEPROM  I/O  AD     Timmers/PWM  kommunikation	Pris
MC68HC908QY1CP  ?     128   1,5k   ?       13   -      2x16         ?               23.40
MC68HC908QY4CP  ?     128   4k     ?       13   4x8b   2x16         ?               36.20
ATmega48-20PI   20    512   4k     512     23   6x10b  2x8+16/6st   UART/SPI/TWI    27.20
ATmega88-20PI   20    1024  8k     512     23   6x10b  2x8+16/6st   UART/SPI/TWI    33.80
PIC16F870-I/P   5     128   2kx14  64      22   5x10b  3x8/1        USART/SCI       47.20	
PIC16F628-04/P  1     224   2kx14  128     16   5x10b  3x8/1        USART/SCI       38.20
Det finns säker bättre konkurrenter till Atmegan48 och 88, men efter som jag inte har jobbat med de andra enchips datorena... så har jag ingen riktig koll på vad de kan.
(för utom PIC16F84)
Nå nu ska jag säga vad jag tycker är bra med AVR
-relativt billig
-bra datablad
-Lätt att göra en billig programerare (typ fyra mostånd till LPT)
-En bra C-kompilator GCC (gratis)
-Hyffsat med Peripheral

Så nu har jag spyt lite galla :roll:

Postat: 5 maj 2005, 14:39:00
av Hedis
AVR-studio är gratis även om man inte köper STK-500.
Finns att tanka på www.atmel.com

Postat: 5 maj 2005, 18:01:16
av ensten
Riktigt. Men man får det på CD ...
Vad det nu skulle ha för betydelse :?

Postat: 5 maj 2005, 21:11:16
av karlstedt
Det här säger väl en hel del! 8)

Bild

Postat: 5 maj 2005, 21:38:03
av tecno
Icecap skrev:Nja....du har kanske glömt ytterligare en processor: freescale.

Kompiler: gratis fullscale C + assembler (codewarrior)
Processorpris: lägre än PIC (ingen aning om AVR)
Funktionalitet: kan mycket mer än PIC.

Jag kollade på en freescale som hade FLASH programminne, inbyggd RAM samt UART. Den kostade ca: 40% av motsvarande PIC, ville klarar jobbet avsevärd bättre, har inte dumma minnesbanker osv.

Jag har kollat programmeringsdelen, den är ganska enkel, behöver en serieport med ett par grejor på, sen är det klart.

Så det kan vara värd att kolla Freescale också.
Har letat men inte hitta något lämpligt utvrcklingskort typ de för PIC/AVR som jag nämnde, har du nåt mer detaljerat tips var jag kan hitta sånt.

Tacksamt

Postat: 5 maj 2005, 21:56:40
av tecno
Ser att det är bra många som vurmar för Atmel.

Säg så här då och jämfär EasyAVR2 mot STK500 som istort kostar samma pengar, vad är det för skillnad? Antar att man i båda fallen använder samma programvara, blir det nån skillnad i slutresultatet.

Har läst på Yahoo PIC gruppen om att det skulle vara skillnad på de olika basic programmen och hur pass bra/tät kod de genererar och att det i vissa lägen inte går att få fram nåt vettigt alls och med det menades att utvecklingshårdvaran/programmeraren och mjukvaran skulle i alla lägen inte vara kompatibla.

kommentarer tack

Postat: 5 maj 2005, 22:24:49
av Icecap
Jag har inget utvecklingskort eller känner till heller, jag har tänkt mig att ta hem all mjukvara (nätet) och fixa en programmerare, sen ska jag testa att "sampla" ett par olika och se vad de går för. Jag har ingen panik, jag har ett fungerande system med PIC16F873 men den känns i detta läge en "aning" ålderstiger.

Codewarrior-softwaren skulle i övrigt vara C++ (sådär lagom ++) och jag skulle uppskatta att kunna skydda mina variabler, något som är väldigt svårt i ANSI C om bara ett par rutiner ska kunna komma åt variablerna, efter vad jag har läst kan man göra klasser och det har jag saknat kraftigt.

Men som det är har jag häcken full med mycket annat så det får bli om ett par veckor eller så.

Och ja: freescale-processorerna är de "gamla" Motorola 68HCxxx.

Jag fattade i sin tid att AVR var 8031-kompatible och sedan har jag hållit mig borta ifrån dom, visst kan de köra snabbt men den arkitektur är så förlegat att den är ytterst besvärlig i mitt tycke, jag är förvisso "uppfödd" med Z80 i assembler och därför kräsen.

Och sen har jag inte så ofta behov av att köra assembler, det är mer kostnadseffektivt att köra C, speciellt när man kan porta rutiner från ett system till ett annat. Jag har vissa gemensamma filer för kommunikationen, dessa filer används av båda PC-programmen (BCB6) och kontroller-programmen, då slipper jag en massa trassel med att definitioner ska ändras så de passar, jag gör det i en enda fil och sen fungerar det i allt.

Men vilken processor som är bäst är faktisk inte den rätta fråga att ställa, frågan ska i stället vara: vilken utvecklingsmiljö passar mig bäst, vilken programmeringsenhet är bäst osv, processorerna kan ungefär det samma så det är andra faktorer som gäller än den "kalla hårdvara".

Postat: 5 maj 2005, 23:24:30
av cykze
cyr skrev:Jag tror AVR kräver fler instruktioner för att göra en del enkla saker, t.ex. addera ett tal i RAM till ett annat i RAM måste väl bli load, load, add, store (2+2+1+2 cykler/words) mot PICs movf, addwf (1+1 cykler/words, där en "cykel " dock är 4 klockpulser).
Torde stämma. Men sen får man tänka på att AVR:er i regel har 32 GP-register. Råkar man då ha talen i två register så räcker det med en vanlig addition (1 cykel). PIC:ar har väl bara ett register, W, eller?

Icecap: Objektorienterad programmering i C++ fungerar i avr-gcc också, även om jag själv inte har använt det eller sett någon annan göra det. Men det går att kompilera och den genererade Asm-koden ser okey ut.

Vad menar du med att dom är 8031-kompatibla? Och vad menar du är fel på AVR-arkitekturen?

Postat: 6 maj 2005, 10:17:19
av Icecap
Jag vet om att Atmel har tillverkad en 8031/8051 kompatibel som jag blev introducerat till den och den arkitektur är ju så förlegad att det är skrämmande med en(eller 2) datapekar osv. Efter att ha testat ett antal andra typer är jag lagom imponerat.