- 3D-Druck Einstieg und Tipps         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

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

  1. #11
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.687
    Anzeige

    Praxistest und DIY Projekte
    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

  2. #12
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Es gibt von ST übrigens ein Werkzeug, womit du den ganzen Konfigurationskram automatisch erstellen kannst. Du wählst (auf einer Klicki-Bunti-Oberfläche) erstmal deinen Mikrocontroller oder das Board aus, dann kannst du jeden Pin einzeln konfigurieren (E/A, PushPull, Open-Drain, Pullups/downs, ...), Hardwareperipherie wie Timer, ADCs, SPI, UART, ...und dann macht der ein fertiges Projekt daraus wo du sofort loslegen kannst.

    Vielleicht erleichtert das den Einstieg etwas.

    https://www.youtube.com/watch?v=szMGedsp9jc

  3. #13
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    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

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.308
    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

  5. #15
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.687

    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 16:57 Uhr) Grund: Tipp- und sonstige Fehler
    Ciao sagt der JoeamBerg

  6. #16
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.687

    Number cruncher, (transzendente) Funktionen und saubere Werte

    Die oben genannten Ergebnisse zur arduinoIDE auf arduino-nano@16MHz fand ich unglaubwürdig. Neue, ausführliche Messungen über die oben vorgestellte Ergebnisse bestätigten mein Misstrauen, die folgenden Werte sind aus meiner Sicht gesichert(er).

    SEHR kurz zusammengefasst:

    Mit arduino-IDE:
    auf ESP8266-12F@80MHz.....atan zwischen..26,1 (68,2) überwiegend 31,2 µs (±0,3)
    auf ESP8266-12F@160MHz...atan zwischen 13,1 (46,7) überwiegend 16,8 µs (±0,3)
    auf arduino-nano@16MHz.....atan zwischen 178...(155) überwiegend 145 µs (± 5)
    Mit Studio7 (7 statt 4 wegen Werteausgabe seriell)
    auf nano328@20MHz+Studio7 atan ca 115 µs, sqrt ca. 25 µs

    Die erfassten Zahlenwerte zeigten eine gute Übereinstimmung in den ersten sechs (signifikanten) Stellen. Beispiel für ne Ausgabe vom arduino-nano@20MHz:

    ......Klicke auf die Grafik für eine größere Ansicht

Name:	nano328a1-7_x12_sqrt+atan-Werte-kl.jpg
Hits:	5
Größe:	80,5 KB
ID:	35811

    Ausführlichere Informationen bei Bedarf.

    Mein Fazit: der ESP8266 (hier ~12F) ist - angebunden z.B. mit I²C - insbes. beim Betrieb mit 160 MHz ist, insbes. für ATMEL-8Bitter, ein lohnender number cruncher für transzendente Rechnungen. Die Ein- und Ausgänge des ESP könn(t)en dabei auch direkt für Steuerungsaufgaben benutzt werden.
    Geändert von oberallgeier (14.07.2022 um 13:52 Uhr)
    Ciao sagt der JoeamBerg

  7. #17
    Erfahrener Benutzer Begeisterter Techniker Avatar von engineer
    Registriert seit
    24.01.2005
    Ort
    Raum Frankfurt
    Beiträge
    276
    Wäre für einen solchen Prozessor nicht eine Näherung das Beste?


    sin = (((((((( 0.0000027 * x*x ) - 0.0001984 ) * x*x ) + 0.0083333 ) * x*x ) - 0.1666667 ) * x*x ) + 1.0 ) * x;

  8. #18
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.687
    Wäre für einen solchen Prozessor nicht eine Näherung das Beste? ..
    Kann sein. Für Atmels hatte ich das schon zum Thema Rückwärtseinschnitt untersucht, siehe weiter oben.

    Aber wozu ne Näherung, wenns ein CoPro im Rahmen seiner Möglichkeiten/Grenzen schnell genug erledigt!
    Ciao sagt der JoeamBerg

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Kleiner Atmel Prozessor mit viel RAM
    Von hunni im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 14.06.2014, 14:06
  2. Suche Suche Atmel STK 501
    Von Stef_Fen im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 26.03.2013, 19: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, 10:18
  4. Suche Prozessor mit CVBS-Ausgang
    Von sebastian.heyn im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 0
    Letzter Beitrag: 13.09.2005, 21:15
  5. Suche Atmel ATTiny 24/45
    Von JD24 im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 30.08.2005, 22:06

Stichworte

Berechtigungen

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

12V Akku bauen