TMDS-Chip fällt aus, aber direkte Verbindung zum FPGA funktioniert

Wir haben versucht, einige Grafiken über HDMI mit einem FPGA zu erstellen. Ich habe ein Board gebaut, das zwei HDMI-Anschlüsse hat. Einer davon verbindet die benötigten Videoleitungen direkt mit dem FPGA. Die zweite HDMI-Verbindung wird mit einem TMDS-Chip – dem TMDS141 von Texas Instruments – und dann mit dem FPGA verdrahtet.

Wir haben es geschafft, 720p-Video aus unserer direkten FPGA-Verbindung herauszuholen, was ziemlich gut erscheint. Es wäre jedoch schön, den TMDS-Pufferchip zu verwenden, um eine zuverlässigere Verbindung und höhere Auflösungen zu erhalten. Leider scheint die TMDS-Verbindung nicht zu funktionieren.

Ich hatte ein ziemliches Problem damit, zu analysieren, was falsch ist. Ich habe keine Testpunkte, das Chippaket ist umständlich und die Geschwindigkeit von HDMI ist zu schnell für jeden Logikanalysator, auf den ich Zugriff habe. Ich frage mich, wo ich falsch gelaufen bin.

Hier ist das Schema (ich gebe zu, es ist nicht das beste - ich bin ein Anfänger):

Geben Sie hier die Bildbeschreibung ein

Und hier ist eine Nahaufnahme des TMDS auf dem Board. Sie können zwei FFC-Buchsen sehen. Der rechte macht HDMI-Video über den TMDS-Chip in der Mitte. Der obere verbindet sich direkt mit dem FPGA.

Geben Sie hier die Bildbeschreibung ein

Die direkte Verbindung sieht so aus:

Geben Sie hier die Bildbeschreibung ein

Die FPGA-relevanten Teile sehen wie folgt aus:

Geben Sie hier die Bildbeschreibung ein

Einige Gedanken dazu sind:

  1. Der Chip ist falsch herum. Ich denke, der Punkt ist an der richtigen Stelle - es ist die Ecke, wo Pin 1 ist. Aber vielleicht habe ich es falsch verstanden; nicht sicher, wie man das testet.
  2. Das Paket wurde nicht richtig gelötet. Ich habe es mit etwas Lötpaste gebacken, dann mit Flussmittel, etwas mehr Lötzinn und meinem Bügeleisen über die Fugen gelaufen. Alle Verbindungen sehen gut aus, soweit ich das beurteilen kann, aber es ist schwer zu testen. Wieder nicht sicher wie.
  3. Timing und Widerstand / Cap-Werte. Vielleicht bin ich ein bisschen daneben und zu unbekümmert, wenn es darum geht, die Genauigkeit zu erreichen. Das ist schließlich Highspeed-Zeug.
  4. Die differentiellen Pfade sind zu unterschiedlich. Ich habe dies in KiCAD überprüft und der normale HDMI-Anschluss funktioniert, also bezweifle ich, dass es das ist.
  5. Etwas anderes muss mit dem TMDS-Signal passieren, das aus dem FPGA kommt. Ich muss mich bei meinem FPGA-Kollegen erkundigen, aber die Verwendung des gleichen Signals für die HDMI-Ausgänge des direkten und des TMDS-Chips ist möglicherweise nicht korrekt.
  6. Das FPGA hat beim Backen nicht richtig gelötet. Ich meine, wir verwenden verschiedene Pins auf dem FPGA für jeden HDMI-Ausgang (theoretisch könnten zwei Signale aus diesem Ding kommen), also könnte es sein, dass nur eine Verbindung nicht funktioniert.

Manchmal, wenn ich einen Monitor anschließe, erhalten wir ein Signal, aber der Monitor behauptet, er könne es nicht decodieren, verwenden oder anderweitig etwas anzeigen. Manchmal bekomme ich diese Meldung nicht, aber sie bleibt an – ein kleines grünes Licht und kein Schlafmodus. Zu anderen Zeiten behauptet es, es gäbe kein Signal und es geht einfach schlafen. Klingt vielleicht nach Wackelkontakt? Aber ich hätte gedacht, ich hätte es geschafft, zumindest etwas auf die Leinwand zu bringen. Vielleicht ist es Lärm? Aber dann hätte unsere Direktverbindung sicher nicht funktioniert.

Wirklich, ich weiß nicht, wohin ich als nächstes gehen soll und wie ich weitere Informationen zur Diagnose des Problems erhalten kann. Möglicherweise muss ich ein anderes Board mit mehr Testpunkten neu entwerfen.

Ich bin hier etwas außerhalb meiner Liga. Jede Hilfe wäre großartig. Ich weiß, dass ich irgendwann zum Reißbrett zurückkehren muss, aber das ist in Ordnung. Hoffentlich habe ich gerade etwas Dummes getan und es ist eine einfache Lösung.

Der TMDS141 sieht aus wie ein Repeater und nicht wie ein Ausgangspuffer. Die Eingänge des TMDS141 verhalten sich bereits wie ein HDMI-Empfänger (einschließlich eingebetteter Empfängerterminierung) und sollten nicht direkt mit den Logikpegeln des FPGA arbeiten. Grundsätzlich sollten Eingänge zum TMDS141 wie ein weiterer HDMI-Anschluss behandelt werden, mit allen erforderlichen seriellen Kappen und/oder Widerständen. Der ganze Zweck dieses Chips besteht darin, HDMI zwischen den Platinen im Fernseher/usw. zu wiederholen.
Wird der andere HDMI-Anschluss ähnlich gehandhabt? Warum sind Pins, die nicht geerdet werden sollten, mit Masse verbunden? Warum ist das Steckergehäuse nicht geerdet, sondern erdfrei? @Vlad, von welchen seriellen Kondensatoren du sprichst, HDMI verwendet keine seriellen Kappen.
@Justme Ich bin hier kein Experte, aber wenn ich mir den Vidor 4K als Referenz anschaue, gibt es 100-nF-Kappen in Reihe mit HDMI-Leitungen. Einige andere Designs, die ich schnell gegoogelt habe, erzählen auch von AC-Kopplung und erwähnen die gleichen 100-nF-Kappen und einige Pulldowns.
@Justme Obwohl ich jetzt sehe, dass das HDMI vom Design her DC-gekoppelt ist und es in der Spezifikation steht.
Hallo. Danke für die Antworten dort. Meines Wissens werden keine Pins schwebend gelassen. Alle Pins, die für einfaches HDMI-Video nicht benötigt werden, sind geerdet. Das Steckergehäuse ist nicht geerdet - ich war versucht, das zu tun, habe mich aber dagegen entschieden. Der direkte HDMI-Anschluss wird auf die gleiche Weise behandelt. Es ist etwas einfacher - es hat keine I2C-Leitungen - diese sind geerdet. Wird das Bild zur Frage hinzufügen.
@Oni Mein Punkt war, dass es manchmal falsch ist, sie zu erden, wenn Sie einige Stifte nicht verwenden, wenn sie nicht geerdet werden sollen, wenn sie nicht verwendet werden. Gibt es überhaupt Bypass-Kondensatoren für den TMDS-Chip? Da die Pinbelegung nicht für den HDMI-Anschluss, sondern für die FFC-Buchse gilt, hat sie jetzt eine suboptimale Pinbelegung, da jetzt ein differenzielles Paar nicht als differenzielles Paar behandelt wird, was zu einer Impedanzfehlanpassung führen könnte. Was sogar funktioniert, Drähte verschiedener Paare werden als Paar behandelt, was zu viel Übersprechen zwischen Paaren führen könnte.
Hallo. Danke für das Aufklären. Wenn es ein Problem mit dem FFC oder den differentiellen Paaren gäbe, würde ich denken, dass sie die zweite, direkte HDMI-Verbindung betreffen würden, aber diese Verbindung ist vollkommen in Ordnung und überträgt Video erfolgreich. Ich vermute stark, dass das Problem darin besteht, wie ich den TMDS-Chip verdrahtet habe.
Die Tatsache, dass Ihre direkte Verbindung funktioniert, deutet darauf hin, dass es sich, abgesehen von einer Fehlverdrahtung, nicht um die Hochgeschwindigkeitspaare handelt. HPD wird vom nachgeschalteten Gerät gesendet, daher ist eine Erdung keine gute Idee. CEC ist ein One-Wire-Protokoll, das wahrscheinlich auch nicht gerne geerdet ist.
Hallo. Danke für die Antwort. Richtig-o. Das ist definitiv etwas, womit ich arbeiten kann - es besteht eine gute Chance, dass ich diese schwebend oder nicht mit irgendetwas auf dem Board verbunden lassen und sehen kann, ob das funktioniert. Beifall. Ich sollte jedoch sagen, dass CEC und HPD auch auf der direkten Verbindung geerdet sind.

Antworten (1)

Kann FPGA TMDS141 direkt ansteuern? Ich meine, wie sind die Konfigurationen der Pins von FPGA, TMDS? LVDS? CML? Wenn es sich nicht um reines TMDS handelt, benötigen Sie Wechselstromkopplungskondensatoren dazwischen und vergessen Sie nicht, Pullup-Widerstände auf der Treiberseite (FPGA-Seite in Ihrem Design) hinzuzufügen.