DE19842849C2 - Verfahren und Anordnung zum Übertragen von digitalen Daten - Google Patents
Verfahren und Anordnung zum Übertragen von digitalen DatenInfo
- Publication number
- DE19842849C2 DE19842849C2 DE19842849A DE19842849A DE19842849C2 DE 19842849 C2 DE19842849 C2 DE 19842849C2 DE 19842849 A DE19842849 A DE 19842849A DE 19842849 A DE19842849 A DE 19842849A DE 19842849 C2 DE19842849 C2 DE 19842849C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- microprocessor
- data bus
- size
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0435—Details
- H04Q11/0457—Connection protocols
Description
Die Erfindung betrifft ein Verfahren zum Übertragen von digi
talen Daten, die in Datenrahmen variabler Länge eingeteilt
sind, von einem ersten Datenbus auf einen zweiten Datenbus
nach den Patentansprüchen 1 und 3. Die Erfindung betrifft
ferner eine Anordnung zum Übertragen von digitalen Daten nach
dem Oberbegriff von Patentanspruch 5.
Das ISDN (Integrated Services Digital Network) stellt jedem
Teilnehmer zwei sogenannte B-Kanäle zur Kommunikation mit an
deren Teilnehmern zur Verfügung, sowie einen sogenannten D-
Kanal, um mit dem ISDN-Netzwerk Signalisierungen bezüglich
einer gewünschten Verbindung auszutauschen. Während das ISDN
den Teilnehmern bei der Kommunikation in den B-Kanälen keine
Datensicherung gewährleistet, erfordert das ISDN für den D-
Kanal eine Datensicherung entsprechend den Anforderungen der
Schicht 2 des ISO-OSI-Schichtenmodells (International Stan
dardisation Organisation/Open Systems Interconnection Model).
Bei ISDN wird hierzu das HDLC-Protokoll (High Level Data Link
Control) eingesetzt.
In den Endgeräten und den Netzschnittstellen-Vorrichtungen
für ISDN sind daher HDLC-Steuereinrichtungen vorgesehen, die
die Datensicherungsinformation eines empfangenen D- Kanalrah
mens prüfen und die einem zu sendenden D-Kanalrahmen eine Si
cherungsinformation hinzufügen. Die Anmelderin vertreibt der
artige Steuereinrichtungen unter der Produktbezeichnung PEB
2070 als integrierte Halbleiterbauelemente.
Ein eingehendes D-Kanalsignal wird einer HDLC-Empfängerlogik
zugeführt, die die Sicherungsinformation des empfangenen D-
Kanalsignals prüft. Das Ausgangssignal der HDLC-
Empfängerlogik wird einem FIFO-Speicher fester Größe zuge
führt. Ein Mikroprozessor entnimmt dem FIFO-Speicher block
weise die darin enthaltenen Daten. In Senderichtung schreibt
der Mikroprozessor blockweise Daten in einen FIFO-
Sendespeicher. Eine HDLC-Sendelogik entnimmt dem FIFO-
Sendespeicher die darin enthaltenen Daten, fügt einem voll
ständigen D-Kanalrahmen eine Sicherungsinformation hinzu, und
gibt das so erhaltene D-Kanalsignal aus.
Die prinzipiellen Vorgänge in Sende- und Empfangsrichtung bei
den aus dem Stand der Technik bekannten Bauelementen sind in
den Fig. 6a und 6b dargestellt. Die Fig. 6a und 6b zei
gen den zeitlichen Ablauf von Signalen zwischen einer HDLC-
Empfangsleitung, einem HDLC-Empfänger, der einen FIFO-
Empfängerspeicher aufweist, einem Mikroprozessor, einem HDLC-
Sender, der einen FIFO-Sendespeicher aufweist, und einer
HDLC-Sendeleitung. Wenn an der HDLC-Empfangsleitung Daten
eingehen, werden diese zunächst in den FIFO-Empfangsspeicher
geschrieben. Wenn das Ende eines D-Kanalrahmens empfangen und
in den FIFO-Empfangsspeicher eingetragen wird oder wenn der
FIFO-Empfangsspeicher voll ist, sendet der HDLC-Empfänger an
den Mikroprozessor ein Interrupt-Signal. Der Mikroprozessor
liest daraufhin die in den FIFO-Empfangsspeicher geschriebe
nen Daten und bestätigt dem HDLC-Empfänger diesen Vorgang
mittels eines Signals Ack. Der Mikroprozessor wertet das emp
fangene D-Kanalsignal aus und stellt ein zu sendendes D-
Kanal-Antwortsignal zusammen. Der Mikroprozessor versichert
sich mittels eines vom HDLC-Sender ausgegebenen Signals Stat,
daß der FIFO-Sendespeicher bereit ist, Daten aufzunehmen. Der
Mikroprozessor schreibt dann das D-Kanal-Antwortsignal in den
FIFO-Sendespeicher. Der Mikroprozessor bestätigt dem HDLC-
Sender mittels eines Signals Ack, daß die Daten vollständig
sind. Der HDLC-Sender gibt daraufhin das D-Kanalantwortsignal
auf die HDLC-Sendeleitung.
Fig. 6a und 6b zeigen die Abfolge von Empfangs- und Sende
vorgängen im zeitlichen Ablauf. In Fig. 6a ist ein großer
FIFO-Empfangsspeicher vorgesehen. Der HDLC-Empfänger löst
beim Mikroprozessor immer dann einen Interrupt Int aus, wenn
entweder der FIFO-Empfangsspeicher voll ist oder wenn die
empfangenen D-Kanalsignale ein Byte aufweisen, das ein
Rahmenende anzeigt. Die Länge eines D-Kanalrahmens ist varia
bel und kann je nach Signalisierung größer oder kleiner als
die Aufnahmekapazität des FIFO-Empfangsspeichers sein. Die
Fig. 6a und 6b zeigen den Fall eines sehr langen D-Kanal
rahmens, der um ein Vielfaches größer als die Kapazität des
FIFO-Empfangsspeicher ist. Der Mikroprozessor wird in diesem
Fall erst dann zur Übernahme der Daten aus dem FIFO-
Empfangsspeicher mittels des Interrupts Int veranlaßt, wenn
der FIFO-Empfangsspeicher voll ist. Da der Mikroprozessor
erst dann ein Antwortsignal erzeugen kann, nachdem er die Da
ten aus dem FIFO-Empfangsspeicher gelesen hat, dauert es die
volle Länge des Lesens des ganzen FIFO-Empfangsspeichers, bis
der Mikroprozessor Antwortdaten in den FIFO-Sendespeicher
schreiben kann.
Die in solchen Situationen lange Antwortzeit des Mikroprozes
sors kann in bestimmten Teilnehmerverbindungen zu Problemen
führen. Dies ist insbesondere bei Datenverbindungen zwischen
den Teilnehmern der Fall. Der Empfang einer D-Kanal-
Signalisierung eines ersten Teilnehmers bei einem zweiten
Teilnehmer muß dabei innerhalb einer vorbestimmten Zeit dem
ersten Teilnehmer quittiert werden. Falls die zulässige Ant
wortzeit überschritten wird, kommt es zu Störungen um Verbin
dungsaufbau. Um dieses Problem zu beheben, besteht eine Lö
sung darin, die Größe des FIFO-Empfangsspeichers zu verrin
gern. Da auf diese Weise der FIFO-Empfangsspeicher in kürze
ren Zeitabständen voll wird, wird der Mikroprozessor entspre
chend früher über den Empfang eines zeitkritischen D-Kanal-
Signals informiert. Die zulässige Antwortzeit kann dann ein
gehalten werden. Ein erheblicher Nachteil dieser Lösung be
steht jedoch darin, daß die Leistung des Mikroprozessors
durch die höhere Anzahl von Interrupt-Signalen herabgesetzt
wird.
Aus der DE 39 37 021 C2 ist eine Anordnung zur Datenübertra
gung zwischen einer Zentraleinheit und mehreren Teilnehmern
gemäß einem Zeitmultiplexverfahren bekannt. Die Anordnung um
faßt einen Dual-Port-Speicher, wobei ein Bereich des Spei
chers für Empfangsdaten und ein anderer für Sendedaten vorge
sehen ist und die beiden Speicherbereiche durch einen von der
Zentraleinheit gesteuerten Zeiger adressiert werden.
In der der EP 0 272 939 A2 wird vorgeschlagen, eine Vielzahl
von Pufferspeichers zum Empfangen bzw. Senden von Daten vor
zusehen, wobei zudem mehrere sogenannte "Idle-Pufferspeicher"
vorgesehen sind, die ebenfalls zum Zwischenspeichern von Da
ten verwendet werden können. Die jeweils zur Verfügung ste
hende Anzahl von nichtverwendeten Idle-Pufferspeichern wird
überwacht, um bei Unterschreiten eines bestimmten Grenzwerts
die Verwendung der Idle-Pufferspeicher zu verwenden.
In der WO 95/06376 wird gelehrt, die von einem Sender stam
menden Daten vor deren Weiterleitung an einen Empfänger in
einem Speicher zwischen zu speichern. Die Größe der in dem
Speicher zwischengespeicherten Datenpaketen entspricht je
weils der Größe des Speichers.
Das technische Problem der Erfindung besteht daher darin, ei
ne effiziente Anordnung und ein effizientes Verfahren zum
Übertragen von digitalen Daten zwischen getrennten Bussyste
men bereitzustellen.
Das Problem wird gelöst mit einem Verfahren mit den Merkmalen
von Patentanspruch 1, einem Verfahren mit den Merkmalen von
Patentanspruch 3 und einer Anordnung mit den Merkmalen von
Patentanspruch 5. Bevorzugte Ausgestaltungen der Erfindung
sind in den jeweiligen Unteransprüchen angegeben.
Ein Verfahren zum Übertragen von digitalen Daten, die in Da
tenrahmen variabler Länge eingeteilt sind, von einem ersten
Datenbus auf einen zweiten Datenbus, der asynchron zum ersten
Datenbus betrieben wird und von einem Mikroprozessor gesteu
ert wird, weist folgende Schritte auf: Die Daten werden vom
ersten Datenbus in einen Speicher mit einstellbarer Größe ge
schrieben. Eine Speichersteuereinheit teilt dem Mikroprozes
sor in Form eines Interrupt mit, wenn der Speicher voll ist
oder wenn das Ende eines Datenrahmens erreicht ist. Der Mi
kroprozessor ermittelt von der Speichersteuereinheit die Men
ge der vom Speicher zu lesenden Daten. Der Mikroprozessor
liest diese Daten aus dem Speicher, stellt die Größe des
Speichers ein, und bestätigt der Speichersteuereinheit den
Empfang des Datenblocks.
Mit dem Schritt des Einstellens der Größe des Speichers hat
der Mikroprozessor die Möglichkeit, die Größe des zu Verfü
gung stehenden Datenspeichers einzustellen. Die Speichergröße
wird dabei typischerweise anfänglich klein eingestellt, um
nach dem Empfang des Beginns eines sehr langen Datenrahmens
noch während der Übertragung des Datenrahmens auf die Maxi
malgröße eingestellt zu werden. Auf diese Weise kann der Mi
kroprozessor sehr frühzeitig und sehr kurz nach Eingang des
Anfangs des langen Datenrahmens ein bestätigendes D-Kanal-
Signal an den anderen Teilnehmer senden. Andererseits wird
für die Übernahme der restlichen Teile des langen Datenrah
mens eine geringere Anzahl von Interrupts beim Mikroprozessor
ausgelöst, weil dieser zwischenzeitlich den zur Verfügung
stehenden Speicherraum vergrößert hat. Die Leistungsfähigkeit
des Mikroprozessors wird auf diese Weise nicht eingeschränkt,
und es können dem anderen Teilnehmer kurze Antwortzeiten ge
währleistet werden.
Es wird besonders bevorzugt, daß die Daten vor dem Speichern
einer HDLC-Logik zugeführt werden, die prüft, ob die Daten
korrekt empfangen wurden. Diese Vorgehensweise ist besonders
vorteilhaft in einer Umgebung, in der die zu übertragenden
Daten den Schicht-2-Anforderungen genügen müssen.
Ein anderes Verfahren zum Übertragen von digitalen Daten, die
in Datenrahmen variabler Länge eingeteilt sind, von einem er
sten Datenbus, der von einem Mikroprozessor gesteuert wird,
auf einen zweiten Datenbus, der asynchron zum ersten Datenbus
betrieben wird, weist die folgenden Schritte auf: Die Daten
werden vom ersten Datenbus mit einstellbarer Größe geschrie
ben. Eine Speichersteuereinheit teilt dem Mikroprozessor in
der Form eines Interrupt mit, wenn der Speicher bereit ist,
neue Daten vom ersten Datenbus aufzunehmen, oder der Mikro
prozessor befragt die Speichersteuereinheit, ob der Speicher
bereit ist, neue Daten vom ersten Datenbus aufzunehmen. Der
Mikroprozessor schreibt Daten in den Speicher, stellt die
Größe des Speichers ein, und bestätigt der Speichersteuerein
heit das Ende der Daten. Die Daten werden dann auf den zwei
ten Datenbus gelegt.
Dieses Verfahren ist besonders vorteilhaft einsetzbar für das
Senden von Daten vom Mikroprozessor an einen Datenbus, der
asynchron mit dem Mikroprozessor betrieben wird. Auch bei
diesem Verfahren wird der Mikroprozessor mit einer geringeren
Anzahl von Interrupt-Signalen belastet.
Es wird besonders bevorzugt, die Daten einer HDLC-Logik zuzu
führen, bevor sie auf den zweiten Datenbus gelegt werden.
Diese HDLC-Logik fügt den vom Mikroprozessor gesendeten Daten
Fehlerprüfdaten hinzu, die von einer empfangenden HDLC-Logik
des fernen Verbindungsteilnehmers ausgewertet werden.
Eine Anordnung zum Übertragen von digitalen Daten, die in Da
tenrahmen variabler Länge eingeteilt sind, von einem ersten
Datenbus auf einen zweiten Datenbus, der asynchron zum ersten
Datenbus betrieben wird und von einem Mikroprozessor gesteu
ert und gelesen wird, weist einen Speicher auf, in den die
vom ersten Datenbus empfangenen Daten geschrieben werden. Es
ist darüber hinaus eine Steuereinrichtung vorgesehen, die die
Zugriffe auf den Speicher durch den ersten Datenbus und den
Mikroprozessor steuert. Die Anordnung ist dadurch gekenn
zeichnet, daß die Größe des Speichers veränderbar ist. Dar
über hinaus ist ein erstes Register vorgesehen, in das die
Größe des Speichers eintragbar ist, und es ist ein zweites
Register vorgesehen, in das die Menge der gerade in den Spei
cher geschriebenen Daten eintragbar ist. Das erste Register
ist in jedem Lesezyklus des Mikroprozessors veränderbar. Ein
derartige Anordnung weist somit einen Speicher auf, der von
dem Mikroprozessor zur Verfügung stehende Größe in einem er
sten Register gespeichert ist.
Eine bevorzugte Anordnung weist eine HDLC-Logik auf, die zwi
schen dem ersten Datenbus und den Speicher geschaltet ist.
Die Anordnung ist dadurch in der Lage, Daten zu empfangen,
die mit einer HDLC-Prüfinformation versehen sind.
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der
Erfindung ergeben aus der nachfolgenden Beschreibung von Aus
führungsbeispielen in Verbindung mit der schematischen Zeich
nung. In der Zeichnung zeigen:
Fig. 1 eine Anordnung zum Senden und Empfangen von Daten;
Fig. 2 den Ablaufplan einer Mikroprozessorroutine zum Ho
len eines Datenblocks aus einem Empfangsspeicher;
Fig. 3 den zeitlichen Ablauf von Signalen zwi
schen einem Mikroprozessor und einer
HDLC-Sende- und Empfangsanordnung;
Fig. 4a bis 4e eine Veranschaulichung der Wirkungsweise
der Erfindung;
Fig. 5 einen Ablaufplan einer Mikroprozessorrou
tine zum Schreiben von Daten in einen
Sendespeicher;
Fig. 6a und 6b den zeitlichen Verlauf von Signalübertra
gungen zwischen einem Mikroprozessor und
einem HDLC-Sender- und Empfänger nach dem
Stand der Technik.
In der Anordnung von Fig. 1 ist ein Mikroprozessor 4 ge
zeigt, der über eine Leitung RFIFO, einen Empfangsspeicher 1
in der Form eines FIFO und eine HDLC-Empfangslogik 3 D-Kanal-
Signale von einer Leitung 5 empfängt. In umgekehrter Richtung
sendet der Mikroprozessor 4 über eine Leitung XFIFO, einen
Sendespeicher 9 in der Form einen FIFO und eine HDLC-
Sendelogik 6 D-Kanal-Signale auf eine Leitung 7. Die Anord
nung ist Teil einer ISDN-Schaltung, die B-Kanalsignale und D-
Kanalsignale von einer ISDN-Schnittstelle, wie etwa einer S-
oder T-Schnittstelle, sendet und empfängt, wobei der Mikro
prozessor 4 das Empfangen, das Weiterverarbeiten und das Sen
den von Daten steuert. Die in Fig. 1 gezeigte Anordnung
dient dem Senden und Empfangen von D-Kanal-Signalen, die nach
den Anforderungen des ISDN einem HDLC-Protokoll unterworfen
sind. Da sowohl die Empfangsleitung 5 als auch die Sendelei
tung 7 unabhängig vom Mikroprozessor 4 betrieben werden, ist
in Empfangs- bzw. Senderichtung jeweils ein Zwischenspeicher
vorgesehen, in der die gerade empfangenen Daten bis zur Wei
terverarbeitung durch den Mikroprozessor 4 zwischengespei
chert werden können bzw. in den der Mikroprozessor 4 Daten
schreiben kann, um zu einem geeigneten Zeitpunkt auf die Sen
deleitung 7 gelegt zu werden.
In Empfangsrichtung ist dem Empfangsspeicher 1 die HDLC-
Empfangslogik 3 vorgeschaltet, in der das HDLC-Protokoll in
Empfangsrichtung ausgeführt wird. In Senderichtung ist dem
Sendespeicher 9 die HDLC-Sendelogik 6 nachgeschaltet, die das
HDLC-Protokoll in Senderichtung ausführt. Die Zugriffe auf
den Empfangsspeicher 1 und den Sendespeicher 9 werden von ei
ner Empfangszugriffssteuerung 2 bzw. einer Sendezugriffs
steuerung 8 gesteuert. Die Empfangszugriffssteuerung 2
tauscht Signale mit dem Empfangsspeicher 1 und dem Mikropro
zessor 4 aus. Die Sendezugriffssteuerung 8 tauscht Signale
mit dem Sendespeicher 9 dem Mikroprozessor 4 aus.
Der Empfangsspeicher 1 und der Sendespeicher 9 sind jeweils
Speicherbereiche eines RAM. Der Empfangsspeicher 1 und der
Sendespeicher 9 werden von der Empfangszugriffssteuerung 2
bzw. der Sendezugriffssteuerung 8 als FIFO-Speicher (first-in
first-out) betrieben. Dabei ist die Größe des Empfangs-FIFO
im Empfangsspeicher 1 und die größe des Sende-FIFO im Sen
despeicher 9 jeweils einstellbar.
In Fig. 2 ist mit 21 der Anfang einer Mikroprozessorroutine
"Get Block" bezeichnet, mit der der Mikroprozessor 4 Daten
aus dem Empfangsspeicher 1 liest. In den Schritten 22 und 24
wird beim Mikroprozessor 4 durch die Empfangszugriffssteue
rung 2 jeweils ein Interrupt ausgelöst. Der Interrupt RME
(Receive Message End) von Schritt 22 wird dann ausgelöst,
wenn der Empfangsspeicher 1 einen Eintrag enthält, der das
Ende eines Datenrahmens bei der D-Kanalübertragung anzeigt.
Der Interrupt RPF (Receive Pool Full) von Schritt 24 zeigt
an, daß die in den Empfangs-FIFO geschriebenen Daten die mo
mantane Größe des Empfangs-FIFO erreicht haben. Auf den
Schritt 22 folgt im Schritt 23 das Lesen des Registers RBC
(Receive Block Count), in dem die Anzahl der vom Mikroprozes
sor 4 aus dem Empfangs-FIFO zu lesenden Daten eingetragen
ist. Im Falle von Schritt 23 entspricht dies der Position des
empfangenen ältesten Datenbytes, das das Ende eines Datenrah
mens anzeigt. Im alternativen Fall folgt auf den Schritt 24
ein Schritt 25, in dem ebenfalls das Register RBC gelesen
wird. In diesem Fall ist im Register RBC die momentane Größe
des Empfangs-FIFO eingetragen.
In Schritt 26 liest der Mikroprozessor 4 den FIFO soweit aus,
wie es der aus dem Register RBC gelesene Wert anzeigt. Im
Falle eines Interrupts RME liest der Mikroprozessor 4 daher
alle Bytes bis und einschließlich des das Rahmenende anzei
genden Byte.
Im Falle des Interrupt RPF liest der Mikroprozessor 4 alle
Bytes aus dem Empfangs-FIFO. Nachdem die Daten gelesen sind,
schreibt der Mikroprozessor 4 in einem Schritt 27 in ein Re
gister RFBS (Receive FIFO Block Size) in der Empfangszu
griffssteuerung 2 die Größe des für den weiteren Datenempfang
im Empfangsspeicher 1 zur Verfügung stehenden Empfänger-FIFO.
In einem darauf folgenden Schritt 28 bestätigt der Mikropro
zessor 4 der Empfangszugriffssteuerung 2, daß die Daten emp
fangen sind. Dies erfolgt mit dem Signal RMC (Receive Message
Complete). Die Mikroprozessorroutine von Fig. 2 endet mit
dem Schritt 29.
Fig. 3 zeigt den zeitlichen Ablauf der Signale zwischen ei
nem HDLC-Empfänger 3 und einem Mikroprozessor 4 für den Emp
fang von Daten. Zunächst löst der HDLC-Empfänger 3 beim Mi
kroprozessor 4 einen Interrupt Int aus. In dem in Fig. 3
dargestellten Fall ist eine sehr kleine FIFO-Größe einge
stellt, so daß ein Interrupt in der Form eines RPF (Receive
Pool Full) 24 ausgelöst wird. Nachdem der Mikroprozessor 4 in
Schritt 25 die zu lesende Datenmenge ermittelt hat, liest er
die Daten 31 aus dem Empfänger-FIFO des HDLC-Empfängers 3.
Der Mikroprozessor 4 verarbeitet die empfangenen Daten 31,
die im angegebenen Beispiel den Anfang eines D-Kanalrahmens
darstellen, und erzeugt ein Antwortsignal, das an den ferner
Teilnehmer gesendet werden soll. Dazu ermittelt der Mikropro
zessor 4 den Status des HDLC-Senders 6, indem letzterer das
Signal Stat an den Mikroprozessor 4 sendet. Der HDLC-Sender 6
zeigt damit an, daß er bereit ist, Daten vom Mikroprozessor 4
zu empfangen. Der Mikroprozessor 4 sendet die vorbereiteten
Antwortdaten 32 an den HDLC-Sender und bestätigt dem HDLC-
Sender 6 die gesendeten Daten 32 mit einem Signal Ack. Der
HDLC-Sender 6 gibt dann die Sendedaten 32 auf die HDLC-
Sendeleitung 7.
Nachdem der Mikroprozessor 4 die relativ kleine Datenmenge 31
eines langen D-Kanalrahmens vom HDLC-Empfänger 3 empfangen
hat, befiehlt der Mikroprozessor 4 dem HDLC-Empfänger 3, die
Größe des Empfänger-FIFO zu verändern. Der Mikroprozessor 4
sendet dazu den neuen Wert der Größe des Empfänger-FIFO mit
tels des Signals RFBS. Im gezeigten Fall von Fig. 3 wird die
Größe des Empfänger-FIFO auf die Maximalgröße von 32 Bytes
eingestellt. Nachdem der Mikroprozessor 4 das Signal RFBS ge
sendet hat, bestätigt er den Empfang der Daten 31 mittels ei
nes Signal Ack, das in Fig. 2 durch das Signal RMC in
Schritt 25 dargestellt ist.
Der HDLC-Empfänger 3 sendet im weiteren Verlauf ein weiteres
Interrupt-Signal Int in der Form RPF, um anzuzeigen, daß der
Empfänger-FIFO erneut voll ist. Der Mikroprozessor 4 liest
die im Empfänger-FIFO enthaltenen Daten 33 und bestätigt das
Lesen dieser Daten mit einem Signal Ack in der Form RMC. Der
Mikroprozessor 4 hat nach Übernahme der Daten 33 den Schritt
27 von Fig. 2 übersprungen, weil eine Änderung der gerade
eingestellten Größe des Empfänger-FIFO nicht durchgeführt
werden soll.
Der Mikroprozessor 4 entscheidet anhand der bereits empfange
nen Daten, ob eine Veränderung der Größe des Empfänger-FIFO
erforderlich ist oder nicht. Typischerweise wird der Mikro
prozessor 4 nach einer längeren Pause auf Empfängerseite die
Größe des Empfänger-FIFO auf einen minimalen Wert einstellen.
Dadurch wird sichergestellt, daß ungeachtet dessen, ob der
nächste empfangene D-Kanalrahmen sehr lang oder sehr kurz
ist, in jedem Fall frühzeitig eine Antwort an den fernen
Teilnehmer ausgegeben werden kann. Wenn die ersten Bytes ei
nes D-Kanalrahmens beim Mikroprozessor 4 eingetroffen sind
(die Länge des D-Kanalrahmens ist in den ersten Bytes des
Rahmens enthalten), stellt der Mikroprozessor 4 die Größe des
Empfänger-FIFO auf eine maximale Größe. Dadurch wird sicher
gestellt, daß die verbleibenden Daten des langen D-
Kanalrahmens mit einer möglichst geringen Anzahl von Inter
rupt-Signalen an den Mikroprozessor 4 übergeben werden kön
nen. Dies ist mit den empfangenen Datenblöcken 33 und 35 in
Fig. 3 dargestellt. Sendeseitig sendet der Mikroprozessor 4
große Datenblöcke 34 und 36 an den HDLC-Sender 6.
Die Fig. 4a bis 4e veranschaulichen das Zusammenwirken des
Empfangsspeichers 1 mit der Empfangszugriffssteuerung 2 und
den Austausch von Signalen mit dem Mikroprozessor 4. In Fig.
4a ist eine Größe des Empfänger-FIFO von 4 Byte eingestellt.
Die vom HDLC-Empfänger 3 empfangenen Daten übersteigen diese
Grenze, so daß die Empfangszugriffssteuerung 2 beim Mikropro
zessor 4 einen Interrupt in der Form des Signals RPF auslöst.
Der Mikroprozessor 4 liest die vier Bytes aus dem vollen Emp
fänger-FIFO und sendet zunächst das Signal RFBS = 16 Bytes
und anschließend das Signal RMC (Receive Message Complete) an
die Empfängerzugriffssteuerung 2 (dargestellt durch einen ge
strichelten Pfeil zwischen den Fig. 4a und 4b).
Der HDLC-Empfänger 3 schreibt weitere Daten in den Empfangs
speicher 1, so daß dieser erneut über die nun eingestellte
Größe des Empfänger-FIFO von 16 Bytes gefüllt ist. Wie in
Fig. 4c dargestellt, löst die Empfangszugriffssteuerung 2 er
neut einen Interrupt RPF beim Mikroprozessor 4 aus. Der Mi
kroprozessor 4 liest die 16 Bytes aus dem Empfänger-FIFO und
bestätigt der Empfangszugriffssteuerung 2 mittels des Signals
RMC den Empfang der Daten (dargestellt durch gestrichelten
Pfeil zwischen den Fig. 4c und 4d).
Innerhalb der unverändert eingestellten Größe des Empfänger-
FIFO von 16 Bytes befinden sich nun die Rahmenendebytes 41,
42 und 43 (siehe Fig. 4d). Die Rahmenendebytes 41, 42 und 43
zeigen jeweils das Ende eines D-Kanalrahmens an. Die Emp
fangszugriffssteuerung 2 erkennt das Vorliegen des zuerst
eingegangenen Rahmenendebytes 41 innerhalb der noch gültigen
Größe des Empfänger-FIFO von 16 Bytes und löst beim Mikropro
zessor 4 mittels des Signals RME (Receive Message End) einen
Interrupt aus. Nach Empfang des D-Kanalrahmens, dessen Ende
durch das Rahmenendebyte 41 angezeigt wird, löst die Emp
fangszugriffssteuerung 2 beim Mikroprozessor 4 einen weiteren
Interrupt RME aufgrund des nun vorliegenden Rahmenendebytes
42 aus. Letzteres ist in Fig. 4e dargestellt.
Fig. 5 zeigt eine Mikroprozessorroutine, um Daten in den
Sende-FIFO zu schreiben. Die Routine beginnt mit dem Schritt
51. Im Schritt 52 teilt die Sendezugriffssteuerung 8 dem Mi
kroprozessor 4 mittels eines Interupt XPR (Transmit Pool Rea
dy) mit, daß der Sende-FIFO bereit ist, neue Daten aufzuneh
men. Alternativ dazu kann der Mikroprozessor 4 von sich aus
im Schritt 53 das Statusregister STAR lesen, um die Schreib
berechtigung anhand des Bits XFW (Transmit FIFO Write) zu
prüfen. Ist das Bit XFW auf 0 gesetzt, so können noch keine
weiteren Daten geschrieben werden und die Routine verzeigt
zurück an den Anfang 51. Mit dem gesetzten Bit XFW = 1 wird
angezeigt, daß eine Schreibberechtigung vorliegt:
Sowohl im Falle des Interrupt XPR von Schritt 52 als auch im
Falle des gesetzten Bits XFW von Schritt 54 schreibt der Mi
kroprozessor 4 anschließend in Schritt 5 Daten in den Sende-
FIFO. In Schritt 56 kann der Mikroprozessor 4 die Größe des
Sende-FIFO einstellen, indem ein Register XFBS (Transmit FIFO
Blocksize) entsprechend beschrieben wird. Der Schritt 56 ist,
wie auch der Schritt 27 von Fig. 2 in der Empfangsrichtung,
optional und kann übersprungen werden. In Schritt 57 bestä
tigt der Mikroprozessor der Sendezugriffssteuerung 8 das Sen
den von Daten in den Sende-FIFO mittels eines Signals XME
(Transmit Message End). Die Mikroprozessorroutine von Fig. 5
endet mit dem Schritt 58.
In ähnlicher Weise wie in Empfangsrichtung kann auch in Sen
derichtung die Größe des Sende-FIFO dargestellt werden. Dies
erlaubt die Optimierung der Größe des Sende-FIFO abhängig von
der Größe der zu sendenden D-Kanalrahmen. Die Anzahl ausgelö
ster Interrupts XPR in Schritt 52 und die Anzahl erforderli
cher Prüfungen des Bits XFW in Schritt 54 können auf diese
Weise minimiert werden. Der Prozessor wird damit weiter ent
lastet.
Eine große Zahl von Interrupts verursacht bei einem Mikropro
zessor einen hohen Verabreitungsaufwand, da nach Eingang ei
nes Interrupts der gerade beim Mikroprozessor vorliegende
Verarbeitungstatus gesichert werden muß, um nach Bearbeitung
des Interupts an dieser Stelle fortfahren zu können. Da die
durch den Empfang von D-Kanaldaten ausgelösten Interrupts RME
und RPF eine hohe Priorität haben, belastet eine große Anzahl
solcher Interrupts die Leistungsfähigkeit des Mikroprozessor
4, der neben der D-Kanalverarbeitung noch eine Vielzahl wei
terer Aufgaben erledigen muß. Die Erfindung erlaubt die Opti
mierung der Größe des Empfänger-FIFO und des Sende-FIFO an
hängig von der Größe der empfangenen D-Kanalrahmen bzw. der
zu sendenden D-Kanalrahmen. Die Anzahl ausgelöster Interrupts
RPF, RME bzw. XPR kann somit auf ein erforderliches Minimum
reduziert werden. Gleichzeitig wird sichergestellt, daß die
Erfordernisse kurzer Anwortzeiten nach Empfang des Anfangs
eines D-Kanalrahmens eingehalten werden, indem vorübergehend
eine entsprechend kleine Größe des Empfänger-FIFO eingestellt
ist.
Claims (6)
1. Verfahren zum Übertragen von digitalen Daten, die in Da
tenrahmen variabler Länge eingeteilt sind, von einem ersten
Datenbus (5) auf einen zweiten Datenbus (7), der asynchron
zum ersten Datenbus (5) betrieben wird und von einem Mikro
prozessor (4) gesteuert wird, wobei das Verfahren die folgen
den Schritte aufweist:
die Daten werden vom ersten Datenbus (5) in einen Speicher (1) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (2) teilt dem Mikroprozessor (4) in der Form eines Interrupts mit, wenn der Speicher (1) voll ist (24) oder wenn der Speicher (1) einen das Ende des Daten rahmens anzeigenden Eintrag enthält;
der Mikroprozessor (4) ermittelt (23, 25) von der Speicher steuereinheit (2) die Menge der vom Speicher (1) zu lesenden Daten;
der Mikroprozessor (4) liest (26) die Daten aus dem Speicher (1);
der Mikroprozessor (4) stellt die Größe des Speichers (1) für einen anschließenden Schreibvorgang ein; und
der Mikroprozessor (4) bestätigt (28) der Speichersteuerein heit (2) den Empfang der aus dem Speicher (1) ausgelesenen Daten.
die Daten werden vom ersten Datenbus (5) in einen Speicher (1) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (2) teilt dem Mikroprozessor (4) in der Form eines Interrupts mit, wenn der Speicher (1) voll ist (24) oder wenn der Speicher (1) einen das Ende des Daten rahmens anzeigenden Eintrag enthält;
der Mikroprozessor (4) ermittelt (23, 25) von der Speicher steuereinheit (2) die Menge der vom Speicher (1) zu lesenden Daten;
der Mikroprozessor (4) liest (26) die Daten aus dem Speicher (1);
der Mikroprozessor (4) stellt die Größe des Speichers (1) für einen anschließenden Schreibvorgang ein; und
der Mikroprozessor (4) bestätigt (28) der Speichersteuerein heit (2) den Empfang der aus dem Speicher (1) ausgelesenen Daten.
2. Verfahren nach Patentanspruch 1,
dadurch gekennzeichnet,
daß die Daten vom ersten Datenbus vor dem Schritt des Spei
cherns einer HDLC-Logik (3) zugeführt werden, die prüft, ob
die Daten korrekt empfangen wurden.
3. Verfahren zum Übertragen von digitalen Daten, die in Da
tenrahmen variabler Länge eingeteilt sind, von einem ersten
Datenbus (5), der von einem Mikroprozessor (4) gesteuert
wird, auf einen zweiten Datenbus (7), der asynchron zum er
sten Datenbus (5) betrieben wird, wobei das Verfahren die
folgenden Schritte aufweist:
die Daten werden vom ersten Datenbus (5) in einen Speicher (9) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (8) teilt dem Mikroprozessor (4) in der Form eines Interrupts mit, wenn der Speicher (9) be reit ist, neue Daten vom ersten Datenbus (5) aufzunehmen, oder der Mikroprozessor (4) befragt die Speichersteuereinheit (8), ob der Speicher (9) bereit ist, neue Daten vom ersten Datenbus (5) aufzunehmen;
der Mikroprozessor (4) schreibt (55) Daten in den Speicher (9);
der Mikroprozessor (4) stellt die Größe des Speichers (9) für einen anschließenden Schreibvorgang ein;
der Mikroprozessor (4) bestätigt (57) der Speichersteuerein heit (8) das Schreiben der Daten in den Speicher (9); und
die Daten werden auf den zweiten Datenbus (7) gelegt.
die Daten werden vom ersten Datenbus (5) in einen Speicher (9) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (8) teilt dem Mikroprozessor (4) in der Form eines Interrupts mit, wenn der Speicher (9) be reit ist, neue Daten vom ersten Datenbus (5) aufzunehmen, oder der Mikroprozessor (4) befragt die Speichersteuereinheit (8), ob der Speicher (9) bereit ist, neue Daten vom ersten Datenbus (5) aufzunehmen;
der Mikroprozessor (4) schreibt (55) Daten in den Speicher (9);
der Mikroprozessor (4) stellt die Größe des Speichers (9) für einen anschließenden Schreibvorgang ein;
der Mikroprozessor (4) bestätigt (57) der Speichersteuerein heit (8) das Schreiben der Daten in den Speicher (9); und
die Daten werden auf den zweiten Datenbus (7) gelegt.
4. Verfahren nach Patentanspruch 3,
dadurch gekennzeichnet,
daß die Daten einer HDLC-Logik (6), die den Daten Fehlerprüf
daten hinzufügt, zugeführt werden, bevor sie auf den zweiten
Datenbus (7) gelegt werden.
5. Anordnung zum Übertragen von digitalen Daten, die in Da
tenrahmen variabler Länge eingeteilt sind, von einem ersten
Datenbus (5) auf einen zweiten Datenbus (7), der asynchron
zum ersten Datenbus (5) betrieben wird und von einem Mikro
prozessor (4) gesteuert wird, wobei die Anordnung aufweist:
einen Speicher (1), in den die vom ersten Datenbus (5) emp fangenen Daten geschrieben und anschließend von dem Mikropro zessor (4) ausgelesen werden; und
eine Steuereinrichtung (2) zum Steuern der Zugriffe auf den Speicher (1) durch den ersten Datenbus (5) und den Mikropro zessor (4);
dadurch gekennzeichnet,
daß ein Register (RBC) vorgesehen ist, in das die Menge der gerade in den Speicher (1) geschriebenen und von dem Mikro prozessor (4) auszulesenden Daten eintragbar ist;
daß die Größe des Speichers (1) veränderbar ist; und
daß ein weiteres Register (RFBS) vorgesehen ist, in das die Größe des Speichers (1) für einen anschließenden Schreibvor gang eintragbar ist;
wobei der Inhalt des weiteren Registers (RFBS) mit jedem Le sezyklus des Mikroprozessors (4) veränderbar ist.
einen Speicher (1), in den die vom ersten Datenbus (5) emp fangenen Daten geschrieben und anschließend von dem Mikropro zessor (4) ausgelesen werden; und
eine Steuereinrichtung (2) zum Steuern der Zugriffe auf den Speicher (1) durch den ersten Datenbus (5) und den Mikropro zessor (4);
dadurch gekennzeichnet,
daß ein Register (RBC) vorgesehen ist, in das die Menge der gerade in den Speicher (1) geschriebenen und von dem Mikro prozessor (4) auszulesenden Daten eintragbar ist;
daß die Größe des Speichers (1) veränderbar ist; und
daß ein weiteres Register (RFBS) vorgesehen ist, in das die Größe des Speichers (1) für einen anschließenden Schreibvor gang eintragbar ist;
wobei der Inhalt des weiteren Registers (RFBS) mit jedem Le sezyklus des Mikroprozessors (4) veränderbar ist.
6. Anordnung nach Patentanspruch 5,
gekennzeichnet durch
eine HDLC-Logik (3), die zwischen den ersten Datenbus (5) und
den Speicher (1) geschaltet ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19842849A DE19842849C2 (de) | 1998-09-18 | 1998-09-18 | Verfahren und Anordnung zum Übertragen von digitalen Daten |
US09/398,689 US7000058B1 (en) | 1998-09-18 | 1999-09-20 | Method and configuration for transmitting digital data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19842849A DE19842849C2 (de) | 1998-09-18 | 1998-09-18 | Verfahren und Anordnung zum Übertragen von digitalen Daten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19842849A1 DE19842849A1 (de) | 2000-03-23 |
DE19842849C2 true DE19842849C2 (de) | 2001-02-01 |
Family
ID=7881437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19842849A Expired - Fee Related DE19842849C2 (de) | 1998-09-18 | 1998-09-18 | Verfahren und Anordnung zum Übertragen von digitalen Daten |
Country Status (2)
Country | Link |
---|---|
US (1) | US7000058B1 (de) |
DE (1) | DE19842849C2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI324305B (en) * | 2006-06-14 | 2010-05-01 | Via Tech Inc | Embedded system and related buffer size determining method thereof |
DE102007061724A1 (de) * | 2007-12-20 | 2009-06-25 | Robert Bosch Gmbh | Verfahren zum Übertragen von Daten in einem zyklusbasierten Kommunikationssystem |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0272939A2 (de) * | 1986-12-23 | 1988-06-29 | Oki Electric Industry Company, Limited | System zur dynamischen Pufferüberwachung zur Steuerung eines Datenverbindungszugriffsprotokolls |
DE3937021A1 (de) * | 1989-11-07 | 1991-05-08 | Licentia Gmbh | Anordnung zur datenuebertragung zwischen einer zentralen einheit und an diese ueber einen seriellen bus angeschlossenen teilnehmern |
WO1995006375A1 (en) * | 1993-08-26 | 1995-03-02 | Erann Gat | High-speed digital communications network |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63292747A (ja) * | 1987-05-25 | 1988-11-30 | Hitachi Ltd | バツフア管理方式 |
US5495482A (en) * | 1989-09-29 | 1996-02-27 | Motorola Inc. | Packet transmission system and method utilizing both a data bus and dedicated control lines |
JPH0451735A (ja) * | 1990-06-20 | 1992-02-20 | Toshiba Corp | ブリッジ装置 |
US5386438A (en) * | 1993-09-14 | 1995-01-31 | Intel Corporation | Analog front end integrated circuit for communication applications |
JP3740195B2 (ja) * | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
US5506747A (en) * | 1994-12-15 | 1996-04-09 | Northern Telecom Limited | Provision of FIFO buffer in RAM |
EP0718773A1 (de) * | 1994-12-19 | 1996-06-26 | Advanced Micro Devices, Inc. | Buszugriffsarbiter |
US5673416A (en) * | 1995-06-07 | 1997-09-30 | Seiko Epson Corporation | Memory request and control unit including a mechanism for issuing and removing requests for memory access |
IL117134A (en) * | 1996-02-14 | 2000-01-31 | Galileo Technology Ltd | First-in first-out (fifo) buffer |
US6122717A (en) * | 1996-06-17 | 2000-09-19 | Integrated Device Technology, Inc. | Methods and apparatus for a memory that supports a variable number of bytes per logical cell and a variable number of cells |
US5915104A (en) * | 1997-01-09 | 1999-06-22 | Silicon Graphics, Inc. | High bandwidth PCI to packet switched router bridge having minimized memory latency |
-
1998
- 1998-09-18 DE DE19842849A patent/DE19842849C2/de not_active Expired - Fee Related
-
1999
- 1999-09-20 US US09/398,689 patent/US7000058B1/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0272939A2 (de) * | 1986-12-23 | 1988-06-29 | Oki Electric Industry Company, Limited | System zur dynamischen Pufferüberwachung zur Steuerung eines Datenverbindungszugriffsprotokolls |
DE3937021A1 (de) * | 1989-11-07 | 1991-05-08 | Licentia Gmbh | Anordnung zur datenuebertragung zwischen einer zentralen einheit und an diese ueber einen seriellen bus angeschlossenen teilnehmern |
WO1995006375A1 (en) * | 1993-08-26 | 1995-03-02 | Erann Gat | High-speed digital communications network |
Non-Patent Citations (1)
Title |
---|
Siemens AG:ICs for Communication, Product Overview07.96, PEB 2070, S. 107, 108 * |
Also Published As
Publication number | Publication date |
---|---|
US7000058B1 (en) | 2006-02-14 |
DE19842849A1 (de) | 2000-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4440545C2 (de) | Verfahren zur Verarbeitung von Rufen bei einer Telefonanlage | |
EP1101329B1 (de) | Brückenmodul | |
DE3103786C2 (de) | Datenübertragungsanordnung | |
EP0692893B1 (de) | Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus | |
DE60305560T2 (de) | Eingebettetes System für die Überlastregelung von Rundfunkverkehr in einem Kommunikationsnetzwerk | |
DE19842849C2 (de) | Verfahren und Anordnung zum Übertragen von digitalen Daten | |
EP0985305B1 (de) | Verfahren und vorrichting zur übertragung eines kontinuierlichen datenstroms in paketierter form | |
WO2006056605A1 (de) | Kommunikationsbausteinanordnung mit einem schnittstellenmodul und schnittstellenmodul | |
WO2001020416A2 (de) | Serielle datenübertragung über ein bussystem | |
DE2803595C3 (de) | Indirekt gesteuerte Vermittlungsanlage, insbesondere für Fernsprechzwecke | |
EP0673136A1 (de) | Verfahren und Schaltungsanordnung zum Steuern der Übertragung von Nachrichtenblöcken innerhalb eines Übertragungssystems | |
EP0133577B1 (de) | Datenübertragungsverfahren in einem digitalen Übertragungsnetzwerk und Vorrichtung zur Durchführung des Verfahrens | |
EP0105212B1 (de) | Schaltungsanordnung zum Übertragen von Signalen zwischen Teilnehmeranschlussleitungen und wenigstens einer Übertragungsleitung einer dienstintegrierten Fernmeldeanlage | |
DE3003340A1 (de) | Verfahren und schaltungsanordnung zur uebertragung von binaeren signalen zwischen ueber ein zentrales busleitungssystem miteinander verbundenen anschlussgeraeten | |
DE4417777C2 (de) | Kommunikationssystem | |
DE69933377T2 (de) | Ressourcenschnittstelleneinheit für einen fernmeldevermittlungsknoten | |
EP0477627B1 (de) | Verfahren zum Verbinden von Kommunikationsendgeräten in diensteintegrierenden Kommunikationsnetzen | |
EP0010264B1 (de) | Fernschreib-Nebenstellenanlage | |
DE4122831A1 (de) | Integrierte halbleiterschaltung | |
DE19542715A1 (de) | Verfahren zum Übertragen von binären, asynchronen Daten über einen synchronen Kanal | |
DE2828841C3 (de) | Schaltungsanordnung für Fernmeldevermittlungsanlagen, insbesondere Fernsprechvermittlungsanlagen, mit gemeinsamen Steuerwerken und ihnen zugeordneten Speichern | |
DE2835131C2 (de) | ||
DE19530783C2 (de) | Verfahren zur digitalen Übertragung von nachrichtentechnischen Diensten | |
EP0412413B1 (de) | Schaltungsanordnung für Festverbindungen in digitalen Kommunikationsnetzen | |
DE3011759A1 (de) | Verfahren und schaltungsanordnung zum aufnehmen und abgeben von datenbloecken, insbesondere fuer eisenbahnanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: LANTIQ DEUTSCHLAND GMBH, 85579 NEUBIBERG, DE |
|
R081 | Change of applicant/patentee |
Owner name: LANTIQ DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE Effective date: 20110325 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |