Forum: Mikrocontroller und Digitale Elektronik Fernseher RGB: Frage zu Sync-Timing


von Sebastian Hepp (Gast)


Lesenswert?

Hallo,

ich möchte mir demnächst eine Grafikkarte bauen, mit der ich Fernseh-
geräte per RGB(SCART-Kabel) ansteuern kann. Als Kontroller möchte ich
einen PIC-Mikrocontroller verwenden. Als Auflösung dachte ich an
256x128 => Das passt genau in 32Kx8 SRAMs. Conrad bietet gerade welche
mit 12ns Zugriffszeit für 5,22 Euro an. Wenn ich 2 benutze könnte ich
sogar Doublebuffering implementieren. Achja, ich wollte 256 Farben
benutzen, wie im Beispiel von Benedikt.

Jetzt habe ich noch Fragen zu dem Synchronisationssignal, welches über
FBAS gesendet wird. Der Anschluss muss ja auf etwa 0,3V gehalten werden.
Für das Sync-Signal wird der Anschluss auf 0V gelegt. Die vordere
Schwazschulter ist 1,5us lang, HSync ist 4,7us und hintere 
Schwarzschulter
5,8usec lang? Stimmt das?
Der HSync wird alle 64us gesendet. Die Farbdaten beginnen bei 10,5us 
nach
beginn des HSync und gehen 52us lang.
Die Auflösung entspricht dabei einfach, wie schnell ich die Farbdaten
sende, richtig? Reicht es, wenn ich eine Auflösung von 0,1us benutze?

VSync: geht 2,5 Zeilen lang. Wird FBAS also für 2,5*64us lang auf 0V
gelegt? In der Wikipedia steht, dass Fernseher eine Auflösung von
550 Zeilen (eigentlich 625, aber 75 sind nicht zu sehen, wegen VSync)
haben. Was passiert, wenn ich schon nach 128 Zeilen einen VSync sende?
Passt das Gerät dann die Auflösung an? Oder geht es kaputt?

Viele Grüße
Sebastian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Was passiert, wenn ich schon nach 128 Zeilen einen VSync sende?

Das Bild "läuft durch".

> Passt das Gerät dann die Auflösung an?

Nein.

> Oder geht es kaputt?

Unwahrscheinlich. Einfache Modelle reagieren empfindlich auf ungeeignete 
Horizontalfrequenzen, aber eine unpassende Vertikalfrequenz sorgt 
einfach nur für ein vertikal durchlaufendes Bild.

von Sebastian Hepp (Gast)


Lesenswert?

> Das Bild "läuft durch".

Wenn der Fernseher nicht auf meine Sync Signale achtet,
wozu hat man diese dann?

von Niels K. (niels-k)


Lesenswert?

Vergiss mal die Wikipedia, da ist nur die halbe Wahrheit drinne.


Diese Seite hat mir bei der Entwicklung eines schwarzweis Pongs 
weitergeholfen. Ein Teil der Informationen ist aber aus einem anderen im 
Internet verfügbaren PDF entnommen.
Trotzdem gut

http://kabelwalter.de/DasFernsehen/videosignal.shtml

von Michael U. (amiga)


Lesenswert?

Hallo,

Sebastian Hepp schrieb:
>> Das Bild "läuft durch".
>
> Wenn der Fernseher nicht auf meine Sync Signale achtet,
> wozu hat man diese dann?

Damit das Bild syncron aufgebaut werden kann vielleicht? ;-)

Der achtet schon auf Deine Sync-Signale. Der ist aber ein PAL-Fernseher 
für 625 Zeilen/50 Halbbilder und kein Multi-Sync-Monitor für beliebig 
erfundene Auflösungen. :-)

Man kann üblicherweise statt eines Halbbildsignals auch ein 
Vollbildsignal mit 312,5 Zeilen/50 Vollbildern erzeugen. Selbst die 
halbe Zeile darf man auf- oder abrunden. Damit kommen übliche Fernseher 
durchaus zurecht.

Gruß aus Berlin
Michael

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Sebastian Hepp schrieb:
>> Das Bild "läuft durch".
>
> Wenn der Fernseher nicht auf meine Sync Signale achtet,
> wozu hat man diese dann?

Mit dem Sync wird ein freilaufender Oszillator synchroniert. Dessen 
Frequenz kannst Du damit nur in kleinen Grenzen anpassen. Den Sync 
vorher senden bedeutet, dass der Oszillator einfach nach gut Dünken 
weiterläuft. Das ist aber nicht genau. Daher das "durchlaufen".

von Sebastian Hepp (Gast)


Lesenswert?

Okay, der Link von Niels Keller hat mir schon viel weiter geholfen.

Ich sende meine 128 Zeilen einfach doppelt (In jedem Halbbild).
Dann habe ich 256 Zeilen, wovon effektiv nur 128 genutzt werden.
Unten ist dann zwar ein schwarzer Rand, aber das ist nicht so schlimm.

Wenn ich 256 Pixel/Zeile habe, macht das, bei 52us pro Zeile, 0,20...us.
Wenn ich also ein 10MHz Oszillator an den Timer0 Anschluss des PICs
dranhänge, müsste das doch funktionieren. Ich dachte auch an einen PIC,
der alle Signale steuert und an einen weiteren, der den Speicher aus-
wählt und schreibt. Wenn ich den Steuer-PIC mit 10MHz betreibe, dann
bleibt nicht viel zeit für andere Dinge und mit einem 2. PIC kann
ich das schön trennen. Der Steuer-PIC sendet einfach die Sync-Signale 
und
die Adressen, die wiederum vom Multiplexer auf den SRAM gelegt werden.
Der Multiplexer wird vom Daten-PIC gesteuert, welcher auch eine 2. 
Adresse
auf den MUX legen kann und steuer, ob die SRAMS gerade ausgeben, oder
beschrieben werden. Dabei wird das zu schreibende Signal zwar auch an
den Fernseher gesendet, aber das ist ja nur kurz der Fall.

Vielen Dank für eure Antworten

Viele Grüße
Sebastian

von Sebastian Hepp (Gast)


Lesenswert?

Kleine Verbesserung:

Ich werde je PIC einen 10MHz Oszillator benutzen, aber nicht als
Timer sondern als Takt.

Ausserdem werde ich nur einen SRAM benutzen. Ansonsten wird die Platine
wegen den Multiplexern und der zusätzlichen Logik zu groß.

Ich werde wohl jetzt schon eine 2 seitige Platine benutzen müssen,
um die ganzen Leitungen verlegen zu können. Bei einer Einseitigen wird
das Layout einfach zu groß.

Viele Grüße
Sebastian

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.