Forum: Mikrocontroller und Digitale Elektronik SAM4, STM32, XMC,.


von Martin J. (bluematrix) Benutzerseite


Lesenswert?

Hallo,

es gibt hier ja immer wieder die Diskussionen ob nun Atmega, Xmega oder 
ARM.
Die Frage ist zwar auch berechtigt, aber darum soll es hier wirklich 
nicht gehen.
Ich selber verwende noch keine ARM controller, bin aber grad am 
überlegen für welche Familie, bzw. Firma ich mich entscheiden sollte.
Dabei ist mir aufgefallen, dass hier fast nur STM32 verwendet werden. 
Warum wird hier so gut wie keine SAM4 von ATMEL eingesetzt? Die 
Controller sind doch auch richtig gut und das AVR Studio 6 bietet doch 
eine perfekte Entwicklungsumgebung oder woran liegt das?
Die XMC Reihe von Infineon finde ich auch richtig Interessant. Dazu gibt 
es ja auch den von Infineon kostenlos mit dazu gelieferten DAVE, mit 
welchem man Die Controller konfigurieren und programmieren kann. Leider 
sind die Controller aber nicht so einfach zu kaufen.

Atmel - SAM
http://www.atmel.com/microsite/sam_cortex/default.aspx
http://www.atmel.com/products/microcontrollers/arm/sam4e.aspx

Infineon - XMC
http://www.infineon.com/cms/de/product/promopages/32-bit_industrial_microcontroller/index.html
https://www.mikrocontroller.net/articles/XMC4500

STMicroelectronics - STM32
http://www.mikrocontroller.net/articles/STM32

von René K. (cyprius)


Lesenswert?

Einfach mal ins Blaue geraten: Die STM32-Evalboards, z.B. STM32F4 
Discovery, gibt es zu einem Spottpreis (noch günstiger als der 
Einzelstückpreis des STMs selbst).

: Bearbeitet durch User
von Mirco C. (Firma: s@Td) (mcontroller)


Lesenswert?

Hallo,

ich hab bisher nur mit den SAM-Controllern etwas gemacht und finde die 
eigentlich ganz nett. Wenn man mit ASF + AS6 schon gearbeitet hat (z.B. 
für Xmega o.ä.) ist die Umstellung auf den Cortex nicht wirklich 
schwierig.

Was mich ein bisschen gestört hat ist, dass beim Sam4S der Flash 
langsamer ist als die CPU-Frq. Wodurch man dann alles langsamer wird.

Wie ist das eigentlich bei den STM32, bei 120Mhz Takt wie viele Takte 
braucht eine Instruktion bis sie vom Flash aus augeführt wird?

René K. schrieb:
> Einfach mal ins Blaue geraten: Die STM32-Evalboards, z.B. STM32F4
> Discovery, gibt es zu einem Spottpreis (noch günstiger als der
> Einzelstückpreis des STMs selbst).

Das denke ich auch, und das Discovery war meines Wissens nach schon 
relativ früh verfügbar im Vergleich zu den anderen genannten.

von Martinb. (Gast)


Lesenswert?

Mirco Controller schrieb:
> Was mich ein bisschen gestört hat ist, dass beim Sam4S der Flash
> langsamer ist als die CPU-Frq. Wodurch man dann alles langsamer wird.

Es gibt von Atmel Varianten mit und ohne Cache, die mit Cache sind echt 
super flott, da werden die Verluste wg. Waitstates größtenteils 
eliminiert.
Andere Hersteller wie ST versuchen das Problem mit einem speziellen HW 
Block zu eliminieren, am Ende kommt es aufs gleiche raus. Wir haben 
einen Crypto Algorythmus sowohl auf dem SAM4S als auch auf dem STM32 mit 
ART implementiert, beim gleichen Takt (dieselbe IAR Compiler Version) 
hat die Verschlüsselung 48s gedauert auf dem SAM4S ohne Cace, 36s mit 
Cache. Beim ST mit ART 38s. In unserem Fall war also der Cache die 
bessere Lösung, das hängt aber extrem von der Applikation ab.

Gerade eben entdeckt: eine Dual Core CortexM4 + CortexM4F Maschine von 
Atmel :-) ist zwar für Metering Applikationen gedacht, aber ich sehe 
auch andere Anwendungsmöglichkeiten vor allem wegen 2 Cortex Cores

http://www.atmel.com/devices/SAM4C16.aspx

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

...das ging aber schnell.
ich habe im vergangenen Jahr sehr viel mit dem xmegas und dem AVR Studio 
5 gearbeitet. Ich fand die Controller und die Entwicklungsumgebung echt 
super. Daher würde ich gern die SAM4 verwenden in der Hoffnung das mit 
denen auch alles so gut klappt.
Beim Suchen habe ich aber so gut wie keine Beispiele gefunden und bin 
immer wieder nur auf die STM32 gestoßen, was mich jetzt etwas 
abschreckt.

von Mirco C. (Firma: s@Td) (mcontroller)


Lesenswert?

Hi,

die meisten Snippets die ich bisher benutzt habe sind aus den 
Beispielprojekten vom ASF. Gerade wenn du ein Devboard nimmst (z.B. das 
Sam4SXplaind) hast du zu fast jeder HW-Komponente ein Beispiel das zum 
Board passt.

von Robert T. (robertteufel)


Lesenswert?

@bluematrix,
Die Antwort auf die Frage warum es hier vor allem STM32 Beitraege gibt 
ist sehr einfach, ST war der erst grosse Lieferant von Cortex-M3 
basierenden MCUs. Davor gab es noch Luminary (jetzt TI) aber ST ist den 
Markt mit Macht angegangen und hat sehr viele Designs gewonnen. 
Erfahrungsgemaess dauert es eine Weile bis neue Chips genuegend 
Akzeptanz gewinnen und die dann hier in greosserem Masse vorkommen. So 
hat es mehrere Jahre gedauert bis der XMega hier richtig vertreten war 
und der urspruengliche AVR hat immer noch viel mehr Beitraege als der 
XMega.
Zum Them SAM4, das ist definitiv ein konkurrenzfaehiges Teil. Allerdings 
ist er noch recht neu und deshalb wenig vertreten. Ausserdem wurde ja 
schon erwaehnt, dass es die Einsteigerboards fuer STM32 extrem guenstig 
gibt, was fuer den SAM4 in diesem Masse noch nicht zutrifft.
Akzeptanz in diesem Forum ist tatsaechlich oft an den Preis der Boards 
gekoppelt und spiegelt nur bedingt die Akzeptanz im professionellen 
Bereich wieder.
Der XMC hat es etwas schwer, weil er Infineon intern Konkurrenz hat und 
man die Kunden des XC2000 und TriCore nicht zu sehr beunruhigen moechte.
Als weitere Option kannst du dir noch die LPC1xxx oder LPC4xxx von NXP 
anschauen, sind definitv auch schick, schnell und es gibt dafuer auch 
guenstige Boards.
Noch etwas zum Thema Entwicklungsumgebung; das ist bereits heute und 
noch mehr in der Zukunft das Unterscheidungsmerkmal schlechthin. Nimm 
eine gewohnt Entwicklungsumgebung und du hast dein Projekt sofort um ein 
paar Wochen verkuerzt. Also wenn du mit AVRStudio 6 vertraut bist, dann 
sollten auch die 40-50 Euro fuer ein Board kein Hindernis sein.

Gruss, Robert

von Jan B. (berge)


Lesenswert?

Hi,

ich denke ein Teil der Attraktivität der STM32 macht auch die Library 
von ST aus. Damit sind viele Probleme echt fix und klassenübergreifend 
(STM32F0 bis F4) erschlagen. Mit Coocox gibts auch eine 
Entwicklungsumgebung in die das Ganze gut integriert ist. Außerdem ist 
auf den Entwicklungsboards direkt ein Programmier/Debuggerät mit drauf, 
welches sich auch für Eigenentwicklungen nutzen lässt.

Bzgl. der Flash Ausführung: Der Flash hat schon mehr Verzögerung als bei 
den anderen. ST hat aber wohl einen Zwischenspeicher eingebaut, so dass 
nach einem Sprung quasi instantan weiter Code ausgeführt werden kann.

Liebe Grüße,
Jan

von Uwe Bonnes (Gast)


Lesenswert?

Gegen XMC spricht zumindestens die Lizenz, die man beim Herunterlader 
von Datenblaettern abnicken muss. Gegen Atmel spricht m.e.a. die nicht 
vorhandende 5-Volt Toleranz der Eingaenge. Systeme mit gemischten 
Versorgungsspannungen sind doch haeufiger als man denkt...

von Andreas (Gast)


Lesenswert?

Robert Teufel schrieb:
> Also wenn du mit AVRStudio 6 vertraut bist, dann
> sollten auch die 40-50 Euro fuer ein Board kein Hindernis sein.

die xplain kits mit debugger gibts für 29USD, die neuen Xplain pro ab 
39USD, also ob ein board nun 10Euro oder 20Euro kostet, das ist so als 
würde man zum Tanken extra 20km weiter fahren um 2cent einzusparen. Ich 
finde die Hersteller sollten schon kostendeckend arbeiten, und nicht 
unbedingt die boards gratis hinterherwerfen die dann meistens irgendwo 
verstauben da man zwar mit einem board schön die MCU kennenlernen kann, 
aber das wars dann meistens auch schon. ich finde Atmel hat hier guten 
weg eingeschlagen.
Die Xplain kits als die low cost Variante zum kennenlernen
Die Xplain Pro kits mit denen man auch mal ein Prototyp erstellen kann 
dank der Wings auch mal neue Technologien erproben kann (finde das OLED 
display upgrade sehr interessant).
Und dann die vollwärtigen Evalkits die dann halt auch etwas mehr kosten, 
dafür aber auch ein Display und komplette Kommunikationsports bieten.
Hier schenkt sich meistens auch nicht viel, wenn man die Preise eines ST 
Evalkits und Atmel Evalkits vergleicht sind sie für uns alle meistens zu 
teuer.
Wobei teuer und billig alles relativ ist, mein Tankstellenbsp. heute der 
Diesel für 1.48Euro und alle schreien wie teuer der ist. Wenn in zwei 
stunden Der Preis auf 1.45Euro fällt rennen alle hin wie bekloppt weil 
der Sprit billig ist ;-)

von Msfab (Gast)


Lesenswert?

Ich habe im vergangen Monat im Rahmen des Praxissemesters mit einem 
SAM4S Xplained Pro Board zutun gehabt, privat habe ich mir jetzt 
hauptsächlich aufgrund des Preises ein STM32F3Discovery zugelegt.

Ich kann das Atmelboard nur empfehlen. Die mitgelieferte IDE ATmel 
Studio 6 ist super und das Reference Manuel von Atmel ist im Vergleich 
zu dem von ST deutlich verständlicher und besser erklärt.

von Toni (Gast)


Lesenswert?

Hi!

Ja, ich weiß dass das Thema schon fünf Monate alt ist - für mich z.B. 
aber derzeit aktuell...
Bei mir stellt sich auch gerade die Frage:
1) STM32 wegen der vielen Leute die diesen Nutzen und bei Fragen 
bestimmt eine Idee hätten oder
2) Atmel ARMs wegen der 800€ weniger IDE kaufen (Finde das Coocox nicht 
so prall) und weil ich die Visual Studio IDE eigentlich schon kenne...

Was ein Dev-Kit kostet ist erst einmal egal.

Gibt es zum heutigen Zeitpunkt da interessante "Wendungen" oder so aus 
der Sicht der Leute die auch schon vor der Frage standen?

Grüße,
Toni

von Frank K. (fchk)


Lesenswert?

Toni schrieb:

> Gibt es zum heutigen Zeitpunkt da interessante "Wendungen" oder so aus
> der Sicht der Leute die auch schon vor der Frage standen?

Ich bin aus diesem Grund (Support, IDE, Libraries) bei PIC32 gelandet. 
Ob in Deinem Chip ein ARM oder MIPS drinsteckt, interessiert eigentlich 
nicht wirklich - das ganze wird ohnehin in C programmiert, und damit 
kommst Du mit dem eigentlichen Kern nicht in Berührung. Dafür spricht 
auch die Verfügbarkeit von kleinen Varianten, auch DIL.

fchk

von Toni (Gast)


Lesenswert?

Hi Frank.

PIC kommt mir nicht mehr ins Haus ;)
Damit habe ich damals keine guten Erfahrungen machen können.
Für mich käme wirklich nur STM oder Atmel in die Auswahl.

Danke trotzdem!

von Lothar (Gast)


Lesenswert?

Toni schrieb:
> Für mich käme wirklich nur STM oder Atmel in die Auswahl.

Ich weiss dass hier im Forum NXP unterrepräsentiert ist, aber die ARM 
Compiler und Libraries sind "deutlich" gepflegter als bei STM oder 
Atmel.

Die Boards sind ebenso günstig im Bereich 10-20 EUR

Nebenbei hat NXP als Einziger ARM auch als DIP, und STM und Atmel haben 
auch keine Multicore M4 mit 200 MHz.

von René K. (cyprius)


Lesenswert?

Mal was neues: http://www.ti.com/tool/EK-TM4C1294XL

Ethernet mit integriertem PHY und die Standard Peripheral Library finde 
ich wesentlich angenehmer als die von ST.
Leider ist die Informationsdichte noch etwas gering da sehr neu.

Werde irgendwann diese Woche auch noch eine Anleitung schreiben, wie man 
eine offene Entwicklungsumgebung unter Linux einrichtet.

von MCUA (Gast)


Lesenswert?

>Was mich ein bisschen gestört hat ist, dass beim Sam4S der Flash
>langsamer ist als die CPU-Frq. Wodurch man dann alles langsamer wird.
>Wie ist das eigentlich bei den STM32, bei 120Mhz Takt wie viele Takte
>braucht eine Instruktion bis sie vom Flash aus augeführt wird?
(Zum xten Mal) Bei den meisten (bsp ST,NXP,Atmel,Freescale,Nuvotr. ) 
läuft der Flash nur mit ca 30MHz.
Cache (egal wie die es nennen) wirkt nur bei linearem Befehlsstrom.
Einige Japaner haben schnelleren Flash.

von Frank K. (fchk)


Lesenswert?

Toni schrieb:
> Hi Frank.
>
> PIC kommt mir nicht mehr ins Haus ;)
> Damit habe ich damals keine guten Erfahrungen machen können.

Wahrscheinlich war das die alte PIC16/PIC18 Architektur.
PIC24/PIC32 ist komplett was anderes.

fchk

von Moritz M. (avrprogger)


Lesenswert?

Moin,

Ich finde die CoIDE von CooCox auch nicht so toll. Als Alternative gibt 
es Em::Blocks. Die finde ich schon deutlich besser als die CoIDE. 
Deshalb würde ich dir trotzdem zu STM32 raten. Die sind recht günstig 
(auch die Endwicklungsboard) und bieten sehr viel Peripherie 
(Ethernet/USB FullSpeed, HighSpeed) und mehr Leistung (180MHz / 
225DMIPS). Im Bereich Cortex M schätz ich mal ist STMicro zurzeit 
führend.

http://www.mikrocontroller.net/articles/STM32_-_Einstieg_mit_Em::Blocks

Moritz

von Lothar (Gast)


Lesenswert?

MCUA schrieb:
> Bei den meisten (bsp ST,NXP,Atmel,Freescale,Nuvotr. )
> läuft der Flash nur mit ca 30MHz

FTDI will beim Start den gesamten Flash in ein Shadow-RAM laden:

http://www.ftdichip.com/MCU.html

von Paul (Gast)


Lesenswert?

Lothar schrieb:
> auch keine Multicore M4 mit 200 MHz.

Atmel hat Multicore M4, sogar 1x M4 + 1x M4F. Siehe SAM4C
Hat Nxp sowas?

Technisch gesehen sehe ich Atmel stark am Aufholen. Mein aktueller 
Lieblingscontroller ist der SAM4E:

http://www.youtube.com/watch?v=ICP42gZZK6U&feature=player_embedded

von Felix L. (flex)


Lesenswert?

Paul schrieb:
> Technisch gesehen sehe ich Atmel stark am Aufholen. Mein aktueller
> Lieblingscontroller ist der SAM4E:

Findet man im Internet auch irgendwelche Tutorials über die Atmel SAM?

Gruß
Felix

von Lothar (Gast)


Lesenswert?

Paul schrieb:
> Atmel hat Multicore M4, sogar 1x M4 + 1x M4F. Siehe SAM4C
> Hat Nxp sowas?

NXP hat immerhin 1x M4F + 2x M0 mit 204 MHz und 80MHz ADC, und das Board 
gibt es für 18 EUR (das nehmen die nämlich als Debugger, kann man aber 
mit eigenen Programmen flashen):

http://www.nxp.com/products/microcontrollers/cortex_m4/LPC4370FET256.html
http://www.watterott.com/de/LPC-Link-2

Außerdem ist die Performance vom SAM4C nicht so überragend sonst hätte 
Atmel den SAMA5 nicht gebracht.

von thorsten (Gast)


Lesenswert?

Lothar schrieb:
> Paul schrieb:
> Atmel hat Multicore M4, sogar 1x M4 + 1x M4F. Siehe SAM4C
> Hat Nxp sowas?
>
> NXP hat immerhin 1x M4F + 2x M0 mit 204 MHz und 80MHz ADC, und das Board
> gibt es für 18 EUR (das nehmen die nämlich als Debugger, kann man aber
> mit eigenen Programmen flashen):
>
> http://www.nxp.com/products/microcontrollers/corte...
> http://www.watterott.com/de/LPC-Link-2
>
> Außerdem ist die Performance vom SAM4C nicht so überragend sonst hätte
> Atmel den SAMA5 nicht gebracht.

Sam4c ist ein mcu, sama5 ist eine mpu fuer ganz andere applikationen wie 
highend gateway, hmi usw.
Sam4c ist auch nicht dafur entwickelt worden um high performance zu 
haben, sondern fuer einen speziellen markt und smart meter 
applikationen.
Dabei kann der m4 core die kommunikationsstacks und applikation 
bedienen, wahrend der m4f fuer die metrology zustaendig ist und trotzdem 
die notwendige trennung von metrology code und application code 
erfuellt. Trotzdem kann man die zwei herzen gut fuer rechenintensive 
aufgaben nutzen

von Lothar (Gast)


Lesenswert?

thorsten schrieb:
> Sam4c ist ein mcu, sama5 ist eine mpu fuer ganz andere applikationen wie
> highend gateway, hmi usw.

Laut Atmel-Werbung nicht: es wurde ein ARM9-Nachfolger gesucht, und man 
war mit der M4 Performance unzufrieden, einen M5 gibt es (noch) nicht, 
daher hat man den A5 genommen, der "eigentlich" ein 
Applikations-Prozessor ist. Die Peripherie vom SAMA5 zeigt aber auf 
Mikrocontroller Anwendungen (CAN, SPI). Natürlich kann man dank MMU den 
SAMA5 auch für Linux nehmen, aber dafür gibt es anderswo schnellere, 
billigere, und genau so stromsparende A7

von Dominic S. (Firma: Privat) (dominics)


Lesenswert?

Kennt vielleicht jemand ein Tutorial welches auf die SAM4S ausgelegt 
ist. Finde nut tuts zu den STM ARMs.

Danke ;)

: Bearbeitet durch User
von Felix L. (flex)


Lesenswert?

Dominic S. schrieb:
> Kennt vielleicht jemand ein Tutorial welches auf die SAM4S ausgelegt
> ist. Finde nut tuts zu den STM ARMs.
>
> Danke ;)

Ich habe auch schon lange danach gesucht, aber nichts gefunden.

von Thomas F. (tomasf)


Lesenswert?

Felix L. schrieb:
> Dominic S. schrieb:
>> Kennt vielleicht jemand ein Tutorial welches auf die SAM4S ausgelegt
>> ist. Finde nut tuts zu den STM ARMs.
>>
>> Danke ;)
>
> Ich habe auch schon lange danach gesucht, aber nichts gefunden.

Der einfachste Weg:
Xplained-Board oder EK von Atmel + Atmel Studio,
mit Datenblatt die ASF-Beispiele durchgehen, da gibt es die ganz 
einfachen mit blinkenden LEDs bis hin zu Beispielen für die einzelnen 
Komponenten (ADC, UART usw.)

Es wird sich kaum jemand die Mühe machen ein Tutorial zu erstellen, das 
einen völlig anderen, vermeintlich einfacheren, Weg als die ASF geht. 
Das Initialisieren der Clock oder einen GPIO-Interrupt zu benutzen ist 
eben relativ komplex auf einem ARM.

Hat man das ASF-Prinzip erstmal halbwegs verstanden, kann man neue 
Sachen dann relativ schnell umsetzen.

von (Gast)


Lesenswert?

Wer oder was ist denn ein ASF und findet man das?

von Felix L. (flex)


Lesenswert?

hä schrieb:
> Wer oder was ist denn ein ASF und findet man das?

Das ist das Atmel Software Framework: http://asf.atmel.com

Thomas F. schrieb:
> at man das ASF-Prinzip erstmal halbwegs verstanden, kann man neue
> Sachen dann relativ schnell umsetzen.

Das ist das Problem :D

Gruß
Felix

von Lothar (Gast)


Lesenswert?

Thomas F. schrieb:
> Das Initialisieren der Clock oder einen GPIO-Interrupt zu benutzen ist
> eben relativ komplex auf einem ARM.

Bei den NXP ARM eben nicht weil die die Peripherie von den NXP 8051 
"geerbt" haben. Bei den "Bastlern" haben sich aber die deutlich 
komplexeren STM32 durchgesetzt. Hier mal ein NXP LPC1700 GPIO-Interrupt 
(Taster an P0.23, LED an P1.25):

void EINT3_Init(void)
{
  IO0INTENR_bit.P0_23 = 1;      // ext irq on rising edge (= button 
release)
  SETENA0 |= 1<<(EINT3_IRQ);    // ext irq all port pins enable (NVIC)
}

void EINT3_IRQHandler(void)
{
  FIO1PIN_bit.P1_25 ^= 1;       // LED toggle

  IO0INTCLR_bit.P0_23 = 1;      // ext irq clear
  CLRPEND0 |= 1<<(EINT3_IRQ);   // ext irq all port pins clear pending 
(NVIC)
}

Die Clock braucht man u.U. gar nicht initialisieren, wenn der interne 
Oszillator reicht, der läuft nämlich als Default.

von Thomas F. (tomasf)


Lesenswert?

Lothar schrieb:
> Thomas F. schrieb:
>> Das Initialisieren der Clock oder einen GPIO-Interrupt zu benutzen ist
>> eben relativ komplex auf einem ARM.
>
> Bei den NXP ARM eben nicht weil die die Peripherie von den NXP 8051
> "geerbt" haben. Bei den "Bastlern" haben sich aber die deutlich
> komplexeren STM32 durchgesetzt. Hier mal ein NXP LPC1700 GPIO-Interrupt
> (Taster an P0.23, LED an P1.25):
>

Mit der ASF ist das nun auch nicht so komplex:
http://asf.atmel.com/docs/latest/sam4s/html/sam_pio_quickstart_use_case_2.html

Man sollte halt einmal im ASF-Code/Datenblatt nachsehen, was die 
benutzten Funktionen/Makros machen.

von paul (Gast)


Lesenswert?

Auf gallery.atmel.com gibt es fuer den sam4l ein paar trainings
Hat mir den einstieg in asf erleichtert
Kennt man einen sam4 dann kennt man alle

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.