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