ILI9341 SPI max FPS performance

Gast #7280853
Lesenswert?

Hi Leute,

ich möchte für ein Projekt das ILI9341 Display einsetzen, möchte aber 
ein Videoplayback realisieren, brauche also zumindest mal > 30 fps mit 
dem Teil.

Die Bibliotheken die im Netz rumschwirren sind ja alle nicht so 
performant, weil die relativ oft neu die Frambuffer Adresse neu setzen 
und so.

Meine Idee war jetzt folgende... Ich habe das Datenblatt mal kurz 
überflogen und wollte mal fragen (bevor ich da jetzt viel Zeit 
investiere), ob das so funktioniert:

Ich würde im Ram auf dem uC einen Framebuffer anlegen, also 
320x240x16bpp.

Das Display muss am Anfang einmal initialisiert werden, danach würde ich 
einmalig den Data-Writepointer(für das interne Grafikram) auf den 
Startpunkt 0,0 setzen.
Danach halte ich konstant den D/C Pin auf Data-Mode und SPI-CS auf low 
und würde mittels einer selbst-loopenden DMA die ganze Zeit 
automatisiert den Framebuffer vom uC-RAM ins Display feuern. Anscheinend 
macht der Pointer im LCD-Ram einen auto-wrap, wenn man am Ende 
angekommen ist.

Was meint ihr?
Bei 50 MHz SPI-Clock würde ich da bei ca 40 fps rauskommen, wenn dann 
die SPI dauerhaft läuft.
(Firma: privat) #7280890
Lesenswert?

Marco schrieb:
> Bei 50 MHz SPI-Clock würde ich da bei ca 40 fps rauskommen, wenn dann
> die SPI dauerhaft läuft.

Laut Datenblatt ILI9341 soll ein Clock Cycle im SPI Modus min. 100 ns 
sein. Das entspräche einer Freq. von 10 MHz. Ob der ILI9341 mit 50 MHz 
läuft ist daher fraglich.
Ich würde, wenn es geht, den 8 bit oder 16 bit Mode nehmen.
Im 8 bit Modus würdest du mit deinem Verfahren theoretisch bei max 
zulässiger Freq.(15.15 MHz)auf 98 fps kommen. Im 16 bit Modus 
theoretisch doppelt so viel fps.

Gruß
Thomas
Gast #7280960
Lesenswert?

Marco schrieb:
> Was meint ihr?

Wenn du schnell sein willst und ein weitverbreitetes Display
verwenden willst dann nimm das ILI9341 mit 16-Bit Parallelbus.
Den selben Bus gibt es auch für das ILI9325, beide sind
sich recht ähnlich. Den 16-Bit Bus kann man dann sehr eng
an den Controller anbinden und ist damit deutlich schneller.

320 x 240 schauen schon etwas bescheiden aus, warum nicht
ein Display mit ILI9486 / ILI9488 verwenden, das böte dann
schon 640x480 Bildpunkte? Auch mit 16-Bit-Parallelbus
erhältlich.
Gast #7281715
Lesenswert?

Bernd schrieb:
> Das reicht nur für Daumenkino...

Es ist auch ganz schnell ganz still geworden seitens des TO.
Ein oft beobachtetes Phänomen hier: schnell mal eine "Idee"
gepostet und schnell mal gemerkt dass man auf dem falschen
Dampfer ist. Dann ganz leise werden, gar nichts mehr von
sich geben und bloss nichts zugeben, antworten.

Andere Version ist noch "geschickte(re)s Trollen". Hinweis
dafür wäre "für ein Projekt". Das ist schon ein bisschen
bedeutungslosschwanger.

Marco schrieb:
> ich möchte für ein Projekt .....

Wenn man Grosses vorhat und dafür das Nächstbeste nimmt was
so herumliegt oder angeboten wird dann wird das halt nix. Die
ganze Zeit mit DMA auf SPI ballern bringt wohl doch auch eine
gewisse Performance-Einbusse des Gesamtsystems mit sich,
abhängig natürlich vom verwendeten Controller (der geheim ist
und den wir daher nicht kennen). Nicht jeder Controller hat
soviel interne Busse dass alles gleichzeitig geht.
Gast #7281728
Lesenswert?

> Das entspräche einer Freq. von 10 MHz. Ob der ILI9341 mit 50 MHz
> läuft ist daher fraglich.

Das ist korrekt. Die Teile koennen laut Datenblatt wirklich nur
10Mhz und sind damit unbrauchbar. Ich hab hier aber eins mit
40Mhz laufen und das funktioniert. Erstaunlich, aber geht.

Also nix das man produktiv einsetzen kann, fuer eine kleine
private bastelaktion aber vermutlich einen Versuch wert.

Man ist damit uebrigen in Bereichen wo man ueber einen vernuenftig
verlegten Bus und ordentliche Terminierung nachdenken sollte. .-)

Olaf
Gast #7281729
Lesenswert?

jo mei schrieb:
> 320 x 240 schauen schon etwas bescheiden aus, warum nicht
> ein Display mit ILI9486 / ILI9488 verwenden, das böte dann
> schon 640x480 Bildpunkte?

ähm, nein, die unterstützen maximal 480x320 und werdenen üblicherweise 
in größeren Displays verbaut. Ob sich das soo deutlich auf die 
Pixelgröße auswirkt, wage ich zu bezweifeln.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren