www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Manchestercode


Autor: Heller (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heller schrieb:
> Manchestercodiert vom PC zum µC
Wie stellst du dir das auf der PC-Seite vor?
Hast du da entsprechende Hardware, die das kann?

Autor: Heller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein keine hardware ich habe hex daten dich ich per softwar codiere also 
aus deiner 9B wird einen 1001011010011010 und das schicke ich dann zum 
µC

Autor: Hrm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was ist jetzt genau Dein Problem?

Autor: Heller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie ich von meinen daten zum manchestercode komme

Autor: Erich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum willst Du Manchestercode vom PC zum µc nehmen, wenn Du nicht weist 
wie es geht? Nimm doch etwas das Du kennst.

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht findest du ein Terminalprogramm, das das unterstützt.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ja ist denn schon wieder Freiitag... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian R. schrieb:
> 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.

Na ja, vielleicht als "Abhörschutz" ? RS232 lässt sich ja einfacher 
mitschreiben.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ja ist denn schon wieder Freitag... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ja ist denn schon wieder Freitag... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Weder PC noch µC unterstützen sowas direkt.

Stimmt zumindest für µC nicht ganz. AT90PWMxxx haben 
Manchester-Decoder/Encoder in Hardware.

MfG Spess

Autor: ja ist denn schon wieder Freitag... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Wolfgang-G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja, mit dem Begriff "Sendebaustein" habe ich versucht, Gedanken zu 
lesen und geschlußfolgert, dass er den Sendebaustein mit Manchester Code 
füttern will

MfG

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.