Ich programmiere zur Zeit das Teensy36 Board. Es hat eine ARM-M4 CPU mit Floating Point Unit (FPU). Damit kann ich meine Berechnungen in Floating Point ausführen, was wesentlich bequemer ist als immer Integer mit passenden Skalierungen zu nehmen. Mich würde nun interessieren welche Boards mit CPU mit FPU ihr so verwendet. (Ich erinnere mich noch an den IBM PC-AT mit 286 CPU und extra zu kaufender FPU 287)
Gast
#5818743
Nucleo-F303RE <-- Mit diesem habe ich experimentiert Nucleo-F401RE Nucleo-F746ZG
Nunja, eine single precision FPU haben die meist, da kannste auch das Ergebnis direkt würfeln. zB STM32H7 haben dann eine double precision FPU.
Gast
#5818805
Mw E. schrieb: > Nunja, eine single precision FPU haben die meist, da kannste auch das > Ergebnis direkt würfeln. Was ein Quatsch. Latürnich kann man mit Single precision sehr gute Sachen anstellen. Eher wird nur selten ein Double gebraucht.
Gast
#5818807
Karl schrieb: > Mw E. schrieb: >> Nunja, eine single precision FPU haben die meist, da kannste auch das >> Ergebnis direkt würfeln. > > Was ein Quatsch. Latürnich kann man mit Single precision sehr gute > Sachen anstellen. Eher wird nur selten ein Double gebraucht. Wenn man jedoch double Operationen verwendet, bringt die single precision FPU dabei einen wesentlichen Vorteil (gegenüber keine FPU)?
Gast
#5818821
Stefanus F. schrieb: > Wenn man jedoch double Operationen verwendet, bringt die single > precision FPU dabei einen wesentlichen Vorteil (gegenüber keine FPU)? Nein, das bringt dann nichts. Die größeren Cortex m haben aber auch einige Integer Befehle die Recht performantes Software Double ermöglichen. Clz wäre so ein Befehl. Die Aussage dass man mit Singles nur würfeln könne ist halt... unausgegoren. Wenn man richtig schnelles Double braucht, dann halt einen m7. Die sind oft noch ein Stück komplexer als die m4, aber auch deutlich schneller.
Gast
#5818826
Interessant, ich habe heute zum ersten mal von dieser Einschränkung gelesen. Ich habe FPU auf µC bisher noch nie benutzt.
Kann mir jemand sagen ob die CPU des Raspberry-Pi über eine FPU verfügt?
Gast
#5819617
Martin O. schrieb: > Kann mir jemand sagen ob die CPU des Raspberry-Pi über eine FPU verfügt? Ja, hat er.
Martin O. schrieb: > Damit kann ich meine Berechnungen in Floating > Point ausführen, was wesentlich bequemer ist als immer Integer mit > passenden Skalierungen zu nehmen. Wie kommst Du denn bloß darauf, daß man ohne FPU kein float verwenden darf? Selbstverständlich mache ich z.B. PID-Regelungen auf nem 8Bit-AVR in float.
@peda Aber digitale Audio Signalverarbeitung (44100 kSamples(Stereo)/sec) bekommst Du auf nem 8-Bit AVR in Float nicht hin...
Martin O. schrieb: > Aber digitale Audio Signalverarbeitung (44100 kSamples(Stereo)/sec) > bekommst Du auf nem 8-Bit AVR in Float nicht hin... Salamitaktik hoch 10? Alle 10 Beiträge eine neue Scheibe!
Gast
#5819848
Martin O. schrieb: > Kann mir jemand sagen ob die CPU des Raspberry-Pi über eine FPU > verfügt? Die etwas neueren Modelle: https://de.wikipedia.org/wiki/ARM_Cortex-A#ARM_Cortex-A7 https://de.wikipedia.org/wiki/ARM_Cortex-A#ARM_Cortex-A53 https://de.wikipedia.org/wiki/Raspberry_Pi#Raspberry_Pi Bei den µC sind es die Cortex-M4F und die Cortex-M7F https://de.wikipedia.org/wiki/ARM_Cortex-M#Befehlssatz https://de.wikipedia.org/wiki/ARM_Cortex-M4
Mw E. schrieb: > Nunja, eine single precision FPU haben die meist, da kannste auch das > Ergebnis direkt würfeln. Habe einen Noise Cancelation Algorithmus am Fahrzeug in single precision auf dem Tiva Launchpad (s.u.) entwickelt, läuft problemlos seit Jahren - nix würfeln! Gerhard http://processors.wiki.ti.com/index.php/Tiva_C_Series_TM4C123G_LaunchPad
Mw E. schrieb: > da kannste auch das Ergebnis direkt würfeln Gut gewürfelt ist schon halb gerechnet. ?
> Wie kommst Du denn bloß darauf, daß man ohne FPU kein float verwenden darf? >Selbstverständlich mache ich z.B. PID-Regelungen auf nem 8Bit-AVR in float. Selbstverstaendlich mache ich meine PID Regelungen auf dem 8 bit AVR in 32 bit integer. Der dynamische Bereich ist um einen Faktor 100 groesser. Ich habe 9 Digits anstelle von 6. Etwas dazu denken muss man allerdings schon.
Texas TMS320F28335 DSC/MCU mit FPU Schmeiß ich jetzt einfach mal so in den Raum.
Die Frage hier ist doch eigentlich nur: Was soll hier berechnet werden, sodass Softfloats nicht reichen und eine Hardware-FPU nötig ist? Mikrocontroller mit Double-Precision Floats neben den oben genannten z.B. PIC32MZEF oder PIC32MKGP Wenn 32-Bit-Floats reichen, dann z.B. noch div. Renesas RX oder Synergy S7, S5
Gast
#5820914
Zitronen F. schrieb: > Selbstverstaendlich mache ich meine PID Regelungen auf dem 8 bit AVR in > 32 bit integer. Der dynamische Bereich ist um einen Faktor 100 groesser. > Ich habe 9 Digits anstelle von 6. Etwas dazu denken muss man allerdings > schon. Mit Kanonen auf Spatzen. Weder die Ist/Soll Wert Erfassung noch die Ausgabe der Stellgröße braucht diese Auflösung.
Zitronen F. schrieb: > Etwas dazu denken muss man allerdings > schon. Denken reicht aber nicht. Man muß den Regelkreis schon sehr genau einschränken und das kostet Zeit oder verursacht Fehler (Überlauf bzw. Rundungsfehler). Ich hab mich früher auch mit Integer abgeplagt und damit nur wertvolle Zeit verplempert. Ist schon blöd, wenn sich hinterher zeigt, daß die Wertebereiche der PID-Parameter zu grob oder zu klein sind. Da es ja nichts kostet, nehme ich float und bin damit sehr variabel bezüglich Regelbereich und Regeleigenschaften.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.