Parallele Datenübertragung: Grundlagen, Vorteile und Herausforderungen

Parallele Datenübertragung

Das ist ein vollwertiger Auszug aus dem Buch Elektronik und Heimautomation DIY.

Bei der parallelen Datenübertragung werden die Datenbits nicht nacheinander, sondern gleichzeitig über mehrere Leitungen übertragen. Für eine 8-Bit-Übertragung sind mindestens 8 Datenleitungen sowie eine Ground-Leitung (GND) notwendig. Zusätzlich wird häufig eine Strobe-Leitung verwendet, um dem Empfänger den Zeitpunkt anzuzeigen, zu dem die Daten gültig sind. Die Strobe-Leitung sorgt dafür, dass die Schnittstelle einen definierten Zustand hat, bevor die Daten vom Empfänger gelesen werden.

Parallele Datenübertragung 1
Parallele Datenübertragung 2

Warum ist die Strobe-Leitung notwendig

Ohne die Strobe-Leitung könnte der Empfänger nicht erkennen, wann die Daten stabil sind und gelesen werden sollen. Dies würde zu Synchronisationsfehlern und potenziell fehlerhaften Daten führen, insbesondere bei hohen Übertragungsgeschwindigkeiten.

Die Strobe-Leitung ist immer notwendig, wenn keine andere Methode zur Synchronisation zwischen Sender und Empfänger vorhanden ist. Ohne Strobe-Signal könnte der Empfänger nicht sicher wissen, wann die Daten auf den Leitungen stabil und gültig sind. Sie ist ein zentraler Bestandteil vieler paralleler Übertragungsprotokolle um potenziell fehlerhaften Daten zu Vermeiden, insbesondere bei hohen Übertragungsgeschwindigkeiten.

Wann ist die Strobe-Leitung erforderlich?

• Synchronisationslosigkeit: Bei parallelen Übertragungen, die kein eingebautes Timing- oder Synchronisationssignal (wie einen Takt) verwenden, wird die Strobe-Leitung benötigt, um den Zeitpunkt für das Lesen der Daten zu signalisieren.

• Spezifische Protokolle: Manche Protokolle wie Parallel Peripheral Interface (PPI) oder General Purpose Parallel Interfaces setzen die Strobe-Leitung voraus, um die Daten zu koordinieren.

Wann könnte auf eine Strobe-Leitung verzichtet werden?

• Integrierte Taktleitungen: Wenn parallele Übertragungen durch einen gemeinsamen Takt (Clock) synchronisiert werden, wie es bei vielen parallelen Schnittstellen (z. B. bei Speicherbus-Systemen) der Fall ist, wird die Strobe-Leitung nicht benötigt.

• Feste Datenraten: Manche Systeme setzen auf präzise Timing-Annahmen und verzichten auf ein zusätzliches Synchronisationssignal, was jedoch weniger zuverlässig ist.

Unterschied zwischen Strobe und Clock-Leitung

Strobe-Leitung:

  • Eine Strobe-Leitung signalisiert explizit, dass die Daten auf den parallelen Datenleitungen stabil und gültig sind.
  • Sie wird typischerweise nur aktiviert (LOW oder HIGH), wenn neue Daten gesendet werden sollen. LOW-aktiver Strobe ist Standard.
  • Sie ist asynchron, d. h., sie arbeitet unabhängig von einem Takt oder einer festen Frequenz.

Clock-Leitung:

  • Eine Clock-Leitung (SCL) gibt den Takt für die Übertragung vor, indem sie regelmäßige Signale (z. B. Rechtecksignale) liefert.
  • Sender und Empfänger synchronisieren sich mit den Flanken (steigende oder fallende Flanken) des Taktsignals.
  • Eine Clock-Leitung wird in synchronen Übertragungen verwendet und ersetzt die Strobe-Leitung, da der Zeitpunkt für das Lesen oder Schreiben der Daten durch den Takt definiert ist.
CLV vs Strobe

Parity-Prüfungen

Mit einem Parity-Bit kann überprüft werden, ob die Daten während der Übertragung fehlerfrei sind. Es gibt drei gängige Modi:

Odd Parity (ungerade Parität):

  • Das Parity-Bit wird auf 0 gesetzt, wenn die Anzahl der HIGH-Bits (1) ungerade ist. Ist die Anzahl der HIGH-Bits gerade, wird das Parity-Bit auf 1 gesetzt, um die Gesamtanzahl ungerade zu machen.

Even Parity (gerade Parität):

  • Das Parity-Bit wird auf 1 gesetzt, wenn die Anzahl der HIGH-Bits (1) gerade ist. Ist die Anzahl der HIGH-Bits ungerade, wird das Parity-Bit auf 0 gesetzt, um die Gesamtanzahl gerade zu machen.

None Parity (keine Parität):

  • Hier wird kein Parity-Bit verwendet. Dieser Modus spart ein Bit, verzichtet aber auf jegliche Fehlererkennung.

Parity-Prüfungen bieten eine einfache Möglichkeit, Datenfehler während der Übertragung zu erkennen, jedoch keine Möglichkeit zur Fehlerkorrektur.

Beispielablauf für ein Datenpaket

Parallele Datenübertragung Bitebene

Idle-Zustand:

  • Datenleitungen: Keine gültigen Daten (z. B. alle LOW).
  • Strobe: HIGH (Idle-Zustand).

Datenbits bereitstellen:

  • Der Sender legt die Daten 10101101 (von D0 bis D7) parallel auf die Datenleitungen.

Strobe aktiviert (LOW):

  • Der Sender setzt die Strobe-Leitung auf LOW, um dem Empfänger mitzuteilen, dass die Daten stabil und bereit sind.

Daten werden gelesen:

  • Der Empfänger liest die Daten von den Datenleitungen, während die Strobe-Leitung LOW ist.

Strobe deaktiviert (HIGH):

  • Nach dem Lesen der Daten setzt der Sender die Strobe-Leitung wieder auf HIGH, um den Abschluss dieses Lesevorgangs zu signalisieren.

Idle-Zustand:

  • Die Datenleitungen (LOW) und die Strobe-Leitung (HIGH) kehren in den Idle-Zustand zurück bis der nächste Datenzyklus beginnt.
Parallele Datenübertragung Datenpaket

Probleme bei der parallelen Datenübertragung

Die parallele Datenübertragung wird bei steigender Übertragungsgeschwindigkeit physikalisch zunehmend problematisch. Faktoren wie unterschiedliche Leitungslängen, Induktivitäten und Kapazitäten führen dazu, dass die Signale der einzelnen Leitungen zeitlich auseinanderlaufen. Dieses zeitkritische Verhalten und die erhöhte Fehleranfälligkeit durch die große Anzahl von Leitungen und Kontakten machen parallele Übertragungen unzuverlässiger.

Genau aus diesem Grund wird die parallele Übertragung in vielen modernen Anwendungen durch andere Übertragungsverfahren wie die serielle Datenübertragung ersetzt.

★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★

oder über

Vielen Dank im Voraus, Euer Edi.