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)
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.
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.
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)?
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.
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?
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!
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.