Go Down

Topic: [beendet] I²C beschleunigen am ESP8266 / NodeMCU (Read 738 times) previous topic - next topic

Tommy56

Was meinst Du mit Quartzfrequenz ändern? Einen anderen Quartz einbauen?
Dann stimmen alle zeitabhängigen Sachen (Serial, I2C,millis(), delay(), ...) nicht mehr. Das würde ich nicht empfehlen.
Bei den AVR kannst Du mit den Fuses noch was anpassen aber ansonsten ist Wegwerfen billiger.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

HTML-Fan

Ups, ich werde ungenau. Die Einstellung Werkzeuge/Crystal Frequency

Tommy56

Na dass die CPU schneller läuft. Die zeitabhängigen Werte werden angepasst.
Wenn Du das unbedingt brauchst, ok, ansonsten ist es grundlegend störanfälliger.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

HTML-Fan

Okay? Ich dachte, die CPU-Frequenz ist von Werkzeuge / CPU Frequency abhängig?

Tommy56

Also langsam verstehe ich nicht mehr, was Du willst. Drücke Dich mal klarer aus.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

HTML-Fan

Also du sagst,
dass die CPU schneller läuft
, wenn man den Werkzeuge/Crystal Frequency-Wert erhöht. Aber ich dachte, dass man den Wert
Werkzeuge --> CPU-Frequency
ändern muss, um die CPU-Frequenz zu ändern. Wird der eine Wert mit dem Anderen multipliziert?

Tommy56

Ich habe auch CPU-Frequency geschrieben. Von Crystal-Frequency sehe ich bei den ESP8266 nichts.
Die hast Du plötzlich ins Spiel gebracht. Warum?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

HTML-Fan

Die dürfte bei Generic ESP8266 Module mit dabei sein.
Weil ich gerne jenes Programm mit irrelevanter Funktion beschleunigen möchte.

Tommy56

Keine Ahnung, habe ich nicht und damit noch nie verwendet.
Ich nutze D1 mini und D1 mini pro.

Es könnte aber sein, dass Du da beim Rumspielen den ESP zum Elektronikschrott beförderst.
Da solltest Du vorher genau wissen, was es wie bewirkt.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

HTML-Fan


HTML-Fan

Naja, werde mich wohl mit 50 FPS begnügen müssen.

Tommy56

50 Fps aus MC sind schon ein sehr guter Wert. Wenn Dir das nicht genügt, musst Du mehr Rechenpower nutzen, z.B. RasPi 4.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

HTML-Fan

Das Programm ist, ich löse das große und spannende Rätsel auf, ein Programm, dass auf einem OLED-I²C-Screen das Adafruit-Logo ein- und ausblendet. Und das will ich mit einem ESP auf 60 FPS hochkriegen, was mit meinem Arduino Due und sogar mit dem Uno geht. Indem man halt die Taktfrequenz auf 1000000 Bit/s und aufwärts stellt. Da kann man wunderbar Animationen aus SD-Karten abspielen, denn bei einer hohen Rate dauert es nur 10 ms und der Bildschirm ist aktualisiert. Beim ESP dagegen dauert es mindestens 18 - 19 ms, plus 2ms Rechenzeit für die Zufallsfunktion, de über den Buffer huscht. Und das ist doof! Ich fürchte, ich muss mir SPI-Displays holen.

agmue

Ich habe noch nie ein ESP8266 Modul gehabt, wohl aber ATtiny85, daher mische ich mich mal spekulativ ein.
  • Crystal Frequency: Das dürfte die Frequenz des Quarzes/Resonators sein. "The crystal frequency ranges from 24 MHz to 52 MHz."
  • CPU-Frequency: Das dürfte die Prozessorgeschwindigkeit sein. "The ESP8266EX integrates a Tensilica L106 32-bit RISC processor, which ... reaches a maximum clock speed of 160 MHz."
  • I2C: Hier hängt es vom Display ab, welche Geschwindigkeit möglich ist. Ein I2C-Scanner wie MultiSpeed I2C Scanner gibt Dir Auskunft. Auch 1000 kHz könnten möglich sein. Nach meiner Einschätzung dürfte überwiegend dieser Parameter für die Anzeigegeschwindigkeit verantwortlich sein.

Hoffentlich hilft es Dir  :)
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

HTML-Fan

#29
Nov 05, 2019, 01:12 pm Last Edit: Nov 05, 2019, 01:12 pm by HTML-Fan
Beim ESP ist das was anderes. Da wird eine Art delay verwendet, um beim I²C bis zum nächsten Clock-Takt zu warten. Und wenn dieses delay auf 1 gesetzt ist, was durch einstellen der Clock-Frequenz via setClock bei mir der Fall ist, was eine Frequenz von ca. 700kHz erzeugt. Und 1 ist der nidrigste, sinnige Wert. Mein Problem ist, dass der ESP an sich nicht schneller kann. Das Display schafft auch 1MHz, vielleicht sogar 1.5MHz, da bin ich mir nicht sicher, ein anderes, älteres Display von mir, was ich bei einem anderen Händler erworben habe, sogar 2Mhz, aber der ESP halt nur diese 700kHz. Und die wollte ich erhöhen, um unter die 1613ms - 2ms zu kommen, denn dann hätte ich 60 FPS.

Go Up