Forum: Mikrocontroller und Digitale Elektronik mit SelbstbauModem Daten via Video/Audio-Strecke


von Ralf B. (rabehh)


Lesenswert?

Hi all,

im Thread "UART > Audio > UART" hab ich es schon mal angedeutet - jetzt 
ist schon etwas gereift.

Problem:
--------
1
                              ^        ^                  
2
UART/SPI => uP-1 => AWM630 Tx | 2,4GHz | AWM 635Rx Diversity Modul => uP-2 =>UART/SPI

Das ist die Strecke mit
 - AWM 630 Tx = AirWave 2,4 GHz 10mW Transmitter mit 2x AudioIn 3Vpp
 - AWM 635 Rx = AirWave 2,4 GHz Receiver mit 2x AudioOut 3Vpp

Bandbreite 50Hz..15kHz

Meine Idee:

Kodierung:
Bits= 00 = 1200Hz
Bits= 01 = 2400Hz
Bits= 10 = 4800Hz
Bits= 11 = 9600Hz

Das ganze für Linken und Rechten Kanal macht 4Bit Übertragung je "Takt"

Aufgabe uP-1:
Nehme 1 Byte incl. Steuerbits am UART oder SPI entgegen, trenne in 2-Bit 
Folgen und gebe/erzeuge Frequenzen aus Kodierung für 2Bit links + 2Bit 
rechts aus und Speise Pegel an Tx-Modul ein.

Aufgabe uP-2:
prüfe, welche Frequenz der Kodierung am Rx-Pin links und Rx-Pin rechts 
des Rx-Moduls anliegt und setzte Bytefolge zusammen. Schreibe Bits am 
UART oder SPI raus.

Fragen:
=======
Welcher Prozessor ist für Aufgabe 1 am besten geeignet?
Algorythmus zur Frequenzerzeugung?
Diskrete Beschaltung des Analogteils?

Welcher Prozessor ist für Aufgabe 2 am besten geeignet?
Algorythmus zur Frequenzanalyse?
Diskrete Beschaltung des Analogteils?

Hat jemand Tipps? Fundstellen?

Gruß
  Ralf...

von aha (Gast)


Lesenswert?

Ich wuerd mir die Arbeit nicht machen, denn es gibt 
Datenuebertragungsmodule auf 2.4GHz, die lassen keine Wuensche offen und 
kosten nicht alle Welt.
Und falls es doch auf einem audiokanal sein soll, so wuerde ich mir die 
Theorie der Telephonmodem mal anschauen, bevor ich das Rad neu erfinden 
wuerde.
Ein nicht zu vernachlaessigender Unterschied zwischen einem Datenkanal 
und einem Audiokanal ist die Empfindlichkeit gegenueber Uebertragungs 
Fehlern. Ein Audiokanal hat eine gewisse Toleranz, ein Datenkanal nicht. 
Ein Audiokanal hat ein Signal zu Noise, ein Datenkanal nicht. Da kommt 
dann das Thema Redundanz und Fehlererkennung/Fehlerkorrektur rein

von Barny (Gast)


Lesenswert?

>Welcher Prozessor ist für Aufgabe 1 am besten geeignet?
So ziemlich jeder der die Schnittstelle hat über die die Daten kommen.

>Algorythmus zur Frequenzerzeugung?
PWM -> Es gibt hier einige Beispiele zum Erzeugen von Sinustönen.

>Diskrete Beschaltung des Analogteils?
Wenn es wirklich 3 VPP sind, dann kannst du einen Prozessor nehmen der 
mit der Spannung so weit runter gehen kann und die Schaltungen für die 
Sinustonerzeugung verwenden.
Die Schaltung dazu gibt's hier bei einem Artikel über Tonerzeugung 
mitterls AVR.

>Welcher Prozessor ist für Aufgabe 2 am besten geeignet?
Der gleiche Prozessor der auch für Aufgabe 1 geeignet ist.

>Algorythmus zur Frequenzanalyse?
Eigentlich müssten Bandpässe reichen wenn der Abstand der Frequenzen 
groß genug ist.

Dess weiteren würde ich nicht versuchen mehrere Bits parrallel zu 
übertragen.
Dass gibt nur Durcheinander.
Ich würde es so wie bei den guten, alten Modems machen.
Ein Ton für 0 und ein Anderer für 1.
Wenn man für den linken und den rechten Kanal unterschiedliche 
Frequenzen verwendet und über beide Kanäle die selben Daten sendet, kann 
man sie nach dem Empfangen vergleichen und hat einen ersten Anhaltspunkt 
ob die Signale gültig sind.
Dess weiteren würde ich mir Gedanken über die Fehlerkorrektur machen.
Da es warscheinlich keinen Rückkanal gibt um Bescheid zu geben ob dass 
Signal richtig angekommen ist, würde ich die Dasten mehrfach senden und 
Checksummen verwenden.
Wenn man z.B. mit Signalspreizung arbeitet, müssen nur 50%+1Byte bzw. 
50%+1Bit (je nachdem ob man Byteweise oder Bitweise spreizt) korrekt 
ankommen um die Daten korrekt zu empfangen.

von Ralf B. (rabehh)


Lesenswert?

Moin,

--------------
aha schrieb:
> Datenuebertragungsmodule auf 2.4GHz, die lassen keine Wuensche offen und
> kosten nicht alle Welt.

Stimmt - es geht um die Übertragung von Videosignalen von einem 
Modellflugzeug aus. Deshalb heist es nicht Geld sparen sondern Platz, 
Gewicht und Strom sparen.
Nun sollen Telemetrik-Daten zur Bodenstation gebracht werden. Da der 
Audiokanal vorhanden ist möchte ich diesen auch nutzen.

> Und falls es doch auf einem audiokanal sein soll, so wuerde ich mir die
> Theorie der Telephonmodem mal anschauen, bevor ich das Rad neu erfinden
> wuerde.

Nunja - es sollte schon praktisch sein ;-) Zudem haben Telefonmodems mit 
einer sehr geringen Bandbreite des Telefons zu kämpfen. Die ist im 
Audiokanal bei weitem nicht so eng.

Ausserdem werde die meisten Telefonmodems auf Duplexbetrieb ausgelegt. 
Hier ist Simplex gefragt.

> dann das Thema Redundanz und Fehlererkennung/Fehlerkorrektur rein

Das ist so - zumindest die Erkennung. Aber das steht auf einem anderen 
Blatt.

--------------------
Barny schrieb:
> Dess weiteren würde ich nicht versuchen mehrere Bits parrallel zu
> übertragen.
> Dass gibt nur Durcheinander.
> Ich würde es so wie bei den guten, alten Modems machen.
> Ein Ton für 0 und ein Anderer für 1.

Hm - sind doch nur zwei Töne mehr... Bedenke, dass das gute alte Modem 
meist mit Bandbreite des Telefons zu kämpfen hatte...

> Wenn man für den linken und den rechten Kanal unterschiedliche
> Frequenzen verwendet und über beide Kanäle die selben Daten sendet, kann
> man sie nach dem Empfangen vergleichen und hat einen ersten Anhaltspunkt
> ob die Signale gültig sind.

Den Ansatz habe ich als Plan B im Kopf...

> Dess weiteren würde ich mir Gedanken über die Fehlerkorrektur machen.
> Da es warscheinlich keinen Rückkanal gibt um Bescheid zu geben ob dass
> Signal richtig angekommen ist, würde ich die Dasten mehrfach senden und
> Checksummen verwenden.

Im ersten Ansatz sollen falsche Daten als solche erkannt (Checksumme) 
und ggf. verworfen werden. Es geht um die Anzeige von GPS-Pos, 
Akkuspannung, Roll/Nickwinkel etc. Werde die halt mal nicht angezeigt 
muss man ohne leben. Auch nicht wirklich tragisch.

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.