Forum: FPGA, VHDL & Co. Frage an die FPGA Profis zu DDR und V-Timing


von Markus F. (Gast)


Lesenswert?

Ich habe bezüglich FPGAs vorwiegend Erfahrungen bezüglich der 
Signalverarbeitung, d.h. Einbau von State Machines, Rechen-Pipelines und 
Matlab Code. Schwerwiegende Themen, wie z.B. DDR-RAM, Taktdomänenthemen 
und SoftCores habe ich bisher kaum in Angriff nehmen können. Da ist also 
wenig Erfahrung.

Ich habe nun ein Problem mit einem Videoprojekt, für das ich die 
Bildfilterung mache: Der Sender ist jeweils eine andere Baugruppe, derer 
es drei erschiedene gibt und die alle in verschiedenen Bildformaten mit 
unterschiedlichem V-timing senden können. Die möglichen V-Formate sind 
bekannt, ich weiss nur vorher nicht, welches benutzt wird. Meine Aufgabe 
ist es, die Formate zu erkennen und das Bilddaten zu prozessieren 
(Glättung, Schärfung, Kontrastoptimierung und die Helligkeit), was auch 
klappt. Aus den Bilddaten ziehe ich Informationen und generiere 
Hilfssignale für die Steuerung.

Allerdings sollen nun die Daten auch in Echtzeit ausgegeben werden, also 
auch wieder ein Kamerabild erzeugt werden. Dazu muss ich also die 
Ausgangstakte selber generieren und zwar in dem Format, in dem sie 
kommen.

Meine Vorstellung ist nun die, einfach die Takte durchzuleiten und meine 
Daten dranzuhängen. Dass die Daten zum Format passen, kann ich 
sicherstellen. Ginge das? Wie schalte ich die Takte nach aussen durch?

Ich könnte sie mir auch mit einer PLL selber erzeugen und dann den 
rchtigen Takt auswählen, habe aber dann das Problem, dass die Frequenzen 
nicht passen, da ja der Eingang minimal von der Theorie abweichen kann. 
Der Ausgang müsste daher scon in Phase sein.

Eine Idee, die vogeschlagen wurde, ist ein gewaltiger Buffer, in den das 
Bild reingeladen wird, um es dann mit meinem Takt auszulesen. Am Ende 
macht man dann eine kleine Pause im Bild, um weglaufende Takte zu 
kompensieren. Ich könnte mich dann ja einfach am V-Synch des Origials 
orientieren. Allerdings bräuchte ich dann das DRR-RAM und das habe ich 
noch nicht angesprochen.

Was würdet ihr mir empfehlen?

Die Platform wird ein Stratix 3 sein, von dem ich aber nur etwa 40% in 
Beschlag nehmen darf, da er schon etwas gefüllt ist (mit Gerätesteuerung 
und -überwachung).

Wie aufwändig ist es mit einem DDR-Controller zu kommunizieren? Geht es 
s wie in Software?

von Dieter (Gast)


Lesenswert?

>Meine Aufgabe ist es, die Formate zu erkennen und das Bilddaten zu >prozessieren 
(Glättung, Schärfung, Kontrastoptimierung und die Helligkeit), >was auch klappt.

Wie stellst Du fest, dass es klappt? In der Simulation?

von Markus F. (Gast)


Lesenswert?

Ja, in der Simulation und mit MATLAB / Sysgen. Die Bilddaten kann man ja 
jederzeit langsam moffline prozessieren und mit bitgenauen Beispielen 
vergleichen. Die Algorithmen (u.a. das Suchen nach bestimmten Mustern) 
sind zudem bereits anderweitig getestet und obendrein evident 
überprüfbar.

Das ist weniger das Problem. Es geht jetzt um die reale Taktung. Bislang 
lag ja jeweils nur ein Datenstrom vor. Der war bekannt und benannt.

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.