Warum sind im Hobbybereich so oft Atmel MCUs anzutreffen? (Oder täuscht dieser Eindruck?)
ein Ahnungsloser wrote: > Warum sind im Hobbybereich so oft Atmel MCUs anzutreffen? (Oder täuscht > dieser Eindruck?) Ganz einfach: Geh mal auf www.reichelt.de (oder auch www.conrad.de) und schau was die an MCUs anbieten. Atmel, Microchip, Philips. Viel mehr wirst du nicht finden. Was leicht erhältlich und billig ist wird verwendet. Ein IC kann noch so gut sein: Wenn es nirgends erhältlich ist verwendet es niemand. Bei den AVRs und auch den ARMs passt ganz einfach auch das Preis/Leistungsverhältnis.
Was bei den Atmels auch schön ist: - GCC Port - Freeware IDE (AVR Studio) Der Debugger ist TOP im Vergleich zu MPLAB. - Schöne Architektur (Man muss nicht um 3 Ecken arbeiten) ....
Für mich persönlich: - freier, guter C-Compiler - etliche ausgezeichnete deutsche Assembler - brauchbare IDE mit Simulator - Unterstützung von/durch Linux - geradlinige Architektur (sinnvoller Registersatz, klare, eingängige Instruktionen, keine krummen Befehlsbreiten usw.) - billig - einigermaßen schnell (RISC) - überschaubare, durchdachte Peripherie, fast ohne Hardware-Bugs - robust, einfach einzusetzen
Naja, ich verwende eigentlich auch lieber AVR... aber MPLAB ist mittlerweile um Klassen besser als AVR-Studio. Einen kostenlosen Compiler (C18) gibt es auch.Das AVR Studio empfinde ich mittlerweile als Schwachpunkt von ATmel.
Als jahrelanger MSP430 Programmierer hab ich letztens ein ATTiny44 programmieren müssen. War regelrecht geschockt wie viel weniger die Dinger können (Keine Schmitt-Trigger Eingänge, keine wahlweisen Timer Port-Pins, Keine Interrupt Flags für einzelne Pins, keine Auswahl auf welche Flanke man einen Interrupt haben will, nur 1,1V Ref. Spg, kein JTAG,...) Ich vermute mal das die größerer Serien mehr können, aber im Vergleich zum MSP schon echt hart mit was sich die AVRler rumärgern müssen ;) Kann jedenfalls auch nicht wirklich verstehen warum gerade Anfänger und Bastler auf die Dinger abfahren...
tt wrote: > Das AVR Studio empfinde ich mittlerweile als > Schwachpunkt von ATmel. Ich konnte mich auch noch nie mit AVR Studio als IDE anfreunden Aber es zwingt dich ja niemand deine Programme in AVR Studio zu schreiben. Ich verwende es nur mehr den Programmer um die Flash und Fuses zu programmieren und gelegentlich verwende ich den Debugger und Simulator. Diese Programme sind aber recht brauchbar. Thomas PS: ein weiterer nicht genannter Punkt fuer Atmel ist die gute Community, hier in mikrocontroller.net und nebenan bei avrfreaks.net.
Jörg S. wrote: > Keine Schmitt-Trigger Eingänge Falsch. Die Eingänge haben alle einen Schmitt Trigger. > keine Auswahl auf welche Flanke man einen Interrupt haben will Auch falsch. > kein JTAG Auch falsch. Zumindest die größeren, neueren haben JTAG. Bei nem 8 Pinner ist JTAG ja auch etwas schwer... Beim Stromverbrauch dürfte ein MSP430 aber unschlagbar sein. Wieso ist der also nur so relativ wenig verbreitet?
Jörg S. wrote: > Als jahrelanger MSP430 Programmierer hab ich letztens ein ATTiny44 > programmieren müssen. Was wohlgemerkt ein Prozessor für ganz kleine Sachen ist. (Merkt man ja auch am Namen, "Tiny" = winzig.) > War regelrecht geschockt wie viel weniger die > Dinger können Sind ja auch keine Feature Monster, sondern eben kleine Prozessoren. > keine wahlweisen Timer > Port-Pins Was auch immer das sein soll: Der Tiny44 hat 4 OC-Ausgänge. (PWM oder Frequenz-Output) > Keine Interrupt Flags für einzelne Pins Was soll das sein? Der INT0 Pin ist einstellbar flankentriggernd. > keine Auswahl auf > welche Flanke man einen Interrupt haben will Natürlich hat man das. Nur nicht bei den PinChange Interrupts. Dafür hast du aber auf jedem Pin einen PCINT. > nur 1,1V Ref. Spg Welcher Prozessor hat denn mehr als eine Referenzspannungsquelle eingebaut? > kein > JTAG,...) Guter Witz! Wie soll das vernünftig gehen bei so wenigen Pins. Im übrigen unterstützt der Tiny44 DebugWire, was bei diesem AVR viel sinnvoller ist als JTAG.
Christian wrote: > Gegenfrage: > > Wieso nicht ? Was soll das? Wenn ich sage "es gibt keine lila Frösche mit 5 Beinen", wofür braucht man da eine Gegenfrage? Kannst ja mal http://www.atmel.com besuchen und bei der Suche "Atmel" eingeben und gucken ob du irgendeinen Prozessor oder eine Prozessorfamilie findest. Atmel hat sowohl 8 Bitter als auch 32 Bitter im Programm. Und auch andere Sachen als Mikrocontroller. Flash, EEPROMs usw.
Simon K. wrote: > Atmel hat sowohl 8 Bitter als auch 32 Bitter im Programm. Und auch > andere Sachen als Mikrocontroller. Flash, EEPROMs usw. Richtig, und die Controller haben eine AVR-, AVR32-, 8051- oder ARM- Architektur. Genauso wie es keine "Microchips" gibt, sondern PIC, PIC18, PIC24, PIC30, PIC32.
@ Simon K.: Wenn du noch mal hinschaust erkennst du wahrscheinlich auch, dass die "Gegenfrage: Wieso nicht" nicht gegen deine Aussage gerichtet war sondern auf das Topic dieses Threads bezogen ;-) ~Patrick
>Falsch. Die Eingänge haben alle einen Schmitt Trigger. Dann scheint das Datenblatt falsch und der Tiny defekt zu sein. ZUmindest halte ich 0,4mV Hysterese für nicht sonderlich Schmitt-Tiggerich. >> keine Auswahl auf welche Flanke man einen Interrupt haben will >Auch falsch. Es gibt zwar den PCINT, der wird aber schon durch PWM vom Timer0 blockiert. >> kein JTAG >Auch falsch. Zumindest die größeren, neueren haben JTAG. Die größeren hab ich aber nicht gemeint. >> keine wahlweisen Timer >> Port-Pins >Was auch immer das sein soll: Der Tiny44 hat 4 OC-Ausgänge. (PWM oder >Frequenz-Output) Ich möchte z.B. den PCINT Portpin nutzen. Geht aber nicht weil Timer0 mit PWM den Pin besetzt. Beim MSP würde ich den Timerausgang jetzt einfach auf einen anderen Pin legen. >> Keine Interrupt Flags für einzelne Pins >Was soll das sein? Der INT0 Pin ist einstellbar flankentriggernd. Ich möchte wissen welcher Pin einen Interrupt ausgelöst hat. >> nur 1,1V Ref. Spg >Welcher Prozessor hat denn mehr als eine Referenzspannungsquelle >eingebaut? MSP430 (1,5V / 2,5V) >> kein >> JTAG,...) >Guter Witz! Wie soll das vernünftig gehen bei so wenigen Pins. Beim MSP430 haben's auch die Kleinsten (14 Pins).
Jörg S. wrote: >>Falsch. Die Eingänge haben alle einen Schmitt Trigger. > Dann scheint das Datenblatt falsch und der Tiny defekt zu sein. > ZUmindest halte ich 0,4mV Hysterese für nicht sonderlich > Schmitt-Tiggerich. Ich würde auf einen Fehler im Datenblatt tippen. In anderen Datenblättern steht da eher 0,4V, was realistischer ist. >>> keine Auswahl auf welche Flanke man einen Interrupt haben will >>Auch falsch. > Es gibt zwar den PCINT, der wird aber schon durch PWM vom Timer0 > blockiert. Dann nimm halt den ICP Pin oder einen PCINT den es an jedem Pin gibt. Man muss halt etwas improvisieren.
>@ Simon K.: >Wenn du noch mal hinschaust erkennst du wahrscheinlich auch, dass die >"Gegenfrage: Wieso nicht" nicht gegen deine Aussage gerichtet war >sondern auf das Topic dieses Threads bezogen ;-) richtig erkannt :)
>Dann nimm halt den ICP Pin Durch PWM von Timer0 blockiert :) >oder einen PCINT den es an jedem Pin gibt. Der aber nur auf beide Flanken gleichzeitg triggert. >Man muss halt etwas improvisieren. Hab ich ja auch gemacht :) Wäre aber halt beim MSP430 nicht nötig gewesen ;)
>Ich würde auf einen Fehler im Datenblatt tippen. In anderen >Datenblättern steht da eher 0,4V, was realistischer ist. Hatte ich zuerst auch gedacht. Aber bei einem recht langsam steigendem und fallenden Signal an einem PCINT Port hat er nicht einen, sondern gleich 10-20 Interrupts nacheinander ausgelöst. Von daher war ich davon ausgegangen das das Datenblatt wohl doch stimmen muss. Oder gibt's ne andere Erklärung dafür?
Juhu, Schwanzvergleich... Naja, so ne Kreuzschiene für Ein- und Ausgänge wär schon nett :-)
>>> kein JTAG >>Auch falsch. Zumindest die größeren, neueren haben JTAG. >Die größeren hab ich aber nicht gemeint. Beim Tiny44 kann man DebugWire machen, was das gleiche kann, aber nur einen einzigen Pin (den RESET-Pin) braucht. Das geht sogar bei den achtbeinigen AVRs.
> Warum sind im Hobbybereich so oft Atmel MCUs anzutreffen? Historische Gruende. Atmel und Pics (die IMHO sogar noch eher) waren die ersten Controller mit integrierten Flash. Das war im Hobbybereich die Errungenschaft ueberhaubt. Hinzu kam das Atmel damals mit einem MCS51 kompatiblen Prozessor mit Flash angefangen hat als fast jeder nur mit MCS51 rumgemacht hat. Dann wollen wir mal nicht vergessen das die Leute in grauer Vorzeit in Assembler programmiert haben. Da kommt dir bei PICs das Mittagessen hoch weil sie so uebel sind, und MCS51 sind etwas aeh..unregemaessig. :-) Hinzu kommt das ein AVR im allgemeinen auch schneller ist als ein alter Standard-MCS51. Und heute ist es so das die Kuehe nur dort das Gras fressen wo schon andere Kuehe rumstehen. Die Leute benutzen Atmels weil die anderen es auch schon tun. Aus dem selben Grund aus dem deine alte Tante vermutlich Golf faehrt... Ich selber bin vor einigen Jahren auf M16C und R8C umgestiegen und finde die viel besser auch wenn Atmel jetzt wohl ein bisschen aufholt. Olaf
ist ja n super Vergleich ... nen 8-Beiner gegen nen 14-Beiner vergleichen und fehlendes JTAG bemängeln ... welche der Beine willste denn dann für ne Funktion noch verwenden wenn der JTAG drauf steckt? Debugwire ...
... und noch einer meiner bescheidenen Gründe: DIP-Packages bis zum Mega644. OK, die PICs ;) gibt's auch damit, 8051er auch, aber mit neueren Familien wirds da doch schwerer lötbar für Hobbyisten und Bastelatoren. Gruß, Dirk
ein Ahnungsloser wrote: > Warum sind im Hobbybereich so oft Atmel MCUs anzutreffen? (Oder täuscht > dieser Eindruck?) Das Forum hier ist da etwas lastig, aber prinzipiell hast Du schon recht. Ich habe mir auch erst ueberlegt ob ich mit PICs einsteigen soll, davon bin ich dann aber (puh!) abgekommen ;)
Mir hat der Assembler für AVR auf Anhieb gefallen und bleibe erstmal dabei. Ich komme aus dem 6502 Umfeld. Vielleicht mache ich nochmal was mit dem 8051 weil ja der immer noch quasi DER Industriestandard ist (wegen 2nd Sources) Grüße Björn
Ich hab damals (1993) auch mit den Atmel AT89C52 und AT89C2051 angefangen und fand es super, daß ich endlich das EPROM-Löschgerät einmotten konnte. Der Flash hat wirklich ne Menge Zeit gespart. Ein paar Jahre später (1997) hat Atmel dann die AVRs vorgestellt, und da ich mit den Atmel 8051 sehr gute Erfahrungen gemacht hatte, habe ich sie mir mal angesehen. Ich fand die klassik-AVRs allerdings nicht tauglich für ernsthafte Projekte, sie hatten zuviele Macken (kein funktionierendes Reset, vergeßlicher EEPROM, keine Bootloaderfunktion usw.). Erst mit den ATtiny und ATmega wurden die AVRs dann auch praxistauglich. Und der WINAVR war dann auch schon ausgereift. Mein erster AVR, der es in ein richtiges Gerät geschafft hat, war der ATtiny26 und dann der ATmega8. Peter
> Beim Stromverbrauch dürfte ein MSP430 aber unschlagbar sein. Wieso ist > der also nur so relativ wenig verbreitet? Das liegt am Preis und an der Schwerfälligkeit der Händler. Unter den "klassischen" MSP430 ist beispielsweise der 'F1611 ein recht komfortabel ausgestatteter (48 kByte Flash-ROM, 10 kByte RAM, 2 UARTs, 12-Bit-ADC, 12-Bit-DAC etc.), aber der von Reichelt aufgerufene Preis von fast 18 EUR* schreckt aus verständlichen Gründen davor ab, das Teil einzusetzen. Auch TI will über 10 USD** dafür haben. Es gibt aber viel interessantere neue MSP430-Derivate, die von TI für erheblich weniger Geld vertrieben werden, obwohl sie leistungsfähiger und größer sind als der 'F1611, so z.B. das "Dickschiff" 'F5438 für 6.10 USD**. Das Ding hat 256 kByte Flash, 16 kByte RAM, 4 UARTs, 12-Bit-ADC und kann mit doppelt so hoher Taktfrequenz betrieben werden wie der alte 'F1611. Ganz davon abgesehen sind MSP430 angenehmer zu programmieren als AVR, gerade in C, weil der Harvard-Krampf à la pgmspace.h entfällt. Daneben sind die Dinger aufgrund ihrer 16-Bit-Architektur auch etwas leistungsfähiger. Und das Geschieße mit falsch programmierten "Fuses" fällt dank der per Software steuerbaren Takterzeugung auch flach, und auch die Baudratenerzeugung für die UARTs ist erheblich flexibler (115200 Baud mit geringer Fehlerrate sind auch mit 8 MHz Quarz kein Problem, spezielle "Baudratenquarze" sind unnötig). Sicher, mit Ausnahme von den winzigen F2001..F2013*** ist die MSP430-Reihe nicht für lötungeübte verwendbar. Einsteiger schreckt sicherlich auch die Nichtverfügbarkeit von etwas wie BASCOM ab ... *) http://www.reichelt.de/?;ARTICLE=69231 **) Hunderterstaffel ***) die gibts im DIP14-Gehäuse
> Mir hat der Assembler für AVR auf Anhieb gefallen Mir auch, sehr sogar... > und bleibe erstmal dabei. Ich auch... > Ich komme aus dem 6502 Umfeld. Datt gibbet doch nicht... - Ich auch... Am AVR gefällt mir besonders: - die klare, einfache Architektur - der gut durchdachte Befehlssatz - die interne Peripherie (obwohl ich da noch Vorschläge hätte) - der breite Versorgungsspannungsbereich - die Verfügbarkeit in DIL-Gehäusen - die Robustheit der ICs - der niedrige Preis - die Tatsache, dass ich damit halbwegs souverän umgehen kann ;-) Sicher hätte man dieses oder jenes Detail besser machen können, aber man kann nicht Alles haben. Mit dem MSP430 hatte ich auch mal (betreffs niedriger Stromaufnahme) geliebäugelt, er war mir aber den Preissprung nicht wert. Das KO-Kriterium war dann die niedrige Versorgungsspannung, also die 5V-Unverträglichkeit. Für 32-Bitter habe ich keine Verwendung, fürs Hobby reichen mir die AVRs völlig zu. ~
Jörg S. wrote: > Als jahrelanger MSP430 Programmierer ... kein > JTAG,...) Hat der MSP430 ja auch nicht. ;-) Er hat zwar eine JTAG-ähnliche Schnittstelle, aber kein JTAG. Gugel mal nach JTAG, dann weißt du, was der Unterschied ist. Spätestens wenn du versuchst, einen ATmega mit ihm in eine JTAG-Kette zu hängen, weißt du's auch. Bandgap-Referenzen gibt's übrigens typischerweise nur in einer Spannung, das liegt am physikalischen Prinzip. Größere AVRs skalieren diese Spannung teilweise dann auch noch auch den alternativen Wert von 2,56 V, aber es bleibt letztlich trotzdem ein und dieselbe Spannungsquelle. Du könntest genauso gut einen Eingangsspannungsteiler anbringen, der die Eingangsspannung um 2,56 / 1,1 abschwächt, der resultierende Effekt wäre fast der gleiche.
im nicht-hobbybereich sollte man (jetzt) wohl von der msp430 benutzung absehen wenn man wert auf nicht auslesbares flash legt: http://events.ccc.de/congress/2008/Fahrplan/events/2839.en.html
> Bandgap-Referenzen gibt's übrigens typischerweise nur in einer > Spannung, das liegt am physikalischen Prinzip. Wow, kannte ich noch gar nicht, mal wieder was neues gelernt. Trotzdem eine kleine Verbesserung, laut ${Suchmaschine} ist der Faktor 1.7. ;-)
> im nicht-hobbybereich sollte man (jetzt) wohl von der msp430 benutzung > absehen wenn man wert auf nicht auslesbares flash legt: BSL ist in den 'F1xx-Varianten mit einem 256-Bit-Passwort geschützt, das bei einigen Varianten der Familie nicht so sicher ist, wie es sein sollte. Das beschreibt auch http://events.ccc.de/congress/2008/Fahrplan/attachments/1191_goodspeed_25c3_bslc.pdf. Das Verfahren wurde bei der neueren 'F2xxx-Familie (und wohl auch 'F5xxx) geändert und gilt als "hackproof".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.