PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RS232 per Audio-Funk-Übertragung



RCO
10.02.2005, 12:30
(Dieser Thread knüpft an die Diskussion im Thread "Ausgabe eines Textes auf TV (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=5880&start=132)" an. )

Wie schon im Titel erwähnt geht es um die Datenübertragung mit RS232 via einer Funk-Audio-Verbindung.


hallo, die spannungen dürfen 1v nicht überschreiten beim audio.
mfg pebisoft

Wäre es nicht möglich, den RS232 Pegel mit einem Spannungsteiler auf 1 V runter zu ziehen und am Ende mit einem transistor + Pulldown wieder hoch?

MFG Moritz

Thorsten
10.02.2005, 13:01
Der Soundkanal ist ja eigentlich zur übertragung von (Wechsel)Schwingungen
entwickelt. Kann sein, dass du die Signale mit einer Trägerfrequnz modulieren
musst.
Vorher würd ich aber auch einfach mal nen Spannungsteiler 5:1 an
den Ausgang hängen und schaun ob die Übertragung damit klappt.

RCO
10.02.2005, 13:19
Der Soundkanal ist ja eigentlich zur übertragung von (Wechsel)Schwingungen

Vielleicht ist das jetzt etwas dumm, aber ein RS232-Signal ist doch in dem Sinne auch nur eine Wechselspannung mit ständig ändernder Ferquenz. Die Amplitude erreicht halt immer die gleiche höhe, aber spielt das eine Rolle? Wenn man sich z.B. die 56K modems anhört, kommt ja auch ein Rauschen, dass, ich hoffe da liege ich nicht falsch, quasi das hörbargemachte Signal ist.

MFG Moritz

PicNick
10.02.2005, 13:59
Männer, ohne Träger ist da nix. Sonst hätten wir bei den alten HomeComputer ja kein Kassetten-Interface gebraucht.
So ähnlich wie ein IR-Sender/Empfänger, aber halt nicht mit ~40 kHz, sonder etwas weniger.

engineer
15.02.2005, 04:40
Das Problem ist, lange Folgen von Nullen zu übertragen, weil ein Audiokanal nur AC kann. Man müsste den Code zuvor gleichstromfrei machen, indem man z.B. für eine echte NULL die Folge "01" überträgt, während man für eine EINS die Folge "10" überträgt - also quasi ausdrückliche Flanken. Der Code wäre dann doppelt so lange.

Eine andere Möglichkeit: Den Seriellen Code als Einzelbytes analog verschicken. Dazu benötigt man einen Puffer / Schieberegister und einen DA-Wandler. Am anderen Ende einen AD-Wandler mit hoher Auflösung und mathematischer Entstörung. Ein softwarebasiertes Filter müsste sich auf die Pegel eintrimmen und die Rasterwerte bestimmen. Oder man normiert eine Spannung von z.B. 1,00 V als exakt 256.

RCO
15.02.2005, 09:31
für eine echte NULL die Folge "01" überträgt, während man für eine EINS die Folge "10" überträgt - also quasi ausdrückliche Flanken.

Du meinst bestimmt Manchestercodierung. Ja, werde ich bei Gelegenheit mal ausprobieren, irgendjemand hier hat in Bascom schonmal Code dafür geschrieben mit 2 schönen Funktionen zum codieren und encodieren.

MFg Moritz

sebastian.heyn
15.02.2005, 16:15
Wenn du die einsen und nullen in verschiedene töne wandelst kannst du sie übertragen, du brauchst nur ein decoder auf jeder seite, dann gehts

pebisoft
15.02.2005, 17:43
hallo, habe damals den m-code für bascom von hier runtergeladen:

$regfile = "m16def.dat"
$crystal = 8000000

Declare Function M2b(byval Minput As Word) As Byte
Declare Function B2m(byval Binput As Byte) As Word

Dim W As Byte
Dim W2 As Word
Dim I As Byte
Dim I2 As Byte
Dim S As String * 16

W = M2b(&B0110011001100110)
W2 = B2m(&B01010101)

Function M2b(byval Minput As Word) As Byte

For I = 0 To 15 Step 2
I2 = I / 2
Select Case Minput.i
Case 1 : M2b.i2 = 0
Case 0 : M2b.i2 = 1
End Select
Next

End Function

Function B2m(byval Binput As Byte ) As Word

For I = 7 To 0 Step -1
Select Case Binput.i
Case 0 : S = S + "01"
Case 1 : S = S + "10"
End Select
Next

B2m = Binval(s)

End Function

End


ohne commantar.
mfg pebisoft

RCO
16.02.2005, 08:54
Wenn du die einsen und nullen in verschiedene töne wandelst kannst du sie übertragen, du brauchst nur ein decoder auf jeder seite, dann gehts

Ja, die Frage ist aber, wo man so einen Encoder herkrigt und ob man damit auch so hohe Übertragungsraten erziehlt.

@Pebisoft:

Genau das meinte ich.

MFG moritz

sebastian.heyn
16.02.2005, 09:26
Im schlimmsten fall kann man ja nen Tiny nehmen und ihn töne erzeugen lassen. genau so umgekehrt nen Frequenzzähler mit nem Timer bauen. Oder im simpelsten fall ne frequenzweiche wo du dann die tiefen frequenzen rausfilterst --> Null am ausgang

JanB
16.02.2005, 09:37
Hallo,
so ein "Bits-zu-Töne-Encoder" und entsprechender Decoder,
das wäre eine schöne Übungsaufgabe für die neuen
PSOC-Chips von Cypress.
Analog und digital, programmierbar auf einem Chip.
Da ist alles drauf, was man bräuchte.
OP-Amps, progrmmierbare Filter, USART, uController....
Mit denen beschäftige ich mich gerade etwas.
Hab mir mal so ein Evaluation-Kit bestellt.
Zum Ausprobieren. Mal sehen...

Gruß Jan

sebastian.heyn
16.02.2005, 09:41
Hey das hört sich ja geil an. hast du ne adresse?

pebisoft
16.02.2005, 10:12
hallo, jan
kannst du die adresse deiner psoc mal schreiben.
kannst du mal ein bisschen davon erzählen oder fotos reinbringen.
ist für mich auch interessant für die datenübertragung.
ps: asm-prog geht voran, langsam. aber eine bildaufteilung funz noch nicht, ich weis nicht, nach wieviel leerzeilen ich den v-sync machen soll (in us ausgerechnet) wenn ich zb 3weisse linien waagerecht gezogen habe möchte ich den rest scharz lassen und dann wieder nach vorne springen. habe schon verschiedene angaben ausprobiert (us pro linie mal linienanzahl).
mfg pebisoft

JanB
16.02.2005, 10:56
Hallo,

Guckt mal bei:
www.cypressmicro.com

oder für ein paar allgemeine Infos dazu:
http://dbindustrie.work.svhfi.de/AI/resources/33d05cdd5f9.pdf

eine wirklich hochinteressante Technik.
Ich warte schon gespannt auf das Evaluation Kit,
damit ich sehen kann, was wirklich möglich ist, und wie das geht.

@Peter: Der Vsync kommt alle 20ms also nach 312.5 x 64us

Gruß Jan

Wolferl
16.02.2005, 12:57
Es gibt auch DTMF Transceiver beim C: 173819 - U0
Damit könnte man doch auch schon was anfangen.

Wolfgang

RCO
16.02.2005, 13:15
Also ich habe jetzt mla ins Datenblatt geschaut, wenn ich das richtig sehe (und da bin ich mir nicht so sicher) dann braucht das IC 14 ms um einen Ton zu erkennen. Das heißt man könnte pro Sekunde rund 70 Signale übertragen. Allerdings müssen vermutlich noch Pausen eingehalten werden. Das ganze ist doch damit recht langsam im Vergleich zu RS232, oder. Man kann natürlich versuchen, nicht bits sondern bytes als Zahlen zu übertragen, oder sich direkt ein Zahlensystem mit 12 Zahlen ausdenken um die Übertragungsrate zu erhöhen.

Würde man also sagen wir mal 50 Töne in der Sekunde identifizieren können, dann könnte man eine Zahl 12^50 Übertragen. Was dann *weiß ich nicht und hab keinen Taschenrechner hier* vielen bytes entspricht. Natürlich alles ohne Cheksum etc.

Lieg ich da jetzt total daneben, oder stimmt das so in etwa?

MFG Moritz

pebisoft
16.02.2005, 18:10
hallo, jan welches kit hast du bestellt und wo.
mfg pebisoft

JanB
16.02.2005, 19:00
Hallo Peter,

CY3210-MiniEval1

gibts bei ELV.

Gruß Jan