Forum: Mikrocontroller und Digitale Elektronik RGB (TTL) Signal mit Raspberry Pi


von Max (micromax2000)


Angehängte Dateien:

Lesenswert?

Servus,

Ich benötige etwas Aufklärung zum Thema RGB Video Signal.

Hintergrund:
Der Röhrenmonitor im Bedienpult einer älteren Maschine wurde durch einen 
moderneren LCD Display ersetzt. Ich habe zu diesem Display keine 
Informationen, auch nach dem Ausbau findet sich keinerlei Beschriftung, 
es gibt nur einen Eingang mit 25 poliger D Sub Buchse und dem Hinweis 
"Video (TTL)". Allem Anschein nach ist das ein spezieller Tauschdisplay, 
der direkt das RGB Signal der Maschinensteuerung verarbeiten kann.

Ich würde nun gerne diesen neuen Display unabhängig von der Maschine 
betreiben- und zwar mit dem Raspberry Pi. Den Display würde ich also 
einfach nur über die Kaltgerätebuchse versorgen und ein Videosignal mit 
dem Raspberry anschließen wollen.

Frage:
Kann mir jemand einen Weg vorschlagen, wie ich mit dem Raspberry ein 
RGB/ TTL Signal erzeuge?
Und:
Die Pinbelegung des Videosignals konnte ich den Maschinenunterlagen 
entnehmen und habe ich in den Anhang geladen. Das Signal kam 
ursprünglich durch einen passenden 25 poligen Harting Stecker (Im 
Schaltplan: X165), an diesem Stecker sind 5 Adern angeschlossen (R, G, 
B, Horizontal, Vertikal).

Ich kann dazu im Netz leider nichts passendes finden, ich freue mich 
über eine Anregung/ Link oder sonstiges und liefere gerne weitere 
Informationen, sofern ich kann.

Vielen Dank vorab,
Max

von Harald K. (kirnbichler)


Lesenswert?

Max schrieb:
> Ich würde nun gerne diesen neuen Display unabhängig von der Maschine
> betreiben- und zwar mit dem Raspberry Pi.

Dann musst Du herausfinden, mit welchem Timing das Display angesteuert 
werden muss.

Man kann vermuten, daß der alte Monitor (der dieses Timing vorgegeben 
hat, an das sich natürlich auch das neue Display halten  muss) mit dem 
üblichen "Fernseh-Timing" gearbeitet hat, 50 Hz Vertikalfrequenz, etwa 
16 kHz Zeilenfrequenz, aber das hat nicht jede Steuerung so gehandhabt. 
Es gab auch Röhrenmonitore, die mit EGA-Timing (60 Hz Vertikalfrequenz, 
21.8 kHz Zeilenfrequenz) oder gar VGA-Timing (60 oder 70 Hz 
Vertikafrequenz, knapp 32 kHz Zeilenfrequenz) angesteuert wurden.

Das kannst Du mit einem Oszilloskop am einfachsten herausfinden, das Du 
an die HSYNC/VSYNC-Signale der Steuerung anschließt, an X165 sind die 
mit horiz. und vert. beschriftet.

von Max (micromax2000)


Lesenswert?

Harald K. schrieb:
> Dann musst Du herausfinden, mit welchem Timing das Display angesteuert
> werden muss.

Ok, das finde ich heraus! Wie würde es danach weitergehen?

Viele Grüße,
Max

von Max (micromax2000)


Lesenswert?

Zu klären wäre wohl erstmal die Frage nach dem Anschluss. Ich muss ja 
auf 25 Pol D- Sub rauskommen.
Jetzt könnte ich entweder einen D- Sub Anschlussblock besorgen, damit 
könnte ich z.B. einzelne GPIOs des Raspberrys an die Pins des D- Sub 
verteilen.
Oder ich würde einen Adapter von HDMI auf D- Sub benötigen, sofern das 
Signal über HDMI generiert werden würde. Ich vermute mal das geht aber 
nicht, da RGB ja ein paralleles Signal ist?

Viele Grüße,
Max

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Max schrieb:
> Die Pinbelegung des Videosignals konnte ich den Maschinenunterlagen
> entnehmen und habe ich in den Anhang geladen.

Du meinst den hier angehängten Stecker?

Ein VGA-Signal könnte dem nahe kommen. Du solltest dir Signalverlauf und 
Pegel mit dem Oszi angucken.

p.s.
Dein Bild ist bei mir völlig verdreht und die Schrift steht zum Teil auf 
dem Kopf :-(

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Max schrieb:
> Zu klären wäre wohl erstmal die Frage nach dem Anschluss. Ich muss
> ja
> auf 25 Pol D- Sub rauskommen.
> Jetzt könnte ich entweder einen D- Sub Anschlussblock besorgen, damit
> könnte ich z.B. einzelne GPIOs des Raspberrys an die Pins des D- Sub
> verteilen.
Ueber die GPIOs wirst du nicht das entsprechende Timing hinkriegen, was 
du fuer Videosignale braeuchtest.

> Oder ich würde einen Adapter von HDMI auf D- Sub benötigen, sofern das
> Signal über HDMI generiert werden würde. Ich vermute mal das geht aber
> nicht, da RGB ja ein paralleles Signal ist?

Koennte evtl. gehen, ist aber nicht so ganz simpel. Und je nach dem 
Timing, was der Monitor braucht, koennte es auch kritisch werden. HDMI 
schwaechelt etwas bei niedrigen Aufloesungen, Pixeltakten, etc.

Gruss
WK

von Max (micromax2000)


Lesenswert?

Rainer W. schrieb:
> Du meinst den hier angehängten Stecker?

Genau.

Die Frage ist erstmal wie ich das Signal überhaupt generiere?
Die einzige Lösung auf die ich bislang gestoßen bin ist "RetroRGB"- eine 
Software die man als OS auf den Pi lädt und normalerweise zum Emulieren 
von Arcade Games auf CRT Monitoren verwendet.

Mit dieser Software könnte ich vermutlich schonmal ein passendes Signal 
erzeugen.
Hier komme ich aber nicht weiter, denn wie schließe ich das Signal vom 
Raspberry an die D- Sub Buchse an?

Viele Grüße,
Max

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Max schrieb:
> Hier komme ich aber nicht weiter, denn wie schließe ich das Signal vom
> Raspberry an die D- Sub Buchse an?

Das ist der unangenehme Part.
Guck dir mal z.b. das Datenblatt vom TFP401 von TI an. Oder ADV7611 von 
AnalogDevices.
Sowas von dem Kaliber wirst du brauchen, um HDMI wieder auf RGB 
umzusetzen. Dann nimmst du von den jeweils 8Bit RGB eben nur immer das 
MSB, dann noch H- und V-Sync und gehst mit diesen 5 Signalen auf einen 
TTL-Pegelwandler und dann auf deine Sub-D Buchse. Schon fertig (hihi)...

Gruss
WK

von Max (micromax2000)


Lesenswert?

Dergute W. schrieb:
> Sowas von dem Kaliber wirst du brauchen, um HDMI wieder auf RGB
> umzusetzen. Dann nimmst du von den jeweils 8Bit RGB eben nur immer das
> MSB, dann noch H- und V-Sync und gehst mit diesen 5 Signalen auf einen
> TTL-Pegelwandler und dann auf deine Sub-D Buchse. Schon fertig (hihi)...

Das hab ich befürchtet :D
Mir ist aber noch unklar, was es genau mit dem TTL auf sich hat.
Welches Signal benötige ich genau? Unter TTL Video Signal finde ich 
nichts konkretes.

So wie ich das verstehe benötige ja einen separaten VSYNC und HSYNC und 
eben RGB. Es gibt einige Adapter direkt von den GPIOs auf SCART/ VGA 
etc.
Welches Signal würde denn am ehesten an mein Signal herankommen?

Viele Grüße,
Max

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Max schrieb:
> Unter TTL Video Signal finde ich
> nichts konkretes.
Naja, das ist ja auch eher nur so eine ungefaehre Definition von 
Spannungspegeln.
Ich schrub ja schon: Jeweils das hoechstwertige Bit der R, G, und B 
Signale wuerde sich dann anbieten.
Da gibts dann nur 8 verschiedene Farben auf dem Monitor.

> So wie ich das verstehe benötige ja einen separaten VSYNC und HSYNC und
> eben RGB. Es gibt einige Adapter direkt von den GPIOs auf SCART/ VGA
> etc.

Verlink' doch mal so einen GPIO nach SCART/VGA Adapter.

Gruss
WK

von Max (micromax2000)


Lesenswert?

Dergute W. schrieb:
> Verlink' doch mal so einen GPIO nach SCART/VGA Adapter.

Sowas:

https://arcadeforge.net/Pi2Jamma-Pi2SCART/PI2SCART::264.html

von Max (micromax2000)


Lesenswert?

Wobei ich mir da wieder nicht sicher bin. SCART hat ja keine Trennung 
des SYNC Anschlusses in Horizontal und Vertikal...

Ein VGA Signal könnte man über einen Adapter von HDMI auf VGA bekommen.

von Max (micromax2000)


Lesenswert?

Alternativ gibt es hier einen Adapter vom Pi direkt auf VGA:

https://eu.robotshop.com/de/products/raspberry-pi-vga-adapter

von Peter N. (alv)


Lesenswert?

Such mal nach Infos über Uralt-PC-Grafikkarten.

Damals gab es TTL-RGB-Karten (8 Farben) und RGBI (16 Farben).

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hmm, Okay - da scheint's wohl doch irgendwie einen Trick zu geben, wie 
man irgendwelches Video ueber die GPIOs kriegt. Erstaunlich.
Auf der Computerseite sind getrennte H- und V-syncs eigentlich haeufiger 
als Compositesync. "normalerweise" nimmt man dann ein XOR-Gatter her, um 
aus getrennten Syncs dann Compositesync zu basteln.
Vielleicht ist so ein Ding auf dem Arcadeforge Adapter drauf. Mit viel 
Fantasie koennte ich da ggf. sowas wie 4070 auf dem 14pol. IC erkennen.
Denkbar waere auch, dass die per primitivem Widerstandsnetzwerk die 
RGB-Signale erzeugen.
Ist halt anhand der Fotos ein arges Stochern im Nebel.
Wenn das aber so waere, dann muesste man mit einer Handvoll simpler 
Gatter und Pegelwandler (von 3.3V auf 5V TTL) das doch irgendwie 
hinkriegen koennen.
Gibts fuer so ne Dinger auch Schaltplaene?

Gruss
WK

von Max (micromax2000)


Lesenswert?

Alles klar.
Ich werde mir das Ganze mal genauer ansehen und ein paar Messungen 
machen.
Vielen Dank schonmal für euren Input!

Viele Grüße,
Max

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Bin da drueber gestolpert:

https://github.com/fenlogic/vga666/blob/master/documents/vga_manual.pdf

Da kann man scheint's tatsaechlich Video ueber die GPIOs routen.
Getrennte H- und V-Syncs sind da, und wenn man die und jeweils das 
red[7], green[7] und blue[7] auf 5V TTL-Pegel (z.b. jeweils mittels 2er 
1/6 74ruelps04) bringt...

Gruss
WK

von Rainer W. (rawi)


Lesenswert?

Dergute W. schrieb:
> ... und gehst mit diesen 5 Signalen auf einen
> TTL-Pegelwandler und dann auf deine Sub-D Buchse.

RGB sind wohl eher Analogsignale. Ein TTL-Pegelwandler hilft da nicht 
viel.

von Michael L. (nanu)


Lesenswert?

Max schrieb:

> Ich würde nun gerne diesen neuen Display unabhängig von der Maschine
> betreiben- und zwar mit dem Raspberry Pi. Den Display würde ich also
> einfach nur über die Kaltgerätebuchse versorgen und ein Videosignal mit
> dem Raspberry anschließen wollen.

Hätte ich's zu tun, würde ich das Display aufschrauben, den Adapter 
Video/TTL auf LCD-Panel entfernen und durch einen entsprechenden HDMI -> 
LCD-Panel Adapter ersetzen.

Wenn das Display halbwegs "neu", also 10-15 Jahre alt ist, dann dürfte 
sich darin ein Standard LCD-Panel, auf dem sich idealerweise ein 
Aufkleber mit dem verwendeten Typ befindet, verbaut sein.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Rainer W. schrieb:
> RGB sind wohl eher Analogsignale. Ein TTL-Pegelwandler hilft da nicht
> viel.

red[7], green[7] und blue[7] sind keineswegs Analogsignale. Und wenn man 
die von 3.3V auf 5V "klassischen" TTL-Pegel bringen will, dann hilft ein 
TTL-Pegelwandler ganz enorm.

Gruss
WK

von Harald K. (kirnbichler)


Lesenswert?

Dergute W. schrieb:
> red[7], green[7] und blue[7] sind keineswegs Analogsignale.

Du kennst das verbaute Display bzw. die Steuerung, an der das Display 
angeschlossen ist? Dem Bildchen hier im Thread kann man nichts davon 
entnehmen, außer, daß es fünf abgeschirmte Signalleitungen gibt, je eine 
für rot, grün und blau und die beiden Synchronsignale.

https://www.mikrocontroller.net/attachment/594175/X165.jpg

von Mladen G. (mgira)


Angehängte Dateien:

Lesenswert?

Es gibt zumindest Pi2SCART und RGB-Pi, damit bekommt man 75Ohm gerechte 
Pegel fürs RGB via SCART Kabel auf dem RPi, wenn du TTL brauchst kannst 
du dir wohl zumindest ein paar Widerstände sparen.

https://arcadeforge.net/Pi2Jamma-Pi2SCART/PI2SCART::264.html?language=en
https://www.rgb-pi.com/

RGB an sich scheint ja zu gehen, du willst ja TTL Pegel und getrenntes 
H/V Sync (anstatt C-SYNC).

von C-hater (c-hater)


Lesenswert?

Max schrieb:

> Harald K. schrieb:
>> Dann musst Du herausfinden, mit welchem Timing das Display angesteuert
>> werden muss.
>
> Ok, das finde ich heraus! Wie würde es danach weitergehen?

Das kommmt darauf, was du herausfindest, so einfach ist das.

Eins kannst du schonmal herausfinden, ohne einen Oszi zu benötigen 
(zumindest, wenn das alte Display noch läuft): nämlich die 
Unterscheidung, ob es sich da um eine schnöde 8-Farben-Lösung handelt 
(also mit digitalen RGB-Leitungen), oder ob die RGB-Leitungen 
Analogsignale transportieren. Dann bezieht sich das "TTL" (was sowieso 
weiter zu hinterfragen wäre) ausschließlich auf die Sync-Signale. Sowas 
sieht man schlicht am produzierten Bild alleine. Wenn du dazu selber 
nicht in der Lage bist: Screenshots posten...

Und dank der getrennten Sync-Signale kommst du auch bezüglich des Timing 
um einen Oszi herum. Dafür dann ein handelsübliches Billich-Multimeter. 
Es muss halt nur wenigstens einen Frequenzmessbereich besitzen.

Erst mit diesen Informationen werden irgendwelche konkreten 
Lösungsvorschläge sinnvoll. Alles diesbezüglich bisher im Thread 
gepostete ist also definitiv eigentlich nur Bullshit. Die Typen müssen 
sehr gut geputzte Kristallkugeln haben...

von Joachim B. (jar)


Lesenswert?

C-hater schrieb:
> Alles diesbezüglich bisher im Thread
> gepostete ist also definitiv eigentlich nur Bullshit.

heute sind doch alle Fragen und Antworten nur Aprilscherze! (01.04.2023)

von Rainer W. (rawi)


Lesenswert?

Harald K. schrieb:
> Du kennst das verbaute Display bzw. die Steuerung, an der das Display
> angeschlossen ist?

VGA wurde 1987 eingeführt, die Maschine stammt von 1991. HDMI wird da 
wohl nicht über den Anschluss laufen.

von C-hater (c-hater)


Lesenswert?

Rainer W. schrieb:

> Harald K. schrieb:
>> Du kennst das verbaute Display bzw. die Steuerung, an der das Display
>> angeschlossen ist?
>
> VGA wurde 1987 eingeführt, die Maschine stammt von 1991. HDMI wird da
> wohl nicht über den Anschluss laufen.

Das sicher nicht. Aber es könnten neben VGA auch etliche 
Vor-VGA-"Standards" (zumindest in leicht abgewandelten Form) sein. Oder 
halt auch was komplett proprietäres.

Mit den Erkenntnissen aus der von mir beschriebenen (oszi-losen) Analyse 
könnte man das schon sehr deutlich eingrenzen.

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.