Hallo Leudle, ich würde gerne mehrere FBAS-Signale (PAL) aus semiprofessionellem und/oder Consumer-Equipment (also ohne Genlock) miteinander synchronisieren, und das ganze möglichst in Echtzeit. 2, 3 Frames Delay wären kein Problem, aber eine PC-basierte Lösung ist viel zu langsam. Ich hab mich im Bereich der Elektronik bisher auf ein paar AVR-Spielereien beschränkt; dass es damit wohl nicht funktionieren wird, ist mir klar ;-) womit denn eher? Schneller Controller mit viel internem RAM (natürlich zu möglichst bastlerfreundlichen Konditionen)? Oder sind die Datenmengen so groß, dass um externen Speicher nix drumrumführt? Oder kann ich das ganze gleich an den Nagel hängen, weil die Bauteilkosten die eines Fertiggeräts im Wert von mehreren Tausend Euro schon übersteigen würden? Ich hoffe mal nicht. Gruß, nnnyms
Das Zauberwort heisst TBC (Time Base Corrector). Sowas findet man in Bildmischern. Die Frage ist, wieviele Quellen du mischen/synchronisieren willst. Oder: Was willst du nach dem Synchronisieren mit den Signalen machen? Mit einem AVR kommst du nicht weit. Sowas erfordert einen schnellen AD-Wandler, eine gewisse Menge RAM und einen entsprechend schnellen DA-Wandler.
Hallo, einen mehrkanaligen TBC (Time Base Corrector) zu entwickeln ist definitiv keine ganz einfache Aufgabe! Um ein derartiges Gerät zu konstruieren, brauchst Du fundierte Kenntnisse in Digitaler Signalverarbeitung und Videotechnik... Hardwareseitig würde ich das mit einem FPGA machen, was um die benötigte Peripherie ergänzt wird: Pro zu synchronisierender FBAS-Quelle brauchst Du einen digitalen Videodecoder (wie z.B. SAA7115) für den FBAS-Eingang und einen Video-Encoder für den FBAS-Ausgang (z.B. SAA7129). Die Decoder beinhalten bereits ADCs Line-Locked-Clock PLL und digitale Decodierung des FBAS-Signals mit Kammmfilter usw... Geliefert wird ein digitaler Datenstrom nach ITU-R656. Das ist ein 8-Bit Datenstrom mit 27MHz Taktrate, Farbe und Luminanz werden gemultiplext übertragen (Cb, Y, Cr, Y, ...) Synchronworte kennzeichnen Zeilenanfang und -Ende sowie das aktive Bildfenster. Das gleiche Format bekommen die Video-Encoder auch geliefert. Die FPGA-Schaltung dazwischen muß für jedes zu synchronisierende Signal einen Vollbildspeicher (+ etwas Zugabe) verwalten in den die Bilddaten mit der Eingangsseite synchronisiert eingeschrieben werden. Das Auslesen der Bilddaten erfolgt über alle Bildspeicher synchron mit einem Referenztakt (kann ein Takt von einem der Videodecoder sein, dessen Eingang damit zum Referenzeingang definiert wird - oder ein fester 27MHz Quarzoszillator). Damit liegen alle Ausgänge mit gleicher Phasenlage vor. Für jeden Bildspeicher muß eine entsprechende Schreib- /Lesepointer-Verwaltung realiert werden, die dafür sorgt, daß ggf. (bei zu schnellem Eingangssignal) ein Eingangsbild übersprungen wird oder (bei zu langsamem Eingangssignal) ein Bild zweimal ausgelesen wird. Die ausgelesenen Daten werden jetzt für jeden Ausgang einem Video-Encoder zugeführt, der daraus wieder ein PAL oder Secam oder NTSC-Signal moduliert. Die Videodecoder und Encoder müssen via I2C-Bus konfiguriert werden, das kann ein Microkontroller übernehmen, der über hinreichend viele I2C-Interfaces verfügt. (je 2 Decoder und Encoder lassen sich an einem Interface betreiben, da zwei verschiedene Slaveadressen konfiguriert werden können) Als Bildspeicher hängt man am einfachsten SDRAM in hinreichender Bitbreite ans FPGA, diese richtet sich nach dem erforderlichen Speicherdurchsatz und dem Speichertakt: Pro Kanal wird 2*27MByte/s Datendurchsatz benötigt. Das RAM benötigt einen festen Takt von z.B. 150 MHz, den SDRAM-Controller baut man im FPGA am besten so auf, daß ein fester Zyklus abläuft, der definierte Timeslots für jeden Kanal zum Lesen und Schreiben vorsieht. Darüber ist dann auch der Speicher-Refresh gewährleistet. Etwas Hirnschmalz muß man noch in die Eingangs- und Ausgangspuffer stecken, da hier die Taktumsetzung vom Videotakt auf den Speichertakt stattfinden muß. Hier bietet sich die Verwendung der FPGA-internen Blockrams als FIFO-Speicher an, eine Ablaufsteuerung sorgt für jeden Puffer durch Transferanmeldungen am SDRASM-Controller dafür, daß das Fifo weder unter- noch überläuft. Wenn man als Speichertakt z.B. 108MHz wählt (per DCM im FPGA durch Vervierfachen des 27MHz Ausgangs-Quarztaktes erzeugt), kann man das Ausgangstiming vereinfachen, da der Ausgangstakt synchron zum Speichertakt läuft. ... Wie schon erwähnt, so ganz einfach ist das nicht zu realisieren, aber mit der nötigen Erfahrung durchaus machbar. Die Leiterplatte für so ein Projekt wird allerdings auch eher ein 6-fach Multilayer werden. Gruß, Thorsten
TBC ist mir bekannt. Mein Ziel ist tatsächlich, die Signale zu mischen (harte Schnitte, mehr muss nicht sein). Zwei Kanäle würden ausreichen, man kann ja von mehreren Eingängen immer die beiden auf die Bildspeicher verschalten, die man gerade braucht (also je einen für die aktive und für die Vorschauebene). Dass ich mit einem AVR nichts anfangen kann, war mir ja schon klar. Die "nötige Erfahrung" habe ich sicher nicht, und für dieses Hobbyprojekt in die FPGA-Entwicklung einzusteigen, ist glaube ich weder aus zeitlicher noch aus monetärer Sicht vertretbar. 6-fach Multilayer ... bisher arbeite ich auf Lochraster. Hätte ja sein können, dass da irgendeine Standardlösung für existiert, die ich nur noch nirgends finden konnte, aber das wär ja auch zu schön um wahr zu sein. Ich hab auch mal überlegt, ob man nicht direkt den Ausgang eines Video-Decoders mit digitalem YUV-Out mit mehreren SDRAM-Bausteinen verschalten könnte, und ein µC nur auf die Synchronworte vom Decoder (die ja zumindest bei manchen Typen nicht über den seriellen Output, sondern über Handshake-Leitungen rausgehen) reagiert und entsprechende Write-Kommandos an den RAM verschickt. Wenn man dann 3 RAMs (die jeweils nur mit lächerlichen 810 kB gefüllt würden) nacheinander ringweise beschreibt, könnte man ja auf einen externen Synchronimpuls hin den zuletzt beschriebenen (also sich im idle-Mode befindenden) per Burst auslesen ... Nunja, das waren meine uninformierten Überlegungen. Ich vermute das ist ne totale Milchmädchenrechnung und das Timing haut nie hin - wenn ihr sagt, dass das nicht klappen wird, werde ichs einfach begraben ;-) Gruß, nnnyms
fertige geräte gibts, schau mal in ebay, prof-video-ausrüstung. ab und zu ist da sowas drin. schau dort nicht nach tbc, die gleichen nur jitter in den zeilen aus, schau nach framestores. die können das.
die Geräteklasse nennt sich meist "Frame Synchronizer" oder "Video Frame Synchronizer" framestores können auch Standbildspeicher sein...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.