ZetaZero schrieb:
Wird das Signal "verdoppelt" und bei Fehlern des ersten Signals wird das zweite Signal an den entsprechenden Stellen genutzt?
Nein!
Ich weiß zwar wie es funktioniert, glaube aber nicht das ich das besonders gut erklären kann...
Denn das ist
kompliziert zu erklären. Es handelt sich hier um eine elektrische Signalübertragung (im Gegensatz z.B. zu einer rein optischen Übertragung mit Licht).
Also spielt Elektrotechnik und hier vor allem Hochfrequenztechnik eine Rolle. Es hat was mit der Einkoppelung von induktiven und kapazitiven Störeinflüssen von außen auf die Übertragungsleitung zu tun.
Und solche Störquellen gibt es innerhalb eines Computer-Gehäuses genug.
Es ist eine symmetrische Signalübertragung oder exakter, eine symmetrisch differenzielle.
Es werden zwei Daten-Leitungen je Richtung verwendet.
Da die Impedanzen auf beiden Signalwegen unveränderlich gleich sind (sagen wir laienhaft der elektrische Widerstand des Kabels sowie des Quell- und Zielgeräts),
wirken sich Störeinflüsse
gleichermaßen auf
beide Daten-Leitungen aus. Das ist wichtig zu verstehen, denn es ist der Hintergrund warum man es so macht wie man es macht.
Indem ein Sender ein Signal entgegengesetzt polarisiert auf zwei Leitungen schickt und der Empfänger durch eine Differenzbildung der beiden Signale das zu übertragende Nutzsignal berechnet,
kann man auf diese Art solche Störeinflüsse sehr einfach herausfiltern, ohne das aufwände Fehlerkorrektur-Routinen laufen müssen und unabhängig davon was für eine Art Daten überhaupt übertragen wird.
Es geht dabei also nicht darum was übertragen wird, sondern wie.
Es werden digitale Signale übertragen, also Nullen und Einsen. In Form eines konstant fließenden Stroms und einer sich ändernden Spannung, die am Ende als 0 oder 1 interpretiert wird.
(
Jetzt dringend Schutzhelm aufsetzen!)
Die folgende Beispielrechnung brauchst du dir
nicht zu merken, denn ich habe es vereinfacht und in Wahrheit ist es deutlich komplexer. Soll nur der besseren Vorstellung dienen.
01101001. Das soll übertragen werden.
Fangen wir mit der Übertragung der 0 an. Dazu läuft über eine Leitung die 0. Auf der anderen Leitung der entgegengesetzte Wert, eine 1. Die Rechnung sieht so aus:
(0+1)-(0+1) = 1-1 = 0. Passt.
Dann wird die 1 übertragen. Jetzt läuft über eine Leitung die 1, auf der anderen der entgegengesetzte Wert 0. Die Rechnung sieht so aus:
(1+0)-(0+0) = 1-0 = 1. Passt. Toll, oder?
Kippt jetzt ein Bit, stimmt das Ergebnis trotzdem noch. Denn nach allen Regeln der Wahrscheinlichkeit kippt es immer auf beiden Leitungen.
Darstellbar indem du in der Rechnung aus jeder 0 eine 1 und aus jeder 1 eine 0 machst.
Die erste Rechnung ergäbe immer noch 0 und die zweite Rechnung ergäbe immer noch 1. (Eigentlich -1 aber die Formel stimmt auch nicht ganz, aus Gründen der Übersichtlichkeit.)
Auch wird durch dieses Verfahren der Signal-/Rauschabstand erhöht.
Hättest du nur eine Leitung und ein Bit würde kippen (also 0 zu 1 oder 1 zu 0 werden), hättest du einen Fehler im Signal.
Du kannst dir auch dieses
Bild anschauen.
ZetaZero schrieb:
Und warum 3 Masseleitungen?
Zusätzlich werden dabei nicht nur die beiden Übertragungsleitungen zum Abgleich herangezogen, sondern auch eine Masseleitung, also ein weiteres Bezugspotential herangezogen,
um das korrekte Nutzsignal möglichst exakt bestimmen zu können.
Deshalb auch drei Masseleitungen. Jeweils eine zur zusätzlichen Fehlervermeidung je Leitungspaar
und eine Masseleitung, die einfach nur die beiden Geräte (die mit dem Kabel verbunden sind) verbindet und somit beide auf das gleiche elektrische Potential zieht.
Und dann gibt es noch eine Verdreh-Sicherung, falls du es doch schaffen solltest das Kabel falsch herum einzustecken, was aufgrund der Bauform eigentlich nicht möglich sein sollte.
Aber irgendwo und irgendwann schafft das schließlich trotzdem jemand...
8 Leitungen im SATA-Kabel:
Vier Datenleitungen, zwei je Richtung, für eine differenzielle Signalübertragung und Fullduplex-Betrieb (also gleichzeige Signalübertragung in beide Richtungen).
Zwei Masseleitungen, eine je Richtung, die zur Fehlerkorrektur genutzt werden.
Eine weitere Masseleitung, die einfach nur die beiden Geräte untereinander verbindet.
Eine Verdreh-Sicherung, damit du das Kabel nicht falsch herum einstecken kannst bzw. damit, sollte es dir trotzdem gelingen, keine Signalübertragung stattfindet.
Ausreichen würde ein Leitung je Richtung und eine Masseleitung. Also drei statt acht Leitungen. Der Rest dient nur der Vermeidung von Übertragungsfehlern.
PS: Um alles wirklich korrekt zu erklären, müsste ich mehrere Elektrotechnik-Vorlesungen halten, was ich mir und dir an dieser Stelle erspare...
Die übertragene 0 oder 1 ist ja in Wahrheit eine spezifische, aufmodulierte Spannung auf einer Leitung. Und bei SATA werden zudem 8 Bit Nutzdaten in 10 Bit kodiert übertragen.
Das macht man u.a. da man mit dieser Art der Kodierung im Mittel ungefähr gleich viele Nullen und Einsen erhält bei gleichzeitig möglichst vielen Wechseln zwischen 0 und 1.
Noch mehr unnützes Wissen?
Die Spannung auf einem SATA-Kabel liegt bei 1,2V bei konstant fließenden 3,5mA.
Wobei der Unterschied zwischen 0 und 1 einem Spannungsunterschied von 350mV entspricht. Die Leitung hat 100Ω Widerstand.
PS2: Es gibt neben der differenziellen Übertragung auch eine pseudo-differenzielle, bei der kein invertiertes Signal mit übertragen wird,
sondern auf einer Leitung das Nutzsignal und auf der anderen ein festes Referenzsignal. Ich bin mir aber relativ sicher das das bei SATA so nicht gemacht wird.