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.
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
> 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
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.
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.
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
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ß.