Forum: Mikrocontroller und Digitale Elektronik digitale Datenübertragung


von planar (Gast)


Lesenswert?

Hallo,

ich bin noch Schüler 7. Klasse und beschäftige mich derzeit mit dem 
Aufbau von digitalen Informationen.

Mich würde mal was grundlegendes Interessieren.
Um Signale zu übertragen benötigt man im einfachsten Fall einen Sender 
und einen Empfänger. Nehmen wir mal das Morsen da wird über einen Ton 
z.b. 3xkurz 3xlang und 3x wieder kurz das SOS Zeichen übermittelt. 
Soweit klar.
Jetzt gibt es ja bei den digitalen Signalen die Übertragungsart mit 0 
und 1 also die Bits. Jetzt würde mich die zeitliche Abfolge 
interessieren. Woran erkennt der Empfänger z.b. zwei einsen oder zwei 
Nullen. Gibt es auf der Empfängerseite ein zeitliches Raster das dann 
beschreibt kein Signal also bit 0 nach einer bestimmten Zeit wieder 0 
oder so.


Wäre nett wenn jemand das erklären könnte.

danke tobi

von Thomas W. (diddl)


Lesenswert?

planar schrieb:
> Gibt es auf der Empfängerseite ein zeitliches Raster das dann
> beschreibt kein Signal also bit 0 nach einer bestimmten Zeit wieder 0
> oder so.

Im Falle einer seriellen Kommunikation über UART (RS232) hat jedes Byte 
einen Frame.

Der Frame hat gewöhnlich ein Startbit und ein Stoppbit. Es werden also 
10 Bit übertragen wovon 8 Bit Nutzdaten sind.

Das Startbit ist immer 1 (high) und das Stoppbit ist immer 0 (low).

Die Übertragung ist mit einer bestimmten Frequenz vereinbart, wodurch 
die zeitliche Länge eines Bit klar definiert ist.

von Bastler (Gast)


Lesenswert?

Bei einer klassischen UART-Übertragung (z.B. RS232) gibt es ein 
Startbit.
Die Übertragungsrate, also die Geschwindigkeit, muss natürlich auf 
beiden Seiten gleich sein. Der Empfänger muss also wissen wie schnell 
der Sender sendet.
Nach jedem Byte wird neu synchronisiert.

Bei anderen Verfahren wie z.B. Ethernet wird der sogenannte Manchester 
Code eingesetzt. Dies bedeutet immer ein Wechsel von 1->0 oder 0->1.
Dadurch kann der Takt zurückgewonnen werden.

Beitrag #5598778 wurde von einem Moderator gelöscht.
von Falk B. (falk)


Lesenswert?

@planar (Gast)

>interessieren. Woran erkennt der Empfänger z.b. zwei einsen oder zwei
>Nullen.

Er muß wissen, mit welcher Bitrate der Sender arbeitet.

> Gibt es auf der Empfängerseite ein zeitliches Raster das dann
>beschreibt kein Signal also bit 0 nach einer bestimmten Zeit wieder 0
>oder so.

Ja. Je nach Übertragungsart kann dieses Zeitraster mit einem extra 
Signal übertragen werden, z.B. bei SPI. Der Takt zeigt an, wann 
Daten gelesen und geschrieben werden. Beim UART muss der Empfänger 
den Takt aus den Daten zurück gewinnen (neudeutsch clock & data 
recovery), d.h. er muss auf ein bestimmtes Zeichen warten (den Wechsel 
vom Stop- zum Start-Bit = fallende Flanke) und dann in einem Zähler 
mitzählen, wann der richtige Zeitpunkt gekommen ist, um die anliegenden 
Daten auszulesen und den Bits 0-7 zuzuordnen.

Beitrag #5598785 wurde von einem Moderator gelöscht.
Beitrag #5598799 wurde von einem Moderator gelöscht.
Beitrag #5598820 wurde von einem Moderator gelöscht.
von M.A. S. (mse2)


Lesenswert?

Bastler schrieb im Beitrag #5598799:
> @ Alf
> Als ich noch in der 7. Klasse war konnte man dich noch im Fernsehen
> schauen.
> Lass doch die Leute Fragen stellen!

Genau! Früher war Alf im Fernsehen (und noch lustig), heute ist er im 
Internet und gibt solche Antworten. => Früher war alles besser!  ;)


@planar:
In der Tat (auch ich bin schon etwas älter) haben wir früher unsere 
Informationen nicht aus dem Internet bekommen (denn das gab es für die 
breite Öffentlich noch nicht). Dafür haben wir aber den einen und 
anderen Lehrer mit unseren Fragen genervt.

Zum Thema:
Wie das mit UART-Kommunikation in einfachsten Falle läuft, wurde Dir ja 
schon geschrieben.
Es gibt aber zur Übertragung digitaler Daten nicht 'die eine' Methode 
sondern sehr viele Verschiedene (ein ganzes Studienfach, 
Nachrichtentechnik, handelt u.a. davon).

Überlege, wie es bei Deinem Beispiel, dem Morsen, funktioniert:
Die Zeichenlänge wird von einem Menschen (und daher nicht mit genau 
definierter Länge) erzeugt.
Der Empfänger hört kurze und lange Symbole und kann an den ersten 
empfangenen Zeichen lernen, wie lang 'lang' und wie lang 'kurz' ist.
Beim Morsen ist der Empfänger am Ende ein Mensch.

Das läßt sich jedoch auch automatisieren.
Ebenso gibt es die Möglichkeit, eine definierte Zeichenfolge zu senden 
und der Empfänger ermittelt danach selber die vom Sender vorgelegte 
Datenrate.

Beitrag #5598824 wurde von einem Moderator gelöscht.
Beitrag #5598827 wurde von einem Moderator gelöscht.
Beitrag #5598830 wurde von einem Moderator gelöscht.
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

planar schrieb:
> Woran erkennt der Empfänger z.b. zwei einsen oder zwei
> Nullen. Gibt es auf der Empfängerseite ein zeitliches Raster das dann
> beschreibt kein Signal also bit 0 nach einer bestimmten Zeit wieder 0
> oder so.

Hi @P.,
das ist die asynchrone Übertragung.
Daneben gibt es unter anderem noch die Synchronübertragung,
wo noch eine Relation zwischen Takt und Flanken eines Datensignals
ausgewertet werden.

USART ist dem RTTY also dem Fernschreiben bzw. Morsen (lang kurz mit 
definierten Pausen dazwischen) noch sehr ähnlich.
Auch der Standard der Spannungen und der Wechsel von Plus nach Minus hat 
etwas mit der Fernschreibtechnik zu tun.

Man nimmt dann "genormte" Baudraten, die für Sender und Empfänger 
ziemich genau gleich sein müssen. Zum Beispiel die 9600.
Ein Frame sieht dann so aus
8N19K6
8 Bit keine Parität 1 Stopbit und die besagten 9600.

ciao
gustav

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Falk B. schrieb:
> Er muß wissen, mit welcher Bitrate der Sender arbeitet.

Genau genommen muss die Symbolrate bekannt sein. Beim UART mit seinen 
simplen 0en und 1en sind zum Glück die Werte für Symbol- und Bitrate 
gleich.

von Jemand (Gast)


Lesenswert?

Hallo


"Google scheint kaputt. Wiki ist offline und das Netz weg. Daher kann 
man
das wohl nicht selber recherchieren."

Ganz unabhängig vom alter und der genauen Frage, man muss aber auch erst 
mal recherchieren können.
Trotz guter Suchalgorithmen ist Google und Co. eben nicht in der Lage 
eine Suchanfrage zu verstehen wie sie hier der TO gestellt hat.
Aber genau so sieht halt eine Frage von einen Anfänger bzw. Einsteiger 
in einen für ihn neuen Fachgebiet aus.
Auch möchte der Fragesteller eben eine Antwort, bzw. einen erklärenden 
Link zu eine ganz bestimmten Teil eines ihn unbekannten oder halt erst 
grob bekannten Fachgebiet haben, und nicht mit, für den eigentliche 
Frage, "unnötiger" Information belastet werden.
Und auf eine Frage eingehen und vor allem Verstehen was der Fragende 
schon wies und dementsprechend zu Antworten ist halt am einfachsten im 
direkten, auch wenn nur schriftlich über das Internet bei solch 
speziellen Themen, Kontakt zwischen zwei Menschen.

Der klassische Weg in der Bildung ist natürlich der langsame Aufbau von 
Wissen mittels verschiedenster Lehrmaterialien - und das Ergebnis ist 
wenn es um ein umfassendes Wissen geht wahrscheinlich auch der richtige.

Aber man muss doch nicht immer den harten offiziellen Schul-, 
Ausbildungs- oder Universitären Weg gehen wenn es nur um das Hobby geht 
oder irgendeine unliebsame oder halt neue "Pflichtaufgabe" gelöst werden 
muss (Egal ob nun in der allgemeinen Ausbildung oder zu Lösung einer 
"echten" Problemstellung die sich im Alltag ergibt)?

Aber selbst wenn man in einen neuen Gebiet von Grund auf recherchieren 
und Wissen erlangen möchte so "muss" man sehr oft viele Quellen nutzen 
da es die "perfekt" verständliche Erklärung nur selten gibt, und da bei 
"echten offiziellen" Lehrmaterial besonders  "schlimm" im 
E-Technikbereich viel Wissen in der Mathematik vorausgesetzt wird (von 
absoluter Grundlagenliteratur im Hobbyumfeld mal abgesehen).
Man muss dann schon viele verschiedene Quellen nutzen, wobei das Lehr- 
und Erklärmaterial von begeisterten Hobbyist oder Lehrern (Dozenten) die 
aus der Praxis kommen und ihr Wissen an "normal" gebildeten Menschen 
oder noch besser Praktikern, Facharbeiter usw. die schon lange im Beruf 
sind, aber den ganzen Grundlagenkram der mal in der Schule oder 
Ausbildung vermittelt wurde einfach "vergessen" haben, weitergeben die 
besten Wissensvermittler sind da diese sich nicht "zu Fein sind" zu 
erklären wie z.B. eine Formel aus den E-Technikbereich den noch mal 
umgestellt wird, wie der griechische Buchstabe in der Formal eigentlich 
heißt usw.

Und gerade so etwas kann man am besten immer im direkten Kontakt oder 
wenigsten in einen "quasi persönlichen" Gedankenaustausch ,mit 
freundlichen Nachfragen und eben ohne eine Erwartungshaltung, am besten 
Vermitteln - ein einzelner allgemeiner Artikel oder einzelnes Fachbuch 
kann das (abgesehen von sehr seltenen Ausnahmen) das nicht bieten.

Jemand

von Michael K. (Gast)


Lesenswert?

planar schrieb:
> Woran erkennt der Empfänger z.b. zwei einsen oder zwei
> Nullen.

Da gibt es keine pauschale Antwort.
Nehmen wir den einfachsten Fall einer digitalen Übertragung, am Beispiel 
SPI:
https://de.wikipedia.org/wiki/Serial_Peripheral_Interface

Es gibt einen Master und einen Slave
Der Master signalisiert dem Slave über einen 'Slave select' das er jetzt 
gemeint ist.
Der Master sendet ein Taktsignal und ein Datensignal.
Der Master setzt das Datensignal auf 0 oder 1 und wackelt danach 
einmal mit dem Takt.
Der Slave übernimmt bei ansteigender Flanke das Datensignal und sendet 
bei fallender Flanke auf einem weiteren Pin seine Daten an den Master.
(definitionssache bei welcher Flanke was geschieht)
Man braucht also 4 Signalleitungen für eine bidirektionale Übertragung.

Ein UART ist Asynchron. Es gibt dabei kein Taktsignal, sondern feste 
Vereinbarungen auf beiden Seiten mit welchen Parametern gesendet wird.
Hält sich eine Seite nicht daran gibt es keine Übertragung.
https://de.wikipedia.org/wiki/RS-232

Man kann den Uart auch Half duplex mit differentiellen Siganlen 
betreiben um größere Strecken zu mehreren Slaves zu überbrücken.
https://de.wikipedia.org/wiki/EIA-485

Man kann auch den Takt in das Datensignal modulieren.
https://de.wikipedia.org/wiki/Manchester-Code

Oder man kann die Datenleitung umschalten und sttt des select eine 
Adresse übertragen.
https://de.wikipedia.org/wiki/I%C2%B2C

Es gibt noch viele weitere Möglichkeiten die alle immer ein spezielles 
Problem lösen.

von planar (Gast)


Lesenswert?

So nun bin ich vom Sport wieder daheim.

Erstmal vielen Dank für die Antworten.

Ich beschäftige mich mit dem Thema aus reinem Interesse und möchte eine 
grobe Wissenslage aufbauen um dann mal zu sehen wie Interessant das 
ganze Thema ist. Und ja, gesucht habe ich natürlich, aber wie schon 
jemand hier schrieb genau auf diese Frage eine Antwort zu finden, wenn 
man sich erst sehr kurz damit beschäftigt hat, ist natürlich schwierig. 
Da fehlen dann auch Grundlagen.

"Das Startbit ist immer 1 (high) und das Stoppbit ist immer 0 (low).

Die Übertragung ist mit einer bestimmten Frequenz vereinbart, wodurch
die zeitliche Länge eines Bit klar definiert ist."

Das zeigt mir schon ein klareres Bild.
Alle eure Antworten bis auf eine habe ich mir erstmal kopiert und muss 
mich damit beschäftigen, da ich dort manches nicht verstanden habe. Da 
habe ich in den Ferien ja noch was zu tun


Vielen Dank

von Wolfgang (Gast)


Lesenswert?

planar schrieb:
> "Das Startbit ist immer 1 (high) und das Stoppbit ist immer 0 (low).

Das kommt drauf an, wie 1 (high) bzw. 0 (low) definiert sind.
Bei einem UART sind die Daten gegenüber einer RS232-Schnittstelle 
üblicherweise invertiert.

von Karl B. (gustav)


Lesenswert?

Hi,
noch einmal zum Bild
https://www.mikrocontroller.net/attachment/380333/V24__48HEX.jpg

und erst LSB dann MSB.
Also das niederwertige Bit wird zuerst, das höherwertige zuletzt 
übertragen.

Man liest normalerweise so (bei Assembler Programmierung zum Beispiel):
hex 48

0b01001000

bei RS232 sieht es im Oszillogramm (Strahl läuft von links nach rechts)
dann so aus, wie im Bild

00010010

Dann die Pegelzuordnung bei V24:
Eine logische 1 ist minus 12V(kann noch genauer eingegrenzt werden, muss 
nicht genau 12V sein)

Eine logische Null ist dann plus 12V
(Also genau andersherum wie bei der Programmierung von MCUs.)

Diese Zuordnung hat etwas mit der Fernschreibtechnik zu tun.

ciao gustav

von Günter Lenz (Gast)


Lesenswert?


von HildeK (Gast)


Lesenswert?

Es gibt sehr viele verschiedene Arten, Daten zu übertragen. Die Palette 
ist sehr groß. UART, SPI und Ethernet wurden erwähnt, es gibt noch I2C, 
I2S, CAN, LIN, DSL, SDH, LON, ONEWire, die vielen digitalen Video- und 
Audioschnittstellen, und noch viele, die ich vermutlich auch nicht 
kenne.
Fast jedes hat eine andere Methode, die Bits wieder zu rekonstruieren. 
Entweder hat man ein vereinbartes Zeitraster, man überträgt den Takt mit 
oder er wird aus den Daten zurückgewonnen. Bei rein seriellen 
Übertragungen sind Synchronbits oder -worte erforderlich. Andere andere 
haben weitere Leitungen für Strobes.
Bei parallelen Übertragungen ist das einfacher.

von Peter D. (peda)


Lesenswert?

Bei IR-FBs wird auch oft die Impulslänge benutzt:
sehr lang: Startbit
lang: 1-Bit
kurz: 0-Bit

Der Vorteil ist, daß die Frequenzen des Senders und des Empfängers 
stärker voneinander abweichen dürfen, da bei jedem Bit neu 
synchronisiert wird.

von Thomas E. (picalic)


Lesenswert?

Wolfgang schrieb:
>> "Das Startbit ist immer 1 (high) und das Stoppbit ist immer 0 (low).

Den Satz sollte man am Besten vergessen!
Weder repräsentiert "High" immer eine logische "1", noch ist das 
Startbit immer "1"!

>
> Das kommt drauf an, wie 1 (high) bzw. 0 (low) definiert sind.
> Bei einem UART sind die Daten gegenüber einer RS232-Schnittstelle
> üblicherweise invertiert.

Aber unabhängig von einer evtl. Invertierung des Spannungspegels ist in 
aller Regel das Startbit der "0"-Pegel und Stopbit "1". Bei RS232 ist 
das dann durch die Invertierung eine hohe Spannung für "0"/Start, aber 
da werden dann auch die Datenbits mit hoher/positiver Spannung als "0" 
und niedriger/negativer Spannung als "1" übertragen. Daß das Startbit 
bei asynchroner Übertragung tatsächlich mal den Spannungs- bzw. 
Stromwert des übertragenen "1"-Bits hat, dürfte die absolute Ausnahme 
sein.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.