Forum: Mikrocontroller und Digitale Elektronik cortex m4 von ST aussreichend power ?


von Ersi (cell85)


Lesenswert?

Hi,

für eine Motorensteuerung (14 motoren) die ich programmieren will, frag 
ich mich gerade ob der STM32 F4 mit 168mhz genügend power hat.

Die motoren sollen nicht geregelt werden sondern einfach nach 
betriebsstunden ein oder ausgeschaltet werden (viele viele vergleiche)

die daten und motortemperaturen sollen erfasst und gespeichert werden 
bis zu 12 pt100's

und vielleicht noch ein webserver um die zu visualiseren

dann noch:

+ RS485/Modbus/Can
+ ethernet
+ USB

Was meint ihr ?

Gruß
Sven

von holger (Gast)


Lesenswert?

>Was meint ihr ?

Der langweilt sich ganz gewaltig.

von Ersi (cell85)


Lesenswert?

dann bin ich ja beruhigt :)

Ich hab da momentan das FreeRTOS mit der MPU + FPU drauf laufen.
War schon arbeit das zusammen laufen zu lassen.

Frage ist wann merke ich eigentlich das er überlastet ist?
Wenn der Systick-1ms auf einmal 2ms brauch ?
^^

von ausreichend power (Gast)


Lesenswert?

wenn die Idle-Task nicht mehr drankommt...

von Rainer S. (rsonline)


Lesenswert?

Sven S. schrieb:
> Frage ist wann merke ich eigentlich das er überlastet ist?

Wenn Dir die Motoren um die Ohren fliegen.

von holger (Gast)


Lesenswert?

>wenn die Idle-Task nicht mehr drankommt...

Joop;)

von JojoS (Gast)


Lesenswert?

Mit reichlich Warteschleifen kann man jede CPU in die Knie zwingen :-)
Das FreeRTOS hat ja eine Statistikfunktion eingebaut die dir die 
Auslastung je Task anzeigt.

von stm_bastler (Gast)


Lesenswert?

Ich berechne dauerhaft auf dem guten Stueck jeweils komplexe floating 
point FFTs mit 1024 Punkten von zwei Analogsignalen und ein wenig 
Auswertung hinten dran. Da ist er schon ein wenig mit beschaeftigt. Ich 
schaetze etwa 2/3 seiner Rechenzeit bei 168Mhz.

Jemand aehnliche Erfahrungen/Vergleichswerte? Interessiert mich auch was 
da so alles geht. Von einem Projekt auf anere Anwendungen zu schliessen 
faellt mir bei der Komplexitaet der Hardware nicht leicht.

von Ersi (cell85)


Lesenswert?

FFT wollt ich auch mal machen auf dem Teil.

Benutzt du auch schön die DSP Library?

von stm_bastler (Gast)


Lesenswert?

Ja, die von ARM. Habe testweise mal kissfft ausprobiert. Macht einen 
deutlich messbaren Unterschied. Habe aber keine Messwerte mehr im Kopf.

BTW: die DSP Lib von ARM, zumindest die Teile die ich davon verwende, 
lassen sich auch auf dem Desktop kompilieren und somit fuer Unit Tests 
und Experimente ohne Hardware aber mit identischer Software nutzen. Fand 
ich klasse! ;-)

von holger (Gast)


Lesenswert?

>Ich schaetze etwa 2/3 seiner Rechenzeit bei 168Mhz.

Nicht schätzen, messen! Setz vor deiner FFT einen Ausgangspin
auf 1. Wenn du fertig bist auf 0. Osci dran und du weisst
wie lange es dauert. Woher soll hier jemand wissen wie lange
deine FFT dauert?

von stm_bastler (Gast)


Lesenswert?

holger schrieb:
>>Ich schaetze etwa 2/3 seiner Rechenzeit bei 168Mhz.
>
> Nicht schätzen, messen! Setz vor deiner FFT einen Ausgangspin
> auf 1. Wenn du fertig bist auf 0. Osci dran und du weisst
> wie lange es dauert. Woher soll hier jemand wissen wie lange
> deine FFT dauert?

So hab ich das auch gemacht. Aber ich habe hier im Moment weder 
Hardware, Software noch die Aufzeichnungen dazu vorliegen.

von holger (Gast)


Lesenswert?

>So hab ich das auch gemacht. Aber ich habe hier im Moment weder
>Hardware, Software noch die Aufzeichnungen dazu vorliegen.

Ja, und jetzt was? Äpfel mit Birnen vergleichen?

von stm_bastler (Gast)


Lesenswert?

holger schrieb:
>>So hab ich das auch gemacht. Aber ich habe hier im Moment weder
>>Hardware, Software noch die Aufzeichnungen dazu vorliegen.
>
> Ja, und jetzt was? Äpfel mit Birnen vergleichen?

Mir glauben das es bei mir ungefaehr in dem Bereich lag oder selbst 
ausprobieren. Ich kann es Momentan einfach nicht nachmessen. Faende ich 
als Leser auch unbefriedigend aber so ist leider.

von holger (Gast)


Lesenswert?

>Mir glauben das es bei mir ungefaehr in dem Bereich lag oder selbst
>ausprobieren.

Fein. Wie lange dauert denn das sampeln der Werte?
Wenn ich ohne sampeln eine FFT dauernd berechne sind
100% CPU Zeit mit der FFT belegt.

von stm_bastler (Gast)


Lesenswert?

((1s) / 20000) * 1024 = 51.2 ms

Das ganze dann abwechselnd in zwei Puffer damit ohne Luecken im 
Signalverlauf analysiert werden kann.

von MCUA (Gast)


Lesenswert?

>>Ich schaetze etwa 2/3 seiner Rechenzeit bei 168Mhz.
>Nicht schätzen, messen!
Und die etlich möglichen Waitstates (auch wenn er "Accelerator" hat) 
nicht vergessen!

von Klaus Schaefer (Gast)


Lesenswert?

Ich habe gerade ein paar Tests durchgeführt.
Unter FreeRTOS macht mein STM32F4 eine 2048 Punkte FFT mit Betrgsbildung
in etwa 7ms. Für eine 512 Punkte Real-FFT mit 512 komplexen 
Ausgangswerten braucht er noch nicht mal 2ms. Gar nicht so übel!

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Was macht Ihr so mit dem CCM ?

von holger (Gast)


Lesenswert?

>Was macht Ihr so mit dem CCM ?

Gute Frage. DMA tauglich ist es jedenfalls nicht.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Ausführbarer Code funktioniert auch nicht.
Bis jetzt nehm ichs nur als Heap für FreeRTOS und als Stack.
Ich dacht ihr hättest da noch Ideen.

von Star K. (starkeeper)


Lesenswert?

Der CCM ist am Instruction Bus angebunden, wenn du also Datenintensive 
Berechnungn durchführst kannst du die Verarbeitung der Daten 
beschleunigen indem du sie in den CCM legst. Der Kern muss dann beim 
Zugriff nicht auf eine DMA oder andere Peripherie warten.

Code im CCM geht nicht, ich dachte das wäre einer der großen Vorteile 
des CCM-RAM.

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.