- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Suche arithmetischen Co-Prozessor für Atmel-8Bitter

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    871
    Zitat Zitat von gunzelg Beitrag anzeigen
    sowas in derArt?
    Mal ganz naiv gefragt (weil im DB hab ich keine Angaben gefunden): Wie fix wird denn damit z.B. eine sin()-Berechnung?

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Mal ganz naiv gefragt (weil im DB hab ich keine Angaben gefunden): Wie fix wird denn damit z.B. eine sin()-Berechnung?
    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ü.
    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

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    871
    Dieser Code in der main
    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;
        }
    benötigt lt. Simulator (ATMega328 ) etwa 2900 Zyklen pro Schleifendurchlauf. Das sind bei 8MHz ca. 360µs.
    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?

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Oder mach das mit eine STM32...32-Bit FPU mit 40MIPS und mehr als genug Schnittstellen.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    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.
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    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).

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653
    Naja, dann probiers doch nochmal. Mittlerweile hat sich bei ST auch einiges getan ...da geht schon einiges .. Einfach mal fragen ..
    Ja, Du hast recht - kostet nur noch Überwindung. Aber ich arbeite mal dran *ggg*.

    .. auch wenn da viele sind, die nix wissen und sich trotzdem zu Wort melden).
    Die gibts immer. Ist ja bekannt: es wurde zwar schon alles gesagt, aber es hat noch nicht jeder alles gesagt.

    Schönen Sonntag - hier (Oberallgäu) scheint die Sonne und im Tal ist so gut wie alles trocken - und es geht mitm Bike in die Natur.
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.645
    Zitat Zitat von Holomino Beitrag anzeigen
    Dieser Code in der main ...
    Wieviele unterschiedliche Werte kommen für "x" überhaupt infrage; endlich viele, womöglich bei genauer Betrachtung nur Wenige? Und wie wirkt sich "x" auf "y" aus (y > 1), kann "x" dann auf wenige Werte reduziert werden (weil Zwischenwerte am Ende zum selben Resultat führen)? Dann kann der Code optimiert werden, ohne eine Hochleistungsrechenmaschine zu benötigen.
    Mit freundlichem Gruß
    Moppi

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.301
    Zitat Zitat von Holomino Beitrag anzeigen
    benötigt lt. Simulator (ATMega328 ) etwa 2900 Zyklen pro Schleifendurchlauf. Das sind bei 8MHz ca. 360µs.
    Hochgerechnet auf einen 64MHz XMega 45µs
    Ich programmiere mit AVRCo

  10. #10
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.653

    Number cruncher, (transzendente) Funktionen und keine Werte

    .. oder: kann ein ESP8266-12F nen number cruncher machen ? ?

    Zitat Zitat von oberallgeier Beitrag anzeigen
    Für sin hatte ich nie Werte. Aber für den .. Zeitbedarf des atan hatte ich mal was gerechnet (und Sternthaler) ..
    .. und dann flattert mir in den letzten Tagen ein klitzekleiner 32Bitter (ESP8266-12F) auf die Arbeitsplatte. Danke Sternthaler.
    Nebensache: das erste Mal im Leben in die arduino IDE einarbeiten (brrrrrr). Die Ergebnisse scheinen mir interessant.
    Code:
    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
    Auszug aus meinem Logbuch [Inst-Logb_arduino_ab_Mai-2022.txt] . Stark gekürzt (ohne jeweilige Anmerkung)
    Hintergrund ist meine ALTE Überlegung zur Bahnplanung des archie beim Fahren ABER auch zur Bewegung
    mehrgliedriger "Arme" nach Art von Roboter-Bewegungsroutinen. Da benötige ich vielfach Wurzel und Arcustangens
    . . . und ich dachte, dass z.B. so ein ESP auch als Numbercruncher herhalten könnte. Wobei ich die Tests hier -
    die mit den herkömmlichen Rechnern 328P und 1284P - noch nie gemacht hatte. Leider.
    -  -  -  -  -  -  -  -  -  -  -  -  -  Auszug  -  -  -  -  -  -  -  -  -  -  -  -  -
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
     16. 6.2022 19:40  Studio4/1284p@20MHz                Messung      SQRT 22.7  µs    ATAN 130.2  µs
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
     16. 6.2022 10:ff  Studio4/328p/nano@20MHz            Messung      SQRT 24.7  µs    ATAN 169.   µs
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
     15. 6.2022 18:ff  Studio4/328p/nano@16MHz            Messung      SQRT 30.9  µs    ATAN 185.6  µs
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
     15. 6.2022 16:50  ainoIDE/nano328.ino/nano@16MHz     Messung      SQRT  3.71 µs    atan   3.71 µs
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
     15. 6.2022 15:08  ainoIDE/ESP12F2.ino/ESP12F@80MHz   Messung      SQRT  6.94 µs    atan  30.57 µs
                       ainoIDE/ESP12F2.ino/ESP12F@160MHz  Messung                       atan  15.29 µs
    – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
    Anm2.: anano, aino und ähnlich bedeutet hier arduino-nano oder arduino-IDE-file und ähnlich.
    -  -  -  -  -  -  -  -  -  -  -  -  -    Ende   -  -  -  -  -  -  -  -  -  -  -  -  -
    Das mit dem arduino-nano-Clone+arduinoIDE @16 MHz gefahrene Ergebnis wurde mehrfach wiederholt - es bleibt bis auf Nachkommastellen gleich. Bedauerlicherweise gibt es (? find ich jedenfalls nicht) bei/durch die arduino-IDE keinen Output ähnlich den *.lls-Dateien beim Studio4 - sodass ich weder Rechenweg noch Rechenumfang der verschiedenen IDE´s beurteilen kann.

    Auszug des Codes für Studio 4 - die *.ino-Version ist gleich(-wertig).
    Code:
    /* >>
      Stand  D:\D_pro-f..Std4-1284p\Messg-sq+at-Std4-1284\Messg-sq+at-Std4-1284.c
     =============================================================================== =
      Target MCU        : ATmega Mega1284P TQFP
      Target Hardware   : 1284Platine-archie
      Target cpu-frequ. : 20 MHz
      . . . alles Weitere stark gekürzt, meist/teils ohne besondere Anmerkung
     ============================================================================== */
    // ============================================================================= =
    // ===  HAUPTProgramm ========================================================== =
      . . . gekürzt
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     int main(void)
     {                              //
      . . . gekürzt
      float mf      = 21.1415926F;   // mf = millisfloat
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      . . . gekürzt
      while ( 1 )                   // Das eigentliche Hauptprogramm
      {                             //
    // - - - - - - - - - - - - - - - -
        PORTA       |=   ( 1<<5 );
        rt           = sqrt ( mf ); //
        PORTA       &=  ~( 1<<5 );
        wms (    2 );               //
    // - - - - - - - - - - - - - - - -
        PORTA       |=   ( 1<<5 );
        rt           = atan ( mf ); //
        PORTA       &=  ~( 1<<5 );
        wms (   20 );               // 22062022-16h38: bei  100 => ca. alle  4 ms
    // - - - - - - - - - - - - - - - -    
        mf      = mf + 0.01415926F; // Wert ändern
        rt2     = rt;               //
    // - - - - - - - - - - - - - - - -
      }             // Ende   while ( 1 )
      . . . gekürzt
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      return 0;             //
     }                      //        
    // =====  Ende des Testabschnittes, er kann aus mehreren Abschnitten bestehen ====
    // ===============================================================================
    /*  Übersetzungskommentar:      Programsize               Datasize
    Build 16. 6.2022 13:12:10       3908 bytes ( 3.0%)       284 bytes (1.7%)
          16. 6.2022 13:18:01       3904 bytes ( 3.0%)       280 bytes (1.7%)
    Build succeeded with 0 Warnings...
     ============================================================ */
    Zur Messung auf M1284P@20MHz/Studio-4 gibts auch z.B. für den ATAN dieses Messbild (der Linienzug vor der Markierung stammt von "SQRT").
    Geändert von oberallgeier (30.06.2022 um 15:57 Uhr) Grund: Tipp- und sonstige Fehler
    Ciao sagt der JoeamBerg

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Kleiner Atmel Prozessor mit viel RAM
    Von hunni im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 14.06.2014, 13:06
  2. Suche Suche Atmel STK 501
    Von Stef_Fen im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 26.03.2013, 18:55
  3. I²C und der Deadlock bei Atmel 8Bitter mega. Ein Lösungsvorschlag
    Von oberallgeier im Forum Software, Algorithmen und KI
    Antworten: 5
    Letzter Beitrag: 17.12.2012, 09:18
  4. Suche Prozessor mit CVBS-Ausgang
    Von sebastian.heyn im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 13.09.2005, 20:15
  5. Suche Atmel ATTiny 24/45
    Von JD24 im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 30.08.2005, 21:06

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests