Forum: Mikrocontroller und Digitale Elektronik Probleme mit Bildübertragung von VGA auf RGB Display


von Stefan E. (stefan_e20)


Angehängte Dateien:

Lesenswert?

Mein Autoradio hat einen RGB (c sync) Eingang. Er arbeitet mit dem PAL 
oder NTSC Standart (ist umschaltbar).
Nun wollte ich ein VGA Signal auf das Display schicken. Da das VGA Kabel 
ein getrenntes Horizontal und Vertikal Signal bekommt, hab ich einen 
kleinen Wandler gebaut. Den Plan hab ich aus dem Internet.

Leider weiß ich nicht mit welcher Herz zahl und Auflösung der Display 
läuft...
Das Problem ist, dass das Bild nicht richtig übertragen wird. Bei einer 
Auflösung von 1024 x 768 hab ich den Desktop 3 mal auf dem Bildschirm. 
Also Höhe würde stimmen, aber die Breite nicht.
Stelle ich die Auflösung niedriger ein, schaltet er die 5 Volt auf den 
Synchronisations Kanälen ab. Sprich der Wandler arbeitet nicht richtig.
Ich hab dann mal 5V an den Transistor gelegt, hat aber auch nicht viel 
gebracht.
Ich hab schon einiges ausprobiert (Auflösung, Herz...) aber ich komm 
nicht auf den Fehler

Gibt es einen Verstärker um die 2 Signal auf 5 V anzuhaben?

Habt ihr eine Idee an was es liegen könnte?


Vielen Dank! Grüße Stefan

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Stefan E. schrieb:
> Mein Autoradio hat einen RGB (c sync) Eingang. Er arbeitet mit dem PAL
> oder NTSC Standart (ist umschaltbar).

Wenn es einen RGB-Eingang hat, nutzt es nicht PAL oder NTSC, sondern 
höchstens die mit diesen Standar_d_s meistens verwendeten 
Bildwechselfrequenzen, nämlich 50 bzw. 60 Hz.

> Stelle ich die Auflösung niedriger ein, schaltet er die 5 Volt auf den
> Synchronisations Kanälen ab.

Was magst Du mit diesem Satz meinen? Wer ist "er" und wer sind 
"Synchronisations Kanäle"?

Meinst Du damit, daß Dein PC keine H/V-Sync-Signale erzeugt, wenn Du 
eine geringere Auflösung als XGA verwendest?

Welche Auflösung hat überhaupt Dein Autodisplay?

von Reinhard Kern (Gast)


Lesenswert?

Stefan E. schrieb:
> Sprich der Wandler arbeitet nicht richtig.

Das soll wohl ein Witz sein - wie soll denn diese Schaltung die 
Pixelzahl umwandeln und die Ablenkfrequenzen? Dafür braucht man einen 
echten Bildwandler von VGA auf Fernsehnorm. Die Horizontalfrequenz von 
VGA ist doppelt so hoch wie bei einem Fernseher, u.a.

Gruss Reinhard

von mhh (Gast)


Lesenswert?

Da Du während der Fahrt sicherlich kein Crysis spielen wirst, stopfe 
eine kleine Grafikkarte mit TV-out Anschluss in den Car-PC.

von mhh (Gast)


Lesenswert?

(Falls RGB wirklich RGB ist, gibt es sicher noch einen Composite Eingang 
für die nach hinten-guck-Kamera.)

von Soul E. (Gast)


Lesenswert?

Stefan E. schrieb:

> Leider weiß ich nicht mit welcher Herz zahl und Auflösung der Display
> läuft...

Entweder 15,625 kHz / 50 Hz oder 15,734 kHz / 60 Hz. Die Auflösung ist 
dann entweder 720x576 oder 640x480.

Du brauchst eine Graphikkarte, wo Du diese Werte einstellen kannst. Das 
kann nicht jede, weil PC-Monitore in völlig anderen Frequenz- und 
Auflösungsbereichen arbeiten.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

soul eye schrieb:
> Du brauchst eine Graphikkarte, wo Du diese Werte einstellen kannst. Das
> kann nicht jede, weil PC-Monitore in völlig anderen Frequenz- und
> Auflösungsbereichen arbeiten.

diese kleinen externen WWandlerboxen könnte man auch dazwischen setzen. 
Kosten nicht viel, und machen die notwendige Wandlung direkt und richtig

von Stefan E. (stefan_e20)


Lesenswert?

Vielen Dank für die schnellen Antworten!

Rufus Τ. Firefly schrieb:
> Was magst Du mit diesem Satz meinen? Wer ist "er" und wer sind
> "Synchronisations Kanäle"?
>
> Meinst Du damit, daß Dein PC keine H/V-Sync-Signale erzeugt, wenn Du
> eine geringere Auflösung als XGA verwendest?

So in der Art. Der VGA Ausgang von Laptops gibt bei einer größeren 
Auflösung wie 1024x768 am H und V-Sync das Signal + eine Spannung 5 Volt 
raus. Ist die Auflösung niedriger eingestellt, schickt es nur das Signal 
raus ohne die 5V


Reinhard Kern schrieb im Beitrag:
> Das soll wohl ein Witz sein - wie soll denn diese Schaltung die
> Pixelzahl umwandeln und die Ablenkfrequenzen? Dafür braucht man einen
> echten Bildwandler von VGA auf Fernsehnorm. Die Horizontalfrequenz von
> VGA ist doppelt so hoch wie bei einem Fernseher, u.a.

Hallo Reinhard, der Sinn des Wandlers ist nicht die Auflösung zu ändern, 
die stell ich am PC ein. Der Wandler soll nur das H und V Sync Signal zu 
einem C-Sync Signal (Composite-Syncronisations-Signal) wandeln


mhh schrieb:
> (Falls RGB wirklich RGB ist, gibt es sicher noch einen Composite Eingang
> für die nach hinten-guck-Kamera.)

Leider hat das Radio keinen Comopsite Eingang... Das wäre mir am 
liebsten, denn mein PC hätte einen solchen Ausgang


Ich hab die Bedenke, das es an der Spannung des H/V Sync Signals liegt. 
Da bei der Auflösung von 1024x768 schon ganz gut aussieht. Könnte es 
sein, dass wenn eine zu große Auflösung eingespeißt wird, der Display 
die Breite des Bildes runtersetzt?

von c-hater (Gast)


Lesenswert?

Stefan E. schrieb:

> Habt ihr eine Idee an was es liegen könnte?

Daran, daß ein VGA-Ausgang normalerweise eben VGA (oder höher) Timing 
liefert und kein PAL/NTSC.

Die allermeisten Grafikkarten lassen sich allerdings auch so 
umprogrammieren, daß sie NTSC-Timing liefern.

Das Blöde ist bloß: Der Treiber muß das unterstützen und da hast du bei 
Wixdos schlechte Karten, weil die Herstellertreiber ein derartiges 
Feature praktisch nie anbieten (eine Zeit lang ging das mit NVidia, aber 
jetzt schon lange nicht mehr).

Zwei Auswege:

1) Linux verwenden
2) Kostenpflichtigen Treiber für Windows beschaffen, der das ermöglicht 
(PowerStrip von entechtaiwan.com)

von c-hater (Gast)


Lesenswert?

Stefan E. schrieb:

> Ich hab die Bedenke, das es an der Spannung des H/V Sync Signals liegt.

Nein, tut es nicht. Das Display snchronisiert ja offensichtlich.

> Da bei der Auflösung von 1024x768 schon ganz gut aussieht. Könnte es
> sein, dass wenn eine zu große Auflösung eingespeißt wird, der Display
> die Breite des Bildes runtersetzt?

Ja, es synchronisiert offensichtlich auf jede dritte Zeile, d.h. 
innerhalb einer Zeile des Displays laufen drei Zeilen auf der 
Grafikkarte ab.

XGA:
768 Zeilen * 60Hz Bildfrequenz = 46kHz Zeilenfrequenz

NTSC:
525 Zeilen * 30Hz (Voll-)Bildfrequenz = 15.5kHz Zeilenfrequenz

Paßt also, ziemlich genau das Dreifache.

von Stefan E. (Gast)


Lesenswert?

Hab den Fehler bei niedriger Auflösung gefunden.
Die Grafikkarte schaltet die 5V auf dem HSync ab. Hab jetzt direkt auf 
den IC 5V und das Ergebnis ist, bei jeder Auflösung ein Synchronisiertes 
Bild, aber immer noch 3 fach in der Horizontalen...
Ist es möglich über ein bestimmten Baustein nur jedes dritte H Sync 
Signal durch zu geben?

Ich möchte eigentlich einen Raspberry auf dem Monitor anschließen. Da er 
nur Composite oder HDMI hat, hab ich mir einen Adapter von HDMI auf VGA 
gekauft. Wenn ich den dazwischen schalte, habe ich das gleiche Ergebnis. 
Wieder die 3 Bilder

Bin schon den ganzen Tag am überlegen, komm aber nicht auf eine 
Lösung...
Könnte mir bitte jemand einen kleinen Denkanstoß geben? ;)

von Falk B. (falk)


Lesenswert?

@ Stefan E. (Gast)

>Ist es möglich über ein bestimmten Baustein nur jedes dritte H Sync
>Signal durch zu geben?

Kann man, löst dein Problem aber nicht. Was nütz dir ein langsamerer 
Sync, wen die dazugehörigen Bilddaten zu schnell sind?

>Ich möchte eigentlich einen Raspberry auf dem Monitor anschließen. Da er
>nur Composite oder HDMI hat, hab ich mir einen Adapter von HDMI auf VGA
>gekauft. Wenn ich den dazwischen schalte, habe ich das gleiche Ergebnis.
>Wieder die 3 Bilder

Falsche Entscheidung. Nimm doch gleich Composite! Genau das will dein 
Display doch haben! Ach nee, das ist ja ein komischer propitärer 
Standard. Aber Composite könnte man per Konverter auf RGB + Synch leicht 
wandeln. Allerdings ist die Qualität dabei schlechter als HDMI, was ja 
volldigital ist. Oder man versucht, der Himbere einen Sub-VGA Mode 
bezubringen, keine Ahnung ob man das schafft.

von c-hater (Gast)


Lesenswert?

Stefan E. schrieb:

> immer noch 3 fach in der Horizontalen...
> Ist es möglich über ein bestimmten Baustein nur jedes dritte H Sync
> Signal durch zu geben?

Das bringt garnix, die "überflüssigen" Syncs ignoriert das Display ja 
schon von sich aus.

Wenn du kein passendes Timing erzeugen kannst, brauchst du einen Puffer 
zur zeitlichen "Dehnung" der Bilddaten. Im konkreten Fall ist allerdings 
ein vollständiger Framebuffer nicht nötig, ein Zeilenpuffer würde 
eigentlich schon genügen.

Allerdings ist der Unterschied im Aufwand gering, einzig die Größe des 
benötigten Pufferspeichers ist beim Framebuffer größer, nämlich um den 
Faktor der Zeilenzahl.

Eigenbau lohnt in keinem Fall, denn fertige Framebuffer gibt's ja schon 
für 30 oder 40 Euro. Dafür kannst du nicht annähernd selber einen bauen, 
auch keinen Zeilenpuffer.

Der bessere Ansatz ist also, den Grafiktreiber zu patchen. Blöderweise 
ist der aber beim Pi ClosedSource.

Also: eindeutiger Fehlkauf. Ungeeignet für die konkrete Anwendung.

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.