-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft Zeitmultiplex-Kommunikationssysteme, darunter Zeitschlitzaustausch-Systeme.
-
Hintergrund der Erfindung
-
Verschiedene
moderne Telekommunikationsvermittlungssysteme nutzen ein Zeitmultiplex(TDM)-Kommunikationsmedium
als ihr Koppelnetz. Ein illustratives Beispiel für ein solches System ist die
Nebenstellenanlage (PBX) Definity® der
Lucent Technologies Inc. Portschaltungen, welche eine Schnittstelle
zwischen Kommunikationsleitungen und -Einrichtungen (Anwendungen)
und dem TDM-Medium bilden, bieten normalerweise Zugriff auf nur
eine relativ kleine Anzahl der Zeitschlitze des Mediums. Beispielsweise
bieten die Portschaltungsbaugruppen der PBX Definity Zugriff auf
32 Zeitschlitze der 256 Zeitschlitze des TDM-Busses der PBX. Anwendungen,
die Zugriff auf mehr als 32 Zeitschlitze benötigen, nutzen entweder mehrere
Portschaltungsbaugruppen oder anwenderspezifische (und im Allgemeinen
komplexe und teure) Zeitschlitzaustausch(TSI – Time-Slot Interchange)-Schaltungen.
-
Anwendungen,
die Zugriff auf mehr Zeitschlitze benötigen, als herkömmliche
Portschaltungen zur Verfügung
stellen, werden immer üblicher. Wenn
solche Anwendungen mehrere Portschaltungsbaugruppen nutzen, belegen
sie mehrere Schaltungsbaugruppen-Steckplätze an dem TDM-Medium und reduzieren
dadurch die Anzahl von Anwendungen, die das Vermittlungssystem bedienen
kann. Wenn solche Anwendungen kundenspezifische komplexe und teure
TDM-Schnittstellen schaltungen nutzen, erhöhen sich die Kosten des Systems
beträchtlich.
-
Eine
ideale TDM-Schnittstelle würde
für jede Anwendung,
die von einer Portschaltungsbaugruppe bedient wird, Zugriff auf
alle Zeitschlitze des TDM-Mediums bieten, welche die Anwendung erfordert,
und zwar in einer einfachen, kostengünstigen Weise.
-
Alles, "An Intelligent Network
Processor for a Digital Central Office", Internationales Züricher Seminar zur digitalen
Kommunikation, IEEE, 7.–9.
März 1978,
Seiten 1–6,
XP002071430, Zürich,
Schweiz, diskutiert eine digitale Vermittlung zur Nutzung in einem
experimentellen, vollständig
digitalen Büro
mit fünf
Telefonen. Die Vermittlung erfolgt durch einen Hochgeschwindigkeits-Speicherprogrammprozessor,
der die Daten unter Vorbehalt modifizieren kann, um eine anwenderspezifische
Schleifendämpfung bereitzustellen,
Daten zusammenzufassen, um Konferenzschaltungen bereitzustellen
und um mehrere gleichzeitige Netzverbindungen bereitzustellen.
-
Zusammenfassung der Erfindung
-
Es
wird eine Vorrichtung entsprechend Anspruch 1 zur Verfügung gestellt.
-
Die
Erfindung ist darauf ausgerichtet, die Nachteile des Standes der
Technik zu vermeiden und dem Bedarf der Technik zu entsprechen.
Beispielhaft nutzt entsprechend einer Ausführungsform der Erfindung ein
Prozessor, der Anwendungen ausführt,
welche Zugriff auf Zeitschlitze eines TDM-Mediums erfordern, Reserve-Verarbeitungskapazität und/oder Reserve-Hardware des Prozessors,
um eine Schnittstelle zu dem TDM-Medium
zu bilden und um eine Zeitschlitzaustausch(TSI)-Funktion zu implementieren. Die resultierende
Schnittstelle zu dem TDM-Medium ist einfach und kostengünstig; für Prozessoren, die
ausreichend überschüssige Verarbeitungskapazität und Reserve-Peripherieelemente
aufweisen, sind die Kosten effektiv gleich Null. Der Prozessor weist einen Steuerspeicher
auf, der eine Bitabbildung der Zeitschlitze des TDM-Mediums speichert.
Die Bitabbildung wird von dem Prozessor entweder während jedes
Zeitschlitzes untersucht oder wird vorzugsweise durch Schaltungselemente,
beispielsweise interne Reserve-Peripherieelemente des Prozessors – genutzt,
um Interrupts zu generieren, um dem Prozessor anzuzeigen, auf welche
Zeitschlitze er zugreifen soll. Bei der letzteren Konfiguration
auf Interrupt-Basis verschwendet der Prozessor vorteilhafterweise keinen
Verarbeitungsaufwand auf Zeitschlitze, auf welche er nicht zugreifen
wird. In jedem Fall besitzt der Prozessor in vorteilhafter Weise
die Fähigkeit,
auf beliebige Zeitschlitze des TDM-Busses zuzugreifen, wie sie von
der Bitabbildung spezifiziert werden. Der Prozessor weist einen
Lesepuffer und einen Schreibpuffer zum Ausführen von Datenübertragungen
zwischen dem TDM-Medium und den Anwendungen auf. Die Anwendungen
haben Direktzugriff auf die Puffer, wodurch sie eine Zeitschlitzaustausch-Funktion
ausführen.
-
Generell
umfasst entsprechend einer Ausführungsform
der Erfindung eine Schnittstelle zu einem TDM-Medium, welches Daten
in Zeitschlitzen transportiert, die in Rahmen gruppiert sind, einen Prozessor
zum Ausführen
von Funktionen (Anwendungen), die entweder Daten aus ersten Zeitschlitzen
der Rahmen des TDM-Mediums nutzen oder Daten für zweite Zeitschlitze der Rahmen
des TDM-Mediums generieren. Der gleiche Prozessor verfolgt das Auftreten
der Zeitschlitze und der Rahmen des TDM-Mediums und empfängt entweder
Daten von den ersten Zeitschlitzen der Rahmen des TDM-Mediums zur
Nutzung durch die Funktionen oder sendet Daten, die von den Funktionen
generiert werden, in den zweiten Zeitschlitzen der Rahmen des TDM-Mediums.
Somit werden die Anwendungsausführungs- und
Schnittstellen-Funktionen von demselben Prozessor ausgeführt, und
zwar mit Hilfe weniger oder ohne zusätzliche Hardware, wodurch sich
eine einfache und kostengünstige
Schnittstelle ergibt.
-
Entsprechend
einer Ausführungsform
der Erfindung umfasst der Prozessor einen Steuerspeicher zum Speichern
einer Zeitschlitzzuordnung der Rahmen des TDM-Mediums, welche entweder
die ersten Zeitschlitze oder die zweiten Zeitschlitze identifiziert, und
der Prozessor spricht auf jedes Auftreten eines Zeitschlitzes auf
dem TDM-Medium an, indem er anhand der Zeitschlitzzuordnung bestimmt,
ob der auftretende Zeitschlitz ein erster Zeitschlitz oder ein zweiter
Zeitschlitz ist. Für
diese Implementierung ist vorteilhafterweise keine Hardware zusätzlich zu
dem Prozessor erforderlich.
-
Entsprechend
einer weiteren Ausführungsform
der Erfindung umfasst die Schnittstelle ferner einen Steuerspeicher
zum Speichern einer Zeitschlitzzuordnung der Rahmen des TDM-Mediums,
die entweder die ersten Zeitschlitze oder die zweiten Zeitschlitze
identifiziert, sowie eine Schaltung, die dem Steuerspeicher zugeordnet
ist, um dem Prozessor anzuzeigen, dass ein momentan auftretender
Zeitschlitz in der Zeitschlitzzuordnung entweder als ein erster
Zeitschlitz oder als ein zweiter Zeitschlitz angegeben ist. Der
Prozessor spricht auf ein Auftreten eines Zeitschlitzes auf dem
TDM-Medium nur an,
wenn die Schaltung anzeigt, dass der momentan auftretende Zeitschlitz
entweder als ein erster Zeitschlitz oder als ein zweiter Zeitschlitz
identifiziert ist. In Abhängigkeit
davon, ob der Steuerspeicher und/oder die zugehörige Schaltung extern oder
intern zu dem Prozessor vorgesehen sind, kann für diese Implementierung Hardware
zusätzlich
zu dem Prozessor erforderlich sein oder auch nicht. In jedem Fall
wird der Prozessor durch diese Implementierung in vorteilhafter
Weise von der Ausführung
von Verarbeitungsvorgängen
für Zeitschlitze,
auf die er nicht zugreift, freigestellt.
-
Vorzugsweise
umfasst der Prozessor entsprechend einer Ausführungsform der Erfindung eine Mehrzahl
von Datenspeicherstellen (z. B. einen Puffer) zum temporären Speichern
der empfangenen Daten oder der generierten Daten, und der Prozessor greift
auf die Speicherstellen in einer beliebigen Reihenfolge zu, wodurch
der Prozessor eine TSI-Funktion ausführt.
-
Diese
und andere Vorteile und Merkmale der Erfindung werden anhand der
folgenden Beschreibung einer beispielhaften Ausführungsform der Erfindung zusammen
mit den Zeichnungen deutlicher werden.
-
Kurze Beschreibung der
Zeichnungen
-
1 stellt
ein Blockdiagramm einer ersten beispielhaften Implementierung einer TDM-Bus-Schnittstelle
dar, welche die Erfindung verkörpert;
-
2 stellt
ein funktionales Ablaufdiagramm von TDM-Bus-Schnittstellenvorgängen der Schnittstelle aus 1 dar;
-
3 stellt
ein Blockdiagramm einer zweiten beispielhaften Implementierung der TDM-Bus-Schnittstelle
dar;
-
4 stellt
ein funktionales Ablaufdiagramm der TDM-Bus-Schnittstellenvorgänge der Schnittstelle aus 3 dar;
-
5 stellt
ein Blockdiagramm einer dritten beispielhaften Implementierung der TDM-Bus-Schnittstelle
dar; und
-
6 stellt
ein Blockdiagramm einer vierten beispielhaften Implementierung der TDM-Bus-Schnittstelle
dar.
-
Detaillierte Beschreibung
-
1 zeigt
eine erste beispielhafte Ausführungsform
einer TDM-Bus-Schnittstelle, die entsprechend den erfindungsgemäßen Prinzipien
aufgebaut ist. Die TDM-Bus-Schnittstelle
aus 1 wird durch einen herkömmlichen Mikrocontroller oder
Mikroprozessor 100 implementiert, der an einen TDM-Bus 110 angeschlossen
ist. Der TDM-Bus 110 definiert beispielshalber sich wiederholende
Rahmen, die jeweils 256 Zeitschlitze umfassen. Eine TDM-SCHLITZ-Signalleitung 111,
welche einzelne Zeitschlitze taktet, ist mit einem ersten Interrupt-Eingang
(INT 1) des Mikroprozessors 100 verbunden. Eine TDM-RAHMEN-Signalleitung 112,
welche einzelne Rahmen taktet, ist mit einem zweiten Interrupt-Eingang
(INT 2) des Mikroprozessors 100 verbunden. (Alternativ
können Eingabe/Ausgabe(E/A)-Abfrageanschlüsse zu dem Mikroprozessor 100 anstatt
der Interrupt-Anschlüsse genutzt
werden.) Eine TDM-STROBE-Signalleitung 113, welche anzeigt,
dass die Daten auf dem TDM-DATEN-Bus 114 stabil sind und
bereit zum Einlesen sind, ist an einen R/W(Read/Write)-STROBE-Eingang und
-Ausgang des Mikroprozessors 100 angeschlossen. Die acht
Leitungen des Byte-breiten TDM-DATEN-Busses 114 sind an die Daten-Eingänge und
-Ausgänge
des Mikroprozessors 100 angeschlossen. Außerdem ist
eine TDM-LESE-Sigralleitung 115,
deren Zustände
angeben, ob der TDM-Bus 110 zu
lesen oder zu beschreiben ist, an einen R/W-Eingang und -Ausgang des Mikroprozessors 100 angeschlossen.
-
Der
Mikroprozessor 100 umfasst eine zentrale Verarbeitungseinheit
(CPU) 101 sowie einen internen Speicher 102, wie
es herkömmlicherweise
der Fall ist. Ein Block von Wörtern
in dem Speicher 102, die zusammen 256 Bits ausmachen, bildet
einen Steuerspeicher 104. Der Steuerspeicher 104 enthält eine
Bitabbildung der Zeitschlitze des TDM-Busses 110, wobei
Bits nur für
diejenigen Zeitschlitze gesetzt sind, die der Mikroprozessor 100 nutzen
wird, und die Bits für
die ungenutzten Zeitschlitze gelöscht
sind. Ein Steuerzeiger 109, der durch die CPU 101 definiert
wird, zeigt auf eine momentane Position in dem Steuerspeicher 104.
Ein Block von Wörtern
in dem Speicher 102, die zusammen 256 Bytes ausmachen, bildet
einen Lesepuffer 105, und ein weiterer solcher Block bildet
einen Schreibpuffer 106. Ein Lesezeiger 107 und
ein Schreibzeiger 108, die durch die CPU 101 definiert
werden, zeigt auf momentane Positionen in den Puffern 105 bzw. 106.
Der Speicher 102 speichert außerdem ein Steuerprogramm 103 zur Ausführung durch
die CPU 101. Wie es herkömmlicherweise der Fall ist,
speichert der Speicher 102 außerdem Anwendungsprogramme 99 zur
Ausführung durch
die CPU 101 – die
Details selbiger sind für
die Erfindung nicht relevant.
-
Die
Funktionsweise des Steuerprogramms 103 ist in 2 gezeigt.
Die Ausführung
des Steuerprogramms 103 wird anfangs bei Empfang eines TDM-RAHMEN-Signals
an dem Eingang INT 2 des Mikroprozessors 100 aufgerufen.
Bei Empfang des TDM-RAHMEN-Signals,
welches das Ende eines Rahmens und den Beginn eines nächsten Rahmens anzeigt,
und zwar in Schritt 200, setzt das Programm 103 die
Zeiger 107–109 zurück, und
zwar in Schritt 202. Das Zurücksetzen des jeweiligen Zeigers 107–109 bewirkt,
dass dieser Zeiger auf den Anfang – das erste Bit in dem Steuerspeicher 104 und
das erste Byte in dem Lesepuffer 105 und dem Schreibpuffer 106 – des dem
Zeiger entsprechenden Bereichs 104–106 des Speichers 102 zeigt.
Die Ausführung
des Programms 103 endet dann bei Schritt 204.
-
Die
Ausführung
des Programms 103 wird als nächstes durch Empfang eines
TDM-SCHLITZ-Signals an dem Eingang INT 1 des Mirkoprozessors 100,
welches das Ende eines Zeitschlitzes und den Beginn eines nächsten Zeitschlitzes
anzeigt, aufgerufen, und zwar in Schritt 206. Unter Ansprechen
darauf liest das Programm 103 in Schritt 210 das
Bit des Steuerspeichers 104, auf welches der Steuerzeiger 109 zeigt.
Das Programm 103 überprüft dann
den Zustand dieses Bits, und zwar in Schritt 214. Wenn
das Bit gelöscht
ist, was anzeigt, dass die Anwendung oder die Anwendungen, welche
von dem Mikroprozessor 100 bedient werden, den momentanen
Zeitschlitz nicht nutzen, inkrementiert das Programm 103 lediglich
den Steuerzeiger 109, und zwar in Schritt 230,
und beendet seine Ausführung
in Schritt 232. Wenn aber in Schritt 214 festgestellt
wird, dass das Steuerbit gesetzt ist, was anzeigt, dass die Anwendungen,
die von dem Mikroprozessor 100 bedient werden, den momentanen
Zeitschlitz nutzen, überprüft das Programm 103 den
Zustand der TDM-LESE-Leitung 115, und zwar in Schritt 216,
um festzustellen, ob der TDM-Bus 110 gelesen (R) oder beschrieben
(W) werden soll. Wenn der TDM-Bus 110 gelesen werden soll,
bewirkt das Programm 103, dass der Mikroprozessor 100 bei
Auftreten eines Strobe-Signals auf der TDM-STROBE-Leitung 113 Daten von
dem TDM-DATEN-Bus 114 einliest, und zwar in Schritt 218.
Das Programm 103 bewirkt dann, dass der Mikroprozessor 100 die
eingelesenen Daten an eine Speicherstelle des Lesepuffers 105 schreibt,
auf welche der Lesezeiger 107 zeigt, und zwar in Schritt 220.
Das Programm 103 inkrementiert dann den Lesezeiger 107,
und zwar in Schritt 222, und fährt mit Schritt 230 und
den folgenden fort.
-
Wenn
in Schritt 216 festgestellt wird, dass der TDM-Bus 110 beschrieben
werden soll, bewirkt das Programm 103, dass der Mikroprozessor 100 eine
Speicherstelle des Schreibpuffers 106 liest, auf welche
der Schreibzeiger 108 zeigt, und zwar in Schritt 224.
Das Programm 103 inkrementiert dann den Schreibzeiger 108,
und zwar in Schritt 226, und bewirkt, dass der Mikroprozessor 100 die
Daten, die aus dem Schreibpuffer 106 gelesen worden sind,
bei Auftreten eines Strobe-Signals auf der TDM-STROBE-Leitung 113 an
den TDM-DRTEN-Bus 114 überträgt, und
zwar in Schritt 228. Das Programm 103 fährt dann
mit Schritt 230 und den folgenden fort.
-
Die
Ausführung
des Programms 103 wird bei jedem Auftreten eines TDM-RAHMEN-
oder eines TDM-SCHLITZ-Signals, bei Schritt 200 bzw. Schritt 206,
erneut aufgerufen.
-
Die
Ausführung
anderer Programme – z.
B. von Anwendungsprogrammen oder Eingabe- und Ausgabeprogrammen – durch
die CPU 101 führt
zum Lesen des Lesepuffers 105 und zum Beschreiben des Schreibpuffers 106.
Speicherstellen der Puffer 105 und 106 sind direkt
zugänglich
für die
CPU 101, wodurch von dem Mikroprozessor 100 eine
Zeitschlitzaustausch(TSI)-Funktion ausgeführt wird.
-
Wenn
der Mikroprozessor 100 ausreichende Reserve-Verarbeitungskapazität aufweist,
um das Steuerprogramm 103 zusätzlich zu seinen anderen Aufgaben
(z. B. der Ausführung von
Anwendungsprogrammen 99) auszuführen, sind die Hardware-Kosten der Ausführungsform
der Schnittstelle aus 1 gleich Null. Es ist jedoch
erforderlich, dass der Mikroprozessor 100 die Abarbeitung
des Steuerprogramms 103 während jedes TDM-Zeitschlitzes ausführt, um
festzustellen, ob er den momentanen Zeitschlitz nutzen soll. Bei
den meisten Anwendungen ist es wahrscheinlich, dass der Prozessor 100 nur
einen geringen Bruchteil aller Zeitschlitze des TDM-Busses 110 nutzt.
Somit nimmt die für
ungenutzte Zeitschlitze erforderliche Verarbeitung einen großen Anteil
der Abarbeitung des Steuerprogramms 103 ein.
-
3 zeigt
eine zweite beispielhafte Ausführungsform
der TDM-Bus-Schnittstelle, welche die Steuerprogramm-Abarbeitungslast
für den
Mikroprozessor 100 vermindert, indem die gesamte Steuerprogramm-Abarbeitung
für ungenutzte
Zeitschlitze wegfällt.
Die Schnittstelle aus 3 unterscheidet sich von der
Schnittstelle aus 1 darin, dass ein externer Steuerspeicher 300 und
eine zugeordnete Steuerschaltung 301–302 den Platz des
Steuerspeichers 104 und des Steuerzeigers 109 einnehmen und
dass ein Steuerprogramm 303 den Platz des Steuerprogramms 103 übernimmt.
-
Die
TDM-SCHLITZ-Signalleitung 111 ist mit einem Dateneingang
eines Zählers 301 verbunden. Ein
RÜCKSETZ-Eingang des Zählers 301 ist
mit der TDM-RAHMEN-Signalleitung 112 verbunden. Der Zähler 301 inkrementiert
seinen Zählwert
bei jedem Auftreten eines TDM-SCHLITZ-Signals und setzt seinen Zählwert bei
jedem Auftreten eines TDM-RAHMEN-Signals zurück. Der Zählwert des Zählers 301 ist
mit einem ADRESS-Eingang
eines ersten Ports eines Doppelport-Steuerspeichers 300 verbunden.
Ein Lese/Schreib (R/W)-Eingang des ersten Ports des Steuerspeichers 300 ist
dauerhaft auf den LESEN-Zustand (R) gesetzt. Die Inhalte des Steuerspeichers 300 sind
die gleichen wie diejenigen des Steuerspeichers 104 aus 1.
Somit übernimmt der
Steuerspeicher 300 den Platz des Steuerspeichers 104,
während
der Zähler 301 den
Platz des Steuerzeigers 109 aus 1 übernimmt.
Der DATEN-Ausgang des ersten Ports des Steuerspeichers 300 ist
mit einem Eingang eines AND-Gatters 302 verbunden, während die
TDM-SCHLITZ-Signalleitung 111 mit
einem zweiten Eingang des AND-Gatters 302 verbunden ist.
Der Ausgang des AND-Gatters 302 ist mit dem Interrupt-Eingang
INT 1 des Mikroprozessors 100 verbunden. Somit empfängt der Mikroprozessor 100 einen
Interrupt an dem Eingang INT 1 nur, wenn die Inhalte des Steuerspeichers 300 anzeigen,
dass der momentane Zeitschlitz, der durch das TDM-SCHLITZ-Signal
angegeben wird, von dem Mikroprozessor 100 genutzt werden
soll. Die Eingänge
Adresse (ADR), Daten (DATEN) und Lesen/Schreiben (W) des zweiten
Ports des Steuerspeichers 300 sind in solcher Weise mit
dem Mikroprozessor 100 verbunden, dass der Mikroprozessor 100 in
der Lage ist, die Inhalte des Steuerspeichers 300 umzuprogrammieren.
-
Die
Funktionsweise des Steuerprogramms 303 ist in 4 gezeigt.
Die Ausführung
des Steuerprogramms 303 wird anfangs bei Empfang eines TDM-RAHMEN-Signals
an dem Eingang INT 2 des Mikroprozessors 100 aufgerufen,
und zwar in Schritt 400. Unter Ansprechen darauf setzt
das Programm 303 die Zeiger 107 und 108 in
Schritt 402 zurück
und beendet dann seine Ausführung
in Schritt 404.
-
Die
Ausführung
des Programms 303 wird als nächstes durch Empfang eines
Interrupts an dem Eingang INT 1 in Schritt 406 aufgerufen.
Unter Ansprechen darauf geht das Steuerprogramm 303 dazu über, die
Lese- oder Schreibvorgänge
an dem TDM-Bus 110 gemäß der Schritte 216–228 auszuführen, welche
in Verbindung mit 2 beschrieben worden sind. Die
Ausführung
des Steuerprogramms 303 wird dann in Schritt 408 beendet.
-
Die
Ausführung
des Programms 303 wird bei jedem Auftreten eines TDM-RAHMEN-Signals
oder Empfang eines Interrupts an dem Eingang INT 1 in Schritt 400 bzw.
Schritt 406 erneut aufgerufen.
-
Portschaltungen
von vielen Telekommunikationsvermittlungssystemen sind mit digitalen
Signalprozessoren (DSPs) ausgestattet. 5 zeigt
eine dritte beispielhafte Ausführungsform
der TDM-Bus-Schnittstelle, welche ansonsten ungenutzt Komponenten
und Verarbeitungskapazität
eines DSP 500 einer Portschaltung nutzt. Der DSP 500 ist beispielsweise
der DSP 56303 von der Motorola Inc. Semiconductor Division. Der
einfachen und deutlichen Darstellung halber sind in 5 nur
diejenigen Elemente und Funktionen des DSP 500 gezeigt,
die für
das Verständnis
der Erfindung von Bedeutung sind, und werden im Nachstehenden erklärt.
-
Der
DSP 500 umfasst eine Host-Schnittstelle 510, eine
serielle Reserve-Datenschnittstelle (ESSI) 511, drei Reserve-Speicherdirektzugriffs(DMA – Direct
Memory Access)-Einheiten, darunter die Einheiten 516 und 517 (von
insgesamt sechs, die in dem DSP 56303 von Motorola vorhanden sind),
einen Programm-Direktzugriffsspeicher (RAM) 518, der Anwendungsprogramme 99 speichert,
einen Speicher-RAM 502, einen Programmsteuerungsabschnitt 501 (der
in dem DSP von Motorola einen Programminterruptcontroller, einen
Programmdekodierungscontroller, einen Programmadressgenerator, eine arithmetische
und logische Dateneinheit, einen Speicherzugriffscontroller, Akkumulatoren
und einen Shifter umfasst), welcher Programme aus dem Programm-RAM 518 ausführt, sowie
eine Schnittstelle 513 für einen externen Bus zu einem
externen Bus 514. Die Elemente 501, 502, 510, 511, 513 und 516–518 sind
durch einen internen Bus 519 miteinander verbunden.
-
Die
TDM-SCHLITZ-Signalleitung 111 ist mit einem Eingang SCK0
der ESSI-Schnittstelle 511 und mit einem Eingang IRQB der
DMA-Einheit 517 verbunden. Die TDM-RAHMEN-Signalleitung 112 ist
mit einem Eingang SCO2 der ESSI-Schnittstelle 511 und mit
einem Eingang IRQA der DMA-Einheit 517 verbunden. Ein Ausgang
SCO1 der ESSI-Schnittstelle 511 ist mit einem Eingang HCS
der Host-Schnittstelle 510 verbunden. Die TDM-STROBE- Signalleitung 113 ist
mit einem Eingang HDS der Host-Schnittstelle 510 verbunden.
Der TDM-DATEN-Bus 114 ist mit Eingängen und Ausgängen HD[0–7] der Host-Schnittstelle 510 verbunden.
Außerdem
ist eine TDM-LESE-Signalleitung 115 mit einem Eingang und Ausgang
HRW der Host-Schnittstelle 510 verbunden.
-
Der
Speicher-RAM 502 definiert einen Steuerspeicher 504,
einen Lesepuffer 505 und einen Schreibpuffer 506.
Diese Datenstrukturen kopieren im Wesentlichen die jeweils entsprechenden
Datenstrukturen 104–106 aus 1.
Der Steuerspeicher 504 umfasst 16 16-Bit-Wörter, welche
eine Bitabbildung der Zeitschlitze des TDM-Busses 110 definieren,
wobei Bits für
diejenigen Zeitschlitze gesetzt sind, die der DSP 500 nutzen
wird, und Bits für
die ungenutzten Zeitschlitze gelöscht
sind.
-
Die
DMA-Einheit 517 arbeitet in Verbindung mit dem Steuerspeicher 504 und
ist folgendermaßen konfiguriert:
Die DMA-Einheit 517 definiert einen Steuerzeiger 509 zu
dem Steuerspeicher 504. Der Steuerzeiger 509 stellt
im Wesentlichen eine Kopie des Steuerzeigers 109 aus 1 dar.
Bei Empfang eines TDM-RAHMEN-Signals an dem Eingang IRQA setzt die
DMA-Einheit 517 den Steuerzeiger 509 zurück, sodass
er auf den Anfang des Steuerspeichers 504 zeigt, und überträgt das Wort
des Steuerspeichers 504, auf welches der Steuerzeiger 509 zeigt, an
die ESSI-Schnittstelle 511. Bei Empfang jedes 16-ten TDM-SCHLITZ-Signals
an dem Eingang IRQB inkrementiert die DMA-Einheit 517 den
Steuerzeiger 509 und überträgt das Wort
des Steuerspeichers 504, auf welches der Steuerzeiger 509 zeigt, an
die ESSI-Schnittstelle 511.
-
Die
ESSI-Schnittstelle 511 arbeitet in Verbindung mit der DMA-Einheit 517 und
ist folgendermaßen
konfiguriert: Die ESSI-Schnittstelle 511 umfasst einen
seriellen 16-Bit-Shifter 512. Wenn die ESSI-Schnittstelle 511 ein
Steuerwort von dem Steuerspeicher 504 empfängt, lädt sie dieses
in den seriellen Shifter 512. Danach, bei jedem Empfang
eines TDM-SCHLITZ- Signals
an seinem Eingang SCK0, schiebt der serielle Shifter 512 ein
Bit seines Inhalts zu dem Ausgang SCO1 der ESSI-Schnittstelle 511. Bei jedem
Empfang eines TDM-RAHMEN-Signals an ihrem Eingang SCO2 löscht die
ESSI-Schnittstelle 511 den Shifter 512 und setzt
diesen zurück.
(Als Alternative zur Nutzung der seriellen Reserve-Datenschnittstelle 511 könnte in
analoger Weise eine parallele Reserve-Datenschnittstelle genutzt
werden.)
-
Die
Host-Schnittstelle 510 arbeitet in Verbindung mit der ESSI-Schnittstelle 511 und
ist folgendermaßen
konfiguriert: Die Ein-Bit-Reihe von Ausgaben des Shifters 512 wird
von der Host-Schnittstelle 510 an dem Eingang HCS empfangen.
Wenn das empfangene Bit gelöscht
ist, bleibt die Host-Schnittstelle 510 inaktiv. Wenn das
empfangene Bit gesetzt ist, wird die Host-Schnittstelle 510 ausgewählt (aktiviert), und
sie prüft
den Zustand der TDM-LESE-Signalleitung 115 an
ihrem Eingang HRW. Wenn die Leitung 115 einen Lesevorgang
anzeigt, liest die Host-Schnittstelle 510 bei Empfang eines TDM-STROBE-Signals
an ihrem Eingang HDS Daten von dem TDM-DATEN-Bus 114 an
ihren Eingängen
HD[0–7]
ein. Die Host-Schnittstelle 510 fordert dann die DMA-Einheit 516 auf,
die eingelesenen Daten in den Lesepuffer 505 zu transferieren.
Im Gegensatz dazu fordert die Host-Schnittstelle 510, wenn
die Leitung 115 einen Schreibvorgang anzeigt, die DMA-Einheit 516 auf,
ein Datenwort aus dem Schreibpuffer 506 zu ihr zu übertragen,
liest das übermittelte
Wort ein und sendet das eingelesene Wort bei Empfang eines TDM-STROBE-Signals
auf den TDM-DATEN-Bus 114.
-
Die
DMA-Einheit 516 ist folgendermaßen konfiguriert: Sie definiert
einen Lesezeiger 507 zu dem Lesepuffer 505 und
einen Schreibzeiger 508 zu dem Schreibpuffer 506.
Bei Empfang einer Aufforderung für
einen Lesevorgang von der Host-Schnittstelle 510 ruft
die DMA-Einheit 516 die eingelesenen Daten von der Host-Schnittstelle 510 ab
und speichert diese in dem Wort des Lesepuffers 505, auf
welches der Lesezeiger 507 zeigt. Die DMA-Einheit 516 inkrementiert
dann den Lesezeiger 507. Bei Empfang einer Aufforderung
für einen
Schreibvorgang von der Host-Schnittstelle 510 ruft die
DMA-Einheit 516 die Daten
aus dem Wort des Schreibpuffers 506 ab, auf welches der
Schreibzeiger 508 zeigt, und übermittelt diese Daten an die
Host-Schnittstelle 510. Die DMA-Einheit 516 inkrementiert
dann den Schreibzeiger 508. Bei Empfang eines TDM-RAHMEN-Signals an
dem Eingang IRQA setzt die DMA-Einheit 516 sowohl
den Lesezeiger 507 als auch den Schreibzeiger 508 zurück, sodass
diese auf den Anfang der Puffer 505 bzw. 506 zeigen.
-
Übertragungen
zwischen den Puffern 505 und 506 und dem externen
Bus 514 werden durch die Programmsteuerung 501 bewirkt,
welche die Anwendungsprogramme 99 aus dem Programm-RAM 518 ausführt. Da
auf Wörter
der Puffer 505 und 506 von der Programmsteuerung 501 in
beliebiger Reihenfolge zugegriffen werden kann, implementieren die
Puffer 505 und 506 in Verbindung mit der Steuerung 501 einen
Zeitschlitzaustausch.
-
6 zeigt
eine vierte beispielhafte Ausführungsform
der TDM-Bus-Schnittstelle, die entsprechend den Prinzipien der Erfindung
aufgebaut ist. Die Ausführungsform
aus 6 stellt eine Erweiterung der Ausführungsform
aus 5 dar, welche dem DSP 500 ermöglicht,
eine Schnittstelle zu zwei TDM-Bussen (als TDM A und TDM B bezeichnet) 110 und 610 zu
bilden, die parallel zueinander arbeiten und die zueinander synchronisiert
sind. Während
jedes Zeitschlitzes kann der DSP 500 entweder auf einen
oder auf beide TDM-Busse 110 und 610 zugreifen.
Der DSP 500 ist über
einen sequenziellen Multiplexer/Demultiplexer (MUX/DEMUX) 626 mit
den TDM-Bussen 110 und 610 verbunden. Solche Einrichtungen
sind im Fachgebiet bekannt. Ein illustratives Beispiel findet sich
in der Patentanmeldung von N.W. Petty et al. mit dem Titel "Hybrid Time-Slot
and Sub-Time-Slot Operation in a Time-Division Multiplexed System", US-Patent 5,862,131.
Zusätzlich
zu den Signalleitungen 111–115 ist der MUX/DEMUX 626 mit
dem DSP 500 über
eine TDMA-Signalleitung 623 und eine TDMB-Signalleitung 624 verbunden, mittels
welcher der MUX/DEMUX 626 dem DSP 500 anzeigt,
welcher der beiden TDM-Busse 110 und 610 momentan
mit dem DSP 500 verbunden ist. Um bis zu zwei Zeitschlitzzugriffe
pro Zeitschlitzintervall zu ermöglichen,
arbeitet die Host-Schnittstelle 510 in 6 mit
der doppelten Geschwindigkeit der Host-Schnittstelle 510 aus 5.
-
Bei
dieser Implementierung definiert der Speicher-RAM 502 einen
Steuerspeicher 604, welcher doppelt so groß wie der
Steuerspeicher 504 aus 5 ist und
welcher zwei Zeitschlitz-Bitabbildungen enthält, jeweils eine für den TDM-Bus 110 und 610. Beispielshalber
sind die beiden Bitabbildungen wortverschachtelt miteinander.
-
Die
DMA-Einheit 517 definiert einen Steuerzeiger 609 zu
dem Steuerspeicher 604. Bei Empfang eines TDM-RAHMEN-Signals
an dem Eingang IRQA setzt die DMA-Einheit 517 den Steuerzeiger 609 zurück, sodass
er auf den Anfang des Steuerspeichers 604 zeigt, und übermittelt
zwei Wörter
des Steuerspeichers 604, beispielsweise dasjenige, auf
welches der Steuerzeiger 609 zeigt, sowie das nächstfolgende – an die
ESSI-Schnittstelle 511. Die ESSI-Schnittstelle 511 empfängt somit
ein Steuerwort für
jeden der beiden TDM-Busse 110 und 610. Bei Empfang
jedes 16-ten TDM-SCHLITZ-Signals an dem Eingang IRQB inkrementiert
die DMA-Einheit 517 den Steuerzeiger 609 um zwei
Steuerspeicheradressen und übermittelt
zwei Wörter
des Steuerspeichers 604 – beispielsweise wiederum dasjenige,
auf welches der Steuerzeiger 609 zeigt, sowie das nächstfolgende – an die
ESSI-Schnittstelle 511.
-
Bei
dieser Implementierung ist die ESSI-Schnittstelle 511 derart
konfiguriert, dass sie zwei serielle 16-Bit-Shifter 512 und 612 umfasst – einen für jeden
TDM-Bus 110 bzw. 610. Wenn die ESSI-Schnittstelle 511 zwei
Steuerwörter
von dem Steuerspeicher 604 empfängt, lädt sie diese jeweils in einen
entsprechenden unterschiedlichen der Shifter 512 und 612.
Danach, jeweils bei Empfang eines TDM-SCHLITZ-Signals an ihrem Eingang
SCK0 schieben die Shifter 512 und 612 jeweils
ein Bit ihrer Inhalte zu den Ausgängen SCO1 bzw. SCO0 der ESSI-Schnittstelle 511 auf
die Signalleitungen DSPA bzw. DSPB. Jeweils beim Empfang eines TDM-RAHMEN-Signals
an ihrem Eingang SCO2 löscht
die ESSI-Schnittstelle 511 beide Shifter 512 und 612 und setzt
diese zurück.
-
Die
Signalleitung TDMA 623 von dem sequenziellen MUX/DEMUX 626 und
die Signalleitung DSPA von der ESSI-Schnittstelle 511 sind mit
Eingängen
eines AND-Gatters 627 verbunden. Analog sind die Signalleitung
TDMB 624 und die Signalleitung DSPB mit Eingängen eines
AND-Gatters 626 verbunden. Die Ausgänge der AND-Gatter 627 und 626 sind
mit den Eingängen
eines OR-Gatters 629 verbunden. Die Ausgänge des
OR-Gatters 629 sind mit dem Eingang HCS der Host-Schnittstelle 510 verbunden.
Somit wird die Host-Schnittstelle 510 entweder immer dann,
wenn der DSP 500 mit dem TDM-A-Bus 110 verbunden ist und
die Bitabbildung für
den TDM-A-Bus 110 anzeigt,
dass der DSP 500 auf den momentanen Zeitschlitz zugreifen
soll, oder immer dann, wenn der DSP 500 mit dem TDM-B-Bus 610 verbunden
ist und die Bitabbildung für
den TDM-B-Bus 610 anzeigt, dass der DSP 500 auf
den momentanen Zeitschlitz zugreifen soll, ausgewählt (aktiviert).
Wenn die Host-Schnittstelle 510 ausgewählt wird, überprüft sie den Zustand der TDM-LESE-Signalleitung 115 an
ihrem Eingang HRW. Wenn die Leitung 115 einen Lesevorgang
anzeigt, liest die Host-Schnittstelle 510 bei Empfang eines TDM-STROBE-Signals
an ihrem Eingang HDS Daten von dem TDM-DATEN-Bus 114 ein und fordert die
DMA-Einheit 516 auf, die eingelesenen Daten an den Lesepuffer 505 zu übertragen.
Im Gegensatz dazu fordert die Host-Schnittstelle 510, wenn
die Leitung 115 einen Schreibvorgang anzeigt, die DMA-Einheit 616 auf,
ein Datenwort aus dem Schreibpuffer 506 zu ihr zu übertragen,
liest das übermittelte
Wort ein und überträgt bei Empfang
eines TDM-STROBE-Signals das eingelesene Wort auf den TDM-DATEN-Bus 114.
-
Bei
dieser Implementierung werden drei Reserve-DMA-Einheiten 516, 616 und 517 (von
sechs, die in dem DSP 56303 von Motorola vorhanden sind) genutzt,
um die Funktionsweise der TDM-Bus-Schnittstelle zu unterstützen. Sie
sind folgendermaßen
konfiguriert: Die DMA-Einheit 516 definiert einen Lesezeiger 507 zu
dem Lesepuffer 505. Bei Empfang einer Aufforderung für einen
Lesevorgang von der Hostschnittstelle 510 ruft die DMA-Einheit 516 die
eingelesenen Daten von der Host-Schnittstelle 510 ab, speichert
sie in dem Wort des Lesepuffers 505, auf welches der Lesezeiger 507 zeigt,
und inkrementiert dann den Lesezeiger 507. Die DMA-Einheit 616 definiert
einen Schreibzeiger 508 zum Beschreiben des Puffers 506.
Bei Empfang einer Aufforderung für
einen Schreibvorgang von der Host-Schnittstelle 510 ruft
die DMA-Einheit 616 das Datenwort aus dem Schreibpuffer 506 ab,
auf welches der Schreibzeiger 508 zeigt, überträgt diese
Daten an die Host-Schnittstelle 510 und
inkrementiert dann den Schreibzeiger 508. Die Puffer 505 und 506 bedienen
somit jeweils beide TDM-Busse 110 und 610.
Bei Empfang eines TDM-RAHMEN-Signals an dem Eingang IRQA setzen
beide DMA-Einheiten 516 und 616 ihre jeweiligen
Zeiger 507 und 508 zurück. Die Funktionsweise der
DMA-Einheit 517 wurde vorstehend bereits beschrieben.
-
Wie
in 5 werden Übertragungen
zwischen den Puffern 505 und 506 sowie dem externen Bus 514 in 6 durch
die Programmsteuerung 501 bewirkt, welche die Anwendungsprogramme 99 aus dem
Programm-RAM 518 ausführt.
Da auf die Wörter der
Puffer 505 und 506 von der Programmsteuerung 501 in
jeder beliebigen Reihenfolge zugegriffen werden kann, implementieren
die Puffer 505 und 506 in Verbindung mit der Programmsteuerung 501 einen Zeitschlitzaustausch.
-
Natürlich werden
verschiedene Änderungen und
Modifikationen an der vorstehend beschriebenen beispielhaften Ausführungsform
für Fachleute
auf dem Gebiet offensichtlich sein. Beispielsweise kann bei den
Implementierungen aus den 5 und 6 ein
paralleler Datencontroller anstatt eines seriellen Datencontrollers
genutzt werden. In diesem Fall benötigt der Steuerspeicher ein
Steuerwort für
jeden Zeitschlitz, wobei höchstens
ein Bit für
jeden TDM-Bus in jedem Wort gesetzt ist. Alternativ, um die Verwendung
eines Steuerworts für
jeden Zeitschlitz zu vermeiden, kann der parallele Datencontroller
genutzt werden, um einen externen seriellen Shifter anzusteuern.
Solche Änderungen
und Modifikationen können
vorgenommen werden, ohne dass vom Schutzumfang der Erfindung abgewichen
wird und ohne die mit dieser verbundenen Vorteile zu schmälern. Es
ist daher beabsichtigt, solche Änderungen und
Modifikationen durch die folgenden Ansprüche abzudecken.