> Nun habe ich entweder ein per Max232 gewandeltes RS232 Signal oder ein High
> 3V und Low 0V Signal zu versenden. Ich muss nun dieses Signal in ein
> Manchester codiertes umwandeln. Nun habe ich schon herausgefunden, dass es
>
> davon verstehe als ihr ;-)
>
Stopf das 0V/3V Signal direkt rein. Bis 1200bd sicher, eventuell bis 9600bd hast du dann eine Verbindung, dantuerlich musst du noch Fehlerkorrektur programmieren, denn jedes Funkthermometer stoert dir rein, und das erste Byte geht meistens verloren.
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
>
>
> Markus Berkowicz
>
>
>
Didn't find your answer? Ask the community — no account required.
M
Markus B
mmmh, hab' ich versucht. geht net! Auf dem Ausgang des Empfängers liegt nach Wandlung durch den Max232 ein oszillierendes High Sgnal an.
Was ist denn mit der Manchester-Kodierung?
Grüße,
Markus
M
MaWin
Markus B schrieb im Beitrag ...
Bei mir nicht, bei mir geht's, vielleicht umpolen ?
Macht das Signal gleichspannungsfrei
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
B
Bernd Maier
Hallo,
Bring doch erstmal die Hardware zum laufen.
Codierung und Fehlererkennung (z.B. CRC) würde ich per Software machen. (Könnte ich auch gar nicht anders ;)
Damit bleibst du flexibel und kannst bei Problemen noch ein bisschen tunen, also andere Codierung/Fehlererkennung etc.
Wo kommen deine Daten denn her und wo gehen sie hin?
Falls du nicht an der RS232 Quelle/Senke dein Progrämmli ausführen kannst sollte ein kleiner Mikrocontroller (beidseitig) für sowas angemessen sein. Die Codierungsalgorithmen für Manchester/CRC findest du sicher im Web und in den meisten Büchern über Datenübertragung.
Bei Manchester hast du übrigens einiges an Overhead, mit Fehlererkennung und -korrektur noch ein bisschen mehr.
Vielleicht würde auch einfach eine 'doofe' Prüfsumme reichen? Ich kenne deine Anwendung noch nicht genauer...
mfg, Bernd
M
Markus B
hast auch diese module im einsatz????
könnetst du mir einen plan von deinem aufbau geben?? wäre spitzenklasse!
krieg das nicht hin!
braucht der sender nicht unbedingt diese manchester-kodierung? was soll ich umpolen? ich gehe mit data vom empfänger an den TTL/CMOS Eingang des Max232...
Kann es vielleicht daran liegen dass ich einen komparator verwenden muss???
Wie würdest du die Fehlerkorrektur realisieren?
Grüße,
Markus
M
Markus B
hardware ist soweit fertig. an der einen seite hängt ein messgerät, das bei einem ereignis ein high von
3v ausgibt. es hängt hier kein mikrocontroller dran. die andereseite ist ein notebook. lasse die manchester codierung gerne weg ;-)
grüße,
markus
B
Bernd Maier
Hallo,
von
Dann müsstest du ja schon ein wenig testen können und kannst die Fehlerrate ermitteln. (Ich gehe mal davon aus, dass "die eine Seite" der Empfänger ist?)
Auf der Sender- oder der Empfängerseite? Alles, was du codierst musst du auch wieder decodieren, d.h. du brauchst auf beiden Seiten etwas 'Rechenleistung'.
Wenn du keine Zeitvorgaben, genug Bandbreite und ausreichend Rechenleistung (Das Notbuch ist hier natürlich schon die Kanone mit den Spatzen) hast, dann kannst du auf der Senderseite eine (ausreichend sichere) Prüfsumme für ein Datagramm berechnen und auf der Empfängerseite alle kaputten Pakete verwerfen.
mfg, Bernd
O
Oliver Brill
Hallo.
Du kannst die DC Anteile im Signal durch Scrambling beseitigen.
Mit einem Rückgekoppelten Schieberegister Realisierbar.
Alternernatv kannst du Bit Stuffing verwenden.
Oder beides zusammen.
Gibt noch weitere Verfahren. Effizienz und Realisierbarkeit verschieden.
Bit Stuffing dürfte das einfachste sein, ohne allzuviel Bandbreite zu verschenken.
Einfach nach einer bestimmten Anzahl von gleichen Bits einen erzwungenen Bitwechsel einfügen.
Im Empänger nach der gleichen Regel wider entfernen. Relalisierbar mit einem Zähler.
Also ich würde das folgendermassen lösen:
01111110 als Framebeginn/ende hernehmen und im laufenden Datenstrom nach 5 gleichen Bits je ein Stuffing Bit einfügen.
Die oben genannte Bitkombination kann im Datenstrom nicht vorkommen, also ist der Beginn und das Ende eines Datenblocks gut feststellbar.
So lässt sich einfach eine Datenframeerkenneung (DCD) basteln und man hat weniger Arbeit auf der Empängerseite, die Datenpakete abzupassen, da man weiss was Rauschen ist und was Nutzdaten.
Die Fehlerkorrektur kannst du entweder über FEC machen oder halt ein ARQ Verfahren oder eine Kombination aus beidem. Ansosnten würde ich nicht nur Rohdaten übertragen sondern ein Datenprotokoll mit festen Datenblocklängen verwenden und nen Zähler mitlaufen lassen.
Was willst du denn genau machen?
Gruss Oliver
"Markus B" schrieb im Newsbeitrag news:bka8ou$kf6$04$ snipped-for-privacy@news.t-online.com...
muss???
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.