Forum: Mikrocontroller und Digitale Elektronik OLED und AVR


von Stefan (Gast)


Lesenswert?

Hallo Forum,

ich habe hier ein OLED, das ich ansteuern möchte. Das OLED verfügt über 
verschiedene Ansteuer-Möglichkeiten: SPI (20MHz) und parallel (3.3MHz). 
Es besitzt 128x128Pixel mit 18Bit für die Farbe.

Ich möchte gerne mit 24 Bildern/sec einen Film damit abspielen. Für die 
Ansteuerung habe ich an einen ATmega mit seriellen FLASH gedacht. In dem 
FLASH sollen die Informationen im RAW-Format liegen.

Jetzt die eigentliche Frage: würde ein ATmega mit 16MHz reichen das 
Display mit 24 Bilder /sec über SPI anzusteuern oder brauche ich hierfür 
die parallele Ansteuerung?

Hat jemand von Euch Erfahrung hiermit?

Danke und schönes Wochenende
Stefan

von soundso (Gast)


Lesenswert?

mal überlegen :

128 x 128 picel = 16384 Pixel a 18 Bit

da das ned funtz mit 18 bit -> 24 bit (3*8Bit)

ein Bild besteht also aus: 393216 Bits oder 49152 Bytes

das Ganze mal 24 ergibt 1179648 Bytes poro Sekunde

der AVR müsste also ca. 1 Mbyte/s aus dem flas auf das Display 
schreiben.

Bei 16Mhz kann der avr gerade (wenn alls also optimal angeschaut wird) 
2000000 Bytes via SPI übetragen.

Da er aber die Daten zuerst aus dem Flash holen muss und danach wider 
via SPI ans Display senden muss wird das nie klappen.

gruss

von Mario G. (mario)


Lesenswert?

Was ist es denn für ein OLED? Ich nehme an ein PM-OLED vin RIT oder so 
mit Controller (SSD1353 oder so). Wahrscheinlich ist ein Controller 
drauf. Ich habe ein 160x128 PM-OLED von RIT erfolgreich mit AVR 
angesteuert. Der Controller ist einfach anzusteuern...

von Dex (Gast)


Lesenswert?

Hi

soundso schrieb:
> Bei 16Mhz kann der avr gerade (wenn alls also optimal angeschaut wird)
> 2000000 Bytes via SPI übetragen.

Nur Interressehalber wie kommt man auf 2000000 Bytes ?

mfg
Dex

von spess53 (Gast)


Lesenswert?

Hi

>Nur Interressehalber wie kommt man auf 2000000 Bytes ?

Das frage ich mich auch. Bei 16MHz und Doublespeed ist ein SPI-Takt von 
8MHz möglich.

MfG Spess

von soundso (Gast)


Lesenswert?

hallo

sorry hab mich verguckt und nochmals nachgeschaut:

bei den megax8 kann maximal 10Mhz SPI tackt ereicht werden.

das bedeutet maximal 1250000 Bytes/s (es braucht nun mal 8 Takte pro 
Byte)

bessere Variante :

atXmega -> hat DMA, damit könnte man mit externem Flash evtl. die 
Datenrate hinkriegen. die gibts mit 2 SPI und Dma, das ding kann also 
alles im DMA modus machen. sie sind auch noch schneller getaktet.

damit müsste es gehen ...

von Stefan (Gast)


Lesenswert?

Hallo zusammen,

danke für die Anregungen.
Ich habe mich ein wenig in das Datenblatt des ATxmega eingelesen und bin 
auf folgenden Sachverhalt gestoßen:
Ich kann die Peripherie mittels PLL mit max. 200MHz ansteuern. Das würde 
bedeuten, dass ich von der Zeit her den Speicher und das OLED per SPI 
ansteuern könnte - richtig?

Bei dem OLED handelt es sich um eines von der Firma Rit. Der Controller 
ist der SSD 1351

Gruß
Stefan

von Mario (Gast)


Lesenswert?

Darf ich mal fragen, was du damit machen willst?
Wenn du einen Film oder eine Sequenz abspielen willst, mußt die ja im 
Flash (oder RAM) gespeichert sein und da wirds eng mit dem Atmega (oder 
ATxmega).

Die Displays sind afaik für eher statische Inhalte gedacht.
Du kannst auch den 16-Bit-Modus (565) verwenden, dann brauchst du pro 
Pixel nur 2 Byte übertragen. Wird aber trotzdem knapp nix mit 24 
Bilder/s:
128x128 = 16384 Byte x 2 = 32768 Byte x 24 Bilder/s = 786432 Byte/s

Das SPI-Interface (am Display) ist glaube ich begrenzt (s. Datenblatt).

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.