Forum: FPGA, VHDL & Co. LVDS Signalpegel für Display. Lattice, MachXO3


von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Ich versuche hier mittels eines FPGAs (LCMXO3L-4300C-5BG256C) ein 
LVDS-Display anzusteuern.

Leider macht das Display aktuell nicht das, was es soll. Es flacket ein 
wenig und bleibt dann schwarz.

Ich vermute, dass ich den Grund dafür gefunden haben könnte.
Laut spezifikation (Anhang) sollten die differentiellen Signale im 
Maximum 1.6V betragen. Ich speise aber mein FPGA bzw. diese IO-Bank mit 
3.3V.
Meine Signale betragen daher im Maximum etwa 2.1V bei angeschlossenem 
Display laut Oszilloskop.

Ich vermute mal, dass das Problem daher kommen könnte.

Nun stellt sich mir aber die Frage, mit welcher Spannung ich denn diese 
IO-Bank speisen sollte. Das FPGA kann drei verschiedene 
Differentialmodi.

LVCMOS33D (3.3V differential)
LVCMOS25D (2.5V differential)
LVCMOS18D (1.8V differential)

Wobei ich natürlich die IO-Bank entsprechend speisen muss (nehme ich mal 
an)

Gibt es vielleicht einen Trick, wie ich mit der aktuellen Hardware 
(3.3V) trozdem noch etwas "hinbiegen" könnte?

Danke schonmal.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Holger K. schrieb:
> LVCMOS33D (3.3V differential)
> LVCMOS25D (2.5V differential)
> LVCMOS18D (1.8V differential)
>
> Wobei ich natürlich die IO-Bank entsprechend speisen muss (nehme ich mal
> an)

Wie sind die beim MachXO3 spezifiziert? Dann siehst du ja direkt im 
Datenblatt welche Spezifikation mit der des Displays zusammenpasst.

In der Regel haben die meisten IO Standard Constraints keine Auswirkung 
auf das analoge Verhalten und wird nur fuer die Timing Analyse 
verwendet. Daher muss auf alle Faelle die passende Bankspannung 
verwendet werden, welche ebenfalls in den entsprechenden Datenblaetter 
zu finden ist.

von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Vielen Dank für deine Antwort.

Ich habe dies soeben nachgeschaut.
Das Dokument: 
http://www.latticesemi.com/-/media/LatticeSemi/Documents/DataSheets/MachXO23/FPGA-DS-02032-2-4-MachXO3-Family-Data-Sheet.ashx?document_id=50121

Informiert ab Seite 51.
Das FPGA kennt sowohl "echte" LVDS-Leitungen wie auch "emulierte".
Ich verwende aktuell die echten an der Oberseite des FPGAs.

Ich gehe richtig in der Annahme, dass ich beim Ausgang des FPGAs keinen 
Widerstand benötige, sondern lediglich auf der Empfangsseite?

Gemäss dem Datenblatt scheinen die Pegel grundsätzlich richig zu sein. 
(siehe Anhang).

Wobei ich mich frage, bei welcher VCCIO Spannung die markierten Werte 
gelten sollen.

Scheint so auszusehen, als ob die Ausgangspegel unabhängig der 
VCCIO-Spannung sind.

Gemäss Wikipedia scheint auch nur beim Empfänger eine Terminierung 
notwendig zu sein.

https://en.wikipedia.org/wiki/Low-voltage_differential_signaling#/media/File:Basic_LVDS_circuit_operation.png

Da frage ich mich, warum meine Ausgangspegel zu hoch sind...

: Bearbeitet durch User
von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Ich habe nun noch einmal ein paar Messungen durchgeführt.

Anbei das Differential Signal der Clock-Leitung.

Zusätzlich habe ich nun an den Ausgang einen 100-Ohm Widerstand 
angelötet.
Hat jedoch keine wirkliche veränderung gebracht.

Anbei ebenfalls noch die aktuellen Port-Einstellungen in Lattice.

Ich brauche die FPGA-Experten unter euch :)

Danke

: Bearbeitet durch User
von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Ok, nun wird es spannender....

Gemäss diesem Dokument:
http://www.latticesemi.com/-/media/LatticeSemi/Documents/ApplicationNotes/MO/MachXO3sysIOUsageGuide.ashx?document_id=50125

Seite 9

Haben die True-LVDS Ausgänge an der Oberseite des FPGAs eine fixe common 
mode Spannung von 1.2V. Dies bei einer VCCIO Spannung von 2.5V bzw. 
3.3V.

Ich frage mich also immer mehr, warum bei mir die Spannung am Ausgang 
nicht stimmt.

von Duke Scarring (Gast)


Angehängte Dateien:

Lesenswert?

Du hast aber schon die richtigen LVDS-Buffer instanziiert, oder?

Duke

von Duke Scarring (Gast)


Lesenswert?

Upps. Hab grad den Report oben gesehen. Wenn Du LVCOMS33 verwendest, 
bekommst Du auch LVCMOS33 und nicht LVDS...

Duke

von Holger K. (holgerkraehe)


Angehängte Dateien:

Lesenswert?

Vielen Dank für deine Antwort.

Ich habe nun LVDS25 ausgewählt, und siehe da, die Pegel stimmen.
Leider bekomme ich noch nichts auf dem TFT angezeigt. Obschon der 
gleiche Code bei einem EVAL-Board funktioniert hat. Das liegt nun aber 
wohl an etwas anderem.

Danke schön!

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.