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
... 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?
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
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.
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.
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
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.
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
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...
>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
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...
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