Archiv verlassen und diese Seite im Standarddesign anzeigen : PIC vs. ATMega (Entscheidungshilfe)
Hi ich hab nen kleines Problem irgendwie komme ich immernoch nicht so damit klar was ich nehmen soll ich schreib mal meine Persönlichen vor b.z.w. nachteile auf die ich so gefunden habe.
Dazu muss ich noch sagen das ich mit beiden schon gespielt habe ich benutze als OS Linux welches die vor und Nachteile auch mitbestimmt in C habe ich schon Erfahrungen gesammelt daher möchte ich auch C weiterbenutzen.
ATMega:
+ C Compiler(Gute Dokumentation unter Linux Programmierbar)
+ ASM (Gute Dokumentation und unter Linux Programmierbar)
+ Einfache Grundschaltung zum Betrieb
+ Es gibt einige Anfänger Bücher
- Teuer
PIC:
- C Compiler (Keine einheitlichen Standards unter den vorhandenden Compilern schlechte Dokumentation keine Compiler für Linux auser sdcc der sehr schlecht dokumentiert ist)
- ASM (Gute Dokumentation unter Linux Programmierbar)
+ Einfache Grundschaltung zum Betrieb
+ Einige INET Anleitungen aber nur für ASM
+ Billig
So ich glaub das wars wie man sieht Überwiegt der ATMega nur vielleicht hab ich ja noch einige Punkte ausgelassen die euch noch einfallen.
mfg tb
Ich hab zwar keine Ahnung von PICs, aber billiger als die AVRs sind die doch auch net, oder?
Ich find die Datenblätter gut aufgebaut, Tutorials sind vorhanden, für jedes Problem gibts Hilfe im Internet oder hier...
(ich weiß nicht wie das bei den PICs ist)
Die Programmierung via ISP ist einwandfrei (im eingebauten Zustand etc) - geht das bei den PICs?
Ich bin AVR-Fan :)
Öh... Welchen ATMega willst du dir denn holen, dass er so teuer ist?
Der Mega16 kostet glaub unter 3€... Ausser vielleicht bei Conrad. Da wird er bestimmt locker über 10€ kosten.
EDIT:
Zu PICs kann ich auch nichts sagen. Hab bisher nur mit AVRs geschafft und da ich rundum zufrieden bin, hatte ich auch nie einen Grund, über einen Wechsel nachzudenken...
weitere Vor-/Nachteile:
AVR:
+OS: unter Win und Linux programmierbar
+Memory: flaches Speichermodell
+Support: große deutsche und internationale Entwicklergemeinde
-Memory Harvard Architektur (Programm und Datenspeicher getrennt)
+ ISP: preiswerte Programmieradapter erhältlich (ab 1€)
+Speed: Schnell da bis 20MHz und viele Befehle, die in einem Takt ausgeführt werden
+speed: Hardware multiplizierer
PIC:
+OS: unter Win und Linux programmierbar
-Memory: paged memory
+Support: große internationale Entwicklergemeinde
-Memory Harvard Architektur ?
+ ISP: preiswerte Programmieradapter erhältlich
-speed: nicht so schnell wie AVR
-+ Hardware Mul? (weiss ich nicht)
Ich habe mich nach langem Überlegen für die AVRs entschieden. Hauptgrund: Super Entwicklungsumgebung, gcc-support, flaches Speichermodell, Geschwindigkeit und Support
r.moshage
29.10.2006, 12:26
Bei den neueren PIC's der 18'er Serie haben sich einige nachteile verflüchtigt. Keine Paged Memory mehr, Hardware Multi, bei einigen Typen USB 2 on Chip, gibt es mit vielen Zusatzmodulen wie z.B. Can-Bus,SPI.
@ogni42:
Sind die PIC's wirklich langsamer? Ich dachte immer das ist in etwa gleich. Immerhin gibts da Typen bis 40MHz...
Ich hab mit PICs und AVRs rumgespielt und bin nun der Meinung, daß AVRs auf jeden Fall besser sind. Das liegt Hauptsächlich an den fertigen Projekten im Netz:
http://www.ethernut.de/
http://www.obdev.at/products/avrusb/index.html
http://www.mindaugas.com/projects/MJoy/
http://elm-chan.org/works/akilcd/report_e.html
http://www.cesko.host.sk/IgorPlugUSB_RS232/IgorPlug-USB%20(AVR)%20RS232_eng.htm
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
und so weiter ;)
Gruß,
SIGINT
Hab' mich bei Microchip noch mal ein bisschen aufgeschlaut:
Pic ist auch Harvard.
18Fxxx kann bis 40 MHz
wie r.moshage gesagt hat, habe die 18F kein paged mem mehr und hardware multi.
Allerdings: Die 18F sind bei vergleichbarer Ausstattung deutlich teurer als die AVRs (zumindest bei reichelt).
phaidros
29.10.2006, 17:00
Achtung, die MHz bei Pics täuschen. Intern wird der Takt durch 4 geteilt. 40 MHz bedeutet dann 10 MHz interner Takt. Die werden allerdings auch fast 1:1 in 10 Mips (Million instructions per second) umgesetzt, weil die allermeisten Befehle nur einen Takt benötigen. Mit AVR kenne ich mich nicht aus, die PICs benötigen aber teilweise extrem wenig Strom. PICs gibt es länger, daher haben die alten Hasen sich im Laufe der Zeit einiges Wissen (und Libraries) angesammelt, was man bei einem Umstieg alles wieder vergessen kann. Ich bin PIC-Fan, aber der Trend bei Neuentwicklungen (von Hobbyisten) scheint in Richtung AVR zu gehen.
jo erstmal danke denke mal ich werde mich nehr mit der ATmega reihe bescheftigen voraledem in sicht auf die Linux comptibilitet und comunitys es gibt wesentlich mehr projekte und faq´s/bücher
Was kann ich mir denn unter "Hardware multiplizierer" vorstellen?
Das ist eine auf dem Chip integrierte Recheneinheit für Multiplikationen.
Wenn ein Controller sowas nicht hat dauern Multiplikationen sehr lange,
da sie durch mehrere Additionen realisiert werden müssen.
phaidros
30.10.2006, 03:43
8 Bit * 8 Bit Multiplikation (ohne Vorzeichen) dauert auf den neuen PICs nur einen Takt.
Noch ein Vorteil von PICs: Die allerneuesten sind begrenzt DMA-fähig. Das bedeutet bestimmte Hardware-Teile können Daten in den RAM-Speicher schreiben, ohne die CPU zu belasten.
ISP geht auch bei PICs völlig problemlos.
Aber ich denke deine Entscheidung für ATMegas ist gut.
(Nur wenn das alle machen, muss ich leider auch bald umsteigen. Dieses neu vorgestellte ATMega2560 Board klingt wirklich sehr verlockend.)
Ich persönlich arbeite mittlerweile (beruflich) lieber mit PICs, je nach Design greift man in einen grossen Pool, für jede Aufgabe findet man eine passende PIC Variation.
Solls mal eine Kleinigkeit mit einem PIC16 sein oder diesmal ein PIC24 mit 2 CAN etc... oder doch USB?
Aber da du Linux verwendest, vermutlich grade in die Welt der µC eintauchst würde ich dir den ATMega anraten.
Um mit einem PIC eine 'gemütliche' C-Arbeitsumgebung einzurichten sollte man einen ICD2-Debugger haben ca100€, den Microchip C18-Compiler ca800€ (es gibt auch gratis Compiler, aber C18 ist gängiger) etc.
Bei Atmel hat man durch die Verbreitung bei Hobbybastlern mehr Informationen und 'gratis' Software.
jo hm wie gesagt finde pics ansich auch ne feine sache voraledem da mann sehr keine chips bekommt (pdip8) nur wiegesagt das problem an sich ist das programiren unter linux mit C durch asm steige ich nicht wirklich durch da ich mir die bauteile und und ein atmega für ne testschaltung bestelt habe werde ich beide mal direkt vergleichen.
Ich persönlich arbeite mittlerweile (beruflich) lieber mit PICs, je nach Design greift man in einen grossen Pool, für jede Aufgabe findet man eine passende PIC Variation.
Solls mal eine Kleinigkeit mit einem PIC16 sein oder diesmal ein PIC24 mit 2 CAN etc... oder doch USB?
Hmm, die AVR-Familie ist doch auch nicht gerade klein?
Hmm, die AVR-Familie ist doch auch nicht gerade klein?
Das stimmt O:) - Leider gab es zu dem Zeitpunkt als ich 'die Seiten' zu PIC gewechselt habe bestimmte AVRs noch nicht :-s
Um mit einem PIC eine 'gemütliche' C-Arbeitsumgebung einzurichten sollte man einen ICD2-Debugger haben ca100€, den Microchip C18-Compiler ca800€ (es gibt auch gratis Compiler, aber C18 ist gängiger) etc.
Naja, ICD2 Clone gibt es ab ~15€ Bauteilenpreis (wenn man alles neu kauft). Je billiger es ist, desto mehr abzüge muss man halt machen (Prorammierspannung selber einstellen, LEDs fehlen, "groß", kein USB, etc.). Aber ansich findet man recht schnell etwas, was einem passt.
C18 und 800€? So lange man sich mit der Studentenversion begnügt (keine Optimierung --> bisserl größerer Speicherbedarf), geht es auch kostenlos. Sollte man sich damit nicht begnügen wird es echt teuer :).
Zum Topic. Ich arbeite lieber mit PICs, wieso, naja, weil ich es halt so gewohnt bin. Ja, Pagebanking ist einerseits nervig, andererseits erleichter es, zum Beispiel bei größeren PICs mehrere "Threads" per Time-Sharing nebeneinander laufen zu lassen (jedes der Processe bekommt eine Bank, die er nicht verlassen darf) und ab PIC18F sind die SFR sowieso nicht mehr in den Banken drinnen. Zu dem internen Clock-Teiler, da werden halt zeitkritische Aufgaben auf das Zählen von Befehlen reduziert :D.
Hab vor vllt. zwei Jahren mal versucht auf AVRs umzusteigen, bin dann aber recht schnell wieder zurück zu den PICs gekommen. Weiß nicht, mir hat der Assembler von Amtel nicht gut bekommen und ich progge generell unter 16bit nicht in C :).
Aber wie bei allen solchen Diskussionen, jedem das Seine. Ob PIC oder AVR, es ist wie die Frage einer Religion. Alle haben ihre Vor- und Nachteile und wichtig ist nur, dass man an sie glaubt :D
MfG
Mobius
mhh, ich kenn beides und muss sagen, dass ich auf beide immer wieder zurück komme.
Ich hab mit PICs angefangen, PICs sind eher was für kleinere Aufgaben, das können sie aber sehr gut!!!
AVRs haben den Vorteil, dass man sie auch in "einfacheren" Progsprachen proggen kann und es gibt auch welche mit mehr Pins(Atmega 128)
Ich würde z.B. den Atmega 128 als Hauptprozessor nehmen, und die PICs als Knechte.
Die Mischung machts!!!!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.