Manchestercode

Gast #1897331
Lesenswert?

Hi

Habe gelesen das hier schon viel zu dem Tema steht und hoffe das ihr mir 
helfen könnt.
Ich habe daten in hex vorliegen die ich Manchestercodiert vom PC zum µC 
geben will von da gehts zu einem Sendebaustein.
Nun meine eigentlich ganz simple frage wie kann ich meine daten codieren

vielen dank für eure hilfe

Heller
Moderator (Firma: Titel) Persönliche Seite #1897810
Lesenswert?

... schrieb:
> Vielleicht findest du ein Terminalprogramm, das das unterstützt.
Ich würde sagen, dazu braucht man Hardware, die das unterstützt. Für ein 
Terminal ist die Art der hardwaremäßigen Codierung erst mal schnurzegal. 
Das zeigt nur Daten an, die über eine serielle Schnitte in den PC 
hereinkommen. Die Manchester-Codierung spielt sich ganz woanders ab...

>> aus 9B wird 1001011010011010 und das schicke ich dann zum µC
Genau das ist falsch. Du schickst eine 9B zum uC und irgendwer in der 
Signalkette codiert das dann um in 1001011010011010 bevor es auf die 
Leitung geht.
BTW: welche Baudrate willst du denn verwenden?
Und warum unbedingt irgendwas Manchester-Codiertes?
Gast #1897830
Lesenswert?

Heller schrieb:
> wie ich von meinen daten zum manchestercode komme

Hallo,

du hast es doch selbst schon beschrieben: aus 1 wird 01, aus 0 wird 10. 
Einfacher geht's nicht. Da sich die Anzahl Bits verdoppelt, muss im 
USART die doppelte Baudrate eingestellt werden.

Manchestercode ist aber nur bei synchroner Übertragung sinnvoll und 
üblich und dann macht das der USART per Hardware. Asynchrone Strecken 
mit Manchestercode gibt es meines Wissens nicht, ich lasse mich aber 
korrigieren wenn's garnicht anders geht.

Gruss Reinhard
#1897866
Lesenswert?

Gerade auf asynchronen Strecken bietet sich Manchester an, weil man aus 
dem gleichspannungsfreien Signal den Takt und die Daten rückgewinnen 
kann. Im Normalfall wird das mit einem XOR erlegigt. Beim Kodieren 
einfach mit dem Bit-Takt verknüpfen. Beim Empfänger tastet man das 
Signal mit z.B. der 8-fachen Frequenz ab, und detektiert mit dem XOR die 
Flanken. Wieso man zwischen PC und µC über die UART sowas machen sollte, 
ist mir allerdings völlig unklar. Weder PC noch µC unterstützen sowas 
direkt.
Gast #1897903
Lesenswert?

Christian R. schrieb:
> Gerade auf asynchronen Strecken bietet sich Manchester an, weil man aus
> dem gleichspannungsfreien Signal den Takt und die Daten rückgewinnen
> kann. Im Normalfall wird das mit einem XOR erlegigt. ...

Hallo,

mit einem XOR ist das schon möglich, aber in Software? Wie kann man per 
Software mit einem normalen UART Start- und Stopbits manchestercodieren 
bzw. dekodieren? So wollte das nämlich der Fragesteller machen. 
Vielleicht gibt es ja tatsächlich eine Möglichkeit, aber im Moment ist 
mir das zuviel Arbeit, alle möglichen Bitkombinationen zu prüfen.

Gruss Reinhard
Gast #1897928
Lesenswert?

Oh, ich dachte es geht um den Code zum Umwandeln in Manchester? von UART 
war doch erst später die Rede.

@Heller:
schon mal in der Codelibrary geschaut und nach Manchester gesucht?

RC5 ist übrigens auch Manchester Code.
Gast #1897941
Lesenswert?

ja ist denn schon wieder Freitag... schrieb:
> Oh, ich dachte es geht um den Code zum Umwandeln in Manchester? von UART
> war doch erst später die Rede.

Was bitte nützt ein Manchestercode, wenn man ihn nicht per UART auf die 
Leitung bringen kann? Der Uart fügt Start- und Stoppbit ein, und damit 
ist die Mancherstercodierung hin.

Das ist ungefähr so kurz gedacht, wie wenn man die Farbtemperatur eines 
Ausdrucks ändern will, obwohl man garkeinen Farbdrucker hat.

Gruss Reinhard
Gast #1897990
Lesenswert?

Reinhard Kern schrieb:
> Was bitte nützt ein Manchestercode, wenn man ihn nicht per UART auf die
> Leitung bringen kann? Der Uart fügt Start- und Stoppbit ein, und damit
> ist die Mancherstercodierung hin.

Die Frage nach dem Nutzen wurde ja bisher sowieso nicht beantwortet, 
aber wo steht, das es per UART sein MUSS? Die PC Schnittstelle war ja 
bisher nicht definiert.
Und durch die Start und Stoppbits ist es ja eh kein Manchester mehr, wie 
Du selbst schreibst. Damit scheidet UART ja schon mal aus.

Die einzigen Posts die USART enthalten sind von Dir, bzw. Antworten 
darauf...

Und code zum Umwandeln von Bytes in Manchester Bits ist in der 
Codesammlung vorhanden...
Gast #1898061
Lesenswert?

>Die Frage nach dem Nutzen wurde ja bisher sowieso nicht beantwortet,
eigentlich doch; in der 1.Frage steht etwas von Sendebaustein
und bei der Funkübertragung von Daten bevorzugt man, soweit ich es in 
Erinnerung habe, Manchestercode, da sich als Mittelwert immer eine 
konstante Gleichspannung ergibt
MfG
Gast #1898193
Lesenswert?

Wolfgang-G schrieb:
>>Die Frage nach dem Nutzen wurde ja bisher sowieso nicht beantwortet,
> eigentlich doch; in der 1.Frage steht etwas von Sendebaustein
> und bei der Funkübertragung von Daten bevorzugt man, soweit ich es in
> Erinnerung habe, Manchestercode, da sich als Mittelwert immer eine
> konstante Gleichspannung ergibt

Dann lies die ursprüngliche Frage noch mal. Du hast schon Recht, für 
Funksender nimmt man gerne Manchester Code, dazu muss man aber die Daten 
nicht per Manchester Code vom PC zum Controller übertragen, und danach 
wurde gefragt. Es wurde auch nur ein Senderbaustein erwähnt, nicht das 
die Software für den Sender entwickelt werden soll.

Da sich der Fragesteller aber wohl eh schon verabschiedet hat...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren