Archiv verlassen und diese Seite im Standarddesign anzeigen : RS232 per Audio-Funk-Übertragung
(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.
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
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.
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
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
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
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
Es gibt auch DTMF Transceiver beim C: 173819 - U0
Damit könnte man doch auch schon was anfangen.
Wolfgang
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
Hallo Peter,
CY3210-MiniEval1
gibts bei ELV.
Gruß Jan
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.