DE102006056876B4 - Method for data transmission between two data processing systems - Google Patents
Method for data transmission between two data processing systems Download PDFInfo
- Publication number
- DE102006056876B4 DE102006056876B4 DE102006056876A DE102006056876A DE102006056876B4 DE 102006056876 B4 DE102006056876 B4 DE 102006056876B4 DE 102006056876 A DE102006056876 A DE 102006056876A DE 102006056876 A DE102006056876 A DE 102006056876A DE 102006056876 B4 DE102006056876 B4 DE 102006056876B4
- Authority
- DE
- Germany
- Prior art keywords
- data
- clock rate
- memory
- data processing
- processing systems
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000005540 biological transmission Effects 0.000 title claims abstract description 7
- 239000000872 buffer Substances 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- SPCNPOWOBZQWJK-UHFFFAOYSA-N dimethoxy-(2-propan-2-ylsulfanylethylsulfanyl)-sulfanylidene-$l^{5}-phosphane Chemical compound COP(=S)(OC)SCCSC(C)C SPCNPOWOBZQWJK-UHFFFAOYSA-N 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9023—Buffering arrangements for implementing a jitter-buffer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Verfahren zur Datenübertragung zwischen zwei Datenverarbeitungssystemen, welche jeweils geringfügig voneinander unterschiedliche Taktraten aufweisen und wobei die verwendeten Taktraten veränderbar sind, dadurch gekennzeichnet, dass bei Vorliegen einer Taktrate, die einem ganzzahligen Vielfachen einer Grundtaktrate entspricht, ein für die Verarbeitung der Grundtaktrate angepasstes Verfahren in der Weise eingesetzt wird, dass in jedem Verfahrensschritt eine dem ganzzahligen Vielfachen entsprechende Mehrzahl von Datenworten (DW) gemeinsam und gleichzeitig verarbeitet werden.Method for data transmission between two data processing systems, each having slightly different clock rates and wherein the clock rates used are variable, characterized in that in the presence of a clock rate corresponding to an integer multiple of a basic clock rate, adapted for the processing of the basic clock rate method in the way is used, that in each process step an integer multiple corresponding plurality of data words (DW) are processed together and simultaneously.
Description
Technisches GebietTechnical area
Die Erfindung betrifft ein Verfahren zur Datenübertragung zwischen zwei Datenverarbeitungssystemen, welche jeweils geringfügig voneinander unterschiedliche Taktraten aufweisen und die verwendeten Taktraten veränderbar sind.The The invention relates to a method for data transmission between two data processing systems, which each slightly have different clock rates and the used Clock rates changeable are.
Stand der TechnikState of the art
Um Daten von einem Datenverarbeitungssystem in ein anderes Datenverarbeitungssystem zu übertragen werden im Falle, dass die Frequenz, mit der das Datenverarbeitungssystem an welches die Daten geliefert werden, mit der Frequenz, mit welcher die Daten vom anliefernden Datenverarbeitungssystem geliefert werden minimale Abweichungen aufweisen, Pufferspeicher eingesetzt. Ein in diesen Pufferspeichern eingesetztes Verfahren sorgt für den Fall, dass Daten schneller angeliefert als ausgelesen werden dafür, dass Daten aus dem Datenstrom entfernt werden. Im Fall, dass die Daten langsamer angeliefert als ausgelesen werden, sorgt dieses Verfahren für das Einfügen von, durch dieses Verfahren bestimmten Daten.Around Data from one data processing system to another data processing system transferred to In the event that the frequency with which the data processing system to which the data is delivered, with the frequency at which the data is supplied by the delivering data processing system have minimal deviations, used buffer memory. One used in these buffer stores provides the case that data are delivered faster than read out for Data is removed from the data stream. In the event that the data delivered slower than read out, this process provides for the Insert of data determined by this procedure.
Ein Pufferspeicher besteht prinzipiell aus einem Eingangsspeicher, in welchen die Daten von einem ersten Datenverarbeitungssystem mit einer ersten Frequenz (Datenrate) abgelegt werden und einem Ausgangsspeicher, aus welchem ein zweites Datenverarbeitungsystem Daten mit einer zweiten Frequenz entnimmt. Zwischengeschaltet ist ein Verfahren welches Daten so vom Eingangsspeicher in den Ausgangsspeicher überträgt, dass aus dem Ausgangsspeicher kontinuierlich Daten vom zweiten Datenverarbeitungssystem mit dessen Frequenz entnommen werden können. Dazu ist es nötig, dass von diesem Verfahren gegebenenfalls Daten erzeugt und in den Datenstrom eingefügt werden oder Daten aus dem Datenstrom entnommen werden.One Buffer memory consists in principle of an input memory, in which the data from a first data processing system a first frequency (data rate) are stored and an output memory, from which a second data processing system data with a second frequency takes. Interposed is a procedure which transfers data from the input memory to the output memory in such a way continuously from the output memory data from the second data processing system can be taken with its frequency. For this it is necessary that If necessary, data generated by this method and in the data stream added or data is taken from the data stream.
Die in diesem Verfahren angewandten Algorithmen können unterschiedlich komplex sein, beispielsweise können einfach leere Datenworte in den Datenstrom eingefügt werden, das letzte Datenwort wiederholt werden oder mathematische Verfahren angewandt werden, die auf die Art der zu übertragenden Daten optimiert sind. Ein Beispiel eines angewandten Algorithmus ist in der folgenden Literatustelle beschrieben: O. Hodson, C. S. Perkins & V. Hardman, "Skew detection and compensation for Internet audio applications", Proceedings of the IEEE International Conference an Multimedia and Expo, New York, July 2000.The Algorithms used in this process can be of varying complexity be, for example, can simply insert empty data words into the data stream, the last data word is repeated or mathematical procedures are applied which are in the nature of the transfer Data are optimized. An example of an applied algorithm is described in the following literatures: O. Hodson, C.S. Perkins & V. Hardman, "skew detection and compensation for Internet audio applications ", Proceedings of the IEEE International Conference at Multimedia and Expo, New York, July 2000.
Allgemein ist die Verwendung eines Pufferspeichers bei Anwendungen vorgesehen, bei welchen Daten in den Datenstrom eingefügt oder entnommen werden können, ohne das die Verwendbarkeit des Datenstroms dadurch leidet. Dies ist beispielsweise bei der Übertragung von Audio und Videosignalen gegeben.Generally the use of a buffer memory is provided in applications, in which data can be inserted or removed in the data stream, without that suffers the usability of the data stream. This is for example, during transmission given by audio and video signals.
Ein weiterer Anwendungsfall ist z. B. die Telephonie über Internet, wobei digitale Daten, welche Sprachsignale repräsentieren, paketweise angeliefert werden, aber zur Ausgabe an einem analogen Ausgang zu äquidistanten Zeitpunkten Daten an einen Digital – Analog Wandler geliefert werden müssen.One Another application is z. For example, telephony via the Internet, wherein digital data representing voice signals is delivered in packets but to output at an analog output to equidistant Data is supplied to a digital-to-analog converter Need to become.
Eine
Erweiterung des Pufferspeichers stellt ein sogenannter Jitter-Buffer
dar. Ein Jitter-Buffer hat die Aufgabe, empfangene Datenpakete,
z. B. kodierte Sprache, zu ordnen, zu dekodieren und die aus den
Datenpaketen extrahierten Datenworte mit einer genau bestimmten
Taktrate auszugeben. Dazu wendet er ein oben beschriebenes Verfahren
zum Angleich unterschiedlicher Datenraten der empfangenen Pakete
und der ausgegebenen Datenworte an. In
Besteht die Forderung, in einem Pufferspeicher mehrere Datenraten verarbeiten zu können, beispielsweise alternativ mit 8 kHz oder mit 16 kHz abgetastete Signale, so muß nach dem Stand der Technik das oben beschriebene Verfahren auf beide Frequenzen angepasst und entsprechend, z. B. mittels Software, umgesetzt werden. Dazu sind für jede verwendete Taktrate die Koeffizienten des dem Verfahren zugrunde liegenden Algorithmuses getrennt zu berechnen. Auch muß das Verfahren mit jeweils der Taktrate (Abtastrate) des Signals synchroner Geschwindigkeit ablaufen. Dies führt zu höherem Bedarf an Programmspeicher und zu äquivalent höherer Belastung der Recheneinheit.Consists the requirement to process several data rates in a buffer memory to be able to for example alternatively sampled at 8 kHz or at 16 kHz Signals, so must after In the prior art, the method described above applies to both Frequencies adjusted and accordingly, z. B. implemented by software become. These are for each clock rate used is based on the coefficients of the method lying algorithm to calculate separately. Also, the procedure must with the clock rate (sampling rate) of the synchronous speed signal expire. this leads to to higher Demand for program memory and for equivalent higher load of the arithmetic unit.
Eine
typische Anwendung einer Jitter Buffers beschreibt beispielsweise
Darstellung der ErfindungPresentation of the invention
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mittels welchem sowohl eine Grundtaktrate, welche die niedrigste zu verarbeitende Taktrate ist, als auch ganzzahlige Vielfache dieser Grundtaktrate verarbeitet werden können. Dabei soll der Aufwand an Programmspeicher und Rechenleistungsbedarf nicht steigen und für jede verwendete Datenrate konstant sein. Erweiterungen bestehender Umsetzungen von Pufferspeichern um die Möglichkeit der Verwendung mehrerer Taktraten werden durch diese Erfindung vereinfacht, da das Verfahren zum Ausgleich leicht unterschiedlicher Datenraten nur minimal angepasst werden muß.The invention has for its object to provide a method by which both a basic clock rate, which is the lowest clock rate to be processed, as well as integer multiples of this basic clock rate can be processed. The expenditure on program memory and computing power requirement should not rise and for each ver turned data rate to be constant. Extensions of existing buffer-memory conversions to the possibility of using multiple clock rates are simplified by this invention, since the method to compensate for slightly different data rates must be minimally adjusted.
Die Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst und einem System gemäß Anspruchs 4 gelöst.The The object is achieved by a method having the features of the claim 1 solved and a system according to claim 4 solved.
Gemäß der Erfindung ist vorgesehen jeweils das ganzzahlige Vielfache an Daten, welches dem aktuellen Vielfachen der Grunddatenrate entspricht, jeweils bei den entsprechenden Verfahrensschritten gleichzeitig vom Eingangsspeicher in den Ausgangsspeicher zu übertragen.According to the invention is provided in each case the integer multiple of data, which corresponds to the current multiple of the basic data rate, respectively at the same process steps simultaneously from the input memory to transfer to the output memory.
Vorteilhafte Eigenschaften der Erfindung sind, dass das Verfahren zum Angleich unterschiedlicher Datenraten für alle Datenraten unverändert belassen werden kann und dass die Belastung der Recheneinheit nicht mit steigender Datenrate zunimmt.advantageous Features of the invention are that the method for matching different data rates for all data rates unchanged can be left and that the burden of the arithmetic unit is not increases with increasing data rate.
Besonders vorteilhaft ist es, Vielfache der Reihe 2 hoch n (2, 4, 8, 16, ..) anzuwenden da dafür in den häufigst verwendeten Recheneinheiten Unterstützung vorhanden ist, z. B. durch entsprechende Speicheradressierungsbefehle und Speicherzugriffsbefehle.Especially it is advantageous to multiply the number 2 series high (2, 4, 8, 16, ..) apply for it in the most common used arithmetic units support exists, for. B. by corresponding memory addressing commands and memory access commands.
Vorteilhaft ist auch eine Anwendung des erfindungsgemäßen Verfahrens wenn das Verfahren als Teil eines Jitter-Buffer-Verfahrens ausgeführt wird.Advantageous is also an application of the method according to the invention when the method as Part of a jitter buffer procedure is performed.
Eine vorteilhafte Ausgestaltung der Erfindung wird erhalten mit einem System zur Datenübertragung zwischen zwei Datenverarbeitungssystemen, welche jeweils geringfügig voneinander unterschiedliche Taktraten aufweisen und wobei die verwendeten Taktraten in ganzzahligen Vielfachen einer Grundtaktrate veränderbar sind, bei dem zumindest ein Eingangsspeicher und zumindest ein Ausgangsspeicher vorgesehen sind, bei dem weiterhin Mittel zum Übertragen von Daten aus dem zumindest einen Eingangsspeicher in zumindest einen Ausgangsspeicher vorgesehen sind wobei die in jeweils einem Verfahrensschritt gleichzeitig übertragene Datenmenge dem ganzzahligen Vielfachen der Datenmenge entspricht welche bei der Grundtaktrate übertragen wird.A advantageous embodiment of the invention is obtained with a System for data transmission between two data processing systems, each slightly different from each other have different clock rates and wherein the clock rates used changeable in integer multiples of a basic clock rate are, in which at least one input memory and at least one output memory are provided, further comprising means for transmitting data from the at least one input memory in at least one output memory are provided wherein the transmitted simultaneously in each case a method step Amount of data corresponds to the integer multiple of the dataset which transmit at the basic clock rate becomes.
Kurzbeschreibung der ZeichnungenBrief description of the drawings
Ausführung der ErfindungEmbodiment of the invention
In
Die konkrete Anwendung dieses Verfahrens kann beispielweise in einem sogenannten Jitter-Buffer erfolgen, in diesem Fall ist das erste Datenverarbeitungssystem jenes Verfahren oder Vorrichtung welche die einzelnen Samples eines paketorientierten Datenstroms extrahiert, ordnet und gegebenfalls dekodiert. Das zweite Datenverarbeitungssystem wäre in diesem Fall jenes Verfahren oder Vorrichtung welches die Ausgaben aus dem Jitter-Buffer übernimmt um sie beispielsweise einer digital – analog Wandlung zur Ausgabe an einem Lautsprecher zu unterziehen.The concrete application of this method can, for example, in one so-called jitter buffers, in this case, the first Data processing system that method or device which extracts the individual samples of a packet-oriented data stream, orders and if necessary decodes. The second data processing system would be in this Case of that method or device which outputs from the Jitter buffer takes over for example, a digital - to - analog conversion to output to be subjected to a loudspeaker.
Der Ablauf des erfindungsgemäßen Verfahrens ist wie folgt: Es werden von einem ersten Datenverarbeitungssystem gelieferte Datenworte DW2, DW2, DW4...DWn in die Speicherzellen SZ1, SZ2, SZ3...SZn des Eingangsspeichers ES abgelegt. Dies geschieht mit der vom ersten Datenverarbeitungssystem bestimmten Geschwindigkeit (Taktrate). Ein zweites Datenverarbeitungssystem übernimmt die Ausgangsdaten A mit der vom zweiten Datenverarbeitungssystem bestimmten Geschwindigkeit (Taktrate) aus dem Ausgangsspeicher AS. Die Taktraten der beiden Datenverarbeitungssysteme sind, bis auf kleine Toleranzen, identisch. Eine Verarbeitungslogik V überträgt in jedem Verfahrensschritt eine Dateneinheit vom Eingangsspeicher ES in den Ausgangsspeicher AS. Diese Verarbeitungslogik V sorgt auch für das Entfernen von Daten aus diesem Datenstrom wenn die Taktrate des ersten Datenverarbeitungssystems größer ist als die des zweiten Datenverarbeitungssystems und für das Einfügen von Daten in den Datenstrom wenn die Taktrate des ersten Datenverarbeitungssystems niedriger ist als die des zweiten Datenverarbeitungssystems. Das Entfernen oder Hinzufügen von Daten geschieht beispielsweise mit dem Algorithmus wie er in „O. Hodson, C. S. Perkins & V. Hardman, "Skew detection and compensation for Internet audio applications", Proceedings of the IEEE International Conference an Multimedia and Expo, New York, July 2000" beschrieben ist.The sequence of the method according to the invention is as follows: Data words DW2, DW2, DW4... DWn supplied by a first data processing system are stored in the memory cells SZ1, SZ2, SZ3... SZn of the input memory ES. This is done with the speed determined by the first data processing system (clock rate). A second data processing system accepts the output data A with the speed (clock rate) determined by the second data processing system from the output memory AS. The clock rates of the two data processing systems are identical except for small tolerances. Processing logic V transmits a data unit from the input memory ES to the output memory AS in each method step. This processing logic V also provides for removing data from this data stream when the clock rate of the first data processing system is greater than that of the second data processing system and for inserting data into the data stream when the clock rate of the first data processing system is lower than that of the second data processing system. The removal or addition of data occurs, for example, with the algorithm as described in "O. Hodson, CS Perkins & V. Hardman, "Skew detection and compensation for Internet audio applications," Proceedings of the IEEE International Conference on Multimedia and Expo, New York, July 2000 ".
- AA
- Ausgangsdatenoutput data
- Ee
- Eingangsdateninput data
- ASAS
- Ausgangsspeicheroutput memory
- ESIT
- Eingangsspeicherinput memory
- VV
- Verarbeitungslogikprocessing logic
- SZSZ
- Speicherzellememory cell
- DWDW
- Datenwortdata word
Claims (4)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102006056876A DE102006056876B4 (en) | 2006-12-01 | 2006-12-01 | Method for data transmission between two data processing systems |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102006056876A DE102006056876B4 (en) | 2006-12-01 | 2006-12-01 | Method for data transmission between two data processing systems |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE102006056876A1 DE102006056876A1 (en) | 2008-06-05 |
| DE102006056876B4 true DE102006056876B4 (en) | 2009-08-13 |
Family
ID=39338908
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE102006056876A Expired - Fee Related DE102006056876B4 (en) | 2006-12-01 | 2006-12-01 | Method for data transmission between two data processing systems |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE102006056876B4 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040088742A1 (en) * | 2002-09-27 | 2004-05-06 | Leblanc Wilf | Splitter and combiner for multiple data rate communication system |
-
2006
- 2006-12-01 DE DE102006056876A patent/DE102006056876B4/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040088742A1 (en) * | 2002-09-27 | 2004-05-06 | Leblanc Wilf | Splitter and combiner for multiple data rate communication system |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102006056876A1 (en) | 2008-06-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0475497B1 (en) | Stuffing decision circuit for a bit rate adaption apparatus | |
| EP0820006B1 (en) | Signal processor | |
| DE102009020807A1 (en) | Method for efficient compression for measurement data | |
| DE3531584A1 (en) | METHOD FOR ENCODING DATA FOR TRANSFER FROM A FIRST TO A SECOND DATA PROCESSING UNIT AND INTERFACE FOR IMPLEMENTING THIS METHOD | |
| DE3306306A1 (en) | ARITHMETIC PROCESSING DEVICE | |
| DE102006056876B4 (en) | Method for data transmission between two data processing systems | |
| DE69021332T2 (en) | Data format for information packages. | |
| EP2175287A2 (en) | Device and method for measuring electrical parameters | |
| DE2707820A1 (en) | DATA PROCESSING SYSTEM | |
| DE102011004358B3 (en) | Method for transmitting data over a synchronous serial data bus | |
| DE102018104171A1 (en) | Method for transmitting configuration data in accordance with the IO-Link protocol from an automation controller to at least one IO-Link device | |
| EP1357707A2 (en) | Method and apparatus for transferring messages via a bus system and bus system | |
| DE4441293A1 (en) | Method and circuit arrangement for reading code words of variable length from a data memory with a fixed word length | |
| EP1548603B1 (en) | Method and apparatus for controlling memory access | |
| DE3113189C2 (en) | Device for converting digital character codes that are received or supplied by a data processing system | |
| EP0340301A1 (en) | Digital adaptive transform coding process | |
| EP3550386A1 (en) | Method for providing communication in an automation network, control unit with programmable storage and field device | |
| EP0774849B1 (en) | Method for the transmission of binary, asynchronous data over a synchronous channel | |
| DE10219700C1 (en) | Data interleaving appoints transmission instant for each data unit of data block, using algorithm | |
| DE2653716C3 (en) | modem | |
| DE102015121512B4 (en) | Method and device for analog / digital conversion of signals and corresponding device | |
| DE2707800A1 (en) | DATA PROCESSING SYSTEM | |
| DE3435652A1 (en) | CIRCUIT ARRANGEMENT FOR GENERATING A TIME MULTIPLEX SIGNAL | |
| EP0755140A2 (en) | Apparatus and method for transmitting digital signals between two transmission systems having different clock frequencies | |
| EP0430341B1 (en) | Method for time-interleaved processing of data words and apparatus for using it |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |