Hallo, Ich möchte ein OLED-Display mit einem FPGA ansteuern. Leider ist das Datenblatt zu dem Display dürftig .. viel Bildchen und Tabellen aber keine Erklärungen. http://www.andilcd.de/medien/de/download/controller/andilcd_conoled_sheet_de_hx5116.pdf 1. Durch die SPI-Schnittstelle wird das Display Initialisiert. Ich verschicke dabei seriell für jeden konfigurationsschritt 32bit. Die höchsten 16 bit legen die adresse für das register fest und die 16 unteren bits legen die eigentliche konfiguration fest. hab ich das so richtig verstanden? 2. HSYNC und VSYNC .. beide Signale sind dazu da um den Bildspeicher mit der Anzeige zu synchronisieren. HSYNC für die Zeilen und VSync für die Spalten in jeder Zeile. (Bild wird ja Zeilenweise von links nach rechts aufgebaut). Während das Sync ausgeführt wird, kann ich da weiterhin RGB daten übertragen? Muss ich nach jeder Zeile einen HSYNC ausführen und nach jeder Spalte einen HSYNC? -> was würde passieren wenn ich erstmal alles in den speicher lade und dann synchronisiere? mfg
mikrofriendly schrieb: > 1. Durch die SPI-Schnittstelle wird das Display Initialisiert. Ich > verschicke dabei seriell für jeden konfigurationsschritt 32bit. Die > höchsten 16 bit legen die adresse für das register fest und die 16 > unteren bits legen die eigentliche konfiguration fest. hab ich das so > richtig verstanden? Dem von dir verlinkten Datenblatt entnehme ich einen SPI-FRAME von 16 bit, nicht 32. die ersten 7 stehen fuer die Adresse, dann ein read/write bit und dann 8 bit daten. So stehts auf Seite 9 Zu deinem zweiten Problem: active-edge (also bei HIGH active signal ein rising edge) definiert den Beginn einer neuen Zeile. Was genau du Spalte meinst kann ich nicht ganz nachvollziehen. Ein Videoframe hat normalerweise Zeilen, die wiederrum aus aus bestimmten Anzahl Pixeln bestehen. HSYNC zeigt den Beginn einer neuen Zeile an, waehrend VSYNC den Beginn eines neuen Frames anzeigt. Spalten gibts eigentlich selten (hab hier n sensor der sowas kann, gehoert hier aber nicht her). Ich finde die Timings eigentlich recht eindeutig und anschaulich erklaert. Ich denke allerdings du bist dir noch nicht so ganz im Klaren was du genau eigentlich da bauen willst. Welche Aufloesung und welche Framerate benutzt du eigentlich?
Ja stimmt es sind 16bit, .. :) Ich nutze ein Display mit 480x272 Bixeln. Also habe ich das so richtig verstanden? HSYNC-Signal bestimmt wann eine neue Zeile Beginnt. Ich muss also wenn mein 8bit RGB serialbus mit 33MHZ getaktet wird. Jede 17,973KHz eine HSYNC Flanke bringen (Wie auf Abbildung S. 61). Auf die HSYNC Frequenz bin ich durch die Angaben von S. 45 gekommen. f(HSYNC) = f(clk) / 1836 = rund 18kHz Dabei bleibt der HSYNC Impuls 90 * 1/clk = 2,7us breit. VSYNC dagegen beschreibt also wann ein neues Frame beginnt. Somit habe ich rund 60Hz ausgrechnet. Mit f(VSYNC) = f(clk) / 302 = 59,5Hz Können während die VSYNC und HSYNC Signale anliegen RGB Informationen übertragen werden? >Ich finde die Timings eigentlich recht eindeutig und anschaulich >erklaert. Ich denke allerdings du bist dir noch nicht so ganz im Klaren >was du genau eigentlich da bauen willst. Welche Aufloesung und welche >Framerate benutzt du eigentlich? Mein problem war eigentlich nur das Verständnis wie ein Videosignal aufgebaut ist, nicht die Interpretation von Impulsdiagrammen. Leider steht zur erklärung der Signale zu wenig im Datenblatt, sodass jemand der noch nie etwas mit Display´s zutun hatte versteht, weshalb man diese Signale überhaupt anlegen muss. Vielen danke für deine erklärung :) mfg
mikrofriendly schrieb: > Mein problem war eigentlich nur das Verständnis wie ein Videosignal > aufgebaut ist, nicht die Interpretation von Impulsdiagrammen. Leider > steht zur erklärung der Signale zu wenig im Datenblatt, sodass jemand > der noch nie etwas mit Display´s zutun hatte versteht, weshalb man diese > Signale überhaupt anlegen muss. NTFS und PAL sind Standards, darueber gibts im weiten weiten Web tausend und mindenstens noch 2 Erklaerungen. Wie genau H-Sync und V-Sync bei diesen definiert sind, weiss ich aus dem Kopf auch nicht. Sie kommen beide noch aus zeiten des Roehrenbildschirms, wo am Ende der Zeile ein Elektronenstrahl zurueckgesetzt werden musste. Daher musste ein blanking zwischen 2 Zeilen. Das ist bei digitalen Anzeigen meist nicht mehr so, es sei denn sie basieren noch auf PAL/NTFS. Bei Wiki steht sicherlich auch was ueber den genauen Video aufbau von PAL, wie genau die Sync pulse definiert sind laesst sich sicherlich auch recht einfach finden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.