Hallo Leute,
gibts eigenlich für die mathematisch recht simpel ausgestatteten Atmels 8Bitter (oder höher) einen Mathe-Co-Prozessor? Vor urdenklichen (Z80-)Zeiten hatte ich mal nen FORTRAN-Offset (FLOAT80) für nen Mathe-CoPro für den Z80 geschrieben - funzte super und rechnete transzendente Funktionen uvm. in Windeseile aus. Zu Atmel-Zeiten - nein, im Atmel-Umfeld, hatte ich noch nie gehört, dass es so etwas gäbe.
Kennt jemand so ne Lösung oder einen ähnlichen elektronischen Mathe-(Hardware)-Spezialisten?
Danke für Eure Hilfe
Ciao sagt der JoeamBerg
Geändert von gunzelg (10.03.2022 um 11:03 Uhr)
Hallo Gerhard!GENAU! Danke für Deine Hilfe.
Nur dumm: beim italienischen und beim französischem Shop gibts den nicht (kein Artikel angezeigt), beim englischen Shop ist der 8- und auch der 18-Beiner "OUT OF STOCK". Sogar mein Chinese hat den Chip nicht - der zeigt zu dem Stichwort "uM-FPU Floating Point Coprocessor" jede Menge Schwimmerschalter, Schwimmerschalter- (Pumpen-) -Steuerungen und Kugelschreiber . . .
Ciao sagt der JoeamBerg
Schade. Aber warum tust du dir das überhaupt an? Wenn du so nen um-fpu-chip hättest, müsstest du auch noch Code für die I2C-Kommunikation schreiben. Wieso nicht gleich nen fetten uC hernehmen, der gnügend MIPS mitbringt und dann die float-Funktionen der C-Bibliothek hernehmen. Musst dich halt dann in nen neuen uC einarbeiten. Was verwendest du denn jetzt? Ich bin einer von PIC-Front und nehem immer gern die PIC18, oder wenns dicker werden soll nen PIC24 (16Bit).
Ach ja, aber da stand auch was von "direkt" bei dem Laden:
uM-FPU V3.1 $19.95 USD
- Parallax (DIP-1
- Solarbotics (DIP-18, SOIC-1
- Lextronic (DIP-1
- Robot Italy (DIP-1
- available directly from Micromega (DIP-18, SOIC-1
Evtl mal ne email hinschicken, und frech fragen obs ein kostenloses Muster gibt: sales@micromegacorp.com
Gruß
gerhard
Für sin hatte ich nie Werte. Aber für den (nicht erfragten) Zeitbedarf des atan hatte ich mal was gerechnet (und Sternthaler) - weil es mal um das Thema Rückwärtseinschnitt ging. Und da hatte ich eben auch die Näherungsrechnung(en) auf nem Atmel gestoppt. Ergebnisse z.B. hier (Post vom Sonntag, 18.04.2010, 20:16). Die Bilder sind leider alle perdü.Mal ganz naiv gefragt (weil im DB hab ich keine Angaben gefunden): Wie fix wird denn damit z.B. eine sin()-Berechnung?
Wenn ich mich richtig erinnere war ich zu meinen Z80-Zeiten auf dem CoPro (an dessen Namen erinnere ich mich nicht) um ein oder zwei Größenordnungen schneller. Wie erwähnt - beim atan. Und in meiner Einfalt vermute ich zu heutigen Zeiten ähnliche Verhältnisse. (Der Z80 lief damals mit zwei bis vier Megahertz).
Ciao sagt der JoeamBerg
Dieser Code in der main
benötigt lt. Simulator (ATMega328 ) etwa 2900 Zyklen pro Schleifendurchlauf. Das sind bei 8MHz ca. 360µs.Code:/* Replace with your application code */ double x=0.5; while (1) { x+=0.5; double y = atan(x); if (y > 1) PORTB = 0xFF; else PORTB = 0x00; }
Per TWI zu FPU jeweils 4 Byte hin und 4 Byte zurück sind bei 400kHz Busfrequenz allerdings auch schon 200µs
Ok, den Bus kann man von Seite der FPU auf bis zu 4MHz hochdrehen, allerdings muss man im AVR immer noch in der ISR die Bytes einzeln einfüttern oder auslesen.
Hast Du schon mal über Overclocking nachgedacht?
Oder mach das mit eine STM32...32-Bit FPU mit 40MIPS und mehr als genug Schnittstellen.
Wenn ich könnte . . . :-/ . . . Seit Jahren habe ich hier eine Disco-STM32F407 rumliegen (heißt eigentlich STM32F4DISCOVERY, new order code STM32F407G-DISC1). Klar, ne FPU und so, etliche UARTs, mehrere I²Cs etc hatten mich in Versuchung geführt. Ein Bekannter hatte mir ein (bei ihm) funktionierendes Paket mit ner Eclipse-IDE überlassen, aber ich war nie in die Lage auch nur ein funktionierendes hello world rauszubringen. An I²C-Verbindung oder höheren Funktionen war nie zu denken. Schade. Ich hatte mein Bemühen mit dieser Technik dann vor Jahren aufgegeben, das Ding liegt seitdem hier in einer Schachtel :-/ ; leider. Mein archie, mein bisher anspruchsvollstes Projekt, funktionierte ja (zur Not) trotzdem ganz ordentlich.Oder mach das mit eine STM32...32-Bit FPU mit 40MIPS und mehr als genug Schnittstellen.
Ciao sagt der JoeamBerg
Naja, dann probiers doch nochmal. Mittlerweile hat sich bei ST auch einiges getan: die alte Standardlibrary ist mittlerweile völlig obsolet, die schwerfällig-lahm-fette HAL wurde durch die Low-Level-Library ersetzt...da geht schon einiges.
Einfach mal fragen, wenn es klemmt...vielleicht besser auf mikrocontroller.net, da ist immer wer der was weiß (auch wenn da viele sind, die nix wissen und sich trotzdem zu Wort melden).
Lesezeichen