Video - Format - Oled - Mikrocontroller

#2182152
Lesenswert?

Matthias Laubnitz schrieb:
> - Gibt es vorhandene Routinen in C

Für das entsprechende Display evtl. schon, für die SD-Karte mit 
Sicherheit.

Matthias Laubnitz schrieb:
> auf einem Oled 65k Farben (128x96)

Weisst du schon welches Display es genau wird? Prinzipiell ist es 
einfacher ein Videosignal zu erzeugen und das auf einem 'fertigen' 
Display laufen zu lassen.

Matthias Laubnitz schrieb:
> - Welche µC

Das kommt auf die Framerate an. Wenn du nur 5fps brauchst, dann tut es 
auch ein etwas größerer ATMEGA, ansonsten würde ich ARM und/oder FPGA 
empfehlen ...
OP #2182240
Lesenswert?

Lehrmann Michael schrieb:
> Für das entsprechende Display evtl. schon, für die SD-Karte mit
> Sicherheit.

Ich meinte eigentlich um zum Beispiel ein MPEG Video von der SD-Karte zu 
lesen.

Lehrmann Michael schrieb:
> Weisst du schon welches Display es genau wird? Prinzipiell ist es
> einfacher ein Videosignal zu erzeugen und das auf einem 'fertigen'
> Display laufen zu lassen.

http://www.futaba.co.jp/en/dbps_data/_material_/radicon_eng/Display_and_Module/oled/pdf/110418standard_revk.pdf

Das EL474.

Lehrmann Michael schrieb:
> Das kommt auf die Framerate an. Wenn du nur 5fps brauchst, dann tut es
> auch ein etwas größerer ATMEGA, ansonsten würde ich ARM und/oder FPGA
> empfehlen ...

Es solletn schon so 20fps sein.
Gast #2186076
Lesenswert?

Ich schreibe in meinem Blog ausschliesslich über die OLED. Da ich über 
diese Technologie eine sehr hohe Meinung habe.

Würde mich über einen Besuch und Kommentar freuen: www.oled-online.de

MbG

Ruben
OP #2186268
Lesenswert?

Mich interessiert eher die Ansteuerung bzw. das Darstellen von Videos.

Ich habe eine Oled mit 128x96 Pixel. Um ein Pixel zu schreiben benötige 
ich 16Bit. Da es sich bei der Datenübertragung um ein 8-Bit parallel 
Interface handelt muss ich 2x8Bit senden für 1 Pixel.

128x96x2 = 24576 Hz für ein Frame per second. Bei 20 fps muss ich die 8 
Bit mit 491,520 kHz senden allerdings auch noch per SPI seriell die 
Daten von der SD-Karte lesen.

Geht das mit nem Atmega32 ? Kann man das mit einem Codec vereinfachen? 
Ich habe keine Vorstellung.
#2186301
Lesenswert?

Die Datenrate beträgt bei 20fps ungefähr 4MBit (128px*96px*16bit*20fps). 
Also 4Mhz SPI-Frequenz, der Atmega32 schafft bei 16MHz AFAIK maximal 
8MHz. Das Lesen von der SD-Karte könnte dann knapp werden. Besser dran 
bist du mit einem µC mit DMA, dann geht das Datenschaufeln, ohne, dass 
der µC jedes Byte einzeln anfassen muss.

http://rossum.posterous.com/avr-homebrew-device-with-iphone-aspirations
schafft das. Auf einen komprimierenden Videocodec solltest du 
verzichten, da diese sehr CPU-Hungrig sind.
Gast #2186329
Lesenswert?

Grob zusammengefasst mit mplayer/mencoder auf die passende 
Auflösung/Framerate  runtergerechnet. Jedes Bild als raw daten 
gespeichert und dann zu einer Datei zusammengefügt. Das gleiche gilt für 
den Sound.
Gast #2186389
Lesenswert?

Ich hab nochmal nachgeschaut. Hab das mit mencoder in jpg´s gewandelt 
und dann mit diesem script bearbeitet. :)
<code>
<?php

for($i = 1; $i < 488; $i++)
{
    $file = sprintf("./%08d.jpg", $i);
    echo $file."\n";
/*
    $im = imagecreatefromjpeg($file);

    for($y=0; $y<67; $y++)
    {
  for($x=0; $x<98; $x++)
  {
          $rgb = imagecolorat($im, $x, $y);
      $r = ($rgb >> 16) & 0xFF;
      $g = ($rgb >> 8) & 0xFF;
      $b = $rgb & 0xFF;
      printf("%c%c", (($r & 0xF8) | (($g>>5) & 0x07)), ((($g<<3) & 0xE0) 
| (($b>>3) & 0x1F)));
  }
    }
    imagedestroy($im);
*/
}
?>
</code>
Gast #2186390
Lesenswert?

mift, falsche klammern....
1
<?php
2

3
for($i = 1; $i < 488; $i++)
4
{
5
    $file = sprintf("./%08d.jpg", $i);
6
    echo $file."\n";
7
/*    
8
    $im = imagecreatefromjpeg($file);
9

10
    for($y=0; $y<67; $y++)
11
    {
12
  for($x=0; $x<98; $x++)
13
  {
14
          $rgb = imagecolorat($im, $x, $y);
15
      $r = ($rgb >> 16) & 0xFF;
16
      $g = ($rgb >> 8) & 0xFF;
17
      $b = $rgb & 0xFF;
18
      printf("%c%c", (($r & 0xF8) | (($g>>5) & 0x07)), ((($g<<3) & 0xE0) | (($b>>3) & 0x1F)));
19
  }
20
    }
21
    imagedestroy($im);
22
*/
23
}
24
?>

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