mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Suche µC mit FPU


Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich bin auf der Suche nach einem Mikrocontroller mit einer FPU drin, um 
Fließpunkt-athethmetik nutzen zu können.
Leider blieb meine Suche bislang erfolglos. Selbst bei Controllern wie 
dem AT91SAM oder den ARM Cortex Modellen habe ich nichts dazu im 
Datenblatt finden können, ich kann mir jedoch nicht vorstellen, dass 
diese doch recht neuen Prozessoren keine FPU haben.
Suche ich nach dem falschen Begriff oder haben die das wirklich nicht?
Wenn sie es nicht haben, was gibt es in der Klasse für Prozessoren mit 
FPU?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: 8087 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Coprozessor kommt nicht in Frage? 
http://www.sparkfun.com/commerce/product_info.php?...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich bin auf der Suche nach einem Mikrocontroller mit einer FPU drin, um
> Fließpunkt-athethmetik nutzen zu können.
Fließpunktarithmetik kannst du auf einem uC auch ohne FPU....
Der Compiler wirds schon richten.

> athethmetik
Was ist das?
> Suche ich nach dem falschen Begriff?
....  ;-)

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- uC mit FPU: Hitachi SH3 oder SH4
- 90% der "FPU"-Algorithmen im embedded Bereich lassen sich
  auf Ganzzahl-Arithmetik (schneller und schöner) abbilden.

VG,
Hans

PS: ARM ist energie- und durchsatzoptimiert, da passt eine
FPU schlecht rein. Mag sein, dass einer der hunderte ARM-
Lizenznehmer eine FPU eingebaut hat...

Autor: Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr leistungsstarke Microcontroller mit FPU findet man bei Renases 
(Ex-Hitachi) in den SuperH-Familien:

http://www.renesas.com/products/mpumcu/superh/supe...

Es gibt jedoch hier und da ein paar Stolpersteine bei der Verwendung der 
SuperH-FPU mit dem GCC. Verursacht durch Compilerfehler werden nämlich 
manchmal(!) die Prozessorflags für float- und double-Arithmetik nicht 
korrekt umgeschaltet. Vielleicht ist der Fehler in den allerneuesten 
GCC-
Versionen schon behoben, aber Anfang 2009 war er noch vorhanden.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für die vielen Tips!
Auf die Idee mit dem Coprozessor bin ich noch nicht gekommen, das werde 
ich mir mal genau anschauen.
Das mit dem ARM Prozessoren kann ich wohl vergessen. Alle neueren, die 
das überhaupt haben kann ich nicht lönten/backen.
Die Reneas Teile sehen auch recht interessant aus, werde dem mal 
nachgehen.

Autor: Ferkel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.renesas.eu/products/mpumcu/rx/rx600/rx6...

Deine Anforderungen sind hoffentlich hoch genug, um einen RX610 
dauerhaft beschäftigen zu können.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Fabian S. (jacky2k)

>Danke erstmal für die vielen Tips!

Hier ein viel wichtigerer Tip: Netiquette.

Beschreibe dein Problem und fasse deine Anforderungen in (ungfähre) 
Zahlen. Die Aussage "ich brauch Fließkomma in Hardware" entpuppt sich 
oft als, "ich will ein paar ADC-Werte mit 100 Hz auf einem LCD anzeigen.

Siehe auch Festkommaarithmetik.

MFG
Falk

P S Es gibt ein paar DSPs mit Fleißkomma, das sind dann aber 500 MHz++ 
Boliden.

Autor: technikadonis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein MC mit FPU wäre der TMS320F28335 von TI.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> Beschreibe dein Problem und fasse deine Anforderungen in (ungfähre)
> Zahlen. Die Aussage "ich brauch Fließkomma in Hardware" entpuppt sich
> oft als, "ich will ein paar ADC-Werte mit 100 Hz auf einem LCD anzeigen.
Hehe, das ist nicht der Fall. Habe hier einen recht aufwendigen 
Algorithmus, der numerisch die Nullstellen einer Funktion (R^2->R 
Abbildung) berechnet.
Ich habe es bereits in C++ mit Fliekomma und Fixpunkt implementiert, 
jedoch funktioniert es mit Fixpunkt einfach nicht. Ich habe da irgendwo 
eine Instabilität die ich nicht finden kann :P
Zudem brauche ich etwas mehr Dampf, denn der Atmega mit 16Mhz benötigt 
momentan 0,3Sec für eine solche Berechnung, das sollte aber nicht viel 
länger als 10ms dauern. Daher arbeite ich daran den Algorithmus zu 
verbessern und einen besseren Prozessor zu finden.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fabian S. schrieb:
> Hehe, das ist nicht der Fall. Habe hier einen recht aufwendigen
> Algorithmus, der numerisch die Nullstellen einer Funktion (R^2->R
> Abbildung) berechnet.

es ist ja die Frage wie viele mögliche eingangskombinationen existieren. 
(Ich kann mir noch nichts genaues unter der Fuktion vorstellen). Wenn es 
nur eine begenzte zahl ist kann man ja auch das ganze als Lookup-Tabelle 
etweder für teilergebnisse oder gleich für die gesamte brechnung 
hinterlegen. Selbst wenn es recht viele sind, dann bräuchte man nur ein 
µC mit mehr speicher.

Autor: Fabian S. (jacky2k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ne so einfach ist das nicht. Das ist ne 2-dimensionale Funktion, die 
eine Abbldung auf einen Wert hat.
Im Anhang ist ein Bild.
Problem ist auch, dass die Funktion dynamisch generiert wird. Also das 
ist mehr als komplex.

Autor: schroeder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wenn dein atmega des in 0,3 pakt dann nimm einfach einen arm cortex 
mit bis120Mhz,aber ich denk 60Mhz reichen aus da der prozzesor 32bit 
ist,da durch holst du locker das 30fach heraus auch ohne FPU.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zur Orientierung die Floating-Point Performance von ARM7/CM3 (in 
Software):
http://www.smxrtos.com/ussw/gofast/gofast_arm_iar.htm
http://www.smxrtos.com/ussw/gofast/gofast_arm_cwk.htm

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm das stimmt wohl...vielleicht reicht auch einfach ein AT32 der L 
Serie.

Autor: Chris __ (_chris_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Coldfire CPU haben eine brauchbare FPU drin,
hier ein Benchmark http://www.blunkmicro.com/tools-benchmark.htm

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AD tigerSHARC

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Zur Orientierung die Floating-Point Performance von ARM7/CM3 (in
> Software):
> http://www.smxrtos.com/ussw/gofast/gofast_arm_iar.htm
> http://www.smxrtos.com/ussw/gofast/gofast_arm_cwk.htm

Das sind ja etwas merkwuerdige Ergebnisse! Da ich beide MCUs schon 
untersucht habe, den SAM7 und den LPC2400, wuerde ich bei derselben 
Frequenz und beide arbeiten aus dem RAM nahezu identische Werte 
erwarten. d.h. identische Werte fuer GoFast. Es macht Sinn, dass die 
Werte fuer IAR und Crossworks unterschiedlich sind. Mir scheint als ob 
das Programm aus dem Flash laeuft, dann kann ich die Vorteile des 
LPC2400 verstehen, doch aus dem RAM absolut unlogisch.
Keiner der beiden Chips hat spezielle Hardware fuer Floating Point.

Noch eine Antwort fuer den OP
Die LPC32xx Serie hat auch eine FPU und ist dafuer sehr guenstig zu 
haben. Allerdings bin ich auch der Meinung, dass es besser ist Floating 
Point in Software zu erledigen oder ganz zu vermeiden solange das 
irgendwie geht.

Gruss, Robert

Autor: Michael H. (overthere)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie wärs mit Look-up-Table? Wenn du eine mäsige Auflösung brauchst, 
sollte sich das in einen M32 gut platz finden.

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

FPU (32 Bit = single precision) gibts z.B. in den Infineon TC1166 (80 
MHz) oder TC1797 (180 MHz) -Prozessoren.

Gruß Anja

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael H. schrieb:
> Und wie wärs mit Look-up-Table? Wenn du eine mäsige Auflösung brauchst,
> sollte sich das in einen M32 gut platz finden.

Wie viel Platz hab ich denn maximal zur Verfügung? 100 Peta Byte werden 
nicht reichen, da (wie bereits gesagt) die Funktion dynamisch generiert 
wird und sich zich Parameter ändern können.
Also ich habe mindestens 10 unterschiedliche Funktionen, jeder Block hat 
5 Parameter (je 65535 Zustände), da ich auch die Auflösung dynamisch 
halten muss brauche ich also was in der Größenordnung von 10.000x10.000. 
Abspeichern muss ich dann immer 2 Werte (je 2 Byte). Grob überschlagen 
macht das irgendwas bei 10^250 Byte die ich benötigen würde. Da ist 
Schach ja einfacher zu speichern :D

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du denn da machen. Mir sieht das fast schon wie die 
Einspritz-/Zündfeld-KL eines Motors aus. Auch die Zeitangaben passen 
dazu. Und dann hast entweder du das falsche Konzept oder die Ingenieure 
von Bosch jahrzehntelang das Falsche gemacht...

Was dir Speicherplatz sparen helfen könnte, ist das Stichwort 
"Interpolation".

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähhh nein mit Motoren hat das nichts zu tun.
Sebst wenn ich da interpolieren würde, würde ich wohl kaum in ein 
akzeptablen Speicherbereich kommen.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die Reneas Teile sehen auch recht interessant aus, werde dem mal
> nachgehen.

Der SH7262 hat auch eine FPU und sobald ich endlich mal meine SPI-Flash 
bekomme werde ich zu der MCU wohl was veroeffentlichen. (Bootloader 
ueber SD-Karte laeuft schon und kann auch Anbindung an Renesas-Debugger 
ueber USB booten)

Allerdings habe ich selber die FPU noch nicht benutzt. (kaempfe gerade 
mit einem Audio-Codec)

Olaf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.