Forum: Mikrocontroller und Digitale Elektronik Front/Back Porch bei digitalem RGB-Interface


von Dominik B. (odysseus1710)


Lesenswert?

Hallo an alle,

voerst hoffe ich, dass ich mich hier im richtigen Unterforum für diese 
Frage befinde und bedanke mich bei allen hilfreichen Antworten.

Es geht um ein Verständnisproblem bzgl. der Synchronisation eines 
RGB-Signals. Programmiert habe ich das Interface auf dem 
STM32F429-Disovery-Board, die Frage ist jedoch eher allgemein.

Habe mich jetzt schon viel in die Thematik eingelesen und eigentlich das 
meiste verstanden, dennoch ist mir noch nicht ganz klar, wieso es neben 
Hsync/Vsync speziell bei LCD-TFTs einen Front Porch bzw. Back Porch 
gibt.
Alles was ich zu diesem Thema gefunden habe bezieht sich auf die älteren 
CRC-Monitore bzw. auf analoge Videosignale (z.B. PAL).

Bei LCDs gibt es weder einen Elektronenstrahl, der neu ausgerichtet 
werden muss, noch werden die Bilddaten als Spannung übertragen, die dann 
eine bestimmte Zeit braucht um sich einzustellen.
Nach einem Zeilenende muss theoretisch doch nur ein Zähler zurückgesetzt 
werden, bevor die nächste Zeile übertagen wird.
Oder hat das mit dem DAC zu tun, der aus den digitalen Bilddaten wieder 
Spannungen erzeugt? Dann hätte das meinem Verständnis nach aber nichts 
mit dem Zeilen-/Frameende zu tun.

von Falk B. (falk)


Lesenswert?

Stimmt, ein digitales LCD braucht dieser Zeiten eigentlich nicht. Aber 
möglicherweise macht das LCD in diesen Zeiten andere Dinge, welche mit 
dem Elektronenstrahlrücklauf vergleichbar sind. Z.B. FIFOs leeren, DMA, 
Filterberechnungen etc.

von Clemens L. (c_l)


Lesenswert?

Dominik B. schrieb:
> dennoch ist mir noch nicht ganz klar, wieso es neben Hsync/Vsync
> speziell bei LCD-TFTs einen Front Porch bzw. Back Porch gibt.

Nur zur Kompatibilität mit CRTs.

https://en.wikipedia.org/wiki/Coordinated_Video_Timings#Reduced_blanking

von m.n. (Gast)


Lesenswert?

Clemens L. schrieb:
> Dominik B. schrieb:
>> dennoch ist mir noch nicht ganz klar, wieso es neben Hsync/Vsync
>> speziell bei LCD-TFTs einen Front Porch bzw. Back Porch gibt.
>
> Nur zur Kompatibilität mit CRTs.

Nicht nur, sondern auch.
Die back-porch muß genau eingehalten werden, da hiervon die Bildlage 
abhängt. Hingegen kann die front-porch auf einen hohen Wert aber auch 
auf 0 gesetzt werden. Das ist einem TFT-Display egal.

von Dominik B. (odysseus1710)


Lesenswert?

An Kompatibilitätsgründe habe ich auch schon gedacht, es aber nirgendwo 
konkret lesen können.

m.n. schrieb:
> Nicht nur, sondern auch.
> Die back-porch muß genau eingehalten werden, da hiervon die Bildlage
> abhängt.

Das verstehe ich nicht ganz. Also dass die Werte bei Controller und 
Display gleich sein müssen ist mir klar, aber ich verstehe nicht, wieso 
diese Verzögerung nach dem Hsync gebraucht wird bei einem LCD (außer 
Kompatibilität).

In einem Datenblatt zu einem Display-Controller habe ich gerade gelesen, 
dass mit dem Back Porch verhindert wird, dass ein Zugriff auf die State 
Machine nicht mehr ausgeführt werden kann, bevor der aktive Bildbereich 
beginnt.

Im Datenblatt zu dem von mir verwendeten Controller steht dazu 
allerdings nichts, vermutlich wird wie falk geschrieben hat, irgendeine 
Aktion durchgeführt

von m.n. (Gast)


Lesenswert?

Dominik B. schrieb:
> m.n. schrieb:
>> Nicht nur, sondern auch.
>> Die back-porch muß genau eingehalten werden, da hiervon die Bildlage
>> abhängt.
>
> Das verstehe ich nicht ganz. Also dass die Werte bei Controller und
> Display gleich sein müssen ist mir klar, aber ich verstehe nicht, wieso
> diese Verzögerung nach dem Hsync gebraucht wird bei einem LCD (außer
> Kompatibilität).

Die back-porches geben die Bildlage vor!
Verkürze sie, und es fehlen Dir oben die ersten Zeilen und links die 
ersten Pixel.
Die TFTs sind schnell genug und brauchen keine Totzeiten für den 
"Strahlrücklauf". Bei einem QVGA hatte ich die nominelle Bildfrequenz 60 
Hz mal auf 180 Hz gesetzt: kein Problem.

Wenn Du eine Ansteuerung auf Basis des F429 zu laufen hast, spiele doch 
einfach einmal an den Einstellungen herum. Da siehst Du sofort, was 
Sache ist.

von Georg (Gast)


Lesenswert?

m.n. schrieb:
> Die back-porch muß genau eingehalten werden, da hiervon die Bildlage
> abhängt. Hingegen kann die front-porch auf einen hohen Wert aber auch
> auf 0 gesetzt werden. Das ist einem TFT-Display egal.

Wenn man deine Aussage logisch analysiert, braucht ein TFT den genauen 
Back Porch für die Bildlage. Nimms nicht persönlich, aber das glaube ich 
dir nicht. Korrekt wäre wohl "Beides ist einem TFT-Display egal". 
Deutsch Sprak schwer Sprak.

Gerade deshalb gibt es diese Timings ja noch, bei einem TFT ergibt sich 
keinerlei Nachteil und man kann eben auch CRTs anschliessen. Ausser bei 
Embedded Systemen ist ja unbekannt welcher Monitor gerade verwendet 
wird. Ich habe auch noch einen alten Sony Multisync für Tests und 
Inbetriebnahmen, und es würde mich schon erheblich ärgern wenn man den 
nicht mehr ansteuern könnte. Klar, der IT-Industrie wäre es natürlich am 
liebsten wenn man alles einstampfen müsste was älter als 2 Jahre ist.

Georg

von m.n. (Gast)


Lesenswert?

Georg schrieb:
> Nimms nicht persönlich,

Das kann ich ja garnicht. Ich weiß ja nicht einmal, was Du meinst ;-)

von Dominik B. (odysseus1710)


Lesenswert?

m.n. schrieb:
> Wenn Du eine Ansteuerung auf Basis des F429 zu laufen hast, spiele doch
> einfach einmal an den Einstellungen herum. Da siehst Du sofort, was
> Sache ist.

Mein Ergebnis ist, dass es völlig Wurst ist, wie ich die Timings 
einstelle.
Egal was ich für HBP, HSync, HFP, VBP, Vsync, VFP einstelle, mein Bild 
wird immer sauber dargestellt.

Das liegt aber vermutlich daran, dass die Daten sowieso (zusätzlich?) 
über das DE-Signal synchronisiert werden, was wiederum bedeuten würde, 
dass die komplette Hsync/Vsync-Geschichte, zumindest in meinem Fall, 
überflüssig wäre :O

Das ist bei dem STM32F4-Disco aber sowieso eine seltsame Geschichte, da 
man mit dem Display-Controller des STM ein externer Display-Controller 
anspricht, der mit dem Display verbaut ist.

von Christian S. (solder)


Lesenswert?

Die meisten Displays heute sind DE-Only. Die brauchen HSync, VSync nicht 
mehr. Gleichwohl ist die Pause (Blanking) erforderlich. Genaueres verrät 
das Datenblatt. Für das Ausgabegerät müssen im EDID trotzdem Werte 
angegeben werden. Ich verwende Horizontal immer Werte, die durch 8 
teilbar sind. (Spielt aber heute auch keine Rolle mehr, seit es 1366x768 
Displays gibt. Die 1366 sind auch nicht durch 8 teilbar. Das war am 
Anfang aber ein Problem)

von Falk B. (falk)


Lesenswert?

@ Dominik B. (odysseus1710)

>Mein Ergebnis ist, dass es völlig Wurst ist, wie ich die Timings
>einstelle.
>Egal was ich für HBP, HSync, HFP, VBP, Vsync, VFP einstelle, mein Bild
>wird immer sauber dargestellt.

Hmm.

>Das liegt aber vermutlich daran, dass die Daten sowieso (zusätzlich?)
>über das DE-Signal synchronisiert werden, was wiederum bedeuten würde,
>dass die komplette Hsync/Vsync-Geschichte, zumindest in meinem Fall,
>überflüssig wäre :O

>Die meisten Displays heute sind DE-Only. Die brauchen HSync, VSync nicht
>mehr.

Wirklich? Kaum zu glauben. Wie soll dann das Diplay wissen, wo Zeile 1 
anfängt?

von Dominik B. (odysseus1710)


Lesenswert?

Falk B. schrieb:
> Wirklich? Kaum zu glauben. Wie soll dann das Diplay wissen, wo Zeile 1
> anfängt?

Es steht im Datenblatt des externen Display Controllers (ILI9341) 
zumindest, dass auch im DE-Modus sowohl HSYNC als auch VSYNC benötigt 
werden. Wieso und ob das auch für Front/Back Porch gilt steht nicht 
drin. Aber kann gut sein, dass die Pulse dennoch trotzdem dafür 
verwendet werden Zeilen-/Frameende zu erkennen.

Ich kann den ILI auch in einem Sync-Modus betreiben (alternativ zu DE). 
Dann tut sich auch etwas, wenn ich an den Parametern herumspiele.
Komischerweise ist das Bild dann abgeschnitten, wenn die Parameter 
beider Controller gleich sind

von m.n. (Gast)


Lesenswert?

Falk B. schrieb:
>>Die meisten Displays heute sind DE-Only. Die brauchen HSync, VSync nicht
>>mehr.
>
> Wirklich? Kaum zu glauben. Wie soll dann das Diplay wissen, wo Zeile 1
> anfängt?

Zur Synchonisation wird eine längere Pause von DE eingelegt: grob 10 - 
100 Zeilen oder 0,3 - 3 ms bei einem VGA-TFT.

Dominik B. schrieb:
> Das liegt aber vermutlich daran, dass die Daten sowieso (zusätzlich?)
> über das DE-Signal synchronisiert werden,

Wenn Du im DE-Modus ansteuerst, sind Hsync und Vsync nicht relevant. 
Deine Frage eingangs bezog sich aber gerade auf diese Signale.

Dominik B. schrieb:
> Das ist bei dem STM32F4-Disco aber sowieso eine seltsame Geschichte, da
> man mit dem Display-Controller des STM ein externer Display-Controller
> anspricht, der mit dem Display verbaut ist.

Diesen zusätzlichen ILI9341-Controller hätte man besser weggelassen. 
Jetzt muß man ihn unbedingt ansprechen, damit das TFT überhaupt 
funktioniern kann: nerv!

von Georg (Gast)


Lesenswert?

m.n. schrieb:
> Ich weiß ja nicht einmal, was Du meinst ;-)

Dass deine Behauptung, ein TFT bräuchte eine genaue Back Porch 
Einstellung für die Bildlage, schlichtweg falsch ist.

Georg

von Dominik B. (odysseus1710)


Lesenswert?

m.n. schrieb:
> Wenn Du im DE-Modus ansteuerst, sind Hsync und Vsync nicht relevant.
> Deine Frage eingangs bezog sich aber gerade auf diese Signale.

Genau, das ist auch die eigentliche Frage.

Habe jetzt noch weiter mit den Werten im Sync-Modus herumgespielt und 
kann die Aussage von m.n. bestätigen:
Die Back Porch muss gleich sein, ansonsten wird das Bild nicht 
vollständig dargestellt und die Front Porch hat anscheinend keine 
Bewandtnis.

Das macht ja auch vom Verständnis her irgendwie Sinn. Nach dem Sync 
sollten beide Geräte schließlich gleichzeitig wieder loslegen.

Seltsam finde ich aber, dass ich bspw. die Front Porch meines 
Controllers relativ kurz einstellen kann und beim ILI relativ hoch, ohne 
dass es Probleme gibt. In diesem Fall wäre die Totzeit insgesamt 
verschieden und mein Controller sendet Bilddaten bevor der ILI Bilddaten 
erwartet.

Vermutlich wird seitens des ILI stur auf den Sync-Puls gewartet, egal 
welche Front Porch eingstellt ist.
Damit gäbe es die Front Porch tatsächlich nur aus 
Kompatibilitätsgründen.

von m.n. (Gast)


Lesenswert?

Georg schrieb:
> Dass deine Behauptung, ein TFT bräuchte eine genaue Back Porch
> Einstellung für die Bildlage, schlichtweg falsch ist.

Schreib doch nicht soetwas! Irgendjemand liest das und glaub es 
womöglich noch.
Mit ein wenig Nachdenken sollte klar werden, daß die Bildlage durch die 
porches festgelegt wird - wodurch denn sonst?

von mh (Gast)


Lesenswert?

Georg schrieb:
> Dass deine Behauptung, ein TFT bräuchte eine genaue Back Porch
> Einstellung für die Bildlage, schlichtweg falsch ist.

Die bahauptung, dass die Back Porch niemals dafür verwendet wird, ist 
aber mindestens genauso falsch.
Es kommt einfach auf das Display (bzw. den darin befindlichen Timing 
Controller) an.

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.