Schnell rechnen mit Gleitkomma, welcher µC?

Gast #2480512
Lesenswert?

Hallo,

meine Frage ist eigentlich ganz einfach: Gibt es einen µC, am besten 
einen mit gcc-Port, der einen mathematischen Koprozessor hat bzw. 
schnell mit Gleitkommazahlen rechnen kann, aber NICHT so ein Riesen-SoC 
ist, der externes SDRAM braucht und externes Flash etc.?

Hintergrund ist, ich möchte eine eigene GPS-Lösung rechnen, da kommt man 
um Gleitkommazahlen nicht drum rum. Ich brauche kein Betriebssystem und 
keine komplexe Peripherie, und auch nicht besonders viel Speicher. Nur 
halt Rechenpower.
#2480561
Lesenswert?

Man kann auch ohne FPU mit Fiesskommazahlen rechnen. Und bei 32-Bittern 
ist das noch nicht einmal sonderlich langsam.

Aber wenn dir danach gelüstet, die ziemliche frischen STM32F4 haben eine 
single precision FPU an Bord. Nun bleibt natürlich die Frage, ob single 
precision ausreicht.
Gast #2480562
Lesenswert?

Ihr habt bestimmt alle schon einmal eine GPS-Lösung rein mit 
Festkomma-Arithmetik implementiert und wollt sie mir gerne zeigen?

Scherz beiseite, die Ephemeris-Daten kommen zum großen Teil mit 32 bit 
Auflösung rein, die Pseudorange- und Phasenmessungen kommen mit 64 bit 
Auflösung. Und darauf muss man dann eine Unmenge trigonometrischer 
Funktionen werfen.

Natürlich lässt sich jede Aufgabe auch in Festkomma-Arithmetik lösen, 
das will ich nicht bestreiten. Es ist halt nur nicht immer sinnvoll. 
Eine GPS-Positions-Berechnung gehört wohl ganz sicher in die Schublade 
"du willst eine FPU benutzen".
#2480568
Lesenswert?

Es gibt einen gut eingeübten Forenreflex, der bei Erwähnung von 
Fliesskommarechnung sofort mit "nimm Festkommarechnung" antwortet. Ohne 
gross nachzudenken, denn oft stimmt es auch. Aber eben nicht immer, und 
das hier dürfte so ein Fall sein.

Dieses "um Himmels willen keine Fliesskommarechnung!" hat auch damit zu 
tun, dass Zwerge wie ein ATmega8 dafür recht viel wertvolles Flash 
opfern müssen. Wenn man allerdings 128KB Flash hat und einen 32-Bit Core 
mit Barrelshifter, dann relativiert sich das und der Vorteil von 
Festkommarechnung schwindet.
Gast #2480574
Lesenswert?

Single precision reicht leider nicht aus.

Viele GPS-Module sind ARM-basiert und nutzen - nehme ich zumindest an - 
soft float. Allerdings rechnen die preiswerten Module keine 
Phasenlösung, und auch nur mit einer Frequenz von 1 bis 5 Hertz.

Da bleibt der Rechenaufwand in Grenzen. Möglicherweise machen sie sogar 
zumindest in Teilen des Algorithmus Festkomma-Arithmetik.

Das taugt bei mir aber nicht, da ich die Hardware nutzen möchte, um 
einen Algorithmus zu entwickeln und zu verfeinern. Bei 
Festkomma-Arithmetik müsste ich mir bei jeder kleinen Änderung wieder 
Gedanken über die Skalierung machen, das möchte ich gerne vermeiden.

Warum nicht auf dem PC? Das Teil soll in einem UAV mitfliegen.
#2480594
Lesenswert?

A. K. schrieb:
> Es gibt einen gut eingeübten Forenreflex, der bei Erwähnung von
> Fliesskommarechnung sofort mit "nimm Festkommarechnung" antwortet. Ohne
> gross nachzudenken, denn oft stimmt es auch.

Und eben deshalb lohnt sich die Nachfrage, ob es wirklich sein muß.
Als Maschinenbauer bin ich der Letzte, der Gleitkommarechnung 
prinzipiell ablehnt.
Aber Nachhaken ist immer sinnvoll, schließlich gibt eine FPU nicht 
umsonst und ohne FPU ist Festkomma schneller.
#2480609
Lesenswert?

Bernd H. schrieb:
> schnell mit Gleitkommazahlen rechnen kann

Gehts nicht konkreter?
Ich geh ja auch nicht zum Geldautomaten und gebe ein: "viel", sondern 
einen bestimmten Wert.

Wie oft kommen neue Daten rein, wieviele Millionen Rechenschritte müssen 
damit gemacht werden und wie schnell muß ausgegeben werden?

Wenn es aber nur für einen Menschen ist, dann kann das jeder 4Bitter 
schnell genug. Der Mensch kann nur sehr langsam ablesen (2..5 Werte/s).


Peter
Persönliche Seite #2480622
Lesenswert?

Bernd H. schrieb:
> aber NICHT so ein Riesen-SoC
> ist, der externes SDRAM braucht und externes Flash etc.?

Die "powervollste" Lösung in DIL und TQFP wäre wohl ein Propeller Chip, 
8 CPU @ 80mhz, overclocking ~110Mhz ohne Probleme.
Das Problem dabei wird aber der gcc sein, der noch in Arbeit ist, und 
vor allem holst du dir mit so einem Chip was Propritäres, es gibt keinen 
"kompatiblen" Nachfolger mit mehr Leistung, ...

Was hast du gegen SoCs? Die gibts ja auch auf (neudeutsch:) 
"Breakout-Boards" und sehr auf Energie Sparen bedacht, komplett mit 
allem drauf, was dazu gehört.

Ältere PC104 mit P2/3/Celeron/Athlon/... gibts auch für 15...50 Euro. 
Leider ist man da gleich mal bei 20...30 Watt nur für den Rechner.

Ein micro2440/mini2440 ohne Display wär vielleicht eine gute Lösung. Du 
hast ein Betriebssystem, gcc, eine Hardware-Basis mit richtig Power und 
es ist billig.
Noch Leistungsfähigere Boards sind gerade am kommen, solangsam werden 
die auch bezahlbar.

Meine Meinung, mit einem kleinen SoC oder ARM-Board wirst du am 
glücklichsten und kostet wahrscheinlich genausoviel, als wenn du selber 
anfängst Platinen zu machen - mit Lochraster und Steckbrett wirst du bei 
der Leistung nicht weit kommen.
#2480686
Lesenswert?

Gast #2480700
Lesenswert?

> aber NICHT so ein Riesen-SoC
> ist, der externes SDRAM braucht und externes Flash etc.?

Das muß man ja nicht alles selber löten, gibts auch als fertiges Board 
an das man "nur" noch seine serielle Konsole und seine Hardware 
anschließen muß, mit einem Embedded Linux vorinstalliert. Z.B. 
http://www.taskit.de/produkte/stamp9g45/index.htm
Da könnte Software-Float schnell genug sein.
#2480711
Lesenswert?

Nano Oschi schrieb:
> Eine PC-Stromschleuder ? Die ist noch weit weg. Nimm einem AVR32UC3C,
> der hat eine FPU. Und falls die Aufloesung nicht taugt kann man mit
> einer Software library nachhelfen.

Habe ich das noch richtig in Erinnerung, dass die FPU dort nur vom IAR 
unterstützt wird, während der GCC momentan noch keine FPU-Unterstützung 
dafür hat, oder hat sich das inzwischen geändert?

fchk
Gast #2480808
Lesenswert?

Danke für eure Tipps, ich komme gar nicht mehr hinterher mit dem 
Datenblatt klicken. Ich denke, etwas passendes ist wahrscheinlich schon 
dabei.

Wer sagt, dass das GPS-Signal einmal pro Sekunde reinkommt? Das Signal 
kommt kontinuierlich rein, und zwar kommen da ziemlich genau 
1.575.420.000 Vollwellen pro Sekunde, von deren jede auf Bruchteile von 
Grad aufgelöst werden kann.

Nochmal: Ich möchte nicht NMEA-Daten von einem GPS-Modul entgegennehmen 
und damit rechnen, sondern ich möchte eine Phasenlösung aus den Rohdaten 
errechnen, und zwar möglichst mit 10 Hz.
#2480813
Lesenswert?

Renesas RX610 z.B. R5F56108 mit 2 MiB Flash (wenn man Platz für Tabellen 
braucht ;-)) und 128 kiB SRAM on board, FPU (single precision) + einige 
DSP-Befehle.
Liegt mit dem GCC (KPIT GNURX) beim Coremark/MHz
http://www.coremark.org/benchmark/index.php
deutlich vor allen Cortex-M3, die M4s (z.B. Freescales Kinetis) sind 
z.Z. nur mit dem Green Hills Compiler schneller...
(bei den Messwerten muss man trotzdem aufpassen, da einige Controller 
nur bei der Codeausführung aus dem SRAM so schnell sind bzw. das Flash 
nicht schnell genug ist...)
#2480851
Lesenswert?

Joe Redfish schrieb:
> Da Du bisher noch nicht wissen kannst welche Rechenleistung wirklich
> benötigt wird, wäre eine skalierbare Plattform nützlich.
>
> Letzter Versuch, dann habt Ihr Ruhe vor mir...
>
> Das (kostenlose) MPLAB hat auch einen Emulator und Soft FPU. Mal schnell
> zum testen...
>
> 
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002

Gibt's von Renesas/KPIT Cummins auch...und kann, wie die div. Compiler 
für die ARMs, auch C++
http://am.renesas.com/tool/
http://www.kpitgnutools.com/
günstige Eval-Kits inkl. JTAG-Debugger z.B.
http://www.glyn.de/News-Events/Presseinformation?Seite=3772

An den TO:
Cortex-A8 auf einem SO-DIMM falls die bisherigen Vorschläge nicht 
reichen
http://www.glyn.de/data/glyn/media/doc/TX53-Datasheet.pdf
Gast #2481110
Lesenswert?

Bernd H. schrieb:
> Das Signal
> kommt kontinuierlich rein, und zwar kommen da ziemlich genau
> 1.575.420.000 Vollwellen pro Sekunde, von deren jede auf Bruchteile von
> Grad aufgelöst werden kann.

und wie willst du das mathematisch machen? Das ist HF und auch im 
Spreizbandverfahren. Du geht eine Phasenwinkelmessung doch nur in 
Hardware.

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