STM32F4 wozu?

Gast #3685658
Lesenswert?

Was zwingt einen Cortex F4 in die Knie? Ich hab jetzt schon mehrere 
Sachen mit den uC gemacht von denen ich dachte, es könnte knapp werden. 
Ich wurde immer eines besseren belehrt. Ob große Datenmengen, schnelle 
und viele PWM, Multitasking ohne Ende, alles kein Problem. Daher die 
Fragen, welche Projekte bringen einen F4@168MHz an de Grenzen?
Gast #3685697
Lesenswert?

Ist wie im Kindergarten.

- Nänänää ... der AVR ist aber besser.
- Nein. Der STM32 ist immer eins besser als Deiner.
- Der AVR ist aber unendlich besser.
- Der STM32 ist unendlich und eins besser.

Er hat nach ner STM32 Applikation gefragt. Nicht nach AVR.


Ich hab eine PID Regler mit 1MHz laufen. Brauche 80% CPU. Ist jetzt aber 
einfach ne Frage, wie hoch drehe ich die Zykluszeit/frequenz.
Gast #3685728
Lesenswert?

Mit 1MHz bleiben 168 Takte zwischen zwei Regleraufrufen, sportlich. Aber 
was zu Hölle ändert sich so schnell das man da mit 1MHz drann muss?

DigiCam bzw Datenverarbeitung stelle ich mir schwierig vor. Viele Daten, 
wenig Zweit, viele Rechnungen
Gast #3685736
Lesenswert?

Maximilianeum schrieb im Beitrag #3685689:
> Ingo schrieb:
> Was zwingt einen Cortex F4 in die Knie? Ich hab jetzt schon mehrere
> Sachen mit den uC gemacht von denen ich dachte, es könnte knapp werden.
> Ich wurde immer eines besseren belehrt.
>
> Die Erfahrung kann man in den meisten Fällen zum Bruchteil von Kosten,
> Stromverbrauch und Einarbeitungsaufwand auch mit einem 20MHz AVR machen.
> Gescheite Programmierung vorausgesetzt.

Versteh mich nicht falsch, ich liebe die AVRs wegen ihrer Einfachheit. 
Aber wenn ich weiß, das ich viele Daten rechnen muss, dann nehme ich 
nicht einen Controller, der grundsätzlich eher ein schlechter Rechner 
ist (8Bit).
Gast #3685782
Lesenswert?

Ingo schrieb:

> Versteh mich nicht falsch, ich liebe die AVRs wegen ihrer Einfachheit.
> Aber wenn ich weiß, das ich viele Daten rechnen muss, dann nehme ich
> nicht einen Controller, der grundsätzlich eher ein schlechter Rechner
> ist (8Bit).

Sehr vernünftiger Ansatz.

Aber wenn ich mir das OP anschaue, ist dein Problem ja wohl, daß du den 
F4 nicht ausgelastest bekommst.

Also hast du selber ganz offensichtlich gegen diesen vernünftigen Ansatz 
verstoßen...

Also Depp oder Troll. Ich tippe auf Troll.
#3685810
Lesenswert?

@ Ingo (Gast)

>Mit 1MHz bleiben 168 Takte zwischen zwei Regleraufrufen, sportlich. Aber
>was zu Hölle ändert sich so schnell das man da mit 1MHz drann muss?

Volldigitaler DC/DC Wandler, aka Digital Power. Wobei es dafür 
spezialisierte ICs gibt, die können das besser bei weniger 
Stromverbrauch. Aber als Projekt sicher interessant.

http://www.ti.com/lsds/ti/power-management/digital-power-control-solutions-products.page
Gast #3686041
Lesenswert?

Deinem Beitrag entnehme ich, das du mit einem STM32F072 oder F051 besser 
dran gewesen wärst:
- weniger Stromverbrauch
- wesentlich billiger
- weniger kompliziert
- Rechenleistung reicht vermutlich auch

Die Kunst besteht darin, den richtigen Prozessor zu wählen, nicht den 
der gerade in Mode ist ;-).
Gast #3686151
Lesenswert?

Maximilianeum schrieb im Beitrag #3685689:
> Ingo schrieb:
>> Was zwingt einen Cortex F4 in die Knie? Ich hab jetzt schon
>> mehrere Sachen mit den uC gemacht von denen ich dachte, es könnte knapp
>> werden. Ich wurde immer eines besseren belehrt.
>
> Die Erfahrung kann man in den meisten Fällen zum Bruchteil von Kosten,
> Stromverbrauch und Einarbeitungsaufwand auch mit einem 20MHz AVR machen.
> Gescheite Programmierung vorausgesetzt.

Völlig pauschalisiertes Geschwafel. Jeder Typ bzw. Klasse von 
Mikrocontrollern, DSPs, FPGAs hat ihre Daseinsberechtigung und 
Anwendung. Das is wie wenn man fragt: "Wozu VW Golf?". Die Realisierung 
mit einem 20Mhz uC geht bis zu einem gewissen Grad, dann ist Schluss. 
Außerdem endet die Welt nicht mit dem Im allgemeinen beschränken 
Horziont des Hobbybastlers der aussteigt sobald die Toolchain nicht mehr 
hyper Easy ist (vgl. Avr Studio) sondern man sich Gedanken über Compiler 
und Linker machen muss (z.B. CooCox oder IAR).

Ingo schrieb:
> Mit 1MHz bleiben 168 Takte zwischen zwei Regleraufrufen,
> sportlich. Aber
> was zu Hölle ändert sich so schnell das man da mit 1MHz drann muss?

Positionsregelungen z.B. Ich hatte neulich einen Servocontroller mit 
80.000 Strichen und 35kW auf dem Schreibtisch. 3 verschachtelte 
Regelschleifen mit je 25 MHz ausgeführt auf einem mittleren Spartan 6.
Gast #3686393
Lesenswert?

so ganz verstehe ich nicht, wie manche Leute glauben können, der 
STM32F4... wäre so "wahnsinnig schnell".
Der ist - wenn überhaupt - der größte unter den allerkleinsten: 
Kinderspielzeug, nichts weiter ;-)

Ein "richtiger" Prozessor ist mindestens sowas:
www.atmel.com/products/microcontrollers/arm/sam9x.aspx
(an sich auch schon armselig! Man vergleiche das mit einem Core I7...)

Für Signaverarbeitung nimmt man eher etwas dieser Kategorie:
http://www.analog.com/en/processors-dsp/blackfin/products/index.html
(Firma: EleLa - www.elela.de) #3686409
Lesenswert?

Bei mir geht es beim STM32F4 nicht nur um das "Auslasten" oder die 
"Geschwindigkeit". Viel wichtiger ist mir die üppige Peripherie die ST 
schon gleich mit verbaut.
Es gibt nur wenige andere Hersteller die in einer ganzen Produktlinie 
(über 370 Devices) so viel in den Prozessor rein packen. Man hat dadurch 
viel mehr Auswahl und Möglichkeiten. Ein µC, der so ziemlich alles kann.
Angehängte Dateien:
#3686675
Lesenswert?

Ingo schrieb im Beitrag #3686607:
> Ich dachte das ich mit nem STM32F40x endlich mal mein 2x16 HD44780 LCD
> zum Laufen kriege, leider reicht seine Leistung nicht aus.
Schon mal über effizientere Programmierung oder einem funktionierenden 
Code nachgedacht? Meist sitzt der Fehler zwischen Stuhl und Bildschirm. 
Für ein HD44780 LCD hat auch ein µC dessen Taktsignal mit einem Taster 
generiert wird genug Rechenleistung.

Ingo schrieb:
> Was zwingt einen Cortex F4 in die Knie?
1
while(1);
100% CPU-Last.
Gast #3686692
Lesenswert?

Max H. schrieb:
> Meist sitzt der Fehler zwischen Stuhl und Bildschirm.

Im Tastatur-Controller? Ich wusste es!

Einen F4 hab ich bis jetzt auch noch nicht ausgelastet, einen F2 (120 
MHz) aber schon, der hat 3D triangulation von Ultraschallsignalen 
gemacht, nebenbei noch bissl Ethernet und diverse andere Kommunikation
Gast #3686757
Lesenswert?

matthiassaihttam schrieb:
> Interessant.
> Was hast Du denn für ne typische Genauigkeit?

Auch schon wieder etwas her das Thema, es war auf jeden Fall zu ungenau 
für das was wir wollten.
Es ging darum, die Position eines Ultraschallsenders relativ zu 4 
Empfängern zu ermitteln, die im Rechteck angeordnet sind. (quasi eine 
schiefe Pyramide mit rechteckiger Grundfläche). Der Knackpunkt war 
daran, dass unser optischer Triggerimpuls (sync) wegen Sonnenlicht nicht 
gut genug war und darum nur noch mit "Differenzstecken" (zum ersten 
empfangenden Sensor) gerechnet werden konnte. Funk als Trigger schied 
aus anderen Gründen aus.
Die Positionsgenauigkeit war letztenendes auch Abhängig von der Position 
selbst, bspw ganz am Rand und ganz in der Mitte relativ ungenau...
#3689594
Lesenswert?

Manchmal frage ich mich, worum es eigentlich geht. Adidas oder Nike. BMW 
oder Benz. Apple oder Samsung.

?

Ich seh' das so: Ich könnte meine Heizung mit einem 8051 steuern, der 
bei 12MHZ Systemtakt (was beim Ur-8051 1MHZ Arbeitstakt ist) vielleicht 
zu 5% ausgelastet wäre. Wenn überhaupt.

Den kauf ich mir also, für, nuja, 1 Euro. Plus Versand.

Dann kauf ich mir noch ein Latch. Und ein EPROM, ein paar Sockel für 
alles. Und eine Platine zum Ätzen. Und einen Quarz. Und ein bisschen 
Vogelfutter für drumrum, ein paar Stiftleisten, einen MAX232, ein paar 
10µF Kondensatoren dazu, ne Printbuchse fürs serielle Kabel. Was noch? 
Achja, einen RAM-Baustein vielleicht, die ein oder andere LED, etwas 
Kleinkram für eine halbwegs stabile Spannung. Und dann fehlen sicher 
immer noch ein paar Teile.

Wenn ich alles billig kriege, bin ich inklusive Versand vielleicht mit 
20 Euro dabei.

Vielleicht.

Denn ich brauche ja auch noch Ätzmaterial, muss belichten, vorher 
natürlich alles entwerfen und Folien drucken. Setze mich hin, mach ein 
Design, und bin mit ein, zwei Fehlversuchen nach zwei Wochenenden 
-eventuell- fertig.

Bis ich dann unter Verwendung der RS232 Schnittstelle alles debugged und 
am Ende noch ein paar Patch-Drähte appliziert habe, und alles endlich 
gut läuft, dann stelle ich es hier vor. Und alle finden es im Prinzip 
toll.

Bis auf einen.

Der sagt: Warum kaufste Dir nicht ein Discovery-Board? Das kostet 14 
Euro, fixunfeddisch, inklusive USB-Anschluss, In-System-Programming, 
schrittweiser Debug-Möglichkeit per STLINK, halb so viel Stromverbauch, 
und wennde willst, kannste Deine Heizungg damit Musik machen lassen, 
Beethovens Fünfte z.B., oder wenn mal wieder das Öl alle ist, auch 
Wagners Wallkürenritt. In Stereo.

Und wisst Ihr was? Er hat Recht.

Selbst wenn der STM32 mit 0,0001 Promille Auslastung 'way to 
overpowered' ist, ist es selbst für so einen niederen Zweck eine 
unanständig billige Lösung. Ganz zu schweigen von noch billigeren 
Varianten, Nucleo-Boards etwa, VL-Versionen oder was auch immer, die 
kosten ja noch weniger.

Wenn einer zeigen will, was er mit 8-Bittern hinbekommt, toll. Hab ich 
hinter mir. Wer weiss, wie man mit einem Mini-PIC eine Raumstation 
steuert: Super. Wer mit einem ATtiny eine 5-Achs CNC-Maschine unter 
Kontrolle behält: Schön.

Aber wenn ich heute irgendein Problem zu bewältigen habe, dann schau ich 
mir zu allererst einmal mir an, was der ganze Zirkus kostet. Und mit 14 
Euro für ein Board, selbst wenn ich es nur im Promillebereich ausnutze, 
scheìße ich auf jedwedes edle Motiv mit geringstmöglicher Hardware 
maximale Effizienz erreichen zu wollen.

Wer hier schreibt, ist sicher keiner der über die Frage entscheidet, 
welcher Chip die nächsten 50 Millionen VW-Golf-Klimaanlagen steuert. 
Denn in diesen Größenordnungen spielen solche Fragen natürlich eine 
zentrale Rolle. Aber für alles was so an privaten Projekten mit 
Reproduktionen maximal im Dutzendbreich realisiert wird, ist die Frage 
nicht 'STM32, wozu?', sondern 'STM32, warum nicht?'

Deshalb ist das ganze Gelaber um die Frage, ob man so einen Powerchip 
'braucht' angesichts der Preise bei der gebotenen Bequemlichkeit 
einfach nur - Bullshit.
Gast #3689610
Lesenswert?

E. Hermanns schrieb:
> Deshalb ist das ganze Gelaber um die Frage, ob man so einen Powerchip
> 'braucht' angesichts der Preise bei der gebotenen Bequemlichkeit
> einfach nur - Bullshit.

Schlechtes Beispiel, dazu auch noch falsch.

Um beim 8051 zu bleiben: Der kostet fix und fertig mit integriertem 
Flash und Eeprom (mit verbesserter und damit schnellerer Architektur) 
selbst in Einzelstückzahlen < 1€ (was die dann wohl in 10k+ Stückzahlen 
kosten?). Die brauchen heute auch keinen Quarz mehr, besitzen eine Menge 
interner Peripherie und brauchen nicht mehr Außenbeschaltung wie ein 
Avr.

Das Discovery ist günstig, keine Frage. Aber für 95% meiner Projekte 
überdimensioniert und damit ein vielfaches teurer als ein kleinerer µC. 
Und wenn man dann den µC auf eine eigene Platine bringen möchte, merkt 
man plötzlich das der µC mehr als das F4 Discovery Board kostet.
Gast #3689627
Lesenswert?

Torsten S. schrieb:
> Meiner holt JPGs von einer Webcam und zeigt diese auf einem LCD
> an.
> Beim Dekodieren kommt der F4 ordentlich ins Schwitzen.

Genau, bei JPG wird es selbst beim F4 eng, das habe ich auch schon 
bemerkt ;)
Aber die Routinen nicht überprüft (was auch äh ziemlich aufwendig ist).

Nichtsdestotrotz bin ich Hobbybastler. Und wenn selbst icke die AVR 
meist neben üblichen Ackergaul-Aufgaben nur noch nutze, um die STMs 
nicht kaputtzuflashen, und um mich dann später beim Transport auf STM32 
an dem Speedzuwachs zu erfreuen ... dann stimmt doch da was nicht.
Es sei denn, es sind hier nur noch Bastler und keine Profis mehr 
unterwegs 8)
#3689628
Lesenswert?

> Schlechtes Beispiel, dazu auch noch falsch.

Nö.

> Um beim 8051 zu bleiben: Der kostet fix und fertig mit integriertem
> Flash und Eeprom (mit verbesserter und damit schnellerer Architektur)
> selbst in Einzelstückzahlen < 1€

Mit Seriellem Zugriff, inklusive Stecker, MAX232 und allem PiPaPo?

Nochmal nö.

Ich rede von einer Lösung, die ich kaufe, per (USB)-Kabel anschließe und 
fertig. Bis der 8051 (den ich selber eingesetzt habe und sehr schätze) 
mit einem PC reden kann, bist Du mehr als einen Euro los.

> (was die dann wohl in 10k+ Stückzahlen > kosten?)

Meine letzten 10k Hausapplikationen habe ich noch nicht realisiert. Und 
meine Aussage oben bezog sich explizit auf das, was hinter den meisten 
Auguren hier in Wahrheit steckt: Gelegenheitsprojekte mit kaum einem 
Dutzend Replikationen.

> Das Discovery ist günstig, keine Frage. Aber für 95% meiner Projekte
> überdimensioniert

So ist es. Das ist auch bei mir so. Aber wenn 'korrekt dimensionieren' 
in diesem Stückzahlbereich mehr kostet, als es zu lassen, dann ist es 
Luxus.

> Und wenn man dann den µC auf eine eigene Platine bringen möchte, merkt
> man plötzlich das der µC mehr als das F4 Discovery Board kostet.

Deshalb kaufe ich ein Discovery Board. Die gebotenen Möglichkeiten 
inklusive USB-Zugriff und STLINK-Möglichkeiten bekomme ich zu den 
Preisen anders nicht hin.

Von stabiler Stromversorgung, vorhandenen LEDS und wenigstens einem 
Taster ganz zu schweigen.

Es steht aber jedem frei, ein eigenes Board zu designen, zu ätzen, zu 
löten und mit Steckern zu versehen, um dann am Ende nur 9,99 Euro 
auszugeben. Inklusive Versand stehen dann vielleicht 18 Euro gegen 14 
Euro. Jeder nach seiner Fasson.

Auch Zeit ist eine Ressource, und älter werdend stelle ich fest: Es ist 
die knappeste Ressource überhaupt.

Für mich bleibt daher die Frage: STM32, warum nicht? Ist meine Zeit so 
wenig wert?

Vier Euro?
Gast #3689724
Lesenswert?

Einziger Nachteil der ARM-Schiene gegen AVR ist ein subjektiv höherer 
Aufwand für die Entwicklungsumgebungen. Eine LPCExpresso auf Win7 ist 
zwar schnell installiert. Aber die Limitierungen sind klar auf einen 
Kauf der Entwicklungsumgebung ausgelegt. Bei der Public-Domain-Schiene 
habe ich einen hohen Einarbeitungsaufwand beim Flashen. Schnell mal 
einen Cross-Compiler erstellen kostet auch ein paar Stunden, und das bei 
meinen Stundensatz. ;-)

Vom Preis her aber fast unschlagbar. Eben erst mal nachgeschaut und ein 
STM32F4 Discovery für 11,61 Euro plus Märchensteuer gesehen. Ordentliche 
AVR vom Resteverwerter würde ich bei 4 bis 6 Euro ansetzen.

Also für Null-Serien unschlagbar.
(Firma: EleLa - www.elela.de) #3689757
Lesenswert?

noreply schrieb:
> Einziger Nachteil der ARM-Schiene gegen AVR ist ein subjektiv höherer
> Aufwand für die Entwicklungsumgebungen.

Das ist nur ein Klischee aus alten Zeiten. Heute gibt es gute Artikel:

STM32 CooCox Installation

Ein paar Tipps für Einsteiger sind in den Artikeln auch zu finden:
STM32 für Einsteiger
STM32

Tutorials helfen ebenfalls:
http://diller-technologies.de/stm32_wide.html

Wer die volle Kontrolle über Compiler und Speicheraufteilung nutzen 
möchte kann das mit dem GCC, Linkerscript und makefile machen, dann 
allerdings ist es ein größerer Aufwand, da alles von Hand eingestellt 
werden muss:
STM32 Eclipse Installation
Was jedoch auch wiederum vereinfacht wird da es ein Blink-LED Demo im 
Artikel zu laden gibt.
Gast #3689845
Lesenswert?

E. Hermanns schrieb:
> Mit Seriellem Zugriff, inklusive Stecker, MAX232 und allem PiPaPo?

Ich rede von dem blanken µC. Außerdem möchte ich nicht bei jedem Projekt 
ein riesen Evalboard stehen haben, sondern eine kleine Platine wo die 
Bauteile drauf sind die ich brauche.

E. Hermanns schrieb:
> Deshalb kaufe ich ein Discovery Board. Die gebotenen Möglichkeiten
> inklusive USB-Zugriff und STLINK-Möglichkeiten bekomme ich zu den
> Preisen anders nicht hin.

Es geht schon. Die Platinen bekommt man für ein paar Euro hergestellt 
und der passende µC kostet meistens zwischen 0.50€-3€. Und selbst für 3€ 
bekommt man schon starke Cortex M3s.
Gast #3689855
Lesenswert?

Au man, an den Kosten kann es nicht mehr liegen. Mehrere Cortex Anbieter 
hauen die M0 und M0+ billiger als die Atmega raus.
Ergo bekommt man mehr Leistung für kleineres Geld!

Wirf einen Blick auf die Roadmaps der großen Halbleiterhersteller. Der 
AVR Kram bleibt nur noch für die Bastler, die Industrie ist umgestiegen.
Gast #3689932
Lesenswert?

wecker schrieb:
> Au man, an den Kosten kann es nicht mehr liegen. Mehrere Cortex Anbieter
> hauen die M0 und M0+ billiger als die Atmega raus.
> Ergo bekommt man mehr Leistung für kleineres Geld!

Ich habe kein einziges mal Avr, Atmega oder ähnliches erwähnt.

Aber wenn wir schon dabei sind: Die µCs unterscheiden sich nicht nur im 
Punkt Leistung, sondern auch durch unterschiedliche Ausstattung. Die 
meisten Avrs haben einen recht netten Adc (wenn man keine hohe 
Samplingrate benötigt). Sogar in den Attinys ist oftmals ein 
differentieller Adc mit Gain verbaut. Natürlich gibt es bei den M0(+) 
mehr Leistung. Dafür ist die Peripherie oft eingeschränkt. Bsp: STM32F0 
ist Analog sehr spärlich ausgestattet (kein Komparator, ADC nur mit 5V 
Referenz). Die kleinen Geckos haben nur wenige sehr Analog Pins, aber 
sonst sehr interessante Features. Die 8bitter besitzen häufig eine 
bessere Peripherie oder kosten eben doch weniger. Die Atmegas jetzt mal 
ausgenommen. Die sind wirklich überteuert. Vielleicht liegt das daran, 
dass Atmel die Xmegas durchsetzen möchte (die für den Preis eine sehr 
üppige Ausstattung haben - ähnliches wie der Xmega E besitzt kein µC für 
den gleichen Preis).
#3689975
Lesenswert?

Das ist so eine unnötige und unlogische Diskussion, wer etwas das 
eigentlich zu groß ist zusammenfaltet um es in einen bestimmten µC zu 
bekommen wird schon seine Gründe haben, sei es aus Bastlerstolz, wegen 
großer Stückzahlen oder weil der µC sonst etwas kann das er haben 
möchte.
Genauso ist es aber absolut okay einen µC zu nehmen der die Aufgabe 
tausende mal erledigen könnte, und bei Einzelstücken ist der Preis 
dieses µC vollkommen egal. Speziell wenn der Preisunterschied ein paar € 
beträgt ist schon die Zeit darüber nachzudenken ob nicht ein kleinerer 
auch ginge verschwendet.

Zur Eingangsfrage: Filter, Regler, En- und Decoder und sonst alles das 
grob in Richtung (Echtzeit-)Signalverarbeitung geht braucht schon bei 
recht banalen Aufgaben ziemlich viel Rechenleistung.
Gast #3690403
Lesenswert?

Markus Müller schrieb:
> noreply schrieb:
>> Einziger Nachteil der ARM-Schiene gegen AVR ist ein subjektiv höherer
>> Aufwand für die Entwicklungsumgebungen.
>
> Das ist nur ein Klischee aus alten Zeiten. Heute gibt es gute Artikel:
>
> STM32 CooCox Installation

Im Prinzip ja. Im Speziellen macht es gelegentlich einen Haufen Arbeit.

Ich verwende hauptsächlich Linux. Da habe ich schon mal 5 bis 10 Stunden 
an der Compilation meiner Tool-Chain rumgedocktert.

Und OffTopic: Die LPCXpresso werden, was ich jetzt auf die schnelle auch 
noch mal überflogen habe, nicht direkt von CooCox unterstützt. Da 
scheint das Interface/Programmer "Herrschaftswissen" zu sein. Ein fetter 
Prozessor im Interface, man soll aber nach Hörensagen nicht rankommen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren