Entwicklung eines LVDS-Skalierers mit zwei DisplayPort-Schnittstellen



Guten Tag, Habr!

Beschreibung des Projekts einer auf einem Realtek-Chip entwickelten Skalierungsplatine - RTD2662 - für eine Zweikanalmatrix. Wer sich für das Thema interessiert, ist herzlich willkommen bei cat.

Das Thema Bildausgabe an Matrizen hat mich immer angezogen. Zuvor habe ich ein Scaler-Board entwickelt, das auf dem TSUMV59-Chip (kompatibel mit TSUMV29) basiert, einer sehr interessanten Instanz von MStar. Ich denke, dass ich einen separaten Artikel zu diesem Thema schreiben werde. Es scheint, dass in diesem Chip alles gut ist, aber es fehlte etwas, nämlich die Möglichkeit, eigene Software zu schreiben, um das Bildschirmmenü und die GPIO-Verarbeitung anzuzeigen. Die gesamte Firmware wird in binärer Form verteilt und über USB geflasht, aber der Quellcode konnte nicht gefunden werden (wenn jemand etwas weiß / gehört hat, schreiben Sie bitte, da das Thema sehr interessant ist). Bis zu einer gewissen Zeit reichte dies für einige seiner Bedürfnisse aus. Es gab Zeiten, in denen es nicht möglich war, die Firmware für eine bestimmte Matrix auszuwählen, beispielsweise mit einem ungewöhnlichen Seitenverhältnis, aber dies waren alles triviale Dinge, bis eine Bestellung erschien, um ein Gerät zu entwickeln, in dem ein genau definiertes Menü, ein Logo und die Logik des Gerätebetriebs vorhanden sein mussten ganz. Dann begannen wir zu überlegen, wie wir sein sollten und welchen Weg wir gehen sollten. Das Hauptproblem war der Zeitmangel, es war notwendig, die erste Charge von Geräten zu bekommen - 100 Stück in kürzester Zeit. Das zweite ist das Vorhandensein von zwei DisplayPort-Schnittstellen an Bord. Drittens eine kleine Anzahl von Geräten, die das Arbeiten / Empfangen von Dokumentation und Mustern von Herstellern / Vertreibern von Chips nicht ermöglichen.

Ich werde die wichtigsten Hardware- / Softwareprobleme auflisten, die unterstützt werden mussten:

- DisplayPort - 2 Stück;
- Ethernet 10/100 - 1 St.
- Zweikanal-LVDS für 32-Zoll-Matrix - 1 St.
- Unterstützung für eine kapazitive Tastatur mit 4 Tasten - 1 PC;
- Temperatursensor auf der Platine - 1 Stck;
- WEB-Schnittstelle;
- OS Linux;
- Externe Stromversorgung 24V.

Nun ein wenig über alles und in Ordnung.

Displayport


Hier schien alles relativ einfach zu sein. Sie müssen einen Chip mit HDMI-Eingang auswählen, einen Schalter und Konverter von DisplayPort auf HDMI setzen. Der gleiche Chip sollte einen zweikanaligen LVDS-Ausgang zur Matrix haben und FullHD unterstützen. Es ist auch wünschenswert, dass er RMII (Ethernet) an Bord hatte und die Möglichkeit hatte, Menüs über das Bild zu zeichnen. Und dann begannen die Probleme. Es war nicht möglich, etwas Ähnliches zu finden, so dass Sie schnell eine Charge kaufen, verspotten und starten konnten.

Als Hobby beschäftige ich mich mit der Reparatur von Geräten und es geht nicht um Einkommen, sondern um erworbene Fähigkeiten, die für die Entwicklung meiner Projekte und das Sammeln von Ideen und Technologien sehr nützlich sind. Diejenigen, die Originalgeräte von Sony und Panasonic zerlegt haben, werden es verstehen. Ich bin besonders von Audio- / Video- / Autogeräten angezogen. Die Qualität der Verlegung der Deponien (auch auf den oberen Schichten), die analoge Erdung und Stromversorgung, die relative Position der Abzweige auf der Platine, die Spur des RAM, HF ... mein Kopf dreht sich darum, wie schön und nachdenklich alles gemacht wird (das passiert natürlich nicht immer).

Okay, wovon rede ich? Wenn Sie sich also daran erinnern, was normalerweise auf Budgetfernsehern verwendet wird, fiel Ihnen als Erstes TSUMV29 / TSUMV59 ein, aber wie wir uns erinnern, passen sie nicht zu uns. Was machen Fernseher und Monitore sonst noch, aber was können Sie Stück für Stück kaufen? Ein Kollege schlug Realtek vor, dass es anscheinend sogar Quellen dafür gibt, was die Aufgabe erheblich vereinfachen wird. Es stellte sich heraus, dass es wirklich Quellen für Keil gibt, für den RTD2662-Chip. Der Chip ist nicht der neueste, verfügt jedoch über zwei HDMI-Eingänge und unterstützt FullHD.


Abb. 1. RTD2662

Einschlussschema wie bei allen TV-Chassis. Der Chip wird mit zwei Spannungen betrieben - 3,3 V und 1,8 V. Es war nicht möglich, ein vollwertiges Datenblatt zu finden, und es war nicht erforderlich. Es mussten nur Konverter von DisplayPort hinzugefügt werden. Nach einer kurzen Suche wurde ein Sender von Texas Instruments ausgewählt - SN75DP139. Ich empfehle in der Entwicklung einen guten Chip. Die Mikroschaltungen befinden sich auf der Unterseite der Platine (ich musste dies tun, um das Fadenkreuz von Datenleitungen zu vermeiden, vielleicht werde ich versuchen, auf einer Seite neu zu züchten).


Abb. 2. Schaltplan SN75DP139

Das Einschlussschema ist wie folgt. Ich habe DisplayPort zum ersten Mal kontaktiert und es wurde mir klar, dass die Ein- und Ausgänge dieser Schnittstelle unterschiedliche Pinbelegungen haben, dh eine am PC-Anschluss und die andere am Monitor. Obwohl dies eine gewisse Logik hat.
Die Realtek-Firmware wird in einem separaten SPIFlash gespeichert.

Ethernet 10/100


Ethernet wird für verschiedene Zwecke benötigt: Geräteüberwachung, -konfiguration und -aktualisierung; deshalb ist 10/100 Physik genug. Ich habe LAN8742AI von Microchip installiert, es zum ersten Mal verwendet und es genau deshalb ausgewählt, weil der Kunde eine bestimmte „Wake on LAN“ -Funktion benötigte, bevor es keine solche Notwendigkeit gab. Kurz gesagt, mit der WoL-Unterstützung können Sie das Gerät über Ethernet aktivieren.


Abb. 3. Ethernet 10/100

Die Physik erfordert fast keine Bindung und ist leicht zu verfolgen. Es funktioniert stabil, es gab keinen einzigen Netzwerk-Rolloff.

LVDS


Zum Verbinden der 32-Zoll-AUO-Matrix werden zwei Kanäle benötigt. Stecker und Pinbelegung werden standardmäßig verwendet. Stromversorgung 12V, hergestellt über DC / DC TPS54560DDAR - dies ist ein ausgezeichneter 5A-Abzweig von TI. Die Hintergrundbeleuchtungsmatrix 24V wurde aus der Eingangsspannung entnommen. Die Matrix verfügt über einen integrierten Hintergrundbeleuchtungstreiber, der eingestellt und ausgeschaltet werden kann. Die Karte besteht aus 4 Schichten, sodass bei der Ablaufverfolgung von LVSD, HDMI und DisplayPort keine Probleme auftraten.


Abb. 4. LVDS-Trace

Wie Sie hier alle direkt sehen können, wirkt sich ein geringfügiger Längenunterschied überhaupt nicht auf die Bildqualität aus.

SCHLÜSSEL


Die Tasten sind auf dem SX8634-Chip der Semtech Corporation implementiert - dies ist ein etwas mehrdeutiger Chip in seiner Arbeit. Programmierer mussten den gesamten Treiber neu schreiben, um das erwartete Ergebnis zu erzielen. Es stellte sich ungefähr so ​​heraus: Es gibt 4 Tasten zum Navigieren durch das Menü, sie sind berührungsempfindlich (kapazitiv durch Glas) und RGB-Hintergrundbeleuchtung von innen durch die Löcher in der Platine. Nur die untere Taste leuchtet ständig, sie wechselt auch in den Ruhemodus und umgekehrt (mit einer Änderung des Glühens). Wenn Sie Ihre Hände 5 cm halten, werden die verbleibenden Schaltflächen hervorgehoben und das Menü gegenüber angezeigt. Wir entfernen die Hand, nach 3s verschwindet das Menü, die Tasten gehen aus. Es sieht interessant aus.


Abb. 5. Touch Button Board

Der obere Teil der Platte (oben) grenzt an das Glas an, sodass sich keine Komponenten darauf befinden. Sie befinden sich alle unten. Die Schwierigkeit beim Einrichten und Kalibrieren war auf die Breite der Platine zurückzuführen, sie beträgt nur 12 mm. Wenn jemand vom Leben gelangweilt ist, kann er diesen Chip in seinen Projekten verwenden.

Temp


Die Temperatur im Inneren des Gehäuses wird mit dem Temperatursensor NXP LM75AD über den I2C-Bus gemessen. Es wurde geliefert, da es leicht zu liefern ist und in großen Mengen in Lagern liegt.

WEB


Das Webinterface und das Projekt selbst werden auf Basis einer jungen Engine implementiert, die aus einem unabhängigen 11-teiligen Team stammt - dies ist unser Partner für die Entwicklung von Software für Linux-basierte Systeme.
Die Plattform verfügt über viele Blöcke, die technischen Support und eine Garantie mit der Möglichkeit von Verbesserungen und Aktualisierungen bieten.

Wenn noch einfacher, handelt es sich um ein Framework-Projekt mit erweiterten Funktionen, das die Funktionen ständig verbessert und erweitert. Von den Hauptblöcken kann man einen Netzwerkmanager, eine dynamische WEB-Schnittstelle, eine Aktualisierung und einen Projekt-Builder notieren. Basierend auf der Engine können Sie verschiedene Geräte von einem MP3-Player auf einen 10-Gbit-SIP-Server mit mehreren Ports implementieren. und genau das brauchten wir in diesem projekt.

Über die webbasierte Oberfläche können Sie nicht nur die Parameter des Bedienfelds steuern, sondern auch Einstellungen ändern, z. B. Helligkeit, Kontrast, Bildschärfe, überwachen, an welchen Port der PC angeschlossen ist und welcher von ihnen gerade aktiv ist, und zwischen diesen wechseln.

Auch in diesem Projekt werden SNMP 1.2- und 3-Versionen mit Unterstützung für SET-, GET-Befehle und Senden von Traps nach Intervallen oder Ereignissen unterstützt. Das heißt, Informationen zu beliebigen Parametern, z. B. Helligkeit / Kontrast, können über SNMP, durch Drücken der Taste zum Ändern des Parameters oder beispielsweise alle 10 Sekunden an den Server übertragen werden. Mit dem Befehl SNMP SET können Sie die Anzeige ausschalten oder den Parameter aus der Ferne ändern. SNMP ist ebenfalls Teil der Engine.

iMX6ULL


Da der Realtek-Chip kein Ethernet an Bord hat, wird in diesem Projekt ein NXP iMX6ULL-Prozessor installiert, auf dem OS Linux ausgeführt wird und die grundlegende Arbeitslogik ausgeführt wird. iMX und Realtek sind über UART miteinander verbunden und tauschen Befehle untereinander aus. Für schnelle Ereignisse gibt es mehrere GPIOs.


Abb. 6. iMX6ULL

Alle Informationen werden in NAND gespeichert, U-Boot wird von SPIFlash geladen. Ein RAM-Chip und nichts weiter. Die SD-Karte wird zum Aktualisieren der Software angezeigt (dies ist zusätzlich dazu möglich, dies über das Internet zu tun).

Macht


Das 5-V-Sekundärnetzteil wird auf demselben DC / DC-Gerät wie das Matrixnetzteil TPS54560DDAR implementiert. Stromversorgung 1,8 V und 1,35 V am AP3418 von Dioden und 3,3 V am ST1S10PHR von ST.


Abb. 7. DC / DC

Die DC / DC-Mikroschaltungen wurden mit einem großen Spielraum ausgewählt, da die Matrix große Spitzenströme für Leistung und Beleuchtung aufweist und da es nur eine Iteration gab, wollte ich dies wirklich nicht riskieren.
Mit Ausnahme der Matrixleistung sind alle Netzteile durch Polygone in einer separaten Schicht getrennt, da ich die Hauptleistung mit diesem Leiter wirklich nicht unterbrechen wollte. Das Verfolgen von Screenshots ist nutzlos, es sei denn, jemand interessiert sich für eine Benutzeroberfläche. Ich möchte auch einen separaten Artikel über Lebensmittel- und Landpolygone widmen. In diesem Projekt gibt es beispielsweise insgesamt 27 Polygone. In meinem neuen Projekt auf iMX7 werden es ungefähr 100 sein, und dies passt einfach nicht in den Rahmen dieses Artikels.

Wenn Sie etwas tiefer in die Logik der Platine einsteigen. iMX funktioniert mit Ethernet- und Fronttasten. Es ist Realtek zugeordnet, das das Bild aus dem aktiven DisplayPorta entnimmt und an die LVDS-Matrix ausgibt. Befehle von Schaltflächen, SNMP und Web werden an Realtek gesendet, das darauf reagiert und Anzeigeparameter ändert, ein Menü anzeigt usw.

Das Ergebnis war in kurzer Zeit ein ziemlich interessantes Projekt. Wahrscheinlich enthält es zu viele Module, aber zum Zeitpunkt der Entwicklung war dies meiner Meinung nach die beste Lösung in Bezug auf die Bedingungen, Kosten und Risiken.

Vielen Dank für Ihre Aufmerksamkeit!

Source: https://habr.com/ru/post/de418459/


All Articles