Forum: Mikrocontroller und Digitale Elektronik Daten in FBAS Austastlücke einspeisen


von Michael W. (Gast)


Lesenswert?

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

von Ralph B. (rberres)


Lesenswert?

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

von Michael W. (Gast)


Lesenswert?

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

von Ralph B. (rberres)


Lesenswert?

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

von Michael W. (Gast)


Lesenswert?

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

von Ralph B. (rberres)


Lesenswert?

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

von Michael W. (Gast)


Lesenswert?

Naja im Moment alles graue Theorie.

Muss das alles erstmal an einem Live-Videosignal probieren.

Vielen Dank für deine Hilfe.

/Michael

von Ralph B. (rberres)


Lesenswert?

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

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

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

von Michael W. (Gast)


Lesenswert?

Im Moment hab ich mich mal an den zwei Bildern orientiert:

http://upload.wikimedia.org/wikipedia/commons/f/fb/BAS_Zeilensignal_unmoduliert.PNG

http://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

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

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

von Michael W. (Gast)


Lesenswert?

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

von Magnus M. (magnetus) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Magnus M. (magnetus) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Michael W. (Gast)


Lesenswert?

Ich werd deine Schaltungen ausprobieren.

Vielen Dank für die Unterstützung.

/Michael

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

@ Michael W. (Gast):

Bist Du inzwischen weiter gekommen?

von Michael W. (Gast)


Lesenswert?

Bisher noch nicht.
Ich habe erst mal Bauteile bestellt und Layouts für mein Projekt 
erstellt. Wenn ich alles zusammen habe gehts weiter.

/Michael

von mani (Gast)


Lesenswert?

Gibts eigentlich schon was neues, oder ist das projekt gestorben?

von Michael W. (Gast)


Lesenswert?

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 ;)

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.