Parallel-/Seriell-Wandler - Bits in einer Reihe

 

Materialbedarf

 

Anz. Bezeichnung Datenblatt
1 Batterie/Spannungsquelle 9V  
1 CMOS-IC 4015
1 CMOS-IC 4069
1 CMOS-IC 4512
1 CMOS-IC 4518
12 Widerstand 1,0 kOhm  
1 Widerstand 47 kOhm  
1 Elektrolytkondensator 10 µF / 16 V  
1 Widerstandsnetzwerk 8x100 kOhm, 9 Pin  
1 8-Fach Dip-Schalter  
12 Standard-Leuchtdiode 3mm oder 5mm 3mm, 5mm

 

 

Grundlagen

 

In Computersystem müssen diverse Daten zu den einzelnen Peripherie-Einheiten übertragen werden. Sei es nun Festplatten, Tastatur, Webcam oder auch Daten vom/ins Internet. Hierbei bedient man sich oft serielle Datenübertragungssyteme. RS232, S-ATA, Ethernet, USB um nur einige zu nennen.

 

Aber, was bedeutet serielle Datenübertragung? Der Prozessor oder auch die entsprechende Hardwareeinheit benötigt die Daten in paralleler Form. Müssen also 8 Bit übertragen werden, werden min. 8 Leitungen zuzüglich mindestens einer Steuerleitung nötig. Ist die Datenbreite größer, entsprechend weitere Leitungen. Nun stelle man sich vor, man möchte ein 128 Bit Datenwort übertragen ...

 

Die Lösung des Problems ist es, dass man die Bits der Daten nicht parallel sondern nacheinander überträgt. Dies bedeutet, es wird erst der Signalpegel für Bit 0 auf die Datenleitung gelegt dann Bit 1 usw. Dies geht so lange, bis alle Bits übertragen sind. Ein Problem gibt es hierbei dennoch. Man muss dem Empfänger irgendwie mitteilen, wann das nächste Bit folgt und wann die Datenübertragung startet bzw. beendet ist.

 

Hierfür gibt es mehrere Möglichkeiten. Das einfachste System ist es den Takt und ein Start oder Stopp-Signal mitzuliefern. Hier würden dann also insgesamt 3 Leitungen zuzüglich einer Masseleitung benötigt. Gegenüber einer parallelen Datenübertragung mit 8 Bit plus Steuersignal ist es immer noch eine Einsparung von 5 Leitungen. Bei größeren Datenbreiten entsprechend mehr. Vorteil dieses Systems ist es, dass der Sender fast alleine die Übertragungsgeschwindigkeit bestimmt.

 

In den meisten seriellen Systemen spart man sich die Synchronisierungsleitung für ein Start- oder Stopp-Signal ein, indem man dieses durch definierte Signalpegel auf den Daten- und Taktleitungen realisiert. Siehe hierzu z.B. den I²C-Bus.

 

Definiert man feste Taktzeiten für Sender und Empfänger, kann man sich sogar noch die Taktleitung einsparen. Es bleibt dann nur die reine Datenleitung übrig. Dies ist z.B. bei der V24-Schnittstelle (RS232) der Fall. Hier wird die Übertragungsfrequenz genau festgelegt und sowohl der Sender als auch der Empfänger müssen sich an diese Frequenz halten.

 

 

Der Parallel-Seriell-Wandler

 

Sollen Daten seriell übertragen werden, benötigt man erst einmal eine Schaltung, welche aus einem parallelen Datenbyte mehrere serielle Bits macht.

Diese Aufgabe übernehmen so genannte Multiplexer. Hier wird der 4512 verwendet. Dies ist ein 8 Bit Multiplexer.

An den Eingängen D0-D7 wird das Datenbyte angelegt. Mit Hilfe der Adresseingänge A-C wird dann der Eingang ausgewählt, welcher am Ausgang Out erscheinen soll.

An den Adresseingängen legt man nun die Ausgänge eines Binärzählers und so werden nacheinander die Bits 0 bis 7 auf die Datenleitung gelegt.

Der 4512 besitzt noch 2 Steuerleitungen Inhibit und Disable, welche wir hier aber nicht verwenden. Die genaue Funktion ist aber im Datenblatt beschrieben.

 

 

Senderschaltung

 

 

Um eine serielle Datenübertragung zu ermöglichen muss man erst einmal einen Sender haben. In unserem Fall, besteht dieser aus dem Multiplexer welcher mit Adressdaten eines Binärzählers versorgt wird. Für den Takt dient ein einfacher, schon bekannter, Taktgeber.

Nach der Inbetriebnahme kann man an D1-D3 beobachten, welches Datenbit gerade auf die Datenleitung Data gelegt wird.

Das Datenbyte kann man mit S1 einstellen, welcher durch ein Dip-Schalter realisiert wurde. Hat man kein Dip-Schalter zur Hand, könnte man auch ersatzweise Steckbrücken einsetzen. Für jedes gesetzte Bit müsste eine Brücke gesteckt werden.

Die Leuchtdiode D4 zeigt nun die Datenbits auf der Datenleitung an.

 

 

 

Der Empfänger

 

Wie wir nun parallele Daten in einen seriellen Datenstrom umwandeln, wissen wir jetzt. Aber mit den seriellen Daten kann man selten etwas anfangen. Am Ziel müssen wir diesen Datenstrom wieder in ein parallel Datenwort umwandeln. Wie wird dies nun gemacht?

 

Im Grunde ist es ganz einfach. Wie man beim Sender sehen kann, wird ein Bit an die Datenleitung gelegt und dann ein Taktimpuls gesendet. Wurde das ganze Datenbyte gesendet, wird dies durch 'Data End' markiert. Wir brauchen also einen Baustein, welcher die ankommenden Bits annimmt und bei jedem Takt um eine Stelle weiter schiebt. Am Ende der Übertragung haben wir so das ganze Datenbyte wieder zusammen. Hier kann man sehr gut ein Schieberegister verwenden. Ein geeigneter Kandidat ist der 4015. Dieser enthält 2 4 Bit Schieberegister, welche wir in Reihe schalten um somit die vollen 8 Bit zu bekommen.

 

 

Um beide Schieberegister hintereinander zu schalten, müssen wir nur das Bit 3 des ersten Registers zum Dateneingang des zweiten legen. So werden die eingehenden Bits einfach ins zweite Register durchgeschoben.

Wenn man die Schaltung beobachtet, kann man schön sehen, wie die Daten im Schieberegister ankommen und auf den Leuchtdioden wieder zu erkennen ist. Aber so können wir damit noch nichts anfangen. Es sollen ja nur die Daten zu sehen sein, wenn das Byte komplett sein. Es wird also noch ein weiteres IC gebraucht, welches das fertige Datenbyte übernimmt, wenn das Signal 'Date End' gesendet wird.

 

 

 

Wird fortgesetzt ...

 

Zurück zur Auswahlseite            Zur Hauptseite