Forum: Mikrocontroller und Digitale Elektronik 40 Pin (24 Bit) rgb Interface an RaspberryPi


von Nils K. (nilsonneo4)


Angehängte Dateien:

Lesenswert?

Hallo,

ich suche eine möglichst effizienten und kostengünstigen weg folgendes 
TFT Display an einem Raspberry Pi zu verwenden.

TFT-Display 4.3" 480 x 272 Pixel, DEM 480272D TMH-PW-N

https://www.distrelec.de/tft-display-4-3-480-x-272-pixel/display-elektronik/dem-480272d-tmh-pw-n/632716

Datenblatt habe ich angehängt und ist unter o.g. Link zu finden.

Eingesetzt werden soll er um alle halbe Sekunde ein neues Bild 
anzuzeigen.

Gibt es ein Controller der direkt aus HDMI oder Composite-Video das 
passend umsetzen kann oder eine andere "fertig Lösung" (über SPI oder 
einen andern Bus den der Pi kann)?

Wenn nicht, was sind so die Schlagworte nach denen ich googlen kann?

Am programmieren oder Schaltungen erstellen soll es nicht scheitern.


PS: Sollte jemand ein alternatives, Sonnenlicht taugliches Farbdisplay 
in der Größe und  in dem Preisrahmen kennen das besser geeignet ist, 
immer her damit.

: Bearbeitet durch User
von Jan (Gast)


Lesenswert?

Moin Nils,

Dein Display hat eine 24-Bit parallele RGB-Schnittstelle. Zu den 24 Bit 
für die Bilddaten kommen noch ein paar Steuerleitungen hinzu.

Ein Lösungsansatz wäre, direkt den HDMI-Ausgang deines Raspberrys zu 
nehmen und zu konvertieren. Wenn ich mich recht erinnere, ist das 
HDMI-Videosignal eine serialisierte Form des parallelen RGB-Signals und 
außerdem kompatibel zum DVI-Standart. Von Texas Instruments gibt 
DVI-Receiver, die das serielle Videosignal aufnehmen und daraus wieder 
ein paralleles RGB-Signal erzeugen. Da müsstest du dir mal einen 
passenden Baustein aussuchen, such einfach auf der TI-Seite nach "DVI 
receiver". Und achte auf eine angemessene Abschirmung deiner Kabel, wenn 
ich raten müsste, würde ich irgendwas zwischen 50 und 100 MHz als 
Datenrate für das HDMI-Signal annehmen.

Ein anderer Lösungsansatz wäre die Verwendung eines eigenen Controllers 
zur Displaysteuerung. Bestimmt gibt es da irgendwelche Grafikcontroller, 
bei denen du dein Bild über eine Standartschnittstelle wie SPI oder I2C 
in einen Grafikspeicher lädst und dein RGB-Signal automatisch erzeugt 
wird. Wenn es dir nur auf einen ersten Schuss ankommt und du noch gar 
nicht recht weißt, ob dein Display überhaupt funktioniert, kannst du 
auch erstmal einen Mikrocontroller mit RGB-Schnittstelle nehmen. Der 
STM32F429 wäre eine Option, die es sogar für kleines Geld mit einem 
Eval-Board gibt.

Oder, und das wäre der Weg des geringsten Widerstandes, du kaufst dir 
eins von den gefühlten tausend Displays, die für die Nutzung an einem 
Raspberry Pie ausgelegt sind. Das hier beispielsweise:
http://www.conrad.de/ce/de/product/1020910/Raspberry-Pi-Display-Modul-C-Berry?ref=list

Viel Erfolg und lass hören, wie es dir damit ergeht!

von Nils K. (nilsonneo4)


Lesenswert?

Vielen Dank

das C-Berry ist perfekt. Manchmal sieht man den Wald vor lauter Bäumen 
nicht mehr. :D

600 cd/m² sind zwar keine 1000, aber sollten trotzdem langen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jan schrieb:
> Ein Lösungsansatz wäre, direkt den HDMI-Ausgang deines Raspberrys zu
> nehmen und zu konvertieren. Wenn ich mich recht erinnere, ist das
> HDMI-Videosignal eine serialisierte Form des parallelen RGB-Signals und
> außerdem kompatibel zum DVI-Standart.

Im Prinzip ist das ein Lösungsansatz, aber hier recht wahrscheinlich 
nicht, denn die "Auflösung" des Displays ist so gering, daß die 
Graphikhardware des Pi damit kaum funktionieren wird.
HDMI- bzw. DVI-Monitore mit Auflösung deutlich unter Standard-VGA?


Pollin verkauft als Kit die Kombination eines 4.3"-Displays mit einer 
Elektronik, die ein Composite-Video-Signal verarbeitet (Bestellnummer 
120 915). Zu untersuchen wäre, ob das Display durch das Display des 
Threadstarters ersetzt werden kann.

In der "Beschreibung" http://www.pollin.de/shop/downloads/D120915B.PDF
gibt es auf Seite 8 einen 40poligen FFC-Stecker, auf dem 
24-Bit-RGB-Daten übertragen werden.

Vergleicht man das mit ebenfalls auf Seite 8 des Datenblatts des 
Displays beschriebenen Anschluss, so sind dort etliche Ähnlichkeiten 
zu finden.

Lediglich die Anschlüsse für Versorgungsspannung und 
Hintergrundbeleuchtung müssen angepasst werden.

BTW:
Standar_d_, es geht nicht um die Art des Stehens.

: Bearbeitet durch User
von Jan (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Im Prinzip ist das ein Lösungsansatz, aber hier recht wahrscheinlich
> nicht, denn die "Auflösung" des Displays ist so gering, daß die
> Graphikhardware des Pi damit kaum funktionieren wird.
> HDMI- bzw. DVI-Monitore mit Auflösung deutlich unter Standard-VGA?

Moin Rufus,

HDMI-fähige Geräte verfügen über einen Speicher, in dem eine eine 
EDID-Struktur hinterlegt ist, die die Betriebsparameter des Displays 
beschreibt. Beim Hochfahren ruft der Grafikprozessor über die 
Steuerdatenleitungen die EDID-Daten des angeschlossenen Monitors ab. 
Kann kein Deskriptor abgerufen werden, wird auf eine 
Default-Konfiguration ausgewichen.

Bei vielen Grafikprozessoren lässt die die automatische EDID-Abfrage 
nach dem Hochfahren verhindern oder die Ausweichkonfiguration verändern. 
Darüber hinaus gibt es einen EEPROM-Speicher, in dem selbst geschriebene 
EDID-Daten hinterlegt werden können. Auf diese Weise kann ein 
Grafikprozessor auch mit Displays arbeiten, bei denen kein Deskriptor 
hinterlegt ist und die nicht mit einer StandarDauflösung arbeiten.

Ich habe allerdings noch nie mit einem Raspberry Pi gespielt und weiß 
daher nicht, wie die Situation ganz konkret auf dieser Plattform 
aussieht.

Das von dir vorgeschlagene Pollin-Modul ist ein weiterer Weg nach Rom, 
allerdings ist die Anpassung der Anschlüsse auf dem Folienkabel alles 
andere als ein Spaß. Außerdem ist zu beachten, dass das Display des 
Themenerstellers eine andere Betriebsspannung für die 
Hintergrundbeleuchtung verwendet.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jan schrieb:
> HDMI-fähige Geräte verfügen über einen Speicher, in dem eine eine
> EDID-Struktur hinterlegt ist, die die Betriebsparameter des Displays
> beschreibt.

Das ist mir bekannt. Aber welche Graphikhardware, die einen HDMI-Ausgang 
hat, unterstützt eine so lächerlich geringe Bildschirmauflösung wie die 
hier angestrebte (480x272)? Nur weil man entsprechende EDID-Daten 
erzeugen kann, heißt das noch lange nicht, daß die Kombination 
funktioniert.

Klar:
Es könnte sein, daß man die Graphikardware des Raspberry Pi dazu 
"verbiegen" kann. Aber ... war da nicht was mit nicht vollständig 
offengelegten Treibern?

Das Pollin-Ding kann man aufgrund des geringen Preises auch erst mal mit 
dem mitgelieferten Display betreiben -- zumindest beim Überfliegen der 
Datenblätter habe ich nicht feststellen können, daß das Display des 
Threaderstellers sonderlich abweichende Daten aufweist 
(Betriebstemperatur, Blickwinkelstabilität etc.) -- vielleicht sind die 
beiden ja vergleichbar schlecht, so daß die Aufgabe auch ohne 
Modifikation lösbar ist.


> ... allerdings ist die Anpassung der Anschlüsse auf dem
> Folienkabel alles andere als ein Spaß.

Dafür ist das Ding billig und funktioniert --bis auf diese Anpassung-- 
einfach so, "out of the Box".

> Außerdem ist zu beachten, dass das Display des
> Themenerstellers eine andere Betriebsspannung für die
> Hintergrundbeleuchtung verwendet.

Ich gehe davon aus, daß auch das zu den lösbaren Problemen gehört.

Ein großer Vorteil der Verwendung einer Standardbildschirmschnittstelle 
(HDMI bzw. Composite Video) ist der, daß die komplette 
Softwareentwicklung auch ohne Display stattfinden kann, weil das auch 
mit einem stinknormalen Fernseher funktioniert.

Bei per SPI oder gar "bitwackeln" angesteuerten Displays ist der 
Entwicklungsaufwand erheblich höher, da eben auch die Treiberseite auf 
dem Pi zu entwickeln ist.

von Nils K. (nilsonneo4)


Lesenswert?

Hallo,

wenn auch etwas verspäte wollte ich mal Rückmeldung zu dem C-Berry 
geben. Mangels passende Wetters hab ich die Sonnenlichttauglichkeit noch 
nicht testen können, sonst ist das für den Preis aber ein echt gutes 
Display. Und dank des mitgelieferten C-Codes auch schnell zu verwenden.

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.