GEBIET DER ERFINDUNG
-
Diese Erfindung bezieht sich auf eine
Computereingabe/Ausgabe und insbesondere auf Audio- und Telefondienste
für einen Computer.
HINTERGRUND DER ERFINDUNG
-
Die Rolle des Computers dehnt sich von der einfachen
Datenverarbeitung auf allgemeinere Informationsverarbeitung und
Kommunikation aus. Zum Beispiel werden Computer zum
Verarbeiten abstrakterer Informationen verwendet, wie z. B.
Audio, Bilder und Video, sowie zum Steuern der Kommunikation
von Informationen, wie z. B. Steuerung von Faksimile- und
Telefondiensten. Der Bedarf nach einer Eingabe/Ausgabe (I/O
= Input/Output) wird immer größer und gleichzeitig wird
mehr Computerfunktionalität auf eine oder wenige
integrierte Schaltungen mit immer begrenzterer
Verbindungsverfügbarkeit integriert. Es besteht ein Bedarf nach effizienter und
kosteneffektiver Datenübertragung und -Steuerung zwischen
den zentralen Verarbeitungseinheiten und externen
Vorrichtungen, wie z. B. analogen Audiomikrophonen und
Lautsprechern und analogen Telefonsignalen. Außerdem besteht ein
Bedarf nach schnittstellenmäßigem Verbinden zu digitalen
Telefonsystemen, wie z. B. den digitalen
netzwerkintegrierten Diensten (ISDN = Integrated Services Digital Network),
welches eine Mischung aus Stimm-, Computer- und
Videosignalen überträgt. Schließlich besteht der Bedarf, die Zahl der
Verbindungen integrierter Schaltungen zu minimieren, die
zum Liefern all dieser Dienste erforderlich sind.
-
Die US-A-5,072,442 lehrt einen Zeitmultiplexbetrieb (TDM =
time division multiplexing), wobei der TDM-
Kommunikationspipelinebus, der alle gemultiplexten Daten
überträgt, einen reservierten Zeitschlitz aufweist, der für
alle Daten von allen Knoten verfügbar ist. Mehrere
Knotenstellen, die mit verschiedenen Taktraten arbeiten, sind an
den Bus gekoppelt. Der TDM-Kommunikationspipelinebus weist
einen Video-/PC-Dateidatenbus und einen Audio-
/Befehlsdatenbus auf und arbeitet mit einer Taktrate, die
ein Mehrfaches der Anzahl von Knoten in den Netzwerkzeiten
der höchsten Taktfrequenz aller Knoten in dem Netzwerk ist.
Somit gehen keine Daten, die von einem beliebigen Knoten
übertragen werden, verloren. Gemäß der US-A-5,072,442 sind
Video-/PC-Dateisignalpakete während eines reservierten aus
einer Mehrzahl fester Video-/PC-Dateidatenbus-Zeitschlitze
auf dem Video/PC-Dateidatenbus positioniert. Auf ähnliche
Weise sind digitalisierte Audio-/Befehlsdatenpakete während
eines reservierten einer Mehrzahl von Audio-
/Befehlsdatenbus-Zeitschlitze auf dem Audio-
/Befehlsdatenbus positioniert. Somit werden gemultiplexte
Daten mit der gleichen Rate übertragen. Es bestehen feste
Zeitschlitze für alle Datentypen und die Zeitschlitze
wiederholen sich mit einer festen Rate.
-
Die US-A-4,488,287 lehrt, daß Stimme und Daten in einem
gemeinsamen Informationsfeld kombiniert und in dem gleichen
Kanal übertragen werden können, Rahmen für Rahmen. Eine
feste Anzahl von Sprachbits ist mit einer festen Anzahl von
Datenbits in einen Rahmen kombiniert.
-
Es ist die Aufgabe der vorliegenden Erfindung, eine
verbesserte Flexibilität beim Verbinden eines Computers mit einer
Mehrzahl von Peripheriegeräten bereitzustellen.
ZUSAMMENFASSUNG DER ERFINDUNG
-
Diese Aufgabe wird durch ein Computersystem gemäß Anspruch
1 oder 5 und durch ein Verfahren gemäß Anspruch 6 gelöst.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Fig. 1 ist ein Blockdiagrammschema, das ein
Computersystem zeigt, das einen seriellen Bus für Telefon-
und Audiodienste umfaßt.
-
Fig. 2 ist ein Blockdiagrammschema, das zusätzliche
Details für Teile von Fig. 1 zeigt.
-
Fig. 3 ist ein Blockdiagrammschema, das den Aufbau des
seriellen Busses ausschließlich mit Audiodiensten
zeigt.
-
Fig. 4 ist ein Blockdiagrammschema, das den Aufbau des
seriellen Busses mit Telefon- sowie Audiodiensten
zeigt.
-
Fig. 5 zeigt Datenformate für Daten- und Steuerbits
innerhalb von Rahmen.
DETAILLIERTE BESCHREIBUNG DES BEVORZUGTEN
AUSFÜHRUNGSBEISPIELS DER ERFINDUNG
-
Fig. 1 ist ein Blockdiagrammschema, das ein Computersystem
zeigt, das die vorliegende Erfindung umfaßt. In Fig. 1
weist ein Computer 100 ein Audio/Telefon-I/O-System 102
auf, das mit einem zeitbereichsgemultiplexten, seriellen
Bussystem 104 verbunden ist, das mit einem
Telefondienstsubsystem 106 und einem Audiodienstsubsystem 108 verbunden
ist. Der Computer 100 umfaßt einen oder mehrere Prozessoren
110 und einen Direktzugriffsspeicher (RAM = random access
memory) 112, die durch einen Prozessorbus 114 verbunden
sind. Ein separater I/O-Bus 116 ist durch eine I/O-
Steuerung 118 vom Prozessorbus 114 isoliert. Das
Audio/Telefon-I/O-System 102 umfaßt einen Bereich mit
Registern 122, die direkt adressierbare Steuerfunktionen und
eine unterbrechungsgetriebene I/O vorsehen. Außerdem
besteht
ein Direktspeicherzugriff (DMA; DMA = direct memory
access) für ISDN-Daten (120) und ein DMA für
Audioabtastdaten (124). Eine unterbrechungsgetriebene, serielle I/O 126
wird für eine Steuerung und für serielle MODEM-Daten
verwendet. Die serieller I/O 126 und der Audio-DMA 124 werden
beide durch Zuerst-Hinein-Zuerst-Hinaus-Puffer (128 und
130) gepuffert. Der ISDN-DMA-Kanal 120, die serielle I/O
126 und der Audio-DMA 124 sind alle durch eine Audio-
/Telefonbussteuerung 132 auf dem
zeitbereichsgemultiplexten, seriellen Bussystem 104 zusammengeführt. Das
Telefonsystem 106 ist entweder ein System, wie es gezeigt ist, das
zwei analoge Telefonleitungen verbindet, oder alternativ
ein System, das zu einer einzelnen ISDN-Leitung verbindet
(nicht abgebildet). Das Audiosystem 108 liefert eine A/D-
Umwandlung, D/A-Umwandlung und eine Steuerung für externe
Audiogeräte, wie z. B. ein Mikrophon, Kopfhörer, einen
Lautsprecher und einen Stereo-Eingang und -Ausgang.
-
Fig. 2 zeigt ein zusätzliches Detail für das Bussystem 104,
das Telefonsystem 106 und das Audiosystem 108. Bei einem
Ausführungsbeispiel der vorliegenden Erfindung ist das
Audiosystem 108 ein handelsüblich erhältliches CODEC.
Passende Beispielteile sind das CS4215 CODEC von der Firma
Crystal Semiconductor Corporation oder das AD1849 CODEC,
erhältlich bei der Firma Analog Devices. Jeder CODEC-Entwurf
geht von einem seriellen Datenbus mit 64-Bit-Datenrahmen
aus, die für das CODEC reserviert sind. Bei der
vorliegenden Erfindung sind die 64-Bit-CODEC-Datenrahmen mit anderen
Daten über einen seriellen Datenbus mit einer höheren
Bandbreite auf eine Weise zeitgemultiplext, die für das CODEC
transparent ist.
-
In das Telefonsystem 106 ist für jeden Kanal ein digitaler
Signalprozessor (DSP) integriert. Ein passendes
Beispielteil ist der AD2105 DSP, erhältlich von Analog Devices.
Jeder DSP ist für das korrekte Implementieren verschiedener
MODEM-Protokolle verantwortlich, wie z. B. V.32 bis.
Zusätzlich hat jeder DSP die Fähigkeit, Audio- und Stimmdaten
mathematisch zu verbinden und diese Informationen über
einen Audio-DMA zu dem Computer und/oder für eine sofortige
akustische Rückkopplung zum CODEC zurückzuleiten. Das
Bussystem 104 ist nur von der Datenbewegung betroffen. Das
heißt, das Bussystem 104 ist nicht von externen
Telefonsystemprotokollen oder seriellen Datenprotokollen betroffen.
Für das Bussystem ist ISDN z. B. nur ein digitales
Datentor.
-
Gemäß Fig. 2 weist das Bussystem 104 einen
zusammengeführten seriellen Bus 143 (für kombinierte Steuerungs-,
Telefon- und Audiodaten), einen seriellen Audiobus 138 (für
Audiodatenabtastwerte und eine CODEC-Steuerung), einen Puffer
136, eine Pufferkonfigurationssteuerungsleitung 140 und
zwei Puffertaktsteuerleitungen 135 auf. Das Telefonsystem
106 ist als ein optionales System entworfen. Wenn das
Telefonsystem installiert wird, wird die Leitung 200 auf einen
hohen Pegel gezogen, um der Audio/Telefonbussteuerung 132
zu signalisieren, daß das Telefonsystem 106 vorliegt.
Entsprechend wird die Pufferkonfigurationssteuerleitung 140
auf einen niedrigen Pegel gezogen, um den Puffer 136 in
eine normalerweise nicht aktivierte Betriebsart zu zwingen.
Wenn das Audiosystem 108 das einzige vorliegende System
ist, ist die Pufferkonfigurationssteuerleitung 140 auf
einem hohen Pegel, derart, daß das Bussystem 104 automatisch,
wie in Fig. 3 gezeigt ist, konfiguriert ist. Wird ein
Telefonsystem 106 hinzugefügt, deaktiviert die
Konfigurationssteuerleitung 140 den Puffer 136, derart, daß das Bussystem
104 effektiv, wie in Fig. 4 gezeigt ist, verbunden ist.
Sogar wenn das Telefonsystem 106 installiert ist, besteht ein
Steuermodus zur direkten Steuerung des Audiosystems 108
durch den Computer 100, was das Bussystem 104 temporär in
die in Fig. 3 gezeigte Konfiguration positioniert. Die
Steuerleitung für diesen Modus ist die Data/Control-Leitung
(D/C-Leitung; D/C = Daten/Steuerung) 202. Der Computer 100
kann dem Telefonsystem 106 über die D/C-Leitung 202
befehlen, den Puffer 136 zu aktivieren. Deshalb zeigt Fig. 3 den
Aufbau des Bussystems 104 für einen Audiosystemsteuermodus
oder für eine Datenübertragung, wenn das Telefonsystem 106
nicht vorliegt. Fig. 4 zeigt die Konfiguration des
Bussystems 104 für eine Datenübertragung, wenn das Telefonsystem
106 vorliegt.
-
Es gibt drei Takte, die für das Steuern des Bussystems 104
verfügbar sind. Diese Takte sind vollständig asynchron und
variabel. Wenn sich das Audiosystem 108 im Steuermodus
befindet, wird die Taktrate des Bussystems 104 durch das
Audio/Telefon-I/O-System 102 gesteuert. Ansonsten wird die
Taktrate durch das Audiosystem 108 oder das Telefonsystem
106 gesteuert, wie unten beschrieben ist. Zwei
Taktsteuerleitungen 135 steuern, welches System die Taktrate steuert.
Es ist entweder eine oder keine der Taktsteuerleitungen 135
gleichzeitig aktiv. Wenn eine beliebige Taktsteuerleitung
135 aktiv ist, befinden sich der zusammengeführte serielle
Bus 134 sowie der serielle Audiobus 138 auf der gleichen
Frequenz. Wenn eine Taktsteuerleitung 135 aktiv ist, wird
die gemeinsame Bussystemtaktrate durch das Audio/Telefon-
I/O-System 102 gesteuert. Wenn die andere Taktsteuerleitung
135 aktiviert ist, wird die gemeinsame Bussystemtaktrate
vom Audiosystem 108 gesteuert. Wenn weder die
Taktsteuerleitung 135 aktiviert ist noch ein Telefonsystem 106
vorliegt, steuert das Telefonsystem 106 den Takt für den
zusammengefaßten, seriellen Bus 134, das Audiosystem 108
steuert den Takt für den seriellen Audiobus 138 und das
Audiosystem 108 steuert die Datenrahmensynchronisierung, wie
unten beschrieben.
-
Jeder der seriellen Busse (134 und 138) hat, wie folgt,
fünf Signale.
-
1. SDOUT - serielle Daten hinaus
-
2. SDIN - serielle Daten hinein
-
3. SCLK - serieller Tortakt (Bitrate)
-
4. FSYNC - Rahmensync
-
5. RESET - Zurücksetzen
-
Daten werden in Rahmen übertragen. Wie unten beschrieben,
sind Datenrahmen für das Audiosystem 108 an dem seriellen
Audiobus 138 immer 64 Bit/Rahmen. Wenn ein Telefonsystem
106 installiert wird, werden zusätzliche Bits am
zusammengeführten, seriellen Bus 134 jedem Rahmen hinzugefügt. Für
jeden seriellen Bus (134 oder 138) bedeutet das Rahmensync-
Signal (FSYNC) den Beginn eines Rahmens.
Zeitteilungsmultiplexen wird automatisch an die Systemkonfiguration
angepaßt, durch Steuern, welche Systeme FSYNC und SCLK
bestimmen und erzeugen. Wie oben beschrieben, wird SCLK durch das
Audio/Telefon-I/O-System 102 gesteuert, wenn sich das
Audiosystem 108 im Steuermodus befindet. Ansonsten wird SCLK
durch das Audiosystem 108 oder das Telefonsystem 102
gesteuert. Die Rahmensync-Rate (FSYNC) wird durch die
Anforderungen des Audiosystems 108 bestimmt. Wenn das
Telefonsystem 106 installiert ist, wird das Rahmensync-Signal
(FSYNC) für den zusammengeführten, seriellen Bus 134 durch
das Telefonsystem 106 erzeugt, wobei jedoch die Rahmensync-
Rate des zusammengeführten seriellen Busses 134 wird durch
die Anforderungen des Audiosystems 108 bestimmt wird. Das
Audiosystem 108 kann einen Abtastwert pro Rahmen eines
Stereosignals oder einen Abtastwert pro Rahmen eines
monoakustischen Signals ein Muster pro Rahmen erzeugen und
empfangen. Für Stereo- sowie monoakustische Audiodaten ist die
vom Audiosystem 108 benötigte FSYNC-Rate identisch mit der
Audiomusterrate.
-
Fig. 5 zeigt das logische Format von Datenrahmen für den
zusammengeführten seriellen Bus 134. In Fig. 5 ist ein
Rahmen 500 in Bytes (8 Bit) unterteilt. Die ersten 64 Bit
(Fig. 5, 502) eines Rahmens sind für Informationen zum oder
vom Audio-DMA-Tor reserviert (Fig. 1, 124). Die
verbleibenden Bits sind logisch in kleinere 16-Bit-Telefondatenrahmen
(T-Rahmen) 514 unterteilt. Wenn sich das Audiosystem 108 in
einem Steuermodus befindet, so sind die ersten 64 Bit
Steuerinformationen, wie durch Fig. 5, 502 gezeigt ist. Wenn
sich das Audiosystem 108 in einem Datenmodus befindet, dann
sind 32 Bit für Daten reserviert und 32 Bit für eine
Steuerung reserviert, wie durch Fig. 5, 504 gezeigt ist. Die 32
Datenbits können zwei 16-Bit Stereoabtastwerte (506)
aufweisen, einen 16-Bit Monoakustikabtastwert (508), zwei 8-
Bit Stereoabtastwerte (510) oder einen 8-Bit
Monoakustikabtastwert (512). Die 32-Bit-Audioabtastwertdaten können
entweder Telefonstimmenabtastwerte (ausschließlich 8-Bit-
Abtastwerte) enthalten, Audioabtastwerte für das
Audiosystem 108 oder digital gemischte Telefonstimmenabtastwerte
und Audioabtastwerte. Der Rest des Rahmens wird je nach
Bedarf mit Daten für ISDN oder seriellen I/O-Daten gefüllt.
ISDN oder die serielle I/O können mehrere Byte pro Rahmen
aufweisen, derart, daß die gesamte Bandbreite des Busses
verwendet werden kann, auch wenn einige Vorrichtungen nicht
aktiv sind.
-
Wenn das Telefonsystem 106 installiert ist, wird die
Bitrate (SCLK) für den zusammengeführten seriellen Bus 134 durch
das Telefonsystem 106 auf 13,824 MBit pro Sekunde
eingestellt. Ist ein Telefonsystem 106 installiert, variiert die
Anzahl der Bits in einem Rahmen, die für ISDN oder eine
serielle I/O verfügbar sind, mit der Abtastrate des
Audiosystems 108. Die Bitrate (SCLK) für den seriellen Audiobus
138 wird durch das Audiosystem 108 eingestellt. Ist kein
Telefonsystem 106 installiert, wird die Bitrate (SCLK) und
Rahmensync (FSYNC) für beide seriellen Busse (134 und 138)
vom Audiosystem 108 erzeugt. Ist kein Telefonsystem
installiert, ist die Bitrate (SCLK) 64-mal die Rahmensync-
(FSYNC-) Rate.
-
Bei den folgenden Beispielskonfigurationen wird angenommen,
daß ein Telefonsystem 106 installiert ist. Als eine erste
Beispielkonfiguration für Stereoaudio kann das Audiosystem
108 gesteuert werden, um zwei 16-Bit-Abtastwerte pro Rahmen
(Fig. 5, 506) bei einer Rahmenrate von 48.000 Rahmen pro
Sekunde aufzunehmen und zu erzeugen. Bei einer Bitrate von
13,824 Mbit pro Sekunde und einer Rahmenrate von 48.000
Rahmen pro Sekunde existieren 288 Bit pro Rahmen. Die
ersten 64 Bit werden für die zwei Audioabtastwerte (und die
CODEC-Steuerung) reserviert, und die verbleibenden 224 Bit
(28 Byte) werden mit ISDN-Daten oder seriellen I/O-Daten
oder beidem gefüllt. Als eine zweite Beispielskonfiguration
kann das Audiosystem gesteuert werden, einen 8-Bit-
Abtastwert pro Rahmen (Fig. 5, 512) bei 5.512,5 Rahmen pro
Sekunde zu empfangen oder zu erzeugen. Für das zweite
Beispiel sind 2.508 Bit pro Rahmen vorhanden. Die ersten 64
Bit des Rahmens werden für den 8-Bit-Audioabtastwert
reserviert, und die verbleibenden 2.444 Bit stehen für ISDN-
Daten und serielle I/O-Daten zur Verfügung.
-
Jeder 16-Bit-T-Rahmen (514) ist in 8 Datenbits und 8 Bits
mit Systeminformationen unterteilt. Ein 3-Bit-Feld zeigt
die Ziel-/Quelladresse (ADDR) (518) an. Ein 3-Bit-Feld
zeigt den Datentyp an, der in dem Datenbyte enthalten ist
(TYPE) (516). Ein Bit eines 2-Bit-Feldes wird als ein
Bereitsignal verwendet (RDL) (aktiv Tief, bereit für Daten)
(520). Es sein in Erinnerung gerufen, daß der Bus
vollduplex ist. Wenn das Telefonsystem 106 einen Rahmen zu der
Audio-/Telefonbussteuerung 132 überträgt, empfängt das
Telefonsystem 106 gleichzeitig einen Rahmen von der
Audio/Telefonbussteuerung 132. Wenn das Telefonsystem z. B.
einen T-Rahmen 514 mit einer Adresse 518 zur Zeit des RDL-
Bits überträgt, überträgt die Audio-/Telefonbussteuerung
RDL aktiv, wenn die Vorrichtung mit der Adresse 518 bereit
ist, um das entsprechende Datenbyte zu empfangen.
Entsprechend überträgt das Telefonsystem 106 RDL aktiv zur Zeit
des RDL-Bits, wenn der adressierte serielle Kanal oder das
ISDN-Tor bereit ist, ein Datenbyte aufzunehmen.
-
Die Reihenfolge gemultiplexter Daten hängt von der Richtung
des Datenflusses ab. Zurückkehrend zu Fig. 1 werden T-
Rahmen (Fig. 5, 514), die durch das Audio/Telefon-I/O-
System 102 ausgegeben werden, auf einer Prioritätsbasis mit
der folgenden Prioritätsreihenfolge übertragen: (1)
Telefonsteuerinformationen, (2) ISDN-Daten und (3)
Telefondaten. Wenn Informationen zum Übertragen verfügbar sind, wird
ein Indikator zu der Audio/Telefonbussteuerung 132 durch
das ISDN-DMA-Tor 120, das Audio-DMA-Tor 124 oder das
serielle I/O-Tor 126 eingestellt. Die Audio/Telefonbussteuerung
132 entscheidet zwischen den verschiedenen
Informationsquellen und serialisiert die Informationen zur Übertragung
zum Telefonsystem 106. Umgekehrt haben T-Rahmen, die vom
Telefonsystem 106 ausgegeben werden, keine
Prioritätsreihenfolge und werden einfach übertragen, wie sie von dem
(den) DSP(s) im Telefonsystem 106 empfangen werden. Jeder
DSP im Telefonsystem 106 empfängt Informationen von den
Telefonleitungen und stellt T-Rahmen her, die nach Bedarf an
das Audio/Telefon-I/O-System 102 gesendet werden.
-
Jeder DSP in dem Telefonsystem 106 ist programmierbar und
wird durch den Computer 100 gesteuert. Das Telefonsystem
106 enthält ebenfalls eine A/D- und D/A-Umwandlung für
Telefonstimmensignale unter DSP-Steuerung. Diese Signale
werden mit einer festen Geschwindigkeit von 8.000 Abtastwerten
pro Sekunde mit 8 Bit pro Abtastwert abgetastet. Jeder DSP
hat auch Zugriff zu Audiodaten vom Audiosystem 108 (siehe
Fig. 4). Jeder DSP kann programmiert werden, um
digitalisierte Stimm- oder Audio-Daten oder digital gemischte
(hinzugefügte), digitalisierte Stimm- und Audio-Daten zu
übertragen. Telefonstimmenabtastwerte (oder gemischte
Abtastwerte) werden in den ersten 64 Bit eines Rahmens in dem in
Fig. 5, 510 oder 512, gezeigten Format übertragen/empfangen
(ausschließlich 8-Bit-Abtastwerte).
-
Zurückkehrend zu Fig. 1 werden Audioabtastwerte über einen
DMA-Kanal 124 schnittstellenmäßig mit dem Computer
verbunden und ISDN-Daten werden schnittstellenmäßig über einen
DMA-Kanal 120 mit dem Computer verbunden. Jeder dieser
Kanäle ist bidirektional mit gleichzeitiger Datenübertragung
in jeder Richtung. Der Speicher 112 in dem Computer ist in
logische Seiten unterteilt. Um einen fortlaufenden Daten-