Michael Stollberg
Klanganalyse & Synthese
bei F. HEIN WS 98/
Small Computer System Interface
Hauptbausteine eines Rechners zur Audioverarbeitung sind:
Prozessor: | arbeitet/rechnet die Befehle/Anforderungen systematisch ab |
Hard Disk: | fest integrierter Datenspeicher (Standard: 4 Giga-Byte Speicherkapazität) |
Prozessorkarte: | Audio-Signalverarbeitung (DSP, bzw. 'Soundkarte') |
SCSI - Bus: | Daten-Transfer-Bus für alle Data-Arten (Audio, Steuerung, Sonstige) |
Konzeption SCSI:
Im Unterschied zu anderen Datenübertragungsformaten (z.B. AES/EBU)
ist SCSI als Daten-Bus konzeptioniert; das heißt, das Data nicht
nur in ein bestimmtes Format zwecks Übertragung und Protokollierung
codiert wird, sondern das alle Geräte des Systems durch einen
Bus (= diskreter Signalweg) miteinander verbunden sind. Somit findet eine Kommunikation
zwischen den einzelnen Systemkomponenten statt, wodurch eine kostengünstige,
schnelle und effiktive Datenübertragung gewährleistet wird (Genaueres siehe unten). Ein weiterer Vorteil besteht darin, daß der Rechner-Hauptbus
und der Audiobus getrennt werden können und dich dann nicht gegenseitig
behindern.
Historisch wurde SCSI aus einem Schnittstelle namens SASI (1979)
der Firma Shugart, welches zur Anbindung der damals neuen 8-Zoll-Festplatten
diente, entwickelt. Das Konzept eines allgemeinen (nicht auf Audio
spezialisiert), hardware-unabhängigen Busses mit hoher Datentransferrate
war die erste Grundlage; die zweite war eine neue Struktur der
Geräteaufgaben: das Master-Slave-System wurde durch das Initiator-Controller
- Modell abgelöst. Weiterhin arbeitet SCSI auf drei verschiedenen
Ebenen: erstens auf der Kommando-Ebene (commands für verschiedene
Gerätetypen), zweitens auf der Protokoll-Ebene (logische Steuerung und Zeittaktung), und auf der Interface-Ebene
(Schnittstellenfunktion).
Die erste Spezifizierung erfolgte 1986 durch das American National
Standards Institue als ANSI X3.131 - 1986 (Erweiterungen im gleichen Kürzel).
Die folgenden Angaben beziehen sich auf den SCSI-1 - Standard
Funktionweise:
Jedes angeschlossene Gerät erhält eine ID (Identifikationsnummer),
unter der es im SCSI-Bus angemeldet wird (ID muß auch am Gerät
eingestellt werden [Jumper]): die wichtigsten Geräte des Systems
werden aufgrund einer ID-Prioritätenverteilung bevorzugt. Damit
ist die Vorraussetzung für das Initiator-Controller - Modell gegeben:
Der Initiator (auch Host Adapter) gibt die Anweisung für eine
Operation, welche von der zuständigen Zielmaschine eigenständig
durchgeführt wird. Dabei werden als erstes die Steuerungsbefehle
übertragen, danach die Informations-Data (Es können verschiedene
Geräte als Initiator fungieren). Der Bus ist also nur für die
Zeit der eigentlichen Datenübertragung belegt, wodurch eine schnelle
und effiziente Nutzung ermöglicht wird.
Beim Starten des Systems wird mittels hand-shaking die Anwesenheit und Betriebsbereitschaft der einzelnen Systemkomponenten
geprüft, so daß Gerätefehler vor der Anwendung behoben werden
können.
Physikalischer Aufbau:
Es sind maximal 8 Geräte anschließbar; diese sollten möglichst
gleichwertig SCSI - intelligent sein, denn die individuellen Geräteleistungen
bestimmen die Geschwindigkeit des SCSI-Busses.
Der eigentliche Bus besteht aus:
8 Data - Adern: | übertragen Informations-Data, Kommandos und Meldungen (Zustand,etc.) |
1 Parity - Ader: | erzeugt Spannungsgleichheit am Beginn/Ende eines Datenwortes (siehe AES/EBU-html !!) |
9 Steuer - Adern: | senden Steuersignale |
Diese befinden sich gemeinsam mit den Masse-Leitungen in einem
Rundkabel mit einem 50-pin-Centronics-Stecker (vgl. Druckerkabel).
Die systeminterne Geräteverkabelung besteht aus 50-pin-Flachbandkabeln
mit 'Schneid-Klemmen'.
Die binären Signale sind low-active, daß heißt eine '1' wird durch eine niedrige Spannung realisiert,
eine '0' durch eine hohe Spannung.
Es existieren zwei Methoden des Datentransfers: beim asynchronen wird für jedes Byte ein hand-shake durchgeführt (Kontrollierung der Geräte); bei synchroner Übertragung werden die Byte-Serien nach einmaliger Kontrolle gesendet.
Daraus ergeben sich unterschiedlichen Übertragungsraten: asynchron
ca. 1,5 MB/sec, sychron ca. 5 MB/sec. In der ProTools-Praxis gelten
ca. 1,5MB/sec für das Lesen von Daten.
Für die zulässige Kabellänge des gesamten SCSI-Busses ist die
Art und Weise der Schnittstellen-Verknüpfung von Bedeutung: bei
single-ended Interfaces (= Signal wird nur auf eine Leitung gegeben) beträgt
die maximale Länge 6m, bei differntial Abschlüssen (= Signal wird auf zwei Leitungen gegeben) sind 25m
erlaubt.
Da die Adern des SCSI-Busses hochfrequente Signale leiten, müssen
die Enden (Host Adapter und letzes Gerät) des Busses terminiert werden: das heißt, daß an die Leitungsenden mit einem Widerstand
belastet werden, damit keine Signalreflexionen in das System gelangen.
Für diesen Zweck gibt es die passive Terminierung (Widerstandsnetzwerk) und die aktive Terminierung, bei der Spannungsregler die Leitungsenden abschließen. Die Spannungen
werden als Information mit durch des SCSI-Bus geschickt (= Terminator
Power, abgekürzt: TEMPWR).
Neuerungen/Erweiterungen zum SCSI-1-Standard:
Bis hierher wurde das Grundprinzip des SCSI-Busses anhand des
SCSI-1 - Standards erklärt. Dieser Standard von 1986 ist natürlich
längst veraltet und nicht mehr gültig. Deshalb sind hier die neueren
Standards und deren technische Änderungen aufgeführt:
SCSI-2: | - unterstützt Hard Disks, Bandlaufwerke, CD-Roms, Scanner (erweit. Kommandosatz) |
- schneller: | |
Fast SCSI: 10 MB/sec (aufgrund doppelter Übertragungsrate) | |
Wide SCSI: 10 MB/sec (Busbreitenerweiterung auf 16 bit) | |
UltraWide SCSI: 20 MB/sec (Busbreitenerweiterung auf 32 bit) | |
Kombinationen auch möglich !! | |
- Verschaltung mehrerer SCSI-Busse | |
- mehrere Initiatoren bestimmbar | |
- command - queuing: bis zu 256 Kommandos/Initiator/SCSI-Einheit | |
- automatische Geräteprüfung auf SCSI-Intelligenz + automatische Einstellung | |
- abwärts kompatibel |
SCSI-3: | - automatische Gerätekonfiguration |
- mehr als 8 ID - Nummer stehen zur Verfügung | |
- längere Kabel möglich (bis 650 Meter) | |
- optische Leiter | |
- beinhaltet paralleles und serielles SCSI |
serielles SCSI | |
Fire Wire | - bis zu 50 MB/sec - max. 16 Geräte anschließbar - standardisiert als IEEE 1394 |
SSA | - bis zu 80 MB/sec - bis zu 128 Geräte - nur SCSI - ähnlich !! |
Fibre Channel | - aufgrund optischer Leiter theoretisch bis zu 1032 MB/sec - basiert nur noch auf den Ideen von SCSI |
Ein Protokoll schickt mit der Informations-Data die entsprechenden
Steuerungsbefehle, aus denen das weiterverarbeitende Gerät die
Anforderungen entnimmt. Da in den abgetasteten und quantisierten
Audio-Daten nur die puren Abtastwerte enthalten sind, muß also
im Protokoll erstens eine zeitliche Einteilung erfolgen, zeitens
müssen die Datengruppen benannt werden, drittens müssen die Befehle
zur Weiterverarbeitung hinzugefügt werden.
Für die Zeiteinteilung exsistiert der Time-Code mit der Einteilung in Stunde/Minute/Sekunde/Frame/Subframe: dabei
ist ein Frame = 40msec = 80 Subframes => ein Subframe = 0,5 msec
.
Das Übertragungsprotokoll besteht also aus der festgelegten Reihenfolge
verschiedener Zeitabschnitte: Bus frei, Befehle, Bus-Zuteilung,
Wiederwahl, Informationen, Meldungen und Data.
Es existieren 9 Steuersignale, von denen jedes auf einer der Steuerungsadern
sendet wird:
ACK (acknowledge) | Controller signalisiert Bereitschaft zur Datenübernahme |
ATN (attention) | Host informiert Controller, daß Message bereitsteht |
BSY (busy) | Gerät momentan beschäftigt/ Bus momentan belegt |
C/O (control/data) | Anzeige, ob Steuerbefehle oder Daten übertragen werden |
I/O (input/output) | Festlegung der Datenflußrichtung |
REQ (reqest) | Anforderung des Controllers zur Datenübernahme |
MSG(message) | Festlegung als Meldungszeitabschnitt |
RST (reset) | Notsignal (Stop bei Busaufhängung) |
SEL (select) | Festlegung als Wahl/Wiederwahl - Zeitabschnitt |