Forum: Mikrocontroller und Digitale Elektronik RGB-Display mit SPI?


von ich (Gast)


Lesenswert?

Hallo zusammen, ich hab da mal eine Frage.
Ich habe bei Ebay ein kleines 2" RGB-LCD gesehen, der eine SPI 
kompatible Schnittstelle hat (Controller ist ein ILI irgendwas, kann ich 
grad nicht nachgucken -> bin auf der Arbeit). Auflösung 320*272 und 262k 
Farben (sprich 18 bit/Pixel). Also hat doch quasi ein Bild 320*272*18 
bit = 1566720bit = 195840byte = 191,25kiB.

Wenn ich das Display mit einem 4MHz SPI betreibe, sind das ja 
1/4MHz=0,25us pro bit. Also 391680us ~ 0,4s für ein Bild (+ Commands + 
Pause zwischen den Bytes).
Sieht man da nicht den Bildaufbau deutlich? Und kann ich die SPI 
schneller machen? Hat ein normales SPI-Modul eine Maximalfrequenz oder 
hängt diese ausschließlich von dem Takt vom µC ab (PIC18 bzw dsPIC)? Ich 
schätze der ILI hat auch noch eine Maximalfrequenz aber die kann ich 
erst nachher nachgucken.
Ist SPI nicht deutlich, nämlich 8mal so langsam wie 8bit Parallel bzw 
16mal so langsam wie 16bit parallel?

Vielen Dank schonmal im Vorraus.

von Reinhard Kern (Gast)


Lesenswert?

ich schrieb:
> Sieht man da nicht den Bildaufbau deutlich?

Ja und? Wenn du mit deinem SuperMultiCore-PC eine Website aufrufst, 
siehst du auch den Bildaufbau, das stört doch niemand. Wenn du das 
vermeiden willst, z.B. für Bewegtbilder, musst du schon zu besonderen 
Techniken greifen wie DMA in den Bildspeicher oder einen doppelten 
Bildspeicher. Eine Schnittstelle wie SPI ist dafür ganz und gar 
ungeeignet.

Wenn genügend Speicher drin ist, um das neue Bild im Hintergrund zu 
schreiben und dann umzuschalten, siehst du zwar keinen Bildaufbau, aber 
die Bandbreite wird dadurch nicht grösser, Video geht also nicht. Dafür 
solltest du den Bildinhalt wenigestens 60 mal pro Sekunde schreiben 
können, das wären mehr als 20 MB/s.

Gruss Reinhard

von Olaf (Gast)


Lesenswert?

> Sieht man da nicht den Bildaufbau deutlich?

Woher sollen wir wissen wie dein Bild aussieht?

Zum Video kucken reicht es nicht, aber um bei einer Messanwendung ein 
paar Zahlen zu aktualisieren oder einen Graphen auszugeben ist es 
schnell genug.

Olaf

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

ich schrieb:
> 4MHz SPI betreibe, sind das ja
> 1/4MHz=0,25us pro bit. Also 391680us ~ 0,4s

Je nach Display Controller und Microcontroller geht natürlich auch mehr. 
Weiss nicht, wieviel der Display Controller mitmacht, aber ein einfacher 
AVR @20Mhz kann ja schon 10Mhz SPI, wäre ja schon weniger als 0,2s.

von Achim M. (minifloat)


Lesenswert?

In die Siemens S65 Displays (3:4 als 128px*192px, 16bit per pixel) wird 
im Telefon original mit 13,xxMHz SPI Takt rein gepustet. Die 
Originalsoftware schreibt immer ganze Frames. Framerate beträgt ca. 
30Hz.

mfg mf

PS: 20MHz AVR, ganze Frames schreiben, woher nehmen? Du brauchst 
Bildspeicher. Bei 10MHz und 16bit serieller Ansteuerung komm ich auf 
eine Framerate von knapp über 7Hz. reicht das für ein Messgerät? Wärend 
du abliest, sollten die Daten eh eingetrudelt und statisch sein.

von Frank K. (fchk)


Lesenswert?

ich schrieb:
> Hallo zusammen, ich hab da mal eine Frage.
> Ich habe bei Ebay ein kleines 2" RGB-LCD gesehen, der eine SPI
> kompatible Schnittstelle hat

Vorsicht. Bei manchen Controllern dient das SPI nur dazu, die 
Controllerparameter zu übertragen und damit das Display zu steuern. Das 
eigentliche Bild wird dort über eine separate RGB+H/VSYNC+CLOCK 
Schnittstelle übertragen. Du solltest das Datenblatt des Displays und 
des Controllers genau dahingehend abprüfen, ob Du über SPI tatsächlich 
Bildinhalte übertragen kannst. Es gibt solche und solche.

fchk

von ich (Gast)


Lesenswert?

Es ist der ILI9320 (www.chipcad.hu/letoltes/ILI9320.pdf). Ich will damit 
keine Videos abspielen, doch ein kleines Menü, wo die 
Menüpunkthintergrundfarbe (nettes Wort) gewechselt werden muss (also von 
2 Punkten der Hintergrund) und ggf eine ganze Seite neu geladen werden 
muss. Klar sind da 0,4s nicht so viel, aber schneller wär besser (aber 
auch nicht zwingend nötig).

Auf Seite 112 sind die "Serial Data Transfer Interface Timing 
Characteristics". Dort steht, dass Tscyc mindestens 100µs sein dürfen. 
Das wären ja maximal 10kHz, was ich schon ziemlich langsam finde. Aber 
in der Grafik auf der nächsten Seite steht, dass sich Tscyc aus quasi 
Tsch, Tscl und 2 mal Tscf zusammensetzt. Doch wenn man da die 
Minimalwerte addiert, kommt man auf 40ns+40ns+2*5ns = 90ns -> 
11,111...MHz. Heißt das, dass man auch mit z.B. 10MHz SPI arbeiten kann 
oder gilt die Tscyc von oben, sprich 10kHz. Ich mein da is der Faktor 
1000 drin und mit 10kHz eine Hintergrundfarbe zu wechseln macht auch 
kein Spaß.

von ich (Gast)


Lesenswert?

Hat keiner eine Idee? Wär schade, wenn es nur mit 10kHz machbar ist. Die 
sind find ich recht günstig

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.