INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
01.02.2015, 11:14 (Dieser Beitrag wurde zuletzt bearbeitet: 01.02.2015 13:20 von HaWe.)
Beitrag #17
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
das ist in diesem Falle irrelevant, weil die Teil-Benchmarks von runtime[0] bis runtime[5] einschl gar keine Screen-Funktionen testen, sondern nur Mathe-Performance.
Allein runtime[6] und [7] testen Display-Funktionen, und hier wird nur gestoppt, was gemessen werden soll, und zwar genau das.

Glaub mir: Code und Daten sind schon verlässlich, es wurde von zahlreichen C-, RobotC-, NXC-, Java- und C# -Entwicklern und Programmierern bezügl. ihrer Aussagekraft auf NXT und EV3 und sogar auf Due, Galileo u.ä. auf Herz und Nieren u getestet Wink
nur in 1 einzigen bekannten Fall benutzt der Java-Sourcecode bei einem Einzeltest noch eine Routine einer Vorversion, allerdings zu eigenem Ungunsten - der Unterschied ist aber nur marginal. Es wird berichtigt, sobald die neuen Klassen für die neueste lejos/Java-Version vorliegt.

http://www.mindstormsforum.de/viewtopic....095#p64772

ps,
eigentlich führt das Design des Benchmark-Tests jetzt aber hier auch zu weit.
Thema ist ja vielmehr:
wie kann ich die extrem langsamen Software-SPI-Routinen an analogen oder einfachen DPins durch schnellere echte Hardware-SPI-Routinen am Due SPI-Header ersetzen ?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.02.2015, 17:53 (Dieser Beitrag wurde zuletzt bearbeitet: 01.02.2015 18:09 von rkuehle.)
Beitrag #18
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
Hallo HaWe,
ich gebe dir ja recht, dass der Code verlässlich ist, nachdem ich endlich mal Zeit gefunden habe mir deine Threads und Codes in Ruhe anzuschauen.
Ich habe dann mal deinen Code auf einen IDB32S - Controller losgelassen, da kamen dann auch für Text und Grafik bessere Werte raus.
Zitat: 6 11265 TextOut
7 15471 Graphics
Der Hintergrund scheint zu sein, dass die TFT-Libs von Karlsen das QD220A / ILI9225 wohl gar nicht (direkt) unterstützen. Mein IDB32S wird direkt von der Lib unterstützt und bringt daher wohl bessere Werte.

Ich denke mal du wirst die TFT_22_ILI9225 - Lib zusammen mit der SPI-Lib benutzen müssen. Wichtig scheint zu sein, dass du dann die real auf dem Arduino vorhandenen SPI-Ports benutzen musst und beim Aufruf entsprechend den Klassen-Konstruktor für Hardware-SPI benutzen musst.

Weiterhin gibt es wohl einen Fehler in der SPI-Lib im Hardware/AVR-Verzeichnis bzgl. des SPI-ClockDivider. Dazu siehe hier: http://forum.arduino.cc/index.php?topic=46880.0 Bei meiner Installation war der Fehler noch drin. Nach Korrektur sollte auch der ClockDevider wirksam werden, so nach dem Motto:
Code:
pinMode(53, OUTPUT); // SS Pin
  digitalWrite(53, HIGH);
  SPI.setDataMode(SPI_MODE1);
  SPI.setBitOrder(MSBFIRST);
  SPI.setClockDivider(SPI_CLOCK_DIV2);
  SPI.begin();
Natürlich nur so niedrig wie der ILI-Controller das auch unterstützt.
Vielleicht hilft es ja irgendwie weiter.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.02.2015, 18:39 (Dieser Beitrag wurde zuletzt bearbeitet: 01.02.2015 18:48 von HaWe.)
Beitrag #19
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
hallo Ricardo,
danke für deinen Test!
In der Tat sind deine Werte mit 11 bzw. 14 Sekunden ja bis zu 3x schneller (für Due; bei mir: 14-40 Sekunden).

Allerdings brauchen dieselben Tests auf dem EV3 nur 30-50 MILLI-Sekunden,
und auf dem NXT 20-180 MILLI-Sekunden (beides echte Executables ie beim Arduino).
Das ist allerdings in etwa auch die Größenordnung, die ich anstrebe.

Mit den SPI-Befehlen bzw. wie ich sie aufs 9225-Display umstricken kann, bin ich momentan noch etwas überfordert, aber selbst mit dieser Anpassung bin ich sicher noch um den Faktor 300x zu langsam.

Bisher habe ich den Due-Hardware-SPI-Header (pins 74-76) verwendet und den ARM (!) -SPI-clock-Devider (ohne jeden Einfluss aufs Ergebnis).

Wichtig wäre also wahrscheinlich ein eingebautes Display-RAM samt cpu, die das Display ansteuert. So ein Displaay suche ich, allerdings eins mit einer guten verständlichen Anleitung samt Beispielen für die API und fix und fertig zum Anschließen und Loslegen, ohne erst noch tagelang vorher libs und Programmier-Programme suchen und downloaden und installieren und umkonfigurieren und updaten und dann doch in irgendwelchen Foren auf Problemlösungen hoffen muss.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.02.2015, 22:09
Beitrag #20
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
Hallo HaWe,

hast du einen Link zu dem Display bzw. eine Quelle? Wenn es nicht übermäßig teuer ist, würde ich es besorgen und direkt mit der ILI-Lib testen bzw. den Benchmark entsprechend anpassen.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.02.2015, 09:42
Beitrag #21
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
hallo,
nein, teuer war es nicht, nur lange Lieferzeit:
http://www.ebay.de/itm/201042408158?_trk...EBIDX%3AIT
Gruß
Helmut
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2015, 17:41
Beitrag #22
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
Ich habe mir mal das Teil besorgt und habe verschiedene Libs probiert.
Hinter dem Display ist der ILI9225 verbaut, und der hat eine "Spezialität" die sich
"3 Wire SPI" nennt. Soll heißen, dass MOSI und MISO über eine gemeinsame Leitung gehen Huh
Ergebnis dessen ist, dass oberhalb 4 MHz auf dem SPI so ziemlich alles in die Knie geht bzw. bei 4 MHz durch die Doppelnutzung der Leitung diese gammligen Ergebnisse rauskommen. Die ILI - Libs sind durchweg auf dieses "3 Wire SPI" Protokoll zugeschnitten.
Es gibt auch angepasste UTFT-Libs, die benutzen aber den seriellen Zugriff auf den ILI-Controller (der ist allerdings sogar einen Tick schneller).
Alles in allem:
Einerseits ist der ILI9225 Controller wohl schon als historisch einzuordnen
Andererseits hängen die Ergebnisse des Benchmarks eben wirklich sehr vom verwendeten Controller ab und sagen so nicht unbedingt was über die Performance des Arduino selbst aus (zumindest was Text- und Grafikausgabe angeht).
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2015, 19:02 (Dieser Beitrag wurde zuletzt bearbeitet: 05.02.2015 19:13 von HaWe.)
Beitrag #23
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
hallo,
danke für deinen Test:
Ja, ich hatte ja schon vermutet, dass das Display leider nicht deutlich zu beschleunigen ist. Das Dumme ist, dass dadurch auch Berechnungen etc. auf dem Arduino total ausgebremst werden.

Wenn z.B. der Arduino eine Funktion (PID-Steuerung, Fast-Fourier-Transformation, db(A)-Kurve, PixyCam-Blocks) aufzeichnen und berechnen soll und die Berechnung auf dem Dispay grafisch ausgeben soll, so gehen viele Input-Daten verloren, denn während der Arduino mit dem TFT beschäftigt ist, kriegt er nichts von seinen Inputs mit. Das ist bei NXT und EV3 nicht der Fall.

Getestet wird daher im Benchmark auch die Grafik-Leistungsfähigkeit quasi als Facette des Gesamt-Systems. Die Idee dazu hat der metabench-Test geliefert, den ich schon seit Ewigkeiten benutze, wenn ich neue PC-Hardware gekauft habe - und z.B. gegenüber einem Händler bewiesen hat, welche wirklich miese (gefühlte) Performance ein AMD-Quadcore-Notebook nun (nachweislich) gegenüber einem Core2Duo hatte. Auch hier werden Rechenperformance, Sortier-, Codier/Decodier- und Grafikkartenfunktionen getestet.

Mein HaWe-Bench konnte auf ähnliche Weise die (gefühlt) miese Performance von NXC (auf NXT) und RobotC (auf NXT und EV3) gegenüber nxtOSEK und Java/leJOS nachweisen.

Da meine Einsatzgebiete auf allen Plattformen ähnlich sind, kann ich hier wenigstens die Spreu vom Weizen trennen und weiß jetzt, welche Plattform ich wofür eher verwenden kann und welche nicht. Momentan scheiden Arduinos daher leider (noch) bei allem aus, wofür man Grafikperformance braucht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.02.2015, 20:34
Beitrag #24
RE: seltsame analog-pin-Steuerung für SPI-TFT LCD auf SPI umschreiben?
Zitat:...denn während der Arduino mit dem TFT beschäftigt ist, kriegt er nichts von seinen Inputs mit....
Ja, ich denke auch, dass hier das Kernproblem liegt.
Und da kommt wohl auch die mehr oder weniger gute Codierung der Display - Libs zur Geltung.
Gutes Beispiel war für mich ua. ein Patch auf die UTFT-Lib
(die DrawPixel-Funktion) , der die Zeiten für Text / Grafikausgabe im Benchmark nochmal auf 30% reduzierte (allerdings nur bei parallelen Controllerinterfaces).
Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Bluetooth-Steuerung mit elegoo uno funktioniert nicht Matthias_Arduino 0 125 01.11.2016 19:47
Letzter Beitrag: Matthias_Arduino
  Steuerung eines Schrittmotor und eines Lüfters auf einem Shield phischmi 7 275 18.08.2016 20:58
Letzter Beitrag: phischmi
  Garagentor,- und Beleuchtungs - Steuerung ardu1n1x 2 442 13.07.2016 16:17
Letzter Beitrag: ardu1n1x
  Android App für RGB Steuerung heino_m 5 393 08.05.2016 10:20
Letzter Beitrag: hotsystems
  Motorshield analoge Steuerung -cosmo- 8 1.218 11.02.2016 22:07
Letzter Beitrag: -cosmo-
  Steuerung Motor 12V 20A Maxi290997 2 1.025 13.09.2015 00:13
Letzter Beitrag: Maxi290997
  Shild-Wahl für Servo-Steuerung SkyFox 9 1.112 23.07.2015 12:49
Letzter Beitrag: SkyFox
  wer hat Erfahrung mit analog-Joysticks für Platinen? HaWe 0 644 11.07.2015 22:03
Letzter Beitrag: HaWe
  I2C analog ADC Multiplexer wie PCF8591 aber 8x - welchen? HaWe 0 624 23.06.2015 15:33
Letzter Beitrag: HaWe
  Keys KY-013 Analog Temperature Sensor Pit 0 739 21.03.2015 20:17
Letzter Beitrag: Pit

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste