DE19842849A1 - Verfahren und Anordnung zum Übertragen von digitalen Daten - Google Patents
Verfahren und Anordnung zum Übertragen von digitalen DatenInfo
- Publication number
- DE19842849A1 DE19842849A1 DE19842849A DE19842849A DE19842849A1 DE 19842849 A1 DE19842849 A1 DE 19842849A1 DE 19842849 A DE19842849 A DE 19842849A DE 19842849 A DE19842849 A DE 19842849A DE 19842849 A1 DE19842849 A1 DE 19842849A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- microprocessor
- memory
- data bus
- bus
- 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.)
- Granted
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
Abstract
Es ist ein Verfahren zum Übertragen von digitalen Daten, die in Datenrahmen variabler Länge enthalten sind, von einem ersten Datenbus auf einen zweiten Datenbus, der asynchron zum ersten Datenbus betrieben und von einem Mikroprozessor gesteuert wird, offenbart. Das Verfahren weist die folgenden Schritte auf: Die Daten werden vom ersten Datenbus in einen Speicher mit einstellbarer Größe geschrieben. Eine Speichersteuereinheit teilt dem Mikroprozessor in der Form eines Interrupt mit, wenn der Speicher voll ist oder wenn das Ende eines Datenrahmens erreicht ist. Der Mikroprozessor ermittelt von der Speichersteuereinheit die Menge der vom Speicher zu lesenden Daten, liest die Daten aus dem Speicher, und stellt die Größe des Speichers ein. Der Mikroprozessor bestätigt schließlich der Speichersteuereinheit den Empfang des Datenblocks.
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.
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 einbestä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 B 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
mentane 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.
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
Verarbeitungsstatus 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 Antwortzeiten 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, der asynchron zum
ersten Datenbus betrieben wird und von einem Mikroprozessor
(4) gesteuert wird, wobei das Verfahren die folgenden Schrit
te aufweist:
die Daten werden vom ersten Datenbus in einen Speicher (1) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (2) teilt dem Mikroprozessor (4) in der Form eines Interrupt mit, wenn der Speicher (2) voll ist (24) oder wenn das Ende eines Datenrahmens erreicht ist (22);
der Mikroprozessor ermittelt (23, 25) von der Speichersteuer einheit (2) die Menge der vom Speicher (1) zu lesenden Daten;
der Mikroprozessor liest (26) die Daten aus dem Speicher (1);
der Mikroprozessor stellt die Größe des Speichers (1) ein (27); und
der Mikroprozessor bestätigt (28) der Speichersteuereinheit (2) den Empfang des Datenblocks.
die Daten werden vom ersten Datenbus in einen Speicher (1) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (2) teilt dem Mikroprozessor (4) in der Form eines Interrupt mit, wenn der Speicher (2) voll ist (24) oder wenn das Ende eines Datenrahmens erreicht ist (22);
der Mikroprozessor ermittelt (23, 25) von der Speichersteuer einheit (2) die Menge der vom Speicher (1) zu lesenden Daten;
der Mikroprozessor liest (26) die Daten aus dem Speicher (1);
der Mikroprozessor stellt die Größe des Speichers (1) ein (27); und
der Mikroprozessor bestätigt (28) der Speichersteuereinheit (2) den Empfang des Datenblocks.
2. Verfahren nach Patentanspruch 1,
dadurch gekennzeichnet, daß
die Daten vom ersten Datenbus vor dem Schritt des Speicherns
einer HDLC-Logik (3) zugeführt werden, die prüft, ob die Da
ten korrekt empfangen wurden.
3. Verfahren zum Übertragen von digitalen Daten, die in Da
tenrahmen variabler Länge eingeteilt sind, von einem ersten
Datenbus, der von einem Mikroprozessor (4) gesteuert wird,
auf einen zweiten Datenbus (7), der asynchron zum ersten Da
tenbus betrieben wird, wobei das Verfahren die folgenden
Schritte aufweist:
die Daten werden vom ersten Datenbus in einen Speicher (9) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (8) teilt dem Mikroprozessor (4) in der Form eines Interrupt mit, wenn der Speicher bereit ist, neue Daten vom ersten Datenbus aufzunehmen, oder der Mi kroprozessor befragt die Speichersteuereinheit (8), ob der Speicher (9) bereit ist, neue Daten vom ersten Datenbus auf zunehmen;
der Mikroprozessor schreibt (55) Daten in den Speicher (9);
der Mikroprozessor stellt die Größe des Speichers (9) ein (56);
der Mikroprozessor bestätigt (57) der Speichersteuereinheit (8) das Ende der Daten; und
die Daten werden auf den zweiten Datenbus (7) gelegt.
die Daten werden vom ersten Datenbus in einen Speicher (9) mit einstellbarer Größe geschrieben;
eine Speichersteuereinheit (8) teilt dem Mikroprozessor (4) in der Form eines Interrupt mit, wenn der Speicher bereit ist, neue Daten vom ersten Datenbus aufzunehmen, oder der Mi kroprozessor befragt die Speichersteuereinheit (8), ob der Speicher (9) bereit ist, neue Daten vom ersten Datenbus auf zunehmen;
der Mikroprozessor schreibt (55) Daten in den Speicher (9);
der Mikroprozessor stellt die Größe des Speichers (9) ein (56);
der Mikroprozessor bestätigt (57) der Speichersteuereinheit (8) das Ende der Daten; 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üfdaten
hinzufügt, zugeführt werden, bevor sie auf den zweiten Daten
bus (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, der asynchron zum
ersten Datenbus betrieben wird und von einem Mikroprozessor
(4) gesteuert und gelesen wird, wobei die Anordnung aufweist:
einen Speicher (1), in den die vom ersten Datenbus (5) emp fangenen Daten geschrieben werden;
eine Steuereinrichtung (2) zum Steuern der Zugriffe auf den Speicher durch den ersten Datenbus (5) und den Mikroprozessor (4); dadurch gekennzeichnet, daß
die Größe des Speichers (1) veränderbar ist;
ein erstes Register vorgesehen ist, in das die Größe des Speichers (1) eintragbar ist; und
ein zweites Register vorgesehen ist, in das die Menge der ge rade in den Speicher geschriebenen Daten eintragbar ist,
wobei das erste Register in jedem Lesezyklus des Mikroprozes sors (4) veränderbar ist.
einen Speicher (1), in den die vom ersten Datenbus (5) emp fangenen Daten geschrieben werden;
eine Steuereinrichtung (2) zum Steuern der Zugriffe auf den Speicher durch den ersten Datenbus (5) und den Mikroprozessor (4); dadurch gekennzeichnet, daß
die Größe des Speichers (1) veränderbar ist;
ein erstes Register vorgesehen ist, in das die Größe des Speichers (1) eintragbar ist; und
ein zweites Register vorgesehen ist, in das die Menge der ge rade in den Speicher geschriebenen Daten eintragbar ist,
wobei das erste Register in jedem Lesezyklus des Mikroprozes sors (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 true DE19842849A1 (de) | 2000-03-23 |
DE19842849C2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009080524A1 (de) * | 2007-12-20 | 2009-07-02 | Robert Bosch Gmbh | Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem |
Families Citing this family (1)
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 |
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 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009080524A1 (de) * | 2007-12-20 | 2009-07-02 | Robert Bosch Gmbh | Verfahren zum übertragen von daten in einem zyklusbasierten kommunikationssystem |
Also Published As
Publication number | Publication date |
---|---|
US7000058B1 (en) | 2006-02-14 |
DE19842849C2 (de) | 2001-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4440545C2 (de) | Verfahren zur Verarbeitung von Rufen bei einer Telefonanlage | |
EP1101329B1 (de) | Brückenmodul | |
DE1933577B2 (de) | Einrichtung zum Übertragen von Daten zwischen einem Rechner und mehreren ent fernt liegenden Anschlußgeraten | |
DE3103786C2 (de) | Datenübertragungsanordnung | |
DE69731324T2 (de) | Verfahren und Vorrichtung zur Datenübertragung | |
DE4307449A1 (de) | ||
EP0453606B1 (de) | Verfahren und Schaltungsanordnung zur Reduzierung des Verlustes von Nachrichtenpaketen, die über eine Paketvermittlungseinrichtung übertragen werden | |
EP0985305B1 (de) | Verfahren und vorrichting zur übertragung eines kontinuierlichen datenstroms in paketierter form | |
DE19842849C2 (de) | Verfahren und Anordnung zum Übertragen von digitalen Daten | |
DE2803595C3 (de) | Indirekt gesteuerte Vermittlungsanlage, insbesondere für Fernsprechzwecke | |
DE69833300T2 (de) | Zeitmultiplexvermittlungseinheit | |
EP0033469A1 (de) | Verfahren und Schaltungsanordnung zum Übertragen von binären Signalen zwischen Anschlussgeräten | |
DE3233221A1 (de) | Schaltungsanordnung zum uebertragen von signalen zwischen teilnehmeranschlussleitungen und wenigstens einer uebertragungsleitung einer dienstintegrierten fernmeldeanlage | |
DE2732068C3 (de) | Schaltungsanordnung zur Steuerung des Informationsaustauschs zwischen den peripheren Einrichtungen und der zentralen Steuereinrichtung einer Fernmelde-, insbesondere Fernsprechvermittlungsanlage | |
DE4122831C2 (de) | Integrierte Halbleiterschaltung | |
DE2846130C2 (de) | Fernschreib-Nebenstellenanlage | |
EP0477627B1 (de) | Verfahren zum Verbinden von Kommunikationsendgeräten in diensteintegrierenden Kommunikationsnetzen | |
DE2828841C3 (de) | Schaltungsanordnung für Fernmeldevermittlungsanlagen, insbesondere Fernsprechvermittlungsanlagen, mit gemeinsamen Steuerwerken und ihnen zugeordneten Speichern | |
DE2945710C2 (de) | Schaltungsanordnung zum Austausch von Informationen zwischen Steuereinrichtungen von Fernmelde-, insbesondere Fernsprechvermittlungsanlagen | |
DE4018381C2 (de) | Verfahren für Datenübertragungen in Kommunikations-Vermittlungsanlagen | |
DE3240999A1 (de) | Schaltungsanordnung fuer eine fernsprechvermittlungsanlage, insbesondere fernsprechnebenstellenanlage mit zusaetzlichem datenverkehr | |
DE19542715A1 (de) | Verfahren zum Übertragen von binären, asynchronen Daten über einen synchronen Kanal | |
EP0098260B1 (de) | Schaltungsanordnung zur Kontrolle der synchronen Übertragung von Daten | |
DE2835131C2 (de) | ||
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 |