Hallo,
ich habe eine Kamera die über einen MAX7456 ein PAL Videosignal mit OSD
erzeugt.
In diesem Videosignal möchte ich nun noch zusätzlich Daten in der
Austastlücke übertragen, wie bei Teletext/Videotext.
Der MAX7456 stellt senderseitig den VSYNC und HSYNC Impulse zur
Verfügung, empfängerseitig würde ich einen LM1881 nutzen.
Ein AVR soll die Sync-Pulse auserten und entsprechend den Datenstrom
erzeugen und in das FBAS Signal einspeisen, bzw. zurückgewinnen.
Welche Schaltung ist nötig, damit ein AVR das FBAS Signal entsprechend
modulieren kann?
Reicht hier ein simpler Widerstand mit ggf. kapazitiver Einkopplung?
Gemäß Teletext Norm wären das Logik 0 = Schwarzpegel und Logik 1 = 66%
Weisspegel. Also 0.3V bzw. rund 0.7V.
Die AVR Schaltungen die ich bisher gefunden habe erzeugen alle das
Videosignal selbst, ohne Modulation einen bereits vorhandenen Signales.
Danke für jegliche Information dazu.
/Michael
Man muss darauf achten das der Gleichspannungsanteil des
aufzuaddierenden Signals auch genau dem Gleichspannungsniveaus der
Schwarzschulter entspricht. Man kann dann das Signal einfach dem BAS
Signal hinzu addieren, wenn während der Zeit wenn kein Digitalsignal
hinzuaddiert wird , das Digitalsignal hochohmig ist, damit das
Videosignal nicht belastet wird. Man muss natürlich das Timing des
Videosignals beachten.
Also genau in die Schwarzschulter das Signal eintasten. Und das immer in
der selben Zeile.
Ralph Berres
So ähnlich hatte ich mir das gedacht.
Wenn man davon augeht, das während der Austastlücke nur eine
Schwarzschulter als Zeileninformation übertragen wird, also Logik 0 für
die Daten, dann muss der AVR nur Logik 1, den Weisspegel, erzeugen.
Bedeutet ich muss den AVR Pin entweder hochohmig oder forciert H
schalten um ein entsprechenden Spannungspegel zu erzeugen.
Bleibt immer noch die Frage ob ein Widerstand/Spannungsteiler mit ggf.
kapazitiver Einkopplung reicht, oder ob man das aufwendig gestalten
muss?
/Michael
Wenn du Gleichpannungsgekoppelt das Signal hinzuaddieren willst, must du
darauf achten das der mittlere DC Pegel des Digitalsignals dem der
Schwarzschulter enstpricht. Das heist der Spannungshub des
Digitalsignales muss Richtung Synchronboden den gleichen Hub besitzen
wie Richtung Weisspegel. Bei 0,3V Synchronsignal hast darf das
Digitalsignal maximal 0,6 VSS betragen mit einen Gleischpannungsanteil
von 0,3V. Eher sollte man das Digitalsignal etwas geringer aussteuern.
z.B. 0,5 VSS. Der Gleichspannungspegel im Digitalsignal muss aber
weiterhin 0,3V betragen, bzw dem Pegel der Schwarzschulter entsprechen.
Der AVR-Pin muss während der Zeit wo er keine digitale Information
sendet hochohmig sein. Du kannst ja mal versuchen die Digitale
Information kapazitiv einzukoppeln da sparst du dir den Stress mit der
Gleichspannungsklemmung. Es gibt aber vermutlich Ein und
Auschwingvorgänge, die nicht unbedingt dienlich sind.
Übrigens darfst du Logik 1 nicht bis zum Weisspegel aussteuern, sondern
maximal ca 0,25V über der Schwarzschulter. Und Logisch 0 darf nicht die
Schwarzschulter sein , sondern 0,25V unter der Schwarzschulter.
Vorrausgesetzt es ist ein normgerechtes Videosignal mit 0,3V
Synchronsignal und 0,7V Bildinformation also insgesamt 1VSS.
Ralph Berres
Wie wäre folgende Lösung:
Es werden 2 AVR Pins benutzt. Zwischen beiden Pins befindet sich ein
Spannungsteiler. Der Ausgang des Spannungsteilers geht auf das
Videosignal.
Solange keine digitalen Daten moduliert werden sollen - Logik 0 -, sind
beide AVR Pins hochohmig. Das Videosignal bleibt unbeeinflusst.
Zur Logik 1 Modulation des Videosignals wird ein AVR Pin auf LOW und der
ander auf HIGH gesetzt. Die Spannung am Ausgang des Spannungsteilers
zieht dann den Pegel des Videosignals für die Bitlänge nach oben.
/Michael
Kann man so machen. Man muss aber den beiden Ausgängen auch eine
bestimmte Spannungshöhe zuordnen, die am besten einstellbar ist. Nämlich
0,05V für Low-pegel und 0,55V für High-Pegel. Dazwischen muss sich das
ja bewegen.
Damit bist du schon sehr hoch ausgesteuert.
Ralph Berres
Du must dir nur mal auf dem Papier den Spannungsverlauf eines genormten
Videosignals aufmalen, und die Spannungswerte mit reinzeichnen. Dann
siehst du wie du das Signal aus deinen Prozessor anpassen must, damit es
sich nahtlos auf das Videosignal aufaddieren lässt ohne das es zu
Pegelsprüngen kommt. Die können sich fatal auswirken.
Ralph Berres
Michael W. schrieb:> In diesem Videosignal möchte ich nun noch zusätzlich Daten in der> Austastlücke übertragen, wie bei Teletext/Videotext.
Was hier noch keiner gefragt hat:
Wieviele Bytes sollen denn pro Halbbild übertragen werden?
Gruß,
Magnetus
Im Moment hab ich mich mal an den zwei Bildern orientiert:
http://upload.wikimedia.org/wikipedia/commons/f/fb/BAS_Zeilensignal_unmoduliert.PNGhttp://upload.wikimedia.org/wikipedia/de/d/d4/Fbas.png
Wobei erstes die Grundlage sein dürfte.
Es sollen NMEA Daten übertragen werden, ggf. noch zusätzliche
Telemetrie.
Ich brauch keine 6.9MBit/s wie bei Teletext, es reichen mal 9600Baud zum
Anfang, später vielleicht mehr. Maximal 115200Baud.
Die Datenmenge entspricht 3 NMEA Frames zu maximal 82 Byte/Frame.
Die 3 Frames werden minimal mit 1Hz, maximal mit 10Hz wiederholt.
/Michael
Michael W. schrieb:> Ich brauch keine 6.9MBit/s wie bei Teletext, es reichen mal 9600Baud zum> Anfang, später vielleicht mehr. Maximal 115200Baud.
Denk daran, dass du deine Daten in die Austastlücke des Videosignals
packen willst. Alleine die Zeilenfrequenz beträgt bereits 15625Hz. Bei
9600 Baud dauert ein Bit deiner Daten bereits länger als eine
Videozeile.
> Die Datenmenge entspricht 3 NMEA Frames zu maximal 82 Byte/Frame.> Die 3 Frames werden minimal mit 1Hz, maximal mit 10Hz wiederholt.
Ich rechne mal nach:
1
82Byte * 3 * 10 = 2460 Byte (und das pro Sekunde)
2
3
2460 * 8 = 19680
Es sollen also 19680 Bit pro Sekunde bzw. knapp 394 Bit pro Halbbild im
Videosignal verankert werden.
Beim üblichen Videotext werden die Daten in die Zeilen 6-22 (1.
Halbbild) und 318-335 (2. Halbbild) gepackt. Dies entspricht 17 Zeilen
pro Halbbild.
In jede Zeile müssen also mindestens 24 Bit übertragen werden. In jeder
Zeile hat man 52µs für das Nutzsignal zur Verfügung. Macht also 2,1667µs
pro Bit, was einem Übertragungstakt von rund 462kHz entspricht.
Gruß,
Magnetus
Danke für das Rechenbeispiel.
Die Übertragungsrate ist im Moment zweitrangig und läst sich später
anpassen.
Erst muss ich mal die Einspeisung in das Videosignal realisieren.
/Michael
Michael W. schrieb:> Erst muss ich mal die Einspeisung in das Videosignal realisieren.
Ich hab mir mal eben was aus den Rippen geschnitzt (siehe Anhang).
Theoretisch sollte das so funktionieren. Die Spannungsversorgung der
beiden Kekse nebst Abblockkondensatoren möge man selbst ergänzen.
Für den OPV sollte ein für Videosignale geeignetes Exemplar gewählt
werden.
Den LM1881 habe ich eingeplant um schon mal die grundlegenden
Syncinformationen für den einspeisenden Controller aus dem Videosignal
zu extrahieren.
Gruß,
Magnetus
Mist... Habe jetzt erst überrissen, dass du auf der Senderseite ja schon
so was luxuriöses wie nen MAX7456 hast. In diesem Falle sollte es auch
komplett passiv gehen (siehe neuer Anhang).
Im "Ruhezustand" sollte die Datenleitung Lowpegel führen.
Gruß,
Magnetus
Gestorben nicht, aber hab im Moment keine Zeit dafür.
Bauteile sind vorhanden, Schaltplan erstellt und mit Layout hab ich
angefangen. Geht irgendwann weiter.
Ich bleib dran ;)