Michael Stollberg
Klanganalyse & Synthese
V. HEIN   WS 98/
Rechnerarchitektur:

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 
- stanardisiert 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 
 
 

SCSI - Protokoll:
 
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.
 
 

SCSI - Steuerungssignale:

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