Guten Morgen! Mich interessiert seit kurzem die Welt der
Mikrocontroller. Ich habe die Möglichkeit an Hardware der Firma
Microchip(ICs, Programmiergeräte usw.) günstig ranzukommen, weiß aber,
dass es hier noch die Konkurenz Atmel gibt, für die ich den
originalpreis bezahlen müsste wenn ich mich dafür entscheiden würde.
Welche Gründe gibt es bei Mikrochip zu bleiben(vom Rabatt mal abgesehen)
und welche zu Atmel zu wechseln?
Ich habe mich auch mal vorweg an der Hochschule ein wenig informiert.
Was mich an Atmel etwas gestört hat, ist, dass es mehrere "+" und "-"
Anschlüsse an EINEM Controller hat z.B. beim Atmega8, wogegen es bei
einem vergleichbaren Microchip nur ein Polpaar gibt. Was hat das zu
bedeuten? Atmel Controller sollen ja "Einsteigerfreundlicher" sein, was
ist damit gemeint?
Gruß
> Ich habe mich auch mal vorweg an der Hochschule ein wenig informiert.> Was mich an Atmel etwas gestört hat, ist, dass es mehrere "+" und "-"> Anschlüsse an EINEM Controller hat [...]
Wenn du danach gehst, solltest du über ein neues Hobby nachdenken...
Mal ernsthaft: Schau mal ins Datenblatt eines ARM und zähle die
Versorgungsanschlüsse.
Oder möchtest du trollen?
Nee, die Entscheidung ist doch relativ einfach. Man nimmt dasselbe, das
der Kollege hat, der Zeit fuer Einfuehrung und Hilfe hat. Wenn man's
dann man kann, und denkt der Andere waere besser, schaut man sich den
auch noch an.
> Ich habe mich auch mal vorweg an der Hochschule ein wenig informiert.> Was mich an Atmel etwas gestört hat, ist, dass es mehrere "+" und "-"> Anschlüsse an EINEM Controller hat z.B. beim Atmega8, wogegen es bei> einem vergleichbaren Microchip nur ein Polpaar gibt. Was hat das zu> bedeuten?
Mit Hochschule kannst du nur einen Ort meinen, von dem aus man die
Gegend gut übersehen konnte.
@Sven P.
Mich interessiert warum es mehrere Versorgungsanschlüsse gibt. Das
schreckt mich nicht ab, aber es interessiert was es bei einem Atmel mehr
zu Versorgen gibt als bei einem PIC.
Schon wieder diese Diskussion!
Ich kenne beide Reihen (PIC, Atmel) sowie eine Reihe
andere µC, auch ein paar "Exoten", oder "Museumsstücke"
Die alten PIC mit Bankswitching und ähnlichen Grausam-
keiten, nein Danke.
Entscheidentes Kriterium sollte doch sein:
a) Ist die gestellte Aufgabe mit dem Teil einfach
machbar? (Mit Umwegen geht jeder µP)
b) Gibt es eine bezahlbare Entwicklungsumgebung und
entsprechende Unterstützung, wenn nötig,
c) Sind die Teile gut beschaffbar, Preise OK?
d) Was ist schon im Einsatz, Erfahrung?
Umsteigen kann, muß sich aber nicht lohnen!
Neugier schrieb:> @Sven P.> Mich interessiert warum es mehrere Versorgungsanschlüsse gibt. Das> schreckt mich nicht ab, aber es interessiert was es bei einem Atmel mehr> zu Versorgen gibt als bei einem PIC.
Beim ATmega8 ist die Idee dabei u.A., den Analog-Digital-Umsetzer
separat zu versorgen, damit möglichst wenig Störungen über die
Versorgungsspannung eingeschleppt werden. Die wird ja in der Regel
digital versaut, und das mögen ADU garnicht. Hast du bei guten diskreten
Wandlerbausteinen auch, eine Versorgung für die Logik getrennt von der
Versorgung des Analogteils (Vergleicher, Referenzquellen usw.).
spess53 schrieb:> Über einen zusätzlichen Versorgungsanschluss wird der AD-Wandler> versorgt.> Dadurch lässt er sich besser vom Digitalteil entkoppeln.
Kann man beim PIC auch machen. Auf welchen PIC beziehst du dich da mit
den Versorgungsanschlüssen? Ziemlich jeder PIC ab 28 pins aufwärts hat
auch mehrere Versorgungsanschlüsse.
Die Bezeichnung kenne ich jetzt nicht mehr genau aber das war ein 14
oder 20 Pin Controller. Das soll jetzt nicht ein Etscheidungskriterium
sein. Mich interessiert, welcher Hersteller besser ist bzgl.
Anwendungsvielfalt und Einfachheit in der Programmierung(aber dafür
keine Leistungseinbusen!).
Anwendungsbereich ist einfach alles was man in das Thema Robotik
reinpacken kann. Von ganz einfach bis sehr komplex. Ich will mich da
nicht in etwas einarbeiten und dann irgendwann merken, dass ich nun doch
den Hersteller wechseln muss weil das Produkt des Herstellers A nicht
den Anforderungen gerecht wird.
Neugier schrieb:> [...] welcher Hersteller besser ist bzgl.> Anwendungsvielfalt und Einfachheit in der Programmierung(aber dafür> keine Leistungseinbusen!).> Anwendungsbereich ist einfach alles was man in das Thema Robotik> reinpacken kann. Von ganz einfach bis sehr komplex.
Keiner ist besser. Die ganz alten PIC sind heute weit überholt und
sollten nur noch von Masochisten neu eingesetzt werden.
Die neuen PIC korrelieren irgendwo zu den AVR und die größeren auch zu
MSP, das nimmt sich alles nicht besonders viel.
- MSP hatte immer mal mit extrem niedriger Leistungsaufnahme geworben.
- Bei PIC und AVR gibts ein paar ganz nette Motorcontroller mit
reichlich PWM. Weiter vorne liegt in dem Segment dann z.B. Renesas.
- x51 ist der Standard, leicht zu beschaffen.
- PIC hat bei einfachen Chips tendenziell mehr Fehler im Silizium als
andere, behebt sie aber ab und an auch mal.
- AVR ist gefühlsmäßig wie aus dem Lehrbuch und wirkt durchdacht.
- Bei PIC ist alles bisschen schräg (14 Bit breite Befehlswörter...).
- Bei PIC gibts deutlich mehr Auswahl.
- Für AVR und MSP gibts den GCC, x51 dürfte der sdcc erschlagen.
Unterm Strich kannst du in erster Näherung eigentlich auch mal würfeln,
wenn du die uralt-PIC mal außen vor lässt.
>Ich will mich da> nicht in etwas einarbeiten und dann irgendwann merken, dass ich nun doch> den Hersteller wechseln muss weil das Produkt des Herstellers A nicht> den Anforderungen gerecht wird.
Das wird dir früher oder später aber passieren.
Ich denke die nehmen sich nichts und weil du günstig an PICs rankommst
und schon Leute bei der Arbeit hast, die dir evtl. bei Fehlern oder
Fragen helfen können, würde ich an deiner Stelle PICs nehmen.
Sven P. schrieb:> Bei PIC ist alles bisschen schräg (14 Bit breite Befehlswörter...).
Vielleicht schräg aber (für mich) nicht merkbar.
Ich persönlich finde bei Microchip noch den Support gut und die
Übersicht der PICs ist ideal um den Richtigen zu finden und um zu
vergleichen.
Bei beiden hab ich aber keine Vergleichsmöglichkeit, deshalb kann ich
nicht sagen, ob es besser ist als bei Atmel.
Als Compiler könnte ich dir den von mikroElektronika Empfehlen.
Gibt es für 8bit-PICs, für 16bit PICs, für AVRs und für 8051. Die PIC32
Version kommt bald ins beta-Stadium aber ich glaub, das ist für dich
erstmal egal. Alle Compiler gibt es für C, für Basic und für Pascal.
Nur:
The only limitation of the free version is that it cannot generate hex
output over 2K of program words.
Dafür hat es einige Librarys, z.B. Software SPI, Software PWM, GLCD,
SPI/I²C/PWM für die Hardwaremodule. Die Programmierung und
Projekterstellung + Configuration ist total einfach. Für mich Ideal, um
auf die schnelle mal was zu erstellen.
Hab bei dem Compilern nocht nichts negatives gesehen. Er prüft sogar in
Echtzeit die Variablen, d.h. benutzt man einen PIC16F84 und hat aber
irgendwo PORTD stehen, zeigt er einen Fehler.
@haku
Bis ich diese beiden Punkte gelesen hatte, fand ich deine Auflistung ja
ganz in Ordnung:
Sven P. schrieb:> - PIC hat bei einfachen Chips tendenziell mehr Fehler im Silizium als> andere, behebt sie aber ab und an auch mal.> - AVR ist gefühlsmäßig wie aus dem Lehrbuch und wirkt durchdacht.
Das sind jedoch subjektive Eindrücke ohne weiteren Gehalt. Ich habe mit
Mitgliedern beider Familien einige Projekte hinter mir und kann das so
einfach nicht bestätigen. MC hat einen sehr offenen Umgang mit Bugs im
Silizium und arbeitet ständig nach. Die Tatsache, dass andere Hersteller
hier schweigsamer sind lässt keinen gültigen Rückschluss auf die
Qualität zu.
Wofür ich meine Hand ins Feuer legen würde ist, dass MPLAB gegenüber
AVRStudio professionellen Ansprüchen gerecht wird. AVRStudio ist die
unbequemste und instabilste IDE (unter Windows) die ich kenne.
Loonix schrieb:> @haku>> Bis ich diese beiden Punkte gelesen hatte, fand ich deine Auflistung ja> ganz in Ordnung:>> Sven P. schrieb:>> - PIC hat bei einfachen Chips tendenziell mehr Fehler im Silizium als>> andere, behebt sie aber ab und an auch mal.>> - AVR ist gefühlsmäßig wie aus dem Lehrbuch und wirkt durchdacht.>> Das sind jedoch subjektive Eindrücke ohne weiteren Gehalt.
Bei letzerem Punkt hast du ja Recht, deshalb habe ich es auch
ausdrücklich dazugeschrieben.
> Ich habe mit> Mitgliedern beider Familien einige Projekte hinter mir und kann das so> einfach nicht bestätigen. MC hat einen sehr offenen Umgang mit Bugs im> Silizium und arbeitet ständig nach. Die Tatsache, dass andere Hersteller> hier schweigsamer sind lässt keinen gültigen Rückschluss auf die> Qualität zu.
Ob 'die AVR besser sind', was ihr Silizium, vermag ich nicht zu
beurteilen, ich bin kein Chipdesigner. Die Errata bei Microchip
(betrifft nicht nur die PIC) sind jedenfalls immer gut gefüllt. Stöber
einfach mal durch die Errata verschiedener Baureihen und achte drauf,
wie viele Kernmodule kritisch betroffen sind. Meistens leider eine ganze
Menge. Und das auch bei weniger komplexen Bausteinen wie eben
8-Bit-Prozessoren. Der ENC-Phy ist eine Katastrophe.
Aber natürlich, Atmel verkorkst auch einiges, etwa der t2313, dessen
Programmierinterface nicht funktionierte :-)
> Wofür ich meine Hand ins Feuer legen würde ist, dass MPLAB gegenüber> AVRStudio professionellen Ansprüchen gerecht wird. AVRStudio ist die> unbequemste und instabilste IDE (unter Windows) die ich kenne.
Das ist absolut korrekt.
Witziges video :)
Mein Argument für AVR ist der Compiler.
Es gibt ziemlich gute Compiler für PIC - aber keine freien, soweit ich
sehe.
mikroElektronika (microC) sieht richtig gut aus, ist aber in der freien
Variante auf 2Kb beschränkt, wie oben geschrieben, und der freie
HIGH-TECH erzeugt wirklich sehr unoptimierten code, ein kleiner PIC ist
damit viel zu schnell voll.
Zum Einstieg mit Minimal-Budget tendiere ich daher eher zum AVR. ~15E
für nen USB-Programmer, freie, uneingeschränkte Software.
Besonders einfach fand ich übrigens den Einstieg mit dem Arduino.
Sven P. schrieb:> Unterm Strich kannst du in erster Näherung eigentlich auch mal würfeln,> wenn du die uralt-PIC mal außen vor lässt.
Das habe ich vorhin überlesen, dem stimme ich zu. Wahrscheinlich aber
aus anderen Gründen, da ich z.B. das Banking noch nie als große Schwäche
der alten PIC angesehen habe. Bei ASM-Programmierung kann man bei einer
sinnvollen (genau darin liegt aber die Schwierigkeit) Nutzung der Bänke
mit 8-Bit Zeigern arbeiten. Zu Zeiten als 4MHz für einen uC schnell war,
war das ein nicht unwesentlicher Punkt. Dass die Programmierkonventionen
bei der Arbeitsweise einen Hang zum Masochismus voraussetzen, gebe ich
zu. Früher (tm) hat man einfach mehr ausgehalten... ;)
Loonix schrieb:> Wahrscheinlich aber> aus anderen Gründen, da ich z.B. das Banking noch nie als große Schwäche> der alten PIC angesehen habe. [...]
Ich auch nicht. Für ein aktuelles Projekt führe ich Banking sogar wieder
explizit ein: Für 8 Wertestacks, auf denen herumoperiert werden kann.
Die obersten Bits, die nicht mehr im Adressbus sind, werden festgenagelt
und per Programm umgeschaltet, wenn man auf einen anderen Stack wechseln
möchte. Den Rest bekommt davon nichts mit, fertig.
Mal ne andere Frage, lohnt es sich denn, einen PicKit-3 (50€)
Programiergerät/Debugger zu kaufen, wenn ich noch ein PicKit-2 für 25€
bekomme, oder ist das schon zu alt und könnte mir evtl. probleme mit den
µCs machen? Hat da jemand Erfahrung mit? Wäre immerhin 15€ billiger als
das Programmiergerät von Atmel welches auch noch dazu kein Debugging
unterstützt (wunderlich warum PIC beides zu so einem Preis anbietet und
Atmel sich das teuer bezahlen lässt).
Das Pickit2 ist ganz klar die bessere Wahl. Solange du keine Controller
verwenden möchtest, die davon nicht mehr unterstützt werden. Warum? Ist
schneller und bietet mehr Funktionalität zum geringeren Preis. Das
eingebaute UART-Tool und den Logic-Analyzer möchte ich nicht mehr
missen. Kann nicht verstehen, was sich Microchip da bei dem Pickit3
gedacht hat. Sie haben es geschafft, mit aufwändigerer Hardware ein
Produkt zu schaffen, das schlechter ist, als sein Vorgänger.
Neugier schrieb:> @Sven P.> Mich interessiert warum es mehrere Versorgungsanschlüsse gibt. Das> schreckt mich nicht ab, aber es interessiert was es bei einem Atmel mehr> zu Versorgen gibt als bei einem PIC.
Ich habe gerade einen PIC18F67J60 in der Mangel. Der hat
- 3 allgemeine Vdd/Gnd Paare
- 2 Vdd/Gnd Paare fürs Ethernet
- ein Vdd/Gnd Paar für die PLL
- ein Vdd/Gnd Paar für den Analogteil
Der Sinn von verschiedenen Stromversorgungspins ist (a) die Entkopplung
verschiedener Schaltungsteile und (b) die Verringerung der Impedanzen in
der Stromversorgung.
Das ist herstellerübergreifend so.
fchk