Forum: FPGA, VHDL & Co. RGB zu LVDS Converter (VHDL-Code) Wo ist der Fehler?


von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich bin derzeit daran, einen RGB zu LVDS Konverter mittels FPGA zu 
entwickeln.

Dazu habe ich mir bereits eine HW gebaut, an welcher ein Display hängt.
Derzeit bin ich daran, das ganze mit einem Lattive FPGA umzusetzen.

Anbei der VHDL-Code.

Leider funktioniert das ganze noch nicht so wie es sollte.
Auf dem Display wird nichts angezeigt.
Ich habe ebenfalls einen RGB zu LVDS konverter von TI auf dem Board (zu 
Referenzzwecken) an diesem funktioniert das Display. FPGA und dieser 
zweite Chip erhalten beide die selben RGB Daten.

Die LVDS-Pegel stimmen nun (dank einem anderen Thread).
Ich habe DE, VSYNC, HSYNC einmal auf zwei alternative Ports mit LEDs 
herausgeführt. Das toggelt wie es soll. Damit habe ich geprüft, ob die 
Signale auch beim FPGA ankommen und nich evtl. ein Lötfehler vorliegt.

Dass DE, VSYNC und HSYNC stimmen müssen ist eine tatsache, denn 
ansonsten würde das Display auch am zweiten Chip nicht funktionieren.

Folglich muss der Fehler also irgendwo beim FPGA liegen.

Was ich bisher bereits gemacht habe:

1) gleicher Code, jedoch mit 80MHz und einer LVDS-Leitung zusammen mit 
einem MachXO3 Eval board un einem ANDEREN Display erfolgreich am laufen

2) code wie im Anhang mit eigenem Board und neuem Display. Dabei 
Dual-LVDS und 40MHz Clock. -> funktioniert nicht

Das Display bleibt schwarz.

Mit meinem Equipment konnte ich die 40MHz am Clock-Ausgang prüfen. Diese 
sind vorhanden. Ebenfalls konnte ich prüfen, dass an allen anderen 
LVDS-Paaren signale anliegen (da diese zu hochfrequent sind sehe ich die 
einzelnen Bits nicht mehr. Nur ob etwas anliegt)


Nun frage ich mich, ob jemand eine Idee hätte, wo noch zu suchen wäre?
Die Simulation zeigt eigentlich schön, dass die Signale (Meiner Meinung 
nach) stimmen sollten. Auch DE kommt regelmässig, sowie VSYNC und HSYNC.

Danke für eure Inputs!

von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Hier noch eine schematische Darstellung.

Angemerkt sei noch, dass das Eingangssignal 2x 24Bit RGB ist.
Pro Pixel_Clock erreichen das FPGA somit zwei Pixel.

von Holger K. (holgerkraehe)


Lesenswert?

Ok problem gefunden. P und N der Diff-Leitungen sind vertauscht...

von Olli Z. (z80freak)


Lesenswert?

Hallo Holger, ich kann Dir zwar wohl leider nicht viel helfen, bin aber 
sehr an Deinen Ergebnissen interessiert! Und zwar weil ich bei meinen 
KFZ-Bastelprojekten auch mit LVDS Signalverarbeitung zu tun hab. Da geht 
es um Videosignalübertragung von Kameras.

von Duke Scarring (Gast)


Lesenswert?

HSYNC sollte doch nur einmal pro Pixelzeile einen Puls machen und VSYNC 
entsprechend einmal pro Bild, also bei 50 Hz Framerate alle 20 ms.
In deiner Simulation wackelt VSYNC bei jedem Pixel.

Hier ist das mal etwas beschrieben:
https://www.nxp.com/wcm_documents/techzones/microcontrollers-techzone/Presentations/graphics.lcd.technologies.pdf

Welches Display und welche Bildauflösung willst Du verwenden?

Duke

von Dergute W. (derguteweka)


Lesenswert?

Holger K. schrieb:
> Ok problem gefunden. P und N der Diff-Leitungen sind vertauscht...

Glueckwunsch! Da gibt's ja deutlich unangenehmer zu behebende Fehler ;-)

Gruss
WK

von Günther (Gast)


Lesenswert?

Hallo Holger

"Ich habe ebenfalls einen RGB zu LVDS konverter von TI auf dem Board"

Darf ich dich fragen , welchen Chip du von TI verwendest ?

Vielen Dank für deine Antwort.

Lg. Günther

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.