Parallele Schnittstelle

Die parallele Schnittstelle dient im Praktikum dazu, einen Transceiver an einen PC zu koppeln. Mittels der parallelen Schnittstelle wird ein Transceiver gesteuert und es werden Daten zu einem entfernten Transceiver übertragen und von ihm empfangen.

Aufgrund der doch geringen Datenübertragungsrate kann vom PC aus die Funktionsweise des Transceivers zur ’Realzeit’ gesteuert werden. Dies bildet die Basis dafür, eigene MAC Protokolle mit komfortablen Entwicklungswerkzeugen auf einem PC zu entwickeln, und nicht auf ungewohnte Werkzeuge für Single-Computersysteme angewiesen zu sein.

Die bereitgestellte Software zur Ansteuerung der parallelen Schnittstelle und damit auch des Transceivers kann zu Testzwecken im „User-Space“ des Linux Betriebssystems entwickelt werden, bevor sie in den Kernel unter Beibehaltung der API transferiert wird. Diese Vorgehensweise sorgt dafür, dass eine Konzentration auf die kommunikationstechnischen Teile und nicht auf die Funktionsweise des Betriebssystems erfolgt, was zu wesentlich kürzeren Entwicklungszeiten und damit zu einem größeren Lerneffekt führt.

Generell dient eine Hardwareschnittstelle in einem Computersystem dazu, Daten zwischen einem Peripheriegerät (Tastatur, Maus, Drucker, Modem, Festplatte, Netzwerk) und dem Mikroprozessor über eine Anzahl von Pins auszutauschen. Die Übertragung der Daten erfolgt meistens digital in Form von Bits, sodass an einem Pin ein Signal mit dem Wert ’0’ oder ’1’ gesendet wird.

Bei einer seriellen Schnittstelle kann ein Bit erst gesendet werden, wenn das vorherige Bit übertragen wurde. Eine parallele Schnittstelle ermöglicht es hingegen, dass mehrere Bits zur selben Zeit übertragen werden können. Durch die Möglichkeit, mehrere Bits parallel zu übertragen, erreichte die parallele Schnittstelle in der Vergangenheit höhere Übertragungsraten als die serielle Schnittstelle. Bei der Einführung der parallelen Schnittstelle in den 70er Jahren konnten Übertragungsraten von bis zu 150 kBit/s erreicht werden. Demgegenüber konnte die wohlbekannte RS232 Schnittstelle nur Übertragungsraten bis ca. 32 kBit/s erreichen.

Hierin ist auch der Grund zu sehen, dass Drucker meistens an die parallele Schnittstelle angeschlossen wurden, und nicht an die serielle Schnittstelle. Da zum Drucken sehr große Datenmengen übertragen werden, konnten sie durch die parallele Schnittstelle in sehr viel kürzerer Zeit übermittelt werden. Der Vorteil der höheren Übertragungsraten musste durch eine sehr viel geringere Leitungslänge in Kauf genommen werden (bis zu 1,5m gegenüber ca. 25m bei der seriellen Schnittstelle). Durch die Einführung neuerer Schnittstellen - wie etwa der USB- oder Firewire-Schnittstelle - verliert die parallele Schnittstelle immer mehr an Bedeutung. In der Mess- und Steuerungstechnik ist sie jedoch aufgrund ihrer Einfachheit noch immer attraktiv.

In ihrer ursprünglichen Version basiert die parallele Schnittstelle auf der Centronics-Schnittstelle und besteht aus 8 Output- und 5 Input-Leitungen, sowie aus 4 bidirektionalen Leitungen, die Steuerungszwecken dienen. In einer erweiterten Version der SPP (Standard Parallel Port) Version, wurden statt der 5 Input-Leitungen 8 Input-Leitungen verwendet. SPP wird auch als AT- oder ISA-kompatibel bezeichnet.

Die Übertragung vom Prozessor zum Peripheriegerät erfolgt in Bytes über die 8 Output-Leitungen. Daten von der Peripherie werden nur nibble-weise übertragen. Das bedeutet, es können jeweils nur 4 Bit gleichzeitig von den Input-Leitungen empfangen werden.

Eine Erweiterung des SPP stellt der PS/2 Mode dar. Beim PS/2 Mode ist auch der byte-weise Empfang von Daten möglich. Spätere Erweiterungen wie etwa der EPP (Enhanced Parallel Port) und der ECP (Extended Capabilities Port) wurden 1994 vom IEEE standardisiert und dienen der schnelleren Übertragung gegenüber SPP und PS/2 und dem Anschluss von mehreren Peripheriegeräten an eine Schnittstelle (z.B. Drucker und ZIP-Drive).

Die Schnittstelle gibt es in zwei Versionen: einer Ausführung mit einer 36 poligen Centronics-Steckverbindung oder einer 25 poligen D-Sub Buchsenleiste.

Die Pin-Belegung der Schnittstelle und die Namen der einzelnen Pins sind in Tabelle. 1 tabellarisch dargestellt. Die Namen der Pins orientieren sich an Ausdrücken der Druckersteuerung.

Tabelle 1 enthält nur andeutungsweise Informationen über die Semantik der Schnittstelle. Sie ist im Praktikum von geringer Bedeutung, da der Transceiver ein eigenes Protokoll verwendet, das unterschiedlich zur Druckersteuerung ist.

Im Praktikum ist nur wichtig, wie die einzelnen Pins angesteuert werden, d.h. auf ’0’ oder ’1’ gesetzt werden können. Für unsere CC1020-Experimentierumgebung bietet die parallele Schnittstelle (mit ihren 8 Daten-, 4 Control- und 5 Status-Leitungen) vor allem die Möglichkeit, die 2 seriellen Schnittstellen (serial programming interface und serial data interface) des CC1020 gleichzeitig zu betreiben. Außerdem ist die parallele Schnittstelle so einfach aufgebaut, dass sich bei Bedarf jede ihrer Leitungen mit ihrem jeweiligen Pegel am Oszilloskop verfolgen lässt. Eine genauere Beschreibung des Interfaces zwischen Linux Computer und CC1020 befindet findet sich unter ISIS.


Tabelle 1: Pins der parallelen Schnittstelle eines PCs