Forum: Mikrocontroller und Digitale Elektronik avr32 vs. ARM


von nicolas (Gast)


Lesenswert?

Hallo,

was ich mich frage: Werden die avr32 eigentlich viel eingesetzt? Oder 
laufen die sich tot neben den ARM/Cortex? Atmel hat ja auch einige Fabs 
geschlossen...

Viele Grüße

nicolas

von Frank K. (fchk)


Lesenswert?

nicolas schrieb:

> was ich mich frage: Werden die avr32 eigentlich viel eingesetzt? Oder
> laufen die sich tot neben den ARM/Cortex? Atmel hat ja auch einige Fabs
> geschlossen...

Atmel ist im Digitalbereich komplett fabless und lässt seine Prozessoren 
irgendwo fertigen. Die haben nur noch für irgendwelchen 
Hochvolt-Analog-Automotive-Krempel irgendwo eine Fab, weil man das nicht 
so leicht outsourcen kann. Microchip hingegen fertigt fast alles in 
eigenen Fabs und kann daher auch in Krisenzeiten liefern. Das allein ist 
schon fast ein Killerkriterium.

Der AVR32 hat seine Nischen. AVR konzentriert sich auf kleine, 
emergiesparende Systeme. Die AP7xxx Serie von Applikationsprozessoren 
hingegen ist tot, der AP7000 abgekündigt, die Nachfolger nie auf den 
Markt gekommen. Hier hat Atmel sich auf die ARM-Geschichten 
konzentriert, aber auch hier sehr lange gebraucht, bis die Cortex M3 
überhaupt lieferbar waren.

fchk

von Matthias (Gast)


Lesenswert?

Pic und AVR sind beide soweit ich weiss Single Source. Wenn also Atmel 
oder Microchip aus irgendeinem Grund aus dem Geschäft gehen (gegangen 
werden) stehst du evtl ohne Lieferant da.
Zwar sind z.b. die ARM-basierten Derivate untereinander keine Drop-In 
Replacements, aber es ist doch wesentlich weniger schmerzhaft mit den 
gleichen Tools und auf der gleichen Architektur zu redesignen als alles 
wegzuwerfen. Vorallem wenn man Middleware verwendet hat die für 
unterschiedliche Hersteller funktioniert.

Technologisch mag die ein oder andere Architektur den ARMs in 
Grenzbereichen hier oder dort ueberlegen sein. Allerdings ist das 
Spektrum der Cortex-M schon recht breit (aktuell vom M0 bis zum M4) und 
damit sollte das die Ausnahme sein.

von Robert T. (robertteufel)


Lesenswert?

Ist schon merkwuerdig, da kaempfe ich jeden Tag im Beruf gegen Atmel und 
schreibe jetzt etwas fuer den AVR32 ;-)
Also bei Atmel hat man keineswegs den Fokus auf Cortex gelegt. Es gibt 
deutlich mehr und mit sehr interessanten kostenlosen Tools fuer all die 
AVRs und das schliesst den AVR32 mit ein.
@Matthias,
Deine Argumentation geht etwas nach hinten los. Wenn viel Middleware 
eingesetzt wird, dann ist man extrem Architektur unabhaengig. Wenn also 
dasselbe OS fuer den AVR32 und fuer Cortex-M3 verfuegbar ist, dann 
laesst sich eine Anwendung auch relativ flott auf die neue Plattform 
bringen.
AVR32 wurde an den Markt gebracht, als es noch kaum oder gar keine M3 
Teile gab. AVR32 ist im Breich Echtzeitverarbeitung und Power natuerlich 
ein echter Fortschritt gegenueber ARM7, allerdings tut es sich mit 
Cortex-M nicht sehr viel in beidem. Der M4 kann in vielen Anwendungen 
den AVR32 schlagen, der M0 verbraucht weniger als ein AVR32 in fast 
jeder Anwendung. Aber da liegt auch der Hund begraben, wer einen M4 
benuetzt bekommt nicht so ganz den Sparkuenstler wie der M0. Wer einen 
M0 benuetzt braucht wenig Strom aber die Performance leidet auch. Der 
AVR32 bietet da schon eine nette Mischung.
Persoenlich wuerde ich zwar einen M3 vorziehen, doch der AVR32 hat schon 
seine Anwendungsfaelle.

Gruss, Robert

von nicolas (Gast)


Lesenswert?

Hallo an Alle,

und Danke für die ausführlichen Informationen! Was ich am avr32 uc3 gut 
finde (neben anderen Sachen), ist das er SDRAM unterstützt und USB high 
speed kann. Das ganze in einem nicht-BGA.

Bei ARM/Cortex habe ich so einen Typen (bisher) nicht gefunden, ich 
werde allerdings auch durch die Vielfalt der Typen und Hersteller 
eindeutig überfordert.

Kennt vl jmd von den eingefleischten Experten einen arm/Cortex mit SDRAM 
Interface und High Speed USB?

Vielen Dank und Viele Grüße

nicolas

von Rico (Gast)


Lesenswert?

Frage nebenbei,
ich kann jetzt einigermaßen gut C programmieren und kann auch atmega und 
8051 derivate programmieren und mich würde das evk1104 Board von atmel 
interessieren...
kann man das programmieren von avr32 mit atmega vergleichen?
oda is das nur mehr openlinux zeug?

von Rico (Gast)


Lesenswert?

sry doppelpost

aber kann ich mit dem avr32 z.b auch einfach sachen wie adc auslesen 
umrechen display ausgeben und so machen???

von nicolas (Gast)


Lesenswert?

Hallo,

also der avr32 ist schon komplexer, geht mir jedenfalls so. Aber linux 
gibts da noch nicht, das läuft nur auf dem (abgekündigten) 
AP/grasshopper. Zumindest kein vollständiges Linux.  Das evk1104 hab ich 
auch, und den dragon, damit kann man schon spielen. Lässt sich direkt 
mit avr32 Studio programmieren. Ich mache aber selbst meine ersten 
Gehversuche damit...

nicolas

von ... (Gast)


Lesenswert?

@nicolas

LPC2468 von NXP zum Beispiel. SDRAM ist aber bei MCUs ohne Cache 
ungünstig da langsam. Besser ist schon der AT91SAM9Gxx. Den gibts aber 
glaub ich nur in BGA.

von nicolas (Gast)


Lesenswert?

ja, den AT91SAM9Gxx gibts eben nur als BGA, also (ziemlich) unlötbar. 
und der LPC2468 kann "nur" full speed USB, nicht high speed (laut 
Datenblatt).

Viele Grüße

nicolas

von Rico (Gast)


Lesenswert?

@nicolas

bei dem evk1104 board, wäre da programmer oder irgendetwas dabei?
bzw. auf den bilder von dem evk1104 sieht man das Pins rausgeführt 
worden sin, kann man die für externe ics etc verwenden?

sry für die noobfragen :P

von (prx) A. K. (prx)


Lesenswert?

Rico schrieb:

> kann man das programmieren von avr32 mit atmega vergleichen?

Im grundlegenden Prinzip sind die ARMs und ARM32 Controller mit AVRs 
schon vergleichbar, soweit damit die vollintegrierten Mikrocontroller 
gemeint sind und nicht die Triebwerke für Router&Co.

Nur ist alles dabei wesentlich komplexer, d.h. der Aufwand zur 
Einarbeitung steigt und es wird in Annahme entsprechender Vorbildung 
weniger detailliert erklärt.

von nicolas (Gast)


Lesenswert?

Hallo Rico,

also ich programmier das mit dem Dragon, kostet ja nicht soviel. Geht 
aber auch per bootloader über usb. Was da rausgeführt wird weiß ich auch 
gerade nciht, noch hab ich nix zusätzliches dran. Ist ja auch schon 
einiges drauf auf dem board. Aber die schematics gibts bei atmel.

Viele Grüße

nicolas

von Rico (Gast)


Lesenswert?

da ich gerade technische Ausbildung abgeschlossen habe und technische 
informatik weiterstudiere hab ich vorkenntnisse :)
jedenfalls danke, ihr habt mich überzeugt ich leg mir das teil zu!


danke lg Rico

von Rico (Gast)


Lesenswert?

sry doppelpost^^

zum USB hätte ich eine Frage
gibt es für PC <--> µC Kommunikation über USB treiber, dll's 
testprogramme oder ähnliches um eben von einem GUi programm auf µC 
kommunizieren oder so?

von nicolas (Gast)


Lesenswert?

Hallo Rico,

also das kommt auf die USB-Klasse mit der der Controller sich anmeldet. 
Massenspeicher funktioniert direkt unter Win und Linux, dann gibts noch 
HID und CDC, die haben dann teilweise Standardtreiber. Aber sonst kommt 
es darauf an was Du tun willst.

... schrieb:
> SDRAM ist aber bei MCUs ohne Cache
> ungünstig da langsam.

Warum langsam?

Viele Grüße

Nicolas

von Arc N. (arc)


Lesenswert?

Robert Teufel schrieb:

> AVR32 wurde an den Markt gebracht, als es noch kaum oder gar keine M3
> Teile gab. AVR32 ist im Breich Echtzeitverarbeitung und Power natuerlich
> ein echter Fortschritt gegenueber ARM7, allerdings tut es sich mit
> Cortex-M nicht sehr viel in beidem. Der M4 kann in vielen Anwendungen
> den AVR32 schlagen, der M0 verbraucht weniger als ein AVR32 in fast
> jeder Anwendung.

Welcher M0 soll das sein?
M0
LPC12xx 8.1 mA @ 33 MHz (while (1) { }, Peripherie aus, Code im Flash)
LPC11xx 9 mA @ 50 MHz ...

M3
EFM32GG 10 mA @ 50 MHz (Primzahlberechnung, Peripherie aus)
STM32L151 8.5 mA @ 32 MHz (Flash aus, Code im RAM)

AVR32
AT32UC3L 13 mA @ 50 MHz (Fibonacci), ~8.3 mA @ 50 MHz (Division)
(Peripherie getaktet, Code im Flash)

Hinzukommt das die Cortex-M0/M3 gerade mal bei 0.9 bzw. 1.25 DMIPS/MHz 
liegen, die AVR32 dagegen bei 1.5 DMIPS/MHz.
Nimmt man noch ein paar andere ala Renesas RX610 und Microchips PIC32MX 
hinzu oder vergleicht PIC24 mit Cortex-M0
http://www.coremark.org/benchmark/index.php?pg=benchmark
ist das alles andere als eindeutig...
(außer es wird z.B. die Fließkommaleistung von M3 und M4K verglichen...)

> Wer einen
> M0 benuetzt braucht wenig Strom aber die Performance leidet auch. Der
> AVR32 bietet da schon eine nette Mischung.
> Persoenlich wuerde ich zwar einen M3 vorziehen, doch der AVR32 hat schon
> seine Anwendungsfaelle.
>
> Gruss, Robert

von Rico (Gast)


Lesenswert?

also verstehe ich das richtig wenn ich das Board an USB anschließe wird 
der standartmäßig als Massenspeicher (SD - Karte?!?) erkannt oder wie?

Also mein Vorhaben wäre eine Lüftersteuerung für PC also Lüfter per PWM, 
dann Tempwerte einlesen, Lüfterdrehzahl abfragen, das ganze auf ein 4" 
tft display ausgeben und dann die Daten dem PC eben per Usb schicken. Am 
PC läuft ein Gui Programm mit dem ich die Lüfterdrehzahlen, Temperaturen 
usw. sehe und dann manuell die Lüfterdrehzahlen ändern kann.
( ich weiß das das mit einem 8Bit avr auch geht aber möchte mich 
weiterbilden^^)

von (prx) A. K. (prx)


Lesenswert?

Rico schrieb:

> also verstehe ich das richtig wenn ich das Board an USB anschließe wird
> der standartmäßig als Massenspeicher (SD - Karte?!?) erkannt oder wie?

Ohne Software im Controller wird das ziemlich sicher als überhaupt 
nichts erkannt und mit Software als das, was ebendiese Software 
vorsieht.

von Matthias Larisch (Gast)


Lesenswert?

A. K. schrieb:
> Rico schrieb:
>
>> also verstehe ich das richtig wenn ich das Board an USB anschließe wird
>> der standartmäßig als Massenspeicher (SD - Karte?!?) erkannt oder wie?
>
> Ohne Software im Controller wird das ziemlich sicher als überhaupt
> nichts erkannt und mit Software als das, was ebendiese Software
> vorsieht.

Beim AVR32 mag das zutreffen, die NXP Cortex M3/M4 haben einen USB 
Bootloader integriert: Ist dieser aktiviert (2 Boot-Pins), so hast du 
ein Massenspeichermedium, auf das du einfach dein Kompilat/Flash-File 
draufkopierst. Das Flashen macht der Bootloader dann ganz alleine. Des 
Weiteren sind CanOpen sowie diverse USB Codefragmente im Rom fest 
abgelegt, mit sehr wenigen Zeilen Code + Device Deskriptor hast du dein 
HID-Device fertig.

Also: Ich rate zu soetwas. Ein LPCxpresso ist für nen Zwanni erhältlich, 
allerdings ist da kein USB drauf. (Aber man hätte dann nen Jtag falls 
gebraucht). Mit NXP DevBoards hab ich keine Erfahrung.

von (prx) A. K. (prx)


Lesenswert?

Matthias Larisch schrieb:

> Beim AVR32 mag das zutreffen, die NXP Cortex M3/M4 haben einen USB
> Bootloader integriert

Ok, Missverständnis. Ich hatte das auf den Betrieb des Controllern 
bezogen, nicht auf den Programmiervorgang.

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
Noch kein Account? Hier anmelden.