mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OLED und AVR


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: soundso (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mario Grafe (mario)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Dex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: soundso (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mario (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.