DE102013103582B4 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
DE102013103582B4
DE102013103582B4 DE102013103582.5A DE102013103582A DE102013103582B4 DE 102013103582 B4 DE102013103582 B4 DE 102013103582B4 DE 102013103582 A DE102013103582 A DE 102013103582A DE 102013103582 B4 DE102013103582 B4 DE 102013103582B4
Authority
DE
Germany
Prior art keywords
data
processing device
link layer
data processing
data link
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.)
Active
Application number
DE102013103582.5A
Other languages
German (de)
Other versions
DE102013103582A1 (en
DE102013103582A8 (en
Inventor
Ulrich Leucht-Roth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Deutschland GmbH
Original Assignee
Intel Deutschland GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/469,204 external-priority patent/US8938551B2/en
Application filed by Intel Deutschland GmbH filed Critical Intel Deutschland GmbH
Publication of DE102013103582A1 publication Critical patent/DE102013103582A1/en
Publication of DE102013103582A8 publication Critical patent/DE102013103582A8/en
Application granted granted Critical
Publication of DE102013103582B4 publication Critical patent/DE102013103582B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]

Abstract

Datenverarbeitungsvorrichtung (1200), aufweisend einen Kontroller (1201), eingerichtet zum Öffnen eines logischen Kanals zu einer anderen Datenverarbeitungsvorrichtung;
einen Empfänger (1202), eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße angibt, wobei der Empfänger (1202) ferner eingerichtet ist zum Empfangen einer Datenverbindungsschicht-Paketdateneinheit von der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist; und
einen Transceiver (1203), eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal, gemäß der Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.

Figure DE102013103582B4_0000
A data processing device (1200) comprising a controller (1201) arranged to open a logical channel to another data processing device;
a receiver (1202) adapted to receive a message from the other data processing device, the message indicating a data link layer protocol packet data unit size to be used for data exchange over the logical channel, the receiver (1202) being further adapted to receive a data link layer packet data unit from the other data processing apparatus, wherein the data link layer packet data unit includes at least a network layer packet and an unused portion having at least the designated data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet; and
a transceiver (1203) adapted to communicate with the other data processing device via the logical channel according to the data link layer protocol packet data unit size, wherein the data link layer protocol packet data unit size for the logical channel is constant until the logical channel is closed.
Figure DE102013103582B4_0000

Description

Die vorliegende Offenbarung bezieht sich auf Datenverarbeitungsvorrichtungen.The present disclosure relates to data processing devices.

Bei drahtlosen Kommunikationssystemen müssen Daten typischerweise zwischen dem Modem und dem Applikationsprozessor mit hohen Datenraten ausgetauscht werden. Um derartig hohe Datenraten zu erlauben, ist es wünschenswert, effiziente Netzwerkschicht-Protokolle zum Datenaustausch zu haben, die es beispielsweise erlauben, Daten mit einem geringen Overhead und mit einer geringen Anzahl von Operationen (oder Vorgängen) (z.B. Speicheroperationen und CPU-Operationen) auszutauschen. Die Druckschrift US 8,098,771 B2 beschreibt eine Empfängervorrichtung und ein Verfahren zum Empfangen von Dateneinheiten über einen gemeinsam genutzten Hochgeschwindigkeits-Downlink-Kanal von drahtlosen Kommunikationssystemen. Die Druckschrift US 7,715,344 B2 beschreibt ein Verfahren und eine Vorrichtung zum Bereitstellen neuer Konfigurationen zum Übertragen von Steuerinformationen zwischen einem mobilen Endgerät und einem Netzwerk unter Verwendung eines gemeinsamen Steuerkanals. Sigmund, G. in „Technik der Netze“ auf Seiten 269-275 und 282-283 beschreibt Datenkommunikation (z.B. das OSI-Referenzmodell und Paketvermittlungstechnik). Downes, K., et al. in „Internetworking Technologies Handbook“ auf Seiten 430-433 beschreibt Ethernet-Technologien und Internet-Protokolle.In wireless communication systems, data typically needs to be exchanged between the modem and the application processor at high data rates. In order to allow such high data rates, it is desirable to have efficient network layer protocols for data exchange that allow, for example, data to be exchanged with a low overhead and with a small number of operations (or operations) (eg, memory operations and CPU operations) , The publication US 8,098,771 B2 describes a receiver apparatus and method for receiving data units over a high-speed shared downlink channel of wireless communication systems. The publication US 7,715,344 B2 describes a method and apparatus for providing new configurations for transferring control information between a mobile terminal and a network using a common control channel. Sigmund, G. in "Technik der Netze" at pages 269-275 and 282-283 describes data communication (eg the OSI reference model and packet switching technology). Downes, K., et al. in "Internetworking Technologies Handbook" at pages 430-433 describes Ethernet technologies and Internet protocols.

Gemäß einem Aspekt der Offenbarung wird eine Datenverarbeitungsvorrichtung bereitgestellt, die einen Kontroller beinhaltet, eingerichtet zum Öffnen eines logischen Kanals mit einer anderen Datenverarbeitungsvorrichtung; einen Empfänger, eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße angibt, wobei der Empfänger ferner eingerichtet ist zum Empfangen eine Datenverbindungsschicht-Paketdateneinheit von der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist, und einen Transceiver beinhaltet, eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.According to one aspect of the disclosure, there is provided a data processing apparatus including a controller configured to open a logical channel with another data processing apparatus; a receiver adapted to receive a message from the other data processing device, the message indicating a data link layer protocol packet data unit size to be used for data exchange over the logical channel, the receiver being further adapted to receive a data link layer packet data unit from the other data processing device; The data link layer packet data unit includes at least a network layer packet and an unused portion having at least the designated data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet and including a transceiver configured to communicate with another data processing device via the logical channel according to the data link layer protocol packet data unit size, wherein the data link layer protoc oll packet data size for the logical channel is constant until the logical channel is closed.

Der Kontroller kann eingerichtet sein zum Öffnen des logischen Kanals durch Einrichten einer Verbindung mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal.The controller may be configured to open the logical channel by establishing a connection with the other data processing device via the logical channel.

Ferner kann der Kontroller eingerichtet sein zum Öffnen des logischen Kanals durch Übertragung einer Nachricht zu der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht anzeigt, dass die Datenverarbeitungsvorrichtung anfragt, dass der logische Kanal geöffnet werden soll. In einer Ausgestaltung kann die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße in der Nachricht angegeben sein. In noch einer Ausgestaltung kann die Datenverbindungsschichtprotokoll-Dateneinheitsgröße in Bytes oder Worten spezifiziert sein. In noch einer Ausgestaltung kann der Kontroller eingerichtet sein zum Übertragen der Nachricht über einen anderen logischen Kanal zu der anderen Datenverarbeitungsvorrichtung. In noch einer Ausgestaltung kann der andere logische Kanal ein Steuerkanal sein. In noch einer Ausgestaltung kann der Kontroller eingerichtet sein, den logischen Kanal durch Freigeben der Verbindung zu schließen. In einem Beispielkann die Datenverarbeitungsvorrichtung ein Modem sein und die andere Datenverarbeitungsvorrichtung kann ein Applikationsprozessor sein oder die Datenverarbeitungsvorrichtung kann eine Applikationsschaltung sein und die Datenverarbeitungsvorrichtung kann ein Modem sein. In noch einer Ausgestaltung können die Datenverarbeitungsvorrichtung und die andere Datenverarbeitungsvorrichtung Komponenten des gleichen Kommunikationsgeräts sein. In noch einer Ausgestaltung kann das Kommunikationsgerät ein zellulares Kommunikationsgerät sein.Further, the controller may be configured to open the logical channel by transmitting a message to the other data processing device, the message indicating that the data processing device is requesting that the logical channel be opened. In one embodiment, the data link layer protocol packet data unit size may be indicated in the message. In yet another embodiment, the data link layer protocol data unit size may be specified in bytes or words. In yet another embodiment, the controller may be configured to transmit the message over another logical channel to the other data processing device. In yet another embodiment, the other logical channel may be a control channel. In yet another embodiment, the controller may be configured to close the logical channel by releasing the connection. In one example, the data processing device may be a modem and the other data processing device may be an application processor or the data processing device may be an application circuit and the data processing device may be a modem. In yet another embodiment, the data processing device and the other data processing device may be components of the same communication device. In yet another embodiment, the communication device may be a cellular communication device.

Gemäß einem weiteren Aspekt der Offenbarung wird eine Datenverarbeitungsvorrichtung bereitgestellt, die einen Kontroller beinhaltet, eingerichtet zum Öffnen eines logischen Kanals mit einer anderen Datenverarbeitungsvorrichtung; einen Übertrager, eingerichtet zum Senden einer Nachricht zu der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße angibt, wobei der Sender ferner eingerichtet ist zum Senden eine Datenverbindungsschicht-Paketdateneinheit zu der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist, und weiter einen Transceiver beinhaltet, eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.According to another aspect of the disclosure, there is provided a data processing apparatus including a controller configured to open a logical channel with another data processing apparatus; a transmitter adapted to send a message to the other data processing device, the message indicating a data link layer protocol packet data unit size to be used for data exchange over the logical channel, the transmitter being further adapted to transmit a data link layer packet data unit to the other data processing device, wherein the The data link layer packet data unit includes at least a network layer packet and an unused portion having at least the designated data link layer header size and being at a header position for the data link layer packet data unit Network Layer packet is arranged, and further includes a transceiver configured to communicate with the other data processing device via the logical channel according to the data link layer protocol packet data unit size, the data link layer protocol packet data unit size for the logical channel is constant until the logical channel is closed.

Gemäß einem weiteren Aspekt der Offenbarung wird eine Datenverarbeitungsvorrichtung bereitgestellt, die eine Erzeugungseinrichtung beinhaltet, eingerichtet zur Erzeugung einer Datenverbindungsschicht-Paketdateneinheit basierend auf einer Datenverbindungsschicht-Headergröße, gemäß einer anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets, so dass die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist.According to another aspect of the disclosure, there is provided a data processing apparatus including generating means configured to generate a data link layer packet data unit based on a data link layer header size according to another data processing apparatus for transmitting a network layer packet, such that the data link layer packet data unit comprises at least one network layer Packet and an unused portion having at least the designated data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet.

In einer Ausgestaltung kann die Datenverarbeitungsvorrichtung ferner aufweisen eine Ermittlungseinrichtung, eingerichtet zur Ermittlung der von der anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets geforderten Datenverbindungsschicht-Headergröße.In one embodiment, the data processing device may further comprise a determination device configured to determine the data link layer header size required by the other data processing device for transmitting a network layer packet.

In einer Ausgestaltung kann die Datenverarbeitungsvorrichtung ferner aufweisen einen Empfänger, eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht die von der anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets geforderte Datenverbindungsschicht-Headergröße angibt.In one embodiment, the data processing device may further comprise a receiver configured to receive a message from the other data processing device, the message indicating the data link layer header size required by the other data processing device to transmit a network layer packet.

In noch einer Ausgestaltung kann das wenigstens eine Netzwerkschicht-Paket ein IP-Paket sein.In yet another embodiment, the at least one network layer packet may be an IP packet.

In noch einer Ausgestaltung kann die Datenverbindungsschicht-Paketdateneinheit eine Vielzahl von Netzwerkschicht-Paketen enthalten und kann für jedes Netzwerkschicht-Paket einen unbenutzten Teil enthalten, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist.In yet another embodiment, the data link layer packet data unit may include a plurality of network layer packets and may include, for each network layer packet, an unused portion having at least the specified data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet header. Package is arranged.

In einem Beispiel kann die Datenverarbeitungsvorrichtung ein Modem sein und die andere Datenverarbeitungsvorrichtung kann ein Applikationsprozessor sein oder die Datenverarbeitungsvorrichtung kann eine Applikationsschaltung sein und die andere Datenverarbeitungsvorrichtung kann ein Modem sein.In one example, the data processing device may be a modem and the other data processing device may be an application processor or the data processing device may be an application circuit and the other data processing device may be a modem.

In noch einer Ausgestaltung können die Datenverarbeitungsvorrichtung und die andere Datenverarbeitungsvorrichtung Komponenten des gleichen Kommunikationsgeräts sein.In yet another embodiment, the data processing device and the other data processing device may be components of the same communication device.

In noch einer Ausgestaltung kann das Kommunikationsgerät ein zellulares Kommunikationsgerät sein.In yet another embodiment, the communication device may be a cellular communication device.

Gemäß einem weiteren Aspekt der Offenbarung wird eine Datenverarbeitungsvorrichtung bereitgestellt, die einen Sender beinhaltet, eingerichtet zum Übertragen einer Nachricht an eine andere Datenverarbeitungsvorrichtung, wobei die Nachricht eine von der Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets angeforderte Datenverbindungsschicht-Headergröße angibt und weiter einen Empfänger beinhaltet, eingerichtet zum Empfangen einer Datenverbindungsschicht-Paketdateneinheit von der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist.According to another aspect of the disclosure, there is provided a data processing apparatus including a transmitter adapted to transmit a message to another data processing device, the message indicating a data link layer header size requested by the data processing device for transmitting a network layer packet and further including a receiver, arranged to receive a data link layer packet data unit from the other data processing device, the data link layer packet data unit containing at least a network layer packet and an unused portion having at least the specified data link layer header size and located within the data link layer packet data unit at a header position for the network layer Package is arranged.

Gemäß einem Beispiel wird eine Datenverarbeitungsvorrichtung bereitgestellt, die einen Speicher beinhaltet, der für jeden Netzwerkschicht-Datenblock einer Vielzahl von Netzwerkschicht-Datenblöcken einen Hinweis speichert, ob ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll und weiter ein Verarbeitungselement beinhaltet, eingerichtet zur Verarbeitung jedes Netzwerkschicht-Datenblocks und zum Auslösen eines Interrupts nach der Verarbeitung des Netzwerkschicht-Blocks, falls der für den Netzwerkschicht-Datenblock gespeicherte Hinweis angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.According to one example, there is provided a data processing apparatus that includes a memory that stores, for each network layer data block of a plurality of network layer data blocks, an indication of whether an interrupt should be triggered after processing the network layer data block and further includes a processing element configured for Processing each network layer data block and initiating an interrupt after processing the network layer block if the indication stored for the network layer data block indicates that an interrupt should be triggered after the processing of the network layer data block.

In einem Beispiel kann die Datenverarbeitungsvorrichtung ferner aufweisen einen Ermittler, eingerichtet zum Ermitteln für jeden Netzwerkschicht-Datenblock, ob der für den Netzwerkschicht-Datenblock gespeicherte Hinweis angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.In one example, the data processing device may further comprise an investigator configured to determine for each network layer data block whether the indication stored for the network layer data block indicates that an interrupt should be triggered after the processing of the network layer data block.

In noch einem Beispiel kann der Prozessor eingerichtet sein zum Auslösen eines Interrupts nach der Verarbeitung des Netzwerkschicht-Datenblocks, nur wenn der für den Netzwerkschicht-Datenblock gespeicherte Hinweis angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll. In yet another example, the processor may be configured to initiate an interrupt after processing the network layer data block only if the indication stored for the network layer data block indicates that an interrupt should be triggered after processing the network layer data block.

In noch einem Beispiel kann der Interrupt ein Interrupt sein, der die Übertragung einer Steuernachricht auslöst.In yet another example, the interrupt may be an interrupt that triggers the transmission of a control message.

In noch einem Beispiel kann der Hinweis mittels Software gespeichert sein.In yet another example, the indication may be stored by software.

In noch einem Beispiel können die Netzwerkschicht-Datenblöcke IP-Datenblöcke sein und die Netzwerkschicht-Datenpakete können IP-Pakete sein.In yet another example, the network layer data blocks may be IP data blocks and the network layer data packets may be IP packets.

In noch einem Beispiel kann die Datenverarbeitungsvorrichtung ein Modem einer Kommunikationseinrichtung sein.In yet another example, the data processing device may be a modem of a communication device.

In noch einem Beispiel kann können die Netzwerkschicht-Datenpakete Datenpakete sein, empfangen über eine drahtlose Kommunikation und an einen Applikationsprozessor der Datenverarbeitungsvorrichtung zu übertragen sind, oder Datenpakete, empfangen von dem Applikationsprozessor und über eine drahtlose Kommunikation zu übertragen sind.In yet another example, the network layer data packets may be data packets received via wireless communication and to be transmitted to an application processor of the data processing device, or data packets received from the application processor and to be transmitted via wireless communication.

Gemäß weiteren Aspekten der Offenbarung werden Verfahren entsprechend der zuvor beschriebenen Datenverarbeitungsvorrichtungen bereitgestellt.According to further aspects of the disclosure, methods are provided according to the data processing devices previously described.

In den Zeichnungen beziehen sich im Allgemeinen gleiche Bezugszeichen auf die gleichen Teile über die verschiedenen Ansichten hinweg. Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu; Wert wird stattdessen im Allgemeinen auf die Veranschaulichung der Prinzipien der Erfindung gelegt. In der folgenden Beschreibung werden verschiedene Ausführungsformen der Erfindung beschrieben unter Bezugnahme auf die folgenden Zeichnungen, in denen:

  • 1 eine Kommunikationsanordnung zeigt;
  • 2 ein Kommunikationsgerät, z.B. gemäß dem mobilen Kommunikationsgerät, zeigt;
  • 3 einen Kommunikationsprozessor und einen Applikationsprozessor zeigt;
  • 4 den Datenpfad in einem zellularen Modem zeigt;
  • 5 ein Nachrichtenflussdiagramm für UL-Übertragung zeigt;
  • 6 ein Nachrichtenflussdiagramm für DL-Übertragung zeigt;
  • 7 eine Softwarearchitektur für die Datenebene zeigt;
  • 8 einen Kommunikationsprozessor zeigt;
  • 9 eine Schnittstellenarchitektur zeigt;
  • 10 ein Flussdiagramm betreffend einen Kommunikationsaufbau eines Modus-Applikationsprozessors zeigt;
  • 11 eine Paketdateneinheit zeigt;
  • 12 eine Datenverarbeitungsvorrichtung, eingerichtet zum Empfangen einer Anzeige einer konstanten Datenverbindungsschicht-Dateneinheitsgröße von einer anderen Datenverarbeitungsvorrichtung zeigt;
  • 13 ein Flussdiagramm zum Anzeigen einer konstanten Datenverbindungsschicht-Dateneinheitsgröße zeigt;
  • 14 eine Datenverarbeitungsvorrichtung, eingerichtet zum Anzeigen einer konstanten Datenverbindungsschicht-Dateneinheitsgröße von einer anderen Datenverarbeitungsvorrichtung zeigt;
  • 15 ein Flussdiagramm zum Empfangen einer Anzeige einer konstanten Datenverbindungsschicht-Dateneinheitsgröße zeigt;
  • 16 eine Datenverarbeitungsvorrichtung, eingerichtet zum Einfügen eines Datenverbindungsschicht-Headerbereichs in eine Datenverbindungsschicht-Dateneinheit zeigt;
  • 17 ein Flussdiagramm zum Einfügen eines Datenverbindungsschicht-Headerbereichs in eine Datenverbindungsschicht-Dateneinheit zeigt;
  • 18 eine Datenverarbeitungsvorrichtung, eingerichtet zum Empfangen einer Datenverbindungsschicht-Datenpaketeinheit mit einem eingefügten Datenverbindungsschicht-Headerbereich zeigt;
  • 19 ein Flussdiagramm zum Empfangen einer Datenverbindungsschicht-Datenpaketeinheit mit einem eingefügten Datenverbindungsschicht-Headerbereich zeigt;
  • 20 ein Nachrichtenflussdiagramm für eine Kommunikationsaufbaukonfiguration zeigt;
  • 21 ein Nachrichtenflussdiagramm für eine Übertragung einer Datenverbindungsschicht-PDU zeigt;
  • 22 ein Nachrichtenflussdiagramm für eine Übertragung einer Datenverbindungsschicht-PDU mit Flusskontrolle zeigt;
  • 23 ein Nachrichtenflussdiagramm für eine Neukonfiguration einer PDU-Größe zeigt;
  • 24 ein Nachrichtenflussdiagramm für einen Neu-Synchronisation zeigt;
  • 25 ein Nachrichtenflussdiagramm ohne Streuungs-Operation zeigt;
  • 26 ein Nachrichtenflussdiagramm mit Streuungs-Operation zeigt;
  • 27 ein Nachrichtenflussdiagramm mit Sammel-Operation zeigt;
  • 28 eine Datenverarbeitungsvorrichtung zeigt, die einen Datenverbindungsschicht-Datenblock verarbeitet;
  • 29 ein Flussdiagramm für die Verarbeitung Netzwerkschichtdaten zeigt;
  • 30 ein Nachrichtenflussdiagramm für die Synchronisierung mittels eines vorherigen Pufferzeigers zeigt;
  • 31 ein Nachrichtenflussdiagramm für die Synchronisierung mittels eines Semaphors zeigt;
  • 32 ein Nachrichtenflussdiagramm für die Synchronisierung mittels eines Interrupts (Unterbrechers) zeigt;
  • 33 ein Nachrichtenflussdiagramm für die Synchronisierung mittels eines nächsten Zeigers zeigt; ....
  • 34 ein Nachrichtenflussdiagramm für die Synchronisierung mittels eines vorherigen Zeigers zeigt.
In the drawings, like reference characters generally refer to the same parts throughout the several views. The drawings are not necessarily to scale; Instead, value is generally placed upon the illustration of the principles of the invention. In the following description, various embodiments of the invention will be described with reference to the following drawings, in which:
  • 1 a communication arrangement shows;
  • 2 a communication device, eg according to the mobile communication device, shows;
  • 3 shows a communication processor and an application processor;
  • 4 shows the data path in a cellular modem;
  • 5 shows a message flow diagram for UL transmission;
  • 6 shows a message flow diagram for DL transmission;
  • 7 shows a software architecture for the data layer;
  • 8th shows a communication processor;
  • 9 shows an interface architecture;
  • 10 Fig. 10 shows a flowchart relating to communication establishment of a mode application processor;
  • 11 shows a packet data unit;
  • 12 a data processing device configured to receive a display of a constant data link layer data unit size from another data processing device;
  • 13 Fig. 10 shows a flow chart for displaying a constant data link layer data unit size;
  • 14 a data processing device configured to display a constant data link layer data unit size from another data processing device;
  • 15 Fig. 10 shows a flow chart for receiving an indication of a constant data link layer data unit size;
  • 16 a data processing device configured to insert a data link layer header area into a data link layer data unit;
  • 17 Fig. 10 shows a flowchart for inserting a data link layer header area into a data link layer data unit;
  • 18 a data processing apparatus configured to receive a data link layer data packet unit having an inserted data link layer header area;
  • 19 Fig. 10 shows a flow chart for receiving a data link layer data packet unit with an inserted data link layer header area;
  • 20 shows a message flow diagram for a communication establishment configuration;
  • 21 shows a message flow diagram for a data link layer PDU transmission;
  • 22 shows a message flow diagram for a flow-control data link layer PDU transmission;
  • 23 shows a message flow diagram for reconfiguring a PDU size;
  • 24 shows a message flow diagram for a re-synchronization;
  • 25 shows a message flow diagram without scatter operation;
  • 26 shows a message flow diagram with scatter operation;
  • 27 shows a message flow diagram with collection operation;
  • 28 a data processing apparatus processing a data link layer data block;
  • 29 a flowchart for processing shows network layer data;
  • 30 shows a message flow diagram for synchronization by means of a previous buffer pointer;
  • 31 shows a message flow diagram for synchronization by means of a semaphore;
  • 32 shows a message flow diagram for synchronization by means of an interrupt;
  • 33 shows a message flow diagram for synchronization by means of a next pointer; ....
  • 34 shows a message flow diagram for synchronization by means of a previous pointer.

Die folgende detaillierte Beschreibung nimmt Bezug auf die beigefügten Zeichnungen, welche zur Erläuterung spezifische Details und Ausführungsformen zeigen, in welchen die Erfindung ausgeführt werden kann. Diese Aspekte dieser Offenbarung sind mit genügend Details beschrieben um einem Fachmann zu ermöglichen, die Aspekte auszuführen. Andere Aspekte dieser Offenbarung können genutzt werden und strukturelle, logische und elektrische Veränderungen können erfolgen ohne vom Wesen der Aspekte abzuweichen. Die verschiedenen Aspekte dieser Offenbarung schließen sich nicht gegenseitig aus, einige Aspekte dieser Offenbarung können mit einem oder mehreren Aspekten der Offenbarung kombiniert werden, um neue Aspekte zu bilden.The following detailed description makes reference to the accompanying drawings which, for purposes of illustration, show specific details and embodiments in which the invention may be practiced. These aspects of this disclosure are described with enough detail to enable one skilled in the art to carry out the aspects. Other aspects of this disclosure may be utilized and structural, logical, and electrical changes may be made without departing from the spirit of the aspects. The various aspects of this disclosure are not mutually exclusive, and some aspects of this disclosure may be combined with one or more aspects of the disclosure to create new aspects.

Ein Datenverbindungsschicht-Protokoll für einen Datenaustausch zwischen einem Modem und einem Applikationsprozessor in einem Drahtlos-Kommunikationsgerät kann auf dem Protokoll-Handshake um jede PDU- (Protocol Data Unit - Protokolldateneinheit) Übertragung, auf einer einzelnen PDU-Übertragung ohne PDU-Framing-Format und auf Übertragung von PDUs variabler Größe basieren.A data link layer protocol for data exchange between a modem and an application processor in a wireless communication device may be based on protocol handshake about each PDU (Protocol Data Unit) transmission, on a single PDU transmission without PDU framing format, and based on transmission of variable size PDUs.

Hingegen verringert, bezüglich des Protokoll-Handshakes, ein Austausch von Steuerinformationen vor und nach jeder PDU-Übertragung, die verfügbare Bandbreite aufgrund der erforderlichen Bandbreite für die Übertragung von Steuerinformationen. Üblicherweise wird das Datenverbindungsschicht-Protokoll in der Software (SW) gehandhabt. SW-Verarbeitung der Steuerinformationen kann für jede Steuerinformation zu einer Unterbrechungsverarbeitung führen, was SW-Latenzen bedeutet, bezogen auf teure Kontext-Umschaltungen bei einem Echtzeit-Verarbeitungssystem auf der Modemseite. SW-Verarbeitung für jede Steuernachricht erhöht nicht nur die CPU-Auslastung sondern verringert gleichzeitig den verfügbaren Durchsatz aufgrund der Verarbeitungs-Latenzen. Unter Berücksichtigung von zwei Interrupts für jede PDU und eine maximale IP-Paketgröße von 1.5 kBytes bei 100 Mbps Downlink-Rate ergibt sich eine Interrupt-Belastung von 17000 IRQs/s. Diese Interrupt-Belastung liegt weit über der möglichen Grenze für CPUs von heutigen zellularen Modems.On the other hand, with respect to the protocol handshake, an exchange of control information before and after each PDU transmission reduces the available bandwidth due to the bandwidth required for the transmission of control information. Usually, the data link layer protocol is handled in the software (SW). SW processing of the control information may result in interrupt processing for each control information, which means SW latencies relative to expensive context switches in a modem-side real-time processing system. SW processing for each control message not only increases CPU utilization but also reduces available throughput due to processing latencies. Considering two interrupts for each PDU and a maximum IP packet size of 1.5 kbytes at 100 Mbps downlink rate results in an interrupt load of 17000 IRQs / s. This interrupt load is well beyond the possible limit for CPUs of today's cellular modems.

Bezüglich Einzel PDU-Übertragungen ohne PDU-Framing-Format sollte beachtet werden, dass entweder ein einzelnes IP Paket per PDU übertragen werden kann, oder viele IP-Pakete in einer PDU in einem Streaming-Format übertragen werden können, bei dem ein IP-Paket direkt von dem nächsten IP-Paket gefolgt wird. Die Übertragung von einzelnen IP-Paketen mittels PDU begrenzt den Netzdurchsatz. Berücksichtigt man eine SW-Latenz von ungefähr 100 µs für die Verarbeitung von jedem der zwei IRQs pro PDU, ist der Netzdurchsatz, zum Beispiel für eine physikalische MIPI HSI Verbindung von 200 Mbps, nur ungefähr 46 Mbps, das heißt unter 25 %. Die Übertragung von vielen IP-Paketen pro PDU erhöht die Verbindungseffizienz. Jedoch sind die IP-Pakete normalerweise nicht verfügbar bei einem zusammenhängenden Speicherplatz, ohne Lücken zwischen den Paketen. In diesem Fall kann das Bilden einer PDU aus vielen IP-Paketen erfordern, zuerst IP-Pakete von verschiedenen Speicherplätzen zu einem zusammenhängenden Platz zu kopieren. Speicherkopier-Operationen sind dann notwendig, die die verfügbare Speicherbandbreite von heutigen zellularen Modems überlasten. Gemäß einem Aspekt dieser Offenbarung wird eine effizientere Implementierung durch die Verwendung von einem Scatter-Gather- (Streuen-Sammeln) DMA (Direct memory access - Speicherdirektzugriff) erreicht. With regard to single PDU transmissions without PDU framing format, it should be noted that either a single IP packet can be transmitted via PDU, or many IP packets can be transmitted in a PDU in a streaming format involving an IP packet followed directly by the next IP packet. The transmission of individual IP packets by means of PDU limits the network throughput. Considering a SW latency of approximately 100 μs for the processing of each of the two IRQs per PDU, the network throughput, for example, for a MIPI HSI physical link of 200 Mbps, is only about 46 Mbps, that is less than 25%. The transmission of many IP packets per PDU increases the connection efficiency. However, the IP packets are usually unavailable in a contiguous memory space, with no gaps between the packets. In this case, forming a PDU from many IP packets may require first copying IP packets from different memory locations to a contiguous location. Memory copy operations are then necessary that overburden the available memory bandwidth of today's cellular modems. In accordance with one aspect of this disclosure, a more efficient implementation is achieved through the use of a scatter-gather DMA (direct memory access).

Bezüglich der Übertragung von PDUs mit variabler Größe sollte beachtet werden, dass falls jede PDU eine unterschiedliche Größe hat, was nur dem Empfänger gerade noch rechtzeitig bekannt ist, den Empfänger daran hindern kann, Puffer für den PDU-Empfang auf effiziente Art bereitzustellen. Speicherzuordnung kann typischerweise nur kurz vor jedem Empfang einer PDU stattfinden. Die Speicherzuordnungsoperation, spezifisch für jede PDU, fügt der CPU zusätzliche Last hinzu. Des Weiteren führt das Unterstützen einer flexiblen PDU-Größe zu einem komplexeren Speicherverwaltungsschema, das erforderlich ist, um eine effizientere Verwendung von begrenztem Systemspeicher zu erlauben.With regard to the transmission of PDUs of variable size, it should be noted that if each PDU has a different size, which is known to the receiver just in time, it may prevent the receiver from efficiently providing buffers for PDU reception. Memory allocation can typically take place just prior to each reception of a PDU. The memory allocation operation, specific to each PDU, adds additional load to the CPU. Furthermore, supporting a flexible PDU size results in a more complex memory management scheme required to allow more efficient use of limited system memory.

Gemäß einem Aspekt der Offenbarung wird eine effiziente Zwischen-Prozessor-Kommunikation, beispielsweise zwischen einem LTE-fähigen zellularen Modem und einem Applikationsprozessor für Benutzerdaten, die Datenraten von 100 Mbps übersteigen, bereitgestellt. Beispielsweise werden ein Datenverbindungsschicht-Protokoll und eine effiziente Implementierung über der physikalischen MIPI HSI Ebene bereitgestellt, die den geforderten Durchsatz von 100 Mbps Download und 60 Mbps Upload von LTE, eine effiziente Verwendung von Netzbandbreite mit geringem Protokoll-Overhead, leistungseffiziente Übertragung und sehr niedrige CPU-Leistungsanforderungen für die Verarbeitung von Datenverbindungsschicht-Protokollen, unterstützt.In accordance with one aspect of the disclosure, efficient inter-processor communication, for example, between an LTE-enabled cellular modem and an application processor for user data exceeding data rates of 100 Mbps, is provided. For example, a data link layer protocol and efficient implementation over the MIPI HSI physical level are provided that require the required throughput of 100 Mbps download and 60 Mbps upload of LTE, efficient use of low protocol overhead network bandwidth, power efficient transmission, and very low CPU Performance Requirements for Processing Data Link Layer Protocols.

1 zeigt eine Kommunikationsanordnung 100. 1 shows a communication arrangement 100 ,

Die Kommunikationsanordnung 100 beinhaltet Funkzellen 101 wobei jede Funkzelle 101 von einer jeweiligen Basisstation 102 betrieben wird. Die Basisstationen 102 sind beispielsweise Teil eines Funkzugriffsnetzwerkes eines mobilen Kommunikationsnetzwerks. Ein mobiles Endgerät 103 das sich in einer der Funkzellen 101 befindet, kann mit der Basisstation 102, die die Funkzelle 101 betreibt, kommunizieren (über die so genannte Luftschnittstelle) und kann so mit einer Kommunikationsverbindung zu einem weiteren mobilen Endgerät 104, das in der gleichen Funkzelle 101 oder in einer unterschiedlichen Funkzelle 101 (oder auch eine Funkzelle eines anderen mobilen Kommunikationsnetzwerkes), einem Kernnetzwerk des mobilen Kommunikationsnetzwerkes oder anderen Kommunikationsnetzwerken wie dem Internet oder anderen mobilen Kommunikationsnetzwerken, ausgestattet sein.The communication arrangement 100 includes radio cells 101 with each radio cell 101 from a respective base station 102 is operated. The base stations 102 are for example part of a radio access network of a mobile communication network. A mobile device 103 that is in one of the radio cells 101 located, can with the base station 102 that the radio cell 101 operates, communicate (via the so-called air interface) and so can with a communication connection to another mobile terminal 104 that in the same radio cell 101 or in a different radio cell 101 (or also a radio cell of another mobile communication network), a core network of the mobile communication network or other communication networks such as the Internet or other mobile communication networks.

Das mobile Kommunikationsnetzwerk kann ein zelluläres mobiles Kommunikationsnetzwerk gemäß verschiedenen Standards sein. Beispielsweise ist das mobile Kommunikationsnetzwerk ein Drahtlos-Kommunikationssystem gemäß GSM (Global System for Mobile Communication - Globales System für mobile Kommunikation), UMTS (Universal Mobile Telecommunication System Universelles mobiles Telekommunikationssystem), oder LTE (Long Term Evolution - langfristige Weiterentwicklung).The mobile communication network may be a cellular mobile communication network according to various standards. For example, the mobile communication network is a wireless communication system according to GSM (Global System for Mobile Communication), UMTS (Universal Mobile Telecommunication System Universal Mobile Telecommunication System), or LTE (Long Term Evolution).

Das mobile Kommunikationsnetzwerk kann auch ein Lokales Netzwerk oder ein Großraumbereichsnetzwerk, zum Beispiel gemäß WLAN (Wireless Local Area Network - drahtloses lokales Netzwerk) Standard sein. Die Basisstationen 102 können in diesem Beispiel Zugangspunkte (oder Accesspoints) sein. Es sollte beachtet werden, dass Aspekte dieser Offenbarung auch auf anderen Kommunikationsnetzwerken (die nicht notwendigerweise zellulare sind), wie beispielsweise Bluetooth Piko-Netzwerken usw., basieren können.The mobile communication network may also be a local area network or a wide area network, for example, wireless local area network (WLAN) standard. The base stations 102 may be access points (or access points) in this example. It should be noted that aspects of this disclosure may also be based on other communication networks (which are not necessarily cellular), such as Bluetooth pico networks, etc.

Das mobile Endgerät 103 kann als Empfänger im Falle einer Downlink-Übertragung (das heißt Übertragung von der Basisstation 102 zu dem mobilen Endgerät 103) agieren und kann als Empfänger für den Fall einer Uplink-Übertragung (das heißt Übertragung von dem mobilen Endgerät 103 zu der Basisstation 102) agieren.The mobile device 103 can act as a receiver in case of a downlink transmission (ie transmission from the base station 102 to the mobile terminal 103 ) and can act as a receiver in the case of an uplink transmission (ie transmission from the mobile terminal 103 to the base station 102 ) act.

Ein Beispiel für den Aufbau eines mobilen Endgeräts 103 ist in 2 gegeben.An example of the structure of a mobile terminal 103 is in 2 given.

2 zeigt ein Kommunikationsgerät 200, z.B. gemäß dem mobilen Kommunikationsgerät 201. 2 shows a communication device 200 , eg according to the mobile communication device 201 ,

Das Kommunikationsgerät 200 kann einem Prozessor 202, wie beispielsweise einen Mikroprozessor (zum Beispiel eine zentrale Prozesseinheit (CPU - Central Processing Unit)) oder jede andere Art von programmierbarer Logikeinrichtung (die beispielsweise als Kontroller agieren kann) beinhalten. Des Weiteren kann das Kommunikationsgerät 200 einen ersten Speicher 204 zum Beispiel einen Nur-Lese-Speicher (ROM - Read Only Memory) 204 und/oder einen zweiten Speicher 206, zum Beispiel einen Direktzugriffs-Speicher (RAM - Random Access Memory) 206, beinhalten. Darüber hinaus kann das Kommunikationsgerät 201 ein Display 208, wie zum Beispiel ein berührungssensitives Display, zum Beispiel ein Flüssigkristalldisplay (LCD - Liqid crystal display) oder ein Display mit lichtemittierenden Dioden - (LED - light emitting diode), oder ein Display mit organischen lichtemittierenden Dioden (OLED - organic light emitting diode) beinhalten. Jedoch kann auch jede andere Art von Display als das Display 208 vorgesehen sein. Das Kommunikationsgerät 200 kann zusätzlich jede andere Art einer geeigneten Ausgabevorrichtung (nicht dargestellt), wie zum Beispiel einen Lautsprecher oder einen Vibrationsaktuator, beinhalten. Das Kommunikationsgerät 200 kann eine oder mehrere Eingabevorrichtungen, die ein Tastenfeld 210, beinhaltend eine Vielzahl von Tasten, beinhalten. Das Kommunikationsgerät 200 kann zusätzlich jede andere geeignete Eingabevorrichtung (nicht dargestellt) wie zum Beispiel ein Mikrofon, zum Beispiel zur Sprachsteuerung des Kommunikationsgeräts 200, beinhalten. Für den Fall, dass das Display 208 als ein berührungssensitives Display 218 implementiert ist, kann das Tastenfeld 210 durch das berührungssensitive Display 218 implementiert sein. Darüber hinaus kann das Kommunikationsgerät 200 optional einen Koprozessor 210 beinhalten, um Rechenlast von dem Prozessor 202 abzunehmen. Darüber hinaus kann das Kommunikationsgerät 200 eine Vielzahl von Transceivern 214, 218 beinhalten, die Teil einer Kommunikationsschaltung sein können und die dem Kommunikationsgerät 200 erlauben können, verschiedene Funkzugriffstechnologien zur Kommunikation zu benutzen. Die zuvor beschriebenen Komponenten können miteinander über eine oder mehrere Leitungen, zum Beispiel implementiert als ein Bus 216, verbunden sein. Der erste Speicher 204 und/oder der zweite Speicher 206 können ein flüchtiger Speicher, zum Beispiel ein DRAM (Dynamic Random Access Memory - dynamischer Direktzugriffsspeicher) oder ein nicht-flüchtiger Speicher, zum Beispiel ein PROM (Programmable Read Only Memory - programmierbarer Nur-Lese-Speicher), ein EPROM (Erasable PROM - Löschbarer PROM), ein EEPROM (Electrically Eraseable PROM - Elektrisch Löschbarer PROM), oder ein Flashspeicher, z.B. ein Schwebendes-Gate-Speicher (floating gate memory), ein Ladungsfänger-Speicher (charge trapping memory), ein MRAM (Magnetoresistive Random Access Memory - Mangetoresistiver Direktzugriffsspeicher) oder ein PCRAM (Phase Change Random Access Memory - Phasenänderungs-Direktzugriffsspeicher), sein. Der Programmcode, der zur Ausführung benutzt wird und dadurch zur Kontrolle des Prozessors 202 (und optional den Koprozessor 212) kann in dem ersten Speicher 204 gespeichert sein. Daten (zum Beispiel die empfangenen oder zu übertragenden Nachrichten über den ersten Transceiver 214) zur Verarbeitung durch den Prozessor 202 (und optional den Coprozessor 212) können in dem zweiten Speicher 206 gespeichert sein.The communication device 200 can be a processor 202 , such as a microprocessor (for example, a central processing unit (CPU) or any other type of programmable logic device (which may act as a controller, for example). Furthermore, the communication device 200 a first memory 204 for example, a read-only memory (ROM) 204 and / or a second memory 206 , for example a Random Access Memory (RAM) 206 , include. In addition, the communication device 201 a display 208 , such as a touch-sensitive display, for example, a liquid crystal display (LCD) or a display with light emitting diode (LED), or a display with organic light emitting diodes (OLED - organic light emitting diode) include , However, any other type of display than the display can 208 be provided. The communication device 200 may additionally include any other type of suitable output device (not shown), such as a speaker or vibration actuator. The communication device 200 can be one or more input devices that use a keypad 210 including a variety of buttons. The communication device 200 In addition, any other suitable input device (not shown) such as a microphone, for example, for voice control of the communication device 200 , include. In the event that the display 208 as a touch-sensitive display 218 is implemented, the keypad can 210 through the touch-sensitive display 218 be implemented. In addition, the communication device 200 optionally a coprocessor 210 involve to workload from the processor 202 to decrease. In addition, the communication device 200 a variety of transceivers 214 . 218 include, which may be part of a communication circuit and the communication device 200 allow to use different radio access technologies for communication. The components described above may be interconnected via one or more lines, for example implemented as a bus 216 be connected. The first store 204 and / or the second memory 206 For example, a volatile memory such as a Dynamic Random Access Memory (DRAM) or a nonvolatile memory, such as a Programmable Read Only Memory (PROM), an Erasable PROM (Erasable PROM) PROM), an EEPROM (Electrically Erasable PROM) or a flash memory, eg a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory). Mangetoresistive Random Access Memory) or a Phase Change Random Access Memory (PCRAM). The program code used to execute and thereby control the processor 202 (and optionally the coprocessor 212 ) may be in the first memory 204 be saved. Data (for example, the messages received or to be transmitted via the first transceiver 214 ) for processing by the processor 202 (and optionally the coprocessor 212 ) can in the second memory 206 be saved.

Jeder Transceiver 214, 218 ist mit einer oder mehreren zugehörigen Antennen 222, 224 gekoppelt, die von dem Transceiver 214, 218 zum Übertragen und Empfangen von Funksignalen verwendet werden. Das Kommunikationsgerät 201 und einer oder mehrere der Transceiver 214, 218 können auch eingerichtet sein um MIMO Funkübertragung bereitzustellen.Every transceiver 214 . 218 is with one or more associated antennas 222 . 224 coupled by the transceiver 214 . 218 be used for transmitting and receiving radio signals. The communication device 201 and one or more of the transceivers 214 . 218 may also be configured to provide MIMO radio transmission.

Des Weiteren kann das Kommunikationsgerät 200 eine Bild- und/oder Videokamera 220 beinhalten, die eingerichtet ist um eine Videokonferenz über das Kommunikationsgerät 200 bereitzustellen.Furthermore, the communication device 200 a picture and / or video camera 220 which is set up for a videoconference via the communication device 200 provide.

Weiterhin kann das Kommunikationsgerät 200 ein Teilnehmer-Identitätsmodul (SIM - Subscriber Identity Modul), zum Beispiel ein UMTS Teilnehmer-Identitätsmodul (USIM - UMTS Subscriber Identity Modul) beinhalten, zum Identifizieren eines Benutzers und Teilnehmers 216 des Kommunikationsgeräts 200 zum Beispiel für die Verwendung eines zellularen Weitverkehrs-Kommunikationsnetzwerks 103.Furthermore, the communication device 200 a subscriber identity module (SIM), for example a UMTS Subscriber Identity Module (USIM), for identifying a user and subscriber 216 of the communication device 200 for example, for the use of a cellular wide area communication network 103 ,

Der Prozessor 202 kann Audio-Verarbeitungsschaltungen wie zum Beispiel eine Audiodekodierungsschaltung und/oder Audiokodierungsschaltung, eingerichtet zum Dekodieren und/oder Kodieren von Audiosignalen gemäß einer oder mehreren der folgenden Audiokodierungs-/Dekodierungstechnologien: ITU G.711, Adaptives Mehrraten-Schmalband (AMR-NB - Adaptive Multi-Rate Narrowband), Adaptives Mehrraten-Breitband (AMR-WB - Adaptive Multi-Rate Wideband), Erweiterte Mehr-Band Anregung (AMBE - Advanced Multi- Band Excitation), usw.The processor 202 For example, audio processing circuits such as an audio decoding circuit and / or audio encoding circuit configured to decode and / or encode audio signals according to one or more of the following audio encoding / decoding technologies: ITU G.711, Adaptive Multi-Rate Narrowband (AMR-NB) Rate Narrowband), Adaptive Multi-Rate Wideband (AMR-WB), Advanced Multi-Band Excitation (AMBE) Broadband, etc.

Beispielsweise ist der erste Transceiver 214 eingerichtet, so dass er eine Schnittstelle gemäß einem zellularen von Kommunikationssystem (wie zum Beispiel UMTS oder LTE) implementiert. In diesem Fall entspricht der erste Transceiver 214 beispielsweise einem Kommunikationschip oder einen Kommunikationsprozessor der als ein zellulares Modem agiert, dass mit dem Prozessor 202 (der als Applikationsprozessor agiert, zum Beispiel Applikationen verarbeitet und Multimedia Features bereitstellt) korrespondiert. Die Kommunikation zwischen dem Kommunikationsprozessor und dem Applikationsprozessor wird auch als Inter-Prozessorkommunikation (IPC - inter processor communication) bezeichnet und ist in 3 dargestellt.For example, the first transceiver 214 so that it implements an interface according to a cellular communication system (such as UMTS or LTE). In this case, the first transceiver corresponds 214 for example, a communication chip or a Communication processor that acts as a cellular modem that with the processor 202 (which acts as an application processor, for example, processes applications and provides multimedia features) corresponds. The communication between the communication processor and the application processor is also referred to as inter-processor communication (IPC) and is known in the art 3 shown.

3 zeigt einen Kommunikationsprozessor 301 und einen Applikationsprozessor 302. 3 shows a communication processor 301 and an application processor 302 ,

Der Kommunikationsprozessor 301 agiert als zellulares Modem.The communication processor 301 acts as a cellular modem.

Der Kommunikationsprozessor 301 und der Applikationsprozessor 302 sind über ein IPC-Schnittstelle verbunden, die durch einen IPC-Protokolltreiber 303, einen physikalischen IPC-Treiber 304 und IPC-Hardware (HW) implementiert ist, die sowohl auf der Seite des Applikationsprozessor also auch des Kommunikationsprozessors vorhanden sind. Es sollte beachtet werden, dass der Austausch von Audiodaten als PCM- (Pulse Code Modulation - Pulscodierungsmodulation) Sample durch eine separate Schnittstelle gehandhabt werden kann.The communication processor 301 and the application processor 302 are connected via an IPC interface through an IPC protocol driver 303 , a physical IPC driver 304 and IPC hardware (HW) is implemented, which are present both on the side of the application processor and the communication processor. It should be noted that the exchange of audio data as a PCM (Pulse Code Modulation) sample can be handled by a separate interface.

In dem Kommunikationsprozessor 301 implementiert einen zellularen Protokollstapel (PS - Protocol stack) 305, d.h. ein Protokollstapel gemäß der zellularen Kommunikationstechnologie, die von dem Kommunikationsprozessor 301 unterstützt wird. Benutzerdaten werden von/zu dem zellularen Protokollstapel (PS) zu der IPC über eine zentralisierte Speicherverwaltung, die Paketpuffer-Verwaltung (PBM - packet buffer manager) genannt wird, übertragen. Die Benutzerdaten werden entlang der Datenebene als IP-Pakete, die mehrere logische Kanäle benutzen, geleitet. Jeder logische Kanal entspricht einer zugeordneten Paketdatennetzwerk- (PDN - packet data network) Verbindung. Der Begriff PDN-Verbindung bezieht sich auf eine Paket-Datenpfad-Verbindung zu einem spezifischen Zugriffspunkt-Namen (APN - Access point name), was zu einer Zuordnung von einer bestimmten Empfänger-IP-Adresse führt. In einem 2G/3G-Netzwerk ist eine PDN-Verbindung für jeden primären PDP-Kontext aufgebaut, während in einem 4G-Netzwerk ein vorgegebener Bearer (Träger) für den Aufbau der PDN-Verbindung verwendet wird. Der Begriff PDN-Verbindung wird als ein allgemeiner Begriff verwendet, um von den spezifischen Funkzugriffstechnologien (RAT - Radio Access Technology), sei es 2G, 3G oder 4G, zu abstrahieren.In the communication processor 301 implements a cellular protocol stack (PS) 305, ie, a protocol stack according to the cellular communication technology used by the communications processor 301 is supported. User data is transferred from / to the cellular protocol stack (PS) to the IPC via centralized memory management called packet buffer manager (PBM). The user data is routed along the data plane as IP packets using multiple logical channels. Each logical channel corresponds to an associated packet data network (PDN) connection. The term PDN connection refers to a packet data path connection to a specific access point name (APN) resulting in an association of a particular receiver IP address. In a 2G / 3G network, a PDN connection is established for each primary PDP context, while in a 4G network a given bearer (bearer) is used to establish the PDN connection. The term PDN connection is used as a generic term to abstract from the specific radio access technology (RAT), whether 2G, 3G or 4G.

Es gibt keinen TCP/IP-Stapel auf der Seite des zellularen Modems in dem Datenpfad von der IPC-Schnittstelle 303, 304, 305 über PBM 306 zu PS 305, der eine IP-Adressbasierte-Streckenführung (Routing) handhabt.There is no TCP / IP stack on the cellular modem side in the data path from the IPC interface 303 . 304 . 305 over PBM 306 to PS 305 that handles IP address based routing.

Der zentrale Paketpufferverwalter (PBM - paket buffer manager) 306 stellt einen gemeinsamen Paketpuffer bereit, der zwischen der IPC-Schnittstelle und dem Protokollstapel 307 verwendet wird. Es ist kein Kopiervorgang von Daten zwischen dem PS 305 und der IPC-Schnittstelle notwendig. Die IPC-Schnittstelle stellt DMA- (Direct Memory Access - Direktspeicherzugriff) Fähigkeiten mit einer scatter/gather-(streuen/sammeln)-Verarbeitung verlinkter Listen bereit. Ein hoch effizienter Datenpfad für großen Durchsatz wird auf diese Weise ermöglicht.The central packet buffer manager (PBM) 306 provides a common packet buffer between the IPC interface and the protocol stack 307 is used. There is no copying of data between the PS 305 and the IPC interface necessary. The IPC interface provides DMA (direct memory access) capabilities with scatter / gather processing of linked lists. A highly efficient, high throughput data path is enabled in this way.

Die Kontrollebene (control plane) verwendet wenigstens einen bestimmten Kanal über einen seriellen IO-(Input output - Eingang-Ausgang) Handler (S-IO) 308 zu einem AT (attention - Aufmerksamkeits-) Befehls-Handler 309. Der S-IO-Handler 308 implementiert TX (transmission - Übertragung) und RX (reception ring buffers - Empfangs-Ringpuffer) versorgt über bestimmte Schnittstellen in Richtung Treiber und Applikationen. Die Applikation ist in diesem Fall der AT-Befehls-Handler 309. Der Kontrollkanal verwendet AT-Befehle. Alternativ können entfernte Prozeduraufrufe (RPC - remote procedure calls) basierend auf Funktionsaufrufen entlang des gleichen Pfads zu einem RPC-Client auf der Seite des zellularen Modems geführt werden.The control plane uses at least one particular channel via a serial IO (input output) handler (S-IO) 308 to an AT (Attention Attention) handler 309 , The S-IO handler 308 implements TX (transmission) and RX (reception ring buffers) supplies via specific interfaces in the direction of drivers and applications. The application in this case is the AT command handler 309 , The control channel uses AT commands. Alternatively, remote procedure calls (RPCs) may be routed to an RPC client on the cellular modem side based on function calls along the same path.

Die IPC-Schnittstelle ist auf den drei Hauptkomponenten aufgebaut:

  • • IPC-HW-Blöcke 305,
  • • Physikalischer-IPC-Treiber 304, der die Hardware versorgt,
  • • IPC-Protokolltreiber 303, der Datenverbindungsschicht- und MAC-Funktionalität bereitstellt.
The IPC interface is based on the three main components:
  • • IPC HW blocks 305 .
  • Physical IPC driver 304 who supplies the hardware,
  • IPC protocol driver 303 providing data link layer and MAC functionality.

Der Steuer- und Datenfluss der IPC-Schnittstelle ist abhängig von der Hardware-Lösung und dem IPC-Protokoll. Gemäß einem Aspekt dieser Offenbarung unterstützt der Kommunikationsprozessor 301 eine serielle IPC-Verbindung über drei Schnittstellen:

  • • MIPI (Mobile Industry Processor Interface - mobile Industrieprozessorschnittstelle) serielles Hochgeschwindigkeitsnetzwerk (HSI - High-Speed Serial Interface),
  • • USB (Universal Serial Bus - universeller serieller Bus) Hochgeschwindigkeits-Interchip-Schnittstelle (HSIC - High Speed Inter-chip Interface),
  • • USB 2.0 Hochgeschwindigkeit (HS - High Speed).
The control and data flow of the IPC interface depends on the hardware solution and the IPC protocol. According to one aspect of this disclosure, the communications processor supports 301 a serial IPC connection via three interfaces:
  • MIPI (Mobile Industry Processor Interface) Serial High Speed Serial Interface (HSI),
  • • USB (Universal Serial Bus) High Speed Interchip Interface (HSIC),
  • • USB 2.0 High Speed (HS - High Speed).

Beispielsweise ist nur eine dieser Schnittstellen in dem Mobilen Endgerät 103 verwendet. Beispielsweise ist ein gleichzeitiger Betrieb einer MIPI HSI-, USB HSIC- oder USB HS-Schnittstelle für IPC nicht vorgesehen.For example, only one of these interfaces is in the mobile terminal 103 used. For example, a simultaneous operation of a MIPI HSI, USB HSIC or USB HS interface for IPC is not provided.

Eine detailliertere Darstellung der Weiterleitung über logische Kanäle der IPC-Schnittstelle auf der Seite des zellularen Modems ist in 4 gegeben.A more detailed illustration of the routing through logical channels of the IPC interface on the cellular modem side is in FIG 4 given.

4 zeigt den Datenpfad in einem zellularen Modem 400. 4 shows the data path in a cellular modem 400 ,

Das zellulare Modem 400 beinhaltet eine UPC-Schnittstelle 401 entsprechend IPC-Komponenten 303, 304, 305, eine S-IO 402 entsprechend der S-IO 308, eine PBM 403 entsprechen der PBM 306, einen Befehlshandler 404 entsprechend dem Befehlshandler 309 und einen Protokollstapel 405 entsprechend dem Befehlshandler 309. Das zellulare Modem 400 beinhaltet weiter einen Paketverkehrsverwalter (paket traffic manager) 406 und ein RAT-Modul 407 für jede unterstützte zellulare Kommunikationstechnologie (diese sind nicht in 3 dargestellt).The cellular modem 400 includes a UPC interface 401 according to IPC components 303 . 304 . 305 , an S-IO 402 according to the S-IO 308 , a PBM 403 correspond to the PBM 306 , a command handler 404 according to the command handler 309 and a protocol stack 405 according to the command handler 309 , The cellular modem 400 further includes a packet traffic manager 406 and a RAT module 407 for any supported cellular communication technology (these are not in 3 ) Shown.

Steuerkanäle (schraffiert dargestellt) und Datenkanäle (ohne Schraffur dargestellt) transportieren Daten zu und von den Komponenten. Die Weiterleitung des Datenpfads mit großer Bandbreite wird durch den Paketpufferverwalter (PBM - paket buffer manager) verwaltet. Die dynamische Weiterleitung eines logischen IPC-Kanals (entsprechend einer Kanal-ID) zu einer Kontext-ID von PS (PTM ID) wird durch eine Router-Komponente des PBM 403 gehandhabt. Die PBM-Klienten 403 registrieren sich bei der Systeminbetriebnahme, die Kanalzuweisungen für jede PDN-Verbindung werden durch AT-Befehle gehandhabt.Control channels (hatched) and data channels (shown without hatching) transport data to and from the components. Forwarding of the high bandwidth data path is managed by the packet buffer manager (PBM). The dynamic forwarding of a logical IPC channel (corresponding to a channel ID) to a context ID of PS (PTM ID) is performed by a router component of the PBM 403 handled. The PBM clients 403 register at system startup, the channel assignments for each PDN connection are handled by AT commands.

Der PBM 403 stellt eine vollständige Abstraktion der spezifischen IPC-Schnittstelle zu dem PS 405 bereit. Der PBM 403 kann gesehen werden, als dass er als Mittelsmann agiert.The PBM 403 provides a complete abstraction of the specific IPC interface to the PS 405 ready. The PBM 403 can be seen as acting as a middleman.

Entlang ähnlicher Leitungen unterstützt der Paketverkehrsverwalter (PTM) eine Abstraktion der verschiedenen RATs (bereitgestellt durch RAT-Module 407) gegenüber dem restlichen System.Along similar lines, the packet traffic manager (PTM) supports abstraction of the various RATs (provided by RAT modules 407 ) compared to the rest of the system.

Der Steuerpfad und optional Daten mit niedriger Bandbreite gehen über das S-IO-Modul 402. Der Steuerpfad wird für die Anrufsteuerung und die PDP-Kontext-(Inhalts-)Kontrolle verwendet. Auf Seite des Applikationsprozessors sind die Steuerkanäle als serielle Anschlüsse zugänglich, die eine Endgeräte-Schnittstelle über die tty-Schicht bereitstellen.The control path and optionally data with low bandwidth go through the S-IO module 402 , The control path is used for call control and PDP context (content) control. On the application processor side, the control channels are accessible as serial ports that provide a terminal interface over the tty layer.

Es sollte beachtet werden, dass in dem Fall einer MIPI-HSI-IPC-Schnittstelle der Steuerpfad und optional Daten mit niedriger Bandbreite über den PBM 403 in Richtung S-IO 402 (nicht in 2 dargestellt) gehen. Die IPC-Kanalverwendung ist zur Kompilierungszeit (z.B. mit der Ausnahme der Kanals 0, der für die IPC-Steuerung verwendet wird) konfigurierbar.It should be noted that in the case of a MIPI-HSI-IPC interface, the control path and optionally low bandwidth data over the PBM 403 in the direction of S-IO 402 (not in 2 shown) go. The IPC channel usage is at compile time (eg with the exception of the channels 0 , which is used for the IPC control) configurable.

Die Kontrolle des Modems auf der Ebene der Applikation zwischen dem Modem des Kommunikationsprozessors 301 und dem Applikationsprozessor 302, ist implementiert durch die Verwendung von AT-Befehlen. Im Zusammenhang einer AT-Befehlsbasierten Architektur kann ein SW-Multiplexer hinzugefügt werden. Der SW-Multiplexer stellt eine Anzahl von logischen Kanälen (DLC) bereit, die auf der AP-Seite als AT-Endgeräte dienen. Die logischen Kanäle werden oben.auf einen der Steuerkanäle der konkreten physikalischen IPC-Schnittstelle abgebildet. Das Multiplexer-Protokoll ist ein Datenverbindungsprotokoll (Ebene 2 des OSI-Modells), das ein HDLC (high level data link-control - Hohes Level Datenverbindungssteuerung)-artiges Framing, virtuelle Datenkanäle und KanalSteuer-Vorgang verwendet. Das MUX-Protokoll steuert die virtuellen Kanäle und vermittelt Benutzerdaten über die virtuellen Kanäle. Typische Daten die von Benutzer-Applikationen erzeugt werden sind:

  • • AT-Befehle zur Anrufsteuerung, ergänzende Dienste. SMS, SIM Toolkit, Treiber und Zugangskontrolle, usw.
  • • Schaltungswechseldaten
  • • MUX-Kanalzuweisung
The control of the modem at the application level between the modem of the communications processor 301 and the application processor 302 , is implemented through the use of AT commands. In the context of an AT-based architecture, an SW multiplexer can be added. The SW multiplexer provides a number of logical channels (DLC) serving as AT terminals on the AP side. The logical channels are mapped to the top of one of the control channels of the physical IPC physical interface. The multiplexer protocol is a data connection protocol (level 2 of the OSI model) using high level data link control (HDLC) -like framing, virtual data channels, and channel control. The MUX protocol controls the virtual channels and conveys user data over the virtual channels. Typical data generated by user applications are:
  • • AT commands for call control, supplementary services. SMS, SIM toolkit, drivers and access control, etc.
  • • Circuit change data
  • • MUX channel assignment

Ein Beispiel für einen Standard von DLCs (Data Link Connections - Datenlinkverbindungen) ist in Tabelle 1 gegeben. Tabelle 1 DLC0 Mux-Steuerkanal DLC1 Anruf-Steuerbefehle - AT cmds DLC2 CSD (leitungsvermittele Daten / Multimedia-Anrufe) DLC3-5 Niedrige Bandbreite PDN Verbindungseinrichtung und Daten DLC6 Anrufeinstellungen, Telefonbuch, SMS, SIMTK DLC7 Frei DLC8 XDRV, SYSTEM - Audio-Verwaltung DLC9 Ortungsdienste - A-GPS DLC10 Frei DLC11 CIQ An example of a standard of DLCs (Data Link Connections) is given in Table 1. Table 1 DLC0 Mux control channel DLC1 Call control commands - AT cmds DLC2 CSD (circuit-switched data / multimedia calls) DLC3-5 Low bandwidth PDN connection facility and data DLC6 Call settings, Phonebook, SMS, SIMTK DLC7 Free DLC8 XDRV, SYSTEM - Audio Management DLC9 Location Services - A-GPS DLC10 Free DLC11 CIQ

Die Datenkanäle enden bei der AP-Seite als Netzwerkschnittstellen 320, die in einen Netzwerkprotokollstapel (z.B. TCP/IP-Stapel) eintreten.The data channels end up as network interfaces on the AP side 320 that enter a network protocol stack (eg TCP / IP stack).

Jede PDN-Verbindung endet als eine separate Netzwerkschnittstelle 320 mit einer bestimmten IP-Adresse auf der Seite des Applikationsprozessors. Eine PDN-Verbindung entspricht einem primären PDP-Kontext für ein UMTS-Kommunikationssystem oder einem Standardträger für ein LTE-Kommunikationsnetzwerk. Benutzerdaten eines sekundären PDP-Kontexts oder ein bestimmter Träger werden über den gleichen IPC-Kanal geleitet wie der entsprechende primäre PDP-Kontext oder Standardträger.Each PDN connection ends as a separate network interface 320 with a specific IP address on the application processor side. A PDN connection corresponds to a primary PDP context for a UMTS communication system or standard carrier for an LTE communication network. User data of a secondary PDP context or carrier is routed over the same IPC channel as the corresponding primary PDP context or carrier.

Der PBM 306 unterstützt eine gemeinsame Pufferverwaltung zwischen dem Protokollstapel 307 und der IPC-Schnittstelle. Der PBM 306 weist einen Speicherpool des Betriebssystems 303, das auf dem Applikationsprozessor 302 läuft, beim Anlauf des mobilen Endgeräts 103, zu. Aus diesem Speicherpool bedient das PBM 306 Pufferanfragen von der IPC-Schnittstelle oder dem Protokollstapel 307. Keine OS-Ebenen-Speicherzuordnung ist nach dem Anlauf notwendig. Das PBM 206 stellt Paketpuffer und bestimmter Pufferdeskriptoren dem Protokollstapel 307 und der IPC-Schnittstelle bereit.The PBM 306 supports shared buffer management between the protocol stack 307 and the IPC interface. The PBM 306 indicates a memory pool of the operating system 303 that on the application processor 302 runs when the mobile device starts up 103 , too. The PBM serves from this storage pool 306 Buffer requests from the IPC interface or the protocol stack 307 , No OS level memory allocation is necessary after startup. The PBM 206 sets packet buffers and certain buffer descriptors to the protocol stack 307 and the IPC interface ready.

Es gibt zwei Arten von Puffern und entsprechenden Pufferdeskriptoren: Übertragungspuffer (transfer buffer)/- Deskriptor (TB/TD) und Segmentpuffer (segment buffer)/- Deskriptor (SB/SD).There are two types of buffers and corresponding buffer descriptors: transfer buffer / descriptor (TB / TD) and segment buffer / descriptor (SB / SD).

Ein Übertagungspuffer ist eine elementare Einheit der IPC-Übertragung, d.h. die PDU (Physical Data Unit - physikalische Dateneinheit), die als elementare Einheit über die physikalischen Leitungen der IPC-Schnittstelle übertragen werden. Ein Übertragungspuffer enthält eine Sammlung von IP-Paketen. Ein Übertragungspuffer ist über einen Übertragungspuffer-Deskriptor (TD) beschrieben.A transfer buffer is an elementary unit of IPC transfer, i. the PDU (physical data unit), which is transmitted as an elementary unit via the physical lines of the IPC interface. A transfer buffer contains a collection of IP packets. A transmission buffer is described via a transmission buffer descriptor (TD).

Ein Segment-Deskriptor (SD) zeigt auf ein einzelnes Paket. Das Paket kann Teil eines Übertragungspuffer im Uplink (UL) oder eines separaten Puffers selbst im Downlink (DL) sein.A Segment Descriptor (SD) points to a single packet. The packet may be part of a transmission buffer in the uplink (UL) or a separate buffer itself in the downlink (DL).

Durch die Übertragung mehrerer IP-Pakete in einer einzelnen großen IPC-Übertragung wird ein Datenpfad mit minimaler SW-Interaktion ermöglicht. Auf HW-Seite durchziehen die IPC-Schnittstellen autonome Verbindungslisten von PufferDeskriptoren aufgrund eingebauter Scatter-/Gather-(Sammeln/Streuen)-verlinkte-Listen-DMA-Fähigkeiten.By transmitting multiple IP packets in a single large IPC transmission, a data path with minimal SW interaction is enabled. On the HW side, the IPC interfaces traverse autonomous connection lists of buffer descriptors due to built-in scatter / gather scattered-list DMA capabilities.

Die Verarbeitung bezüglich des Datenpfads in UL-Richtung von dem Applikationsprozessor 302 zu dem Verbindungsprozessor 301 ist in 5 dargestellt. The data path processing in the UL direction from the application processor 302 to the connection processor 301 is in 5 shown.

5 zeigt ein Nachrichtenflussdiagramm 500 für UL Übertragung. 5 shows a message flow diagram 500 for UL transmission.

Der Nachrichtenfluss findet zwischen einer IPC-Hardware 501, beispielsweise entsprechend der IPC-Hardware 305 der Kommunikationsprozessors 301, einem IPC-Treiber 502, beispielsweise entsprechend dem physikalischen IPC-Treiber 304 und IPC-Protokolltreiber 303 der Kommunikationsprozessors 301, einer PBM 503, beispielsweise entsprechend der PBM 306, 403, und einer PTM 504, beispielsweise entsprechend dem PTM 504, statt.The message flow is between an IPC hardware 501 , for example, according to the IPC hardware 305 the communications processor 301 , an IPC driver 502 , for example according to the physical IPC driver 304 and IPC protocol drivers 303 the communications processor 301 , a PBM 503 , for example according to the PBM 306 . 403 , and a PTM 504 , for example according to the PTM 504 , instead of.

Von links nach rechts treten IP-Pakete 505 in den Kommunikationsprozessor über eine physikalische Leitung ein. Die IP-Pakete 505 sind Teil einer IPC-Übertragung. Jede Übertragung ist durch die IPC-Hardwarekomponente 501 in einem zuvor zugewiesenen Übertragungspuffer (TB) 506, 507 gespeichert. Wann immer ein Übertragungspuffer 506 durch die IPC-Hardware 501 vollständig aufgefüllt wurde, wird dies an den IPC-Treiber 502 über einen Interrupt-Dienst (Interrupt service) signalisiert. In diesem Beispiel sind zwei Übertragungspuffer 506, 507 gezeigt. Der untere Übertragungspuffer 507 wird momentan durch die IPC-Hardware 501 gefüllt, während der obere Übertagungspuffer 506 bereits an den IPC-Treiber 502 übergeben worden ist.From left to right are IP packets 505 into the communications processor via a physical line. The IP packets 505 are part of an IPC transmission. Every transmission is through the IPC hardware component 501 in a previously assigned transfer buffer (TB) 506 . 507 saved. Whenever a transmission buffer 506 through the IPC hardware 501 is completely filled, this will be sent to the IPC driver 502 via an interrupt service (interrupt service). In this example, there are two transmission buffers 506 . 507 shown. The lower transfer buffer 507 is currently through the IPC hardware 501 filled while the upper transfer buffer 506 already to the IPC driver 502 has been handed over.

Der IPC-Treiber 502 parst den empfangenen Übertragungspuffer 506 und aktualisiert einen Segment-Deskriptor (SD) 508 für jedes Paket, das in dem Übertragungspuffer 506 vorhanden ist. Die Verarbeitung führt zu einer verlinkten Liste von Segment-Deskriptoren 508 für jeden Übertragungspuffer 506, 507. Die Liste der Segment-Deskriptoren 508 wird schließlich über den PBM 503 an dem PTM 504 zum Senden an die Netzwerkseite (d.h. die Basisstation 102) des zellularen Netzwerks übergeben.The IPC driver 502 parses the received transfer buffer 506 and updates a segment descriptor (SD) 508 for every packet in the transmission buffer 506 is available. Processing results in a linked list of segment descriptors 508 for each transmission buffer 506 . 507 , The list of segment descriptors 508 finally gets over the PBM 503 at the PTM 504 to send to the network side (ie the base station 102 ) of the cellular network.

Die Verarbeitung bezüglich des Datenpfads in DL-Richtung von dem Kommunikationsprozessor 301 zu dem Applikationsprozessor 302 ist in 6 dargestellt.The data path processing in the DL direction from the communication processor 301 to the application processor 302 is in 6 shown.

6 zeigt ein Nachrichtenflussdiagramm 600 für DL Übertragung. 6 shows a message flow diagram 600 for DL transmission.

Der Nachrichtenfluss findet zwischen einer IPC-Hardware 601, beispielsweise entsprechend der IPC-Hardware 305 der Kommunikationsprozessors 301, einem IPC-Treiber 602, beispielsweise entsprechend dem physikalischen IPC-Treiber 304 und IPC-Protokolltreiber 303 des Kommunikationsprozessors 301, einer PBM 603, beispielsweise entsprechend der PBM 306, 403, und einer PTM 604, beispielsweise entsprechend dem PTM 504, statt.The message flow is between an IPC hardware 601 , for example, according to the IPC hardware 305 the communications processor 301 , an IPC driver 602 , for example according to the physical IPC driver 304 and IPC protocol drivers 303 of the communications processor 301 , a PBM 603 , for example according to the PBM 306 . 403 , and a PTM 604 , for example according to the PTM 504 , instead of.

Der IPC-Treiber 602 empfängt eine verlinkte Liste von Segment-Deskriptoren 605 von dem PTM 604 über den PBM 603. Jeder Segment-Deskriptor 605 zeigt auf ein IP-Paket 606, das von einer Basisstation 102 des zellularen Netzwerks empfangen wurde. Der IPC-Treiber 602 parst die Länge jedes Pakets, die durch die Segment-Deskriptoren 605 gegeben sind. Basierend auf der Längeninformation formatiert der IPC-Treiber 602 eine IPC-Übertragung. Das Formatieren beinhaltet eine Kompilierung eines Übertragungs-Headers und das Hinzufügen eines Segment-Deskriptors für eine Nullen-Ergänzung (padding) am Ende der Übertragung.The IPC driver 602 receives a linked list of segment descriptors 605 from the PTM 604 over the PBM 603 , Each segment descriptor 605 points to an IP packet 606 that from a base station 102 of the cellular network. The IPC driver 602 parses the length of each packet by the segment descriptors 605 given are. Based on the length information, the IPC driver formats 602 an IPC transmission. Formatting involves compiling a transfer header and adding a segment descriptor for a zero padding at the end of the transfer.

Schließlich programmiert der IPC-Treiber 602 (z.B. ein IPC-Deskriptor) die IPC-Hardware 601 mit dem ersten Segment-Deskriptor, um für eine bestimmte Übertragung versendet zu werden. Die IC-Hardware 601 verarbeitet die verlinkte Liste von Segment-Deskriptoren 605, die selbstständig alle Daten von den entsprechenden Segment-Puffern (SB) 505 versendet.Finally, the IPC driver programs 602 (eg an IPC descriptor) the IPC hardware 601 with the first segment descriptor to be sent for a particular transmission. The IC hardware 601 processes the linked list of segment descriptors 605 that independently obtains all data from the corresponding segment buffers (SB) 505 sent.

Die gesamte Softwarearchitektur der Datenebene gemäß einem Aspekt dieser Offenbarung ist in 7 dargestellt.The overall data plane software architecture according to one aspect of this disclosure is disclosed in U.S.Pat 7 shown.

7 zeigt eine Softwarearchitektur 700 für die Datenebene. 7 shows a software architecture 700 for the data level.

Die Softwarearchitektur 700 beinhaltet einen zellularen Protokollstapel 701 entsprechend dem Protokollstapel 307, als Teil der NAS (Non-Access Stratum - Nichtzugriffs-Schicht) eine Implementierung eines PTM 711, entsprechend dem PTM 406, die Plattformdienste 702 als Laufzeitdienste, PDM-Dienste 705, beispielsweise entsprechend dem PBM 506, beinhaltet und die beinhaltet als SIO-Dienste 712 eine Implementierung eines S-IO 710, entsprechend dem S-IO 308, Verbindungsstapel 503, die einen USB-Stapel 709 und Treiber 504 beinhaltet, als Verbindungs-Treiber, einen MIPI_HSI Treiber 706 für eine MIPI-HSI-Schnittstelle, die gemäß einem Aspekt der Offenbarung als die IPC-Schnittstelle verwendet wird.The software architecture 700 includes a cellular protocol stack 701 according to the protocol stack 307 as part of the NAS (Non-Access Stratum) an implementation of a PTM 711 , according to the PTM 406 , the platform services 702 as runtime services, PDM services 705 , for example according to the PBM 506 , which includes and includes as SIO services 712 an implementation of an S-IO 710 , according to the S-IO 308 , Connection stack 503 holding a USB stack 709 and drivers 504 contains, as a connection driver, a MIPI_HSI driver 706 for a MIPI-HSI interface used as the IPC interface in one aspect of the disclosure.

In 7 ist dargestellt, wie die PS 702, die PBM 705 und die IPC interagieren. Das in 7 dargestellte Kontextdiagramm ist ein Diagramm einer hohen Ebene (high Level), die die Komponenten gemeinsam mit deren Eingängen und Ausgängen von/zu anderen Software-Komponenten zeigt. Die PBM-Komponente 705 stellt eine Service-Schnittstelle 707 zu dem PS 501 und eine Treiber-Schnittstelle 708 zu den IPC-Komponenten-MIPI-HSI-Treiber 706 und USB-Stapel 709 bereit. In 7 is shown as the PS 702 , the PBM 705 and the IPC interact. This in 7 The context diagram shown is a high level diagram showing the components along with their inputs and outputs to / from other software components. The PBM component 705 represents a service interface 707 to the PS 501 and a driver interface 708 to the IPC component MIPI HSI drivers 706 and USB stack 709 ready.

Die Aufgabe des PBM ist die Speicherverwaltung. Sie stellt Dienste für die Zuweisung und Freigabe von Puffern und den zugehörigen Deskriptoren für Übertragungs- und Segment-Puffer bereit. Die PBM 705 stellt die Zuweisung und Freigabe von Übertragungs- und Segment-Puffer bereit. Im UL besitzt ein Übertragungspuffer 506, 507 normalerweise mehrere IP-Pakete, und ein Segment-Deskriptor 508 ist jedem IP-Paket 505 in einem Übertragungspuffer 506, 507 zugewiesen. Im DL ist jeder Segment-Deskriptor 605 einem IP-Paket 606 in einem bestimmten Segment-Puffer zugeordnet.The task of the PBM is the memory management. It provides services for allocating and releasing buffers and the associated descriptors for transmission and segment buffers. The PBM 705 provides the allocation and release of transmit and segment buffers. The UL has a transfer buffer 506 . 507 usually multiple IP packets, and a segment descriptor 508 is every IP packet 505 in a transmission buffer 506 . 507 assigned. In the DL is every segment descriptor 605 an IP packet 606 assigned in a specific segment buffer.

Die zweite Aufgabe des PBM 705 ist, die Paketweiterleitung zu unterstützen. Die PBM 705 ist mit der Registrierung von Clients betroffen: PTM, USB HS, USB HSIC, MIPI HSI und S-IO. Sie handhabt die ID-Abbildung von der Geräte-ID eines Treibers zu der Kanal-ID zu der IPC und der PTM-ID der PTM von PS, wie in 4 gezeigt. Basierend auf der Weiterleitungsinformation verwaltet der PBM 705 die Übergabe von Deskriptoren von der einen Seite auf die andere Seite. Weiter unterstützt der PBM 705 die UL-Flusssteuerung, initiiert durch die PTM 711, durch Beschränken des Zugriffs auf neue Puffer in einer Flusssteuerungs-Situation.The second task of the PBM 705 is to support the packet forwarding. The PBM 705 is concerned with the registration of clients: PTM, USB HS, USB HSIC, MIPI HSI and S-IO. It manages the ID mapping from the device ID of a driver to the channel ID to the IPC and the PTM ID of the PTM of PS, as in 4 shown. Based on the forwarding information, the PBM manages 705 the transfer of descriptors from one side to the other side. Furthermore, the PBM supports 705 the UL flow control initiated by the PTM 711 by restricting access to new buffers in a flow control situation.

Die PTM 711 stellt Dienste für IP-Paketweiterleitung und Filterung bereit. Die erzeugten IP-Paketlisten über NSAPI (Network Service Access Point Identifier - Netzwerk-Dienstzugriffspunkt-Bezeichner), gemäß einer Verkehrsfluss-Vorlage, stellt der PTM-ID zu NSAPI-Abbildung bereit und führt TCP-ACK-Priorisierung in UL-Richtung durch. Im UL stellt der PTM 711 die Verfolgung des Datenpufferstatus zur Berichterstattung an das zellulare Netzwerk und basierend auf momentanen Datenübertragungsstatus/-rate bereit.The PTM 711 provides services for IP packet forwarding and filtering. The generated IP packet lists via Network Service Access Point Identifier (NSAPI), according to a traffic flow template, provides the PTM-ID for NSAPI mapping and performs TCP-ACK prioritization in the UL direction. In the UL, the PTM 711 tracking data buffer status for reporting to the cellular network based on current data transfer status / rate.

Die Clients USB HS, USB HSIC, MIPI HSI und S-IO verwenden Dienste der PBM 705 zur Verarbeitung von verlinkten Listen von Benutzerdaten.The USB HS, USB HSIC, MIPI HSI and S-IO clients use PBM services 705 for processing linked lists of user data.

Bei der UL-Verarbeitung stellen die IPC-Komponenten die folgenden Operationen bereit:

  • • Frage Übertragungspuffer (TB) vom PBM 705 an
  • • Frage Übertragungs- und Segment-Deskriptoren vom PBM 705 an
  • • Parse Übertragungspuffer, empfangen über IPC-HW 305
  • • Erzeuge IP-Paket bezogene Segment-Deskriptoren-Liste für TB 506
  • • Gebe Liste zu PBM 705 weiter, um zu PS 701 weitergeleitet zu werden.
For UL processing, the IPC components provide the following operations:
  • • Question Transfer buffer (TB) from the PBM 705 on
  • • Question transmission and segment descriptors from the PBM 705 on
  • • Parse transmission buffer, received via IPC-HW 305
  • • Create IP packet related segment descriptor list for TB 506
  • • Give list to PBM 705 continue to PS 701 to be forwarded.

Bei der DL-Verarbeitung stellen die IPC-Komponenten die folgenden Operationen bereit:

  • • Empfange IP-Pakete von PBM 705 als verlinkte Liste von Segment-Deskriptoren vom PS 701
  • • Formatiere verlinkte Liste von IP-Paketen für Übertragung
  • • Liefere Liste zu IPC-Hardwaremodul 505
  • • Veröffentliche Hinweis für Segment-Deskriptoren an PBM.
For DL processing, the IPC components provide the following operations:
  • • Receive IP packets from PBM 705 as a linked list of segment descriptors from the PS 701
  • • Format linked list of IP packets for transmission
  • • Get List to IPC Hardware Module 505
  • • Publish notice for segment descriptors to PBM.

Ein Beispiel für die zugrundliegende Hardware für die IPC-Architektur, wie in 3 dargestellt, ist in 8 gezeigt.An example of the underlying hardware for the IPC architecture, as in 3 is shown in 8th shown.

8 zeigt einen Kommunikationsprozessor 800. 8th shows a communication processor 800 ,

Der Kommunikationsprozessor 800 beinhaltet eine Verarbeitungskomponente 801, z.B. einen Basisband-Chip, eine Energieverwaltungseinheit (Power management unit) 802, einen Speicher 803, einen Oszillator 804, eine Transceiver-Komponente 805 und Frontend-Komponenten 806, die mit Antennen 807 verbunden sind.The communication processor 800 includes a processing component 801 eg a baseband chip, a power management unit 802 , a store 803 , an oscillator 804 , a transceiver component 805 and front-end components 806 that with antennas 807 are connected.

Bei diesem Beispiel werden mehrere Schnittstellen zu dem Applikationsprozessor 302 unterstützt:

  • • USB 2.0 HS
  • • USB HSIC
  • • MIPI HSI
In this example, multiple interfaces to the application processor 302 supported:
  • • USB 2.0 HS
  • • USB HSIC
  • • MIPI HSI

Entsprechende Schnittstellen-Komponenten 808, 809, 810 sind in dem Verarbeitungselement (processing element) 801 bereitgestellt.Appropriate interface components 808 . 809 . 810 are in the processing element 801 provided.

Alle drei der unterstützen IPC-Schnittstellen können eingebaute DMA-Fähigkeiten mit scatter/gather-(sammeln/streuen) verlinkte-Listen-Verarbeitung bereitstellen. Ein hochleistungsfähiger Datenpfad für großen Durchsatz wird hierdurch ermöglicht.All three of the supported IPC interfaces can provide built-in DMA capabilities with scatter / gather linked-list processing. A high performance, high throughput data path is thereby enabled.

Gemäß einem Aspekt der Offenbarung wird nur eine der unterstützten Schnittstellen zu dem Applikationsprozessor 302 verwendet. Im Folgenden wird angenommen, dass die MIPI-HSI-Schnittstelle verwendet wird und dass die MIPI-HSI-Komponente 810 mit der entsprechenden MIPI-HSI-Komponente des Applikationsprozessors 302 verbunden ist, um die IPC-Schnittstelle bereitzustellen.According to one aspect of the disclosure, only one of the supported interfaces to the application processor becomes 302 used. In the following it is assumed that the MIPI-HSI interface is used and that the MIPI-HSI component 810 with the appropriate MIPI-HSI component of the application processor 302 is connected to provide the IPC interface.

Eine Implementierung der IPC-Schnittstelle als MIPI-HSI ist in 9 dargestellt.An implementation of the IPC interface as MIPI HSI is in 9 shown.

9 zeigt eine Schnittstellenarchitektur 900. 9 shows an interface architecture 900 ,

Die Architektur beinhaltet Komponenten die in einem zellularen Modem 901 (entsprechend dem zellularen Modem 301) angeordnet sind und Komponenten die in einen Applikationsprozessor 901 (entsprechen dem Applikationsprozessor 302) angeordnet sind.The architecture includes components in a cellular modem 901 (according to the cellular modem 301 ) and components are placed in an application processor 901 (correspond to the application processor 302 ) are arranged.

Auf der Modemseite werden eine GPIO- (General Purpose Input/Output - Allzweckeingabe/-ausgabe) Komponente 903, ein MIPI-HSI-Treiber 94 (beispielsweise entsprechend dem physikalischen IPC und/oder Protokolltreibern 303, 304) und MIPI-HSI-Hardware 905 (entsprechend der IPC-Hardware 305) bereitgestellt.On the modem side, a GPIO (General Purpose Input / Output) component becomes 903 , a MIPI HSI driver 94 (For example, according to the physical IPC and / or protocol drivers 303 . 304 ) and MIPI HSI hardware 905 (according to the IPC hardware 305 ) provided.

Auf der Seite des Applikationsprozessors werden eine GPIO- ((General Purpose Input/Output - Allzweckeingabe/- ausgabe) Komponente 906, MIPI-HSI-Hardware 907 (entsprechend der IPC-Hardware 305), ein physikalischer MIPI-HSI-Treiber 908 (beispielsweise entsprechend dem physikalischen IPC-Treiber 303), und ein MIPI-HSI-Protokolltreiber 909 (beispielsweise entsprechend dem IPC-Protokolltreiber 304) bereitgestellt.On the application processor side, a GPIO (General Purpose Input / Output) component becomes 906 , MIPI HSI hardware 907 (according to the IPC hardware 305 ), a physical MIPI HSI driver 908 (for example, according to the physical IPC driver 303 ), and a MIPI-HSI protocol driver 909 (for example, according to the IPC protocol driver 304 ) provided.

Die Komponenten auf der Modemseite entsprechen beispielsweise den MIPI-HSI-Komponenten 810 der Verarbeitungskomponente 801.For example, the components on the modem side correspond to the MIPI HSI components 810 the processing component 801 ,

Der MIPI-HSI-Treiber 904 befindet sich oben auf der MIPI-HSI-Hardware 905 (z.B. ein Schnittstellenkontroller). In diesem Beispiel implementiert der MIPI-HSI-Treiber 904 den HW-Treiber 205 und den Protokolltreiber 304 mittels Software in einer einzelnen Komponente.The MIPI HSI driver 904 is at the top of the MIPI HSI hardware 905 (eg an interface controller). In this example, the MIPI-HSI driver implements 904 the HW driver 205 and the protocol driver 304 using software in a single component.

Die serielle MIPI-Hochgeschwindigkeits-Schnittstelle (HSI - High Speed Serial Interface) ist vorgesehen, um zu einem Applikationsprozessor zu verbinden. Gemäß einem Aspekt dieser Offenbarung unterstützt die MIPI-HSI-Komponente 810 die folgenden Eigenschaften:

  • • Konform mit der MIPI*-HSI-physikalischen Ebenen-Spezifikation
    • - Synchronisiert, über eine Leitung geführt (pipelined) und Empfänger-Echtzeit-Datenfluss
    • - Fluss- und Rahmen-Bit-Übertragungs-Modi
  • • Unterstützt 16 Empfangs- und 16 Übertragungs-Kanäle
  • • Unterstützt Übertragungsgeschwindigkeit bis zu 208 Mbps
  • • Quellensynchrone Empfängerimplementierung unterstützt Empfangsgeschwindigkeit bis zu 230 Mbps
  • • Aufweck- (wake-up) Unterstützung
    • - Empfänger unterstützt Aufwachen mit und ohne ACWAKE-Signal
  • Arbeitet mit Standard 1,2 V und 1,8 V IO-Pads
The high-speed serial interface (HSI) serial interface is provided to connect to an application processor. In one aspect of this disclosure, the MIPI-HSI component supports 810 the following properties:
  • • Compliant with the MIPI * HSI physical plane specification
    • - Synchronized, pipelined and receiver real-time data flow
    • - Flow and frame bit transfer modes
  • • Supports 16 receive and 16 transmit channels
  • • Supports transmission speed up to 208 Mbps
  • • Source-synchronous receiver implementation supports reception speed up to 230 Mbps
  • • Wake-up support
    • - Receiver supports wake up with and without ACWAKE signal
  • • Works with standard 1.2V and 1.8V IO pads

Ein Datenverbindungsschicht-Protokoll, die von der MIPI-HSI-Komponente 810 verwendet wird, ist weiter unten beschrieben. A data link layer protocol used by the MIPI HSI component 810 is used is described below.

Die MIPI-HSI-Komponente 810 kann beispielsweise eine Schnittstelle von der S-IO 710 (implementiert durch S-IO-Dienste 712) und eine Schnittstelle vom PBM verwenden. Dies hat Abhängigkeiten für Treiberkomponenten, Betriebssystem und MIPI-HSI-Hardware (beispielsweise Teil eines Chips, der die Verarbeitungskomponente 801 implementiert).The MIPI-HSI component 810 For example, an interface from the S-IO 710 (implemented by S-IO services 712 ) and use an interface from the PBM. This has dependencies on driver components, operating system, and MIPI HSI hardware (for example, part of a chip that contains the processing component 801 implemented).

Das MIPI-HSI-SW-Konzept ist beschränkt auf Rechner-zu-Rechner (P2P - Peer-to-Peer)-Kommunikation. Das SW-Protokoll basiert auf der physikalischen Schicht der MIPI-Allianz-Spezifikationen für synchrone Hochgeschwindigkeits-Schnittstellen (HSI).The MIPI-HSI-SW concept is limited to peer-to-peer (P2P) communication. The SW protocol is based on the physical layer of the MIPI Alliance High Speed Synchronous Interface Specifications (HSI).

Beispiele für Datenverbindungsprotokoll-Befehle, die von der IPC-Schnittstelle (z.B. dem Verarbeitungselement 801) unterstützt werden, sind weiter unten beschrieben.Examples of data link protocol commands issued by the IPC interface (eg, the processing element 801 ) are described below.

Die MIPI-HSI-Schnittstelle unterstützt eine variable Anzahl von IPC-Kanälen: von einem Minimum von 2 Kanälen bis zu 16 Kanälen können aktiviert werden. Die Schrittweite ist 2, 4, 8 und 16. Des Weiteren ist die MIPI-HSI-Operation konfigurierbar in Bezug auf Datenverbindungsschicht-Eigenschaften und physikalische Schicht-Operationen.The MIPI-HSI interface supports a variable number of IPC channels: from a minimum of 2 channels to 16 channels can be activated. The step size is 2, 4, 8, and 16. Further, the MIPI-HSI operation is configurable in terms of data link layer properties and physical layer operations.

Ein MIPI-HSI-Kanal ist verfügbar um als eine Schnittstelle für AT-Befehle verwendet zu werden. Der Steuerkanal ist mit der PBM 306 Treiber-Schnittstelle und von dort über S-IO 308 zu der Applikation auf der Modemseite verbunden. Der logische Kanal ist nach außen verbunden über S-IO 308 zu dem PBM 306 unter Verwendung der PBM-Treiberschnittstelle.A MIPI HSI channel is available to be used as an interface for AT commands. The control channel is with the PBM 306 Driver interface and from there via S-IO 308 connected to the application on the modem side. The logical channel is connected to the outside via S-IO 308 to the PBM 306 using the PBM driver interface.

Bis zu 14 MIPI-HSI-Kanäle sind verfügbar für die Verwendung als Schnittstelle für Netzwerkverbindungen oder anderen Applikationsdiensten. Die Datenkanäle sind über die PBM-Treiberschnittstelle zu dem PBM 306 und von dort über die PBM-Dienstschnittstelle zu der PTM-Komponente 711 des PS 701 verbunden.Up to 14 MIPI HSI channels are available for use as an interface for network connections or other application services. The data channels are via the PBM driver interface to the PBM 306 and from there via the PBM service interface to the PTM component 711 of the PS 701 connected.

Nach dem Anschalten oder einer Rücksetzung (Reset) des mobilen Endgerätes 103 stellt die MIPI-HSI basierte IPC-Schnittstelle eine Anzeige für den Applikationsprozessor bereit, dass der Modem-Steuerpfad an ist und läuft und IPC-Kommunikation über IPC beginnen kann. Die Ereignisse nach dem Starten sind in 10 dargestellt.After switching on or resetting (reset) the mobile device 103 The MIPI-HSI based IPC interface provides an indication to the application processor that the modem control path is on and running and IPC communication can begin over IPC. The events after starting are in 10 shown.

10 zeigt ein Flussdiagramm 1000 im Zusammenhang mit dem Kommunikationsaufbau eines Mode-Applikationsprozessors. 10 shows a flowchart 1000 in connection with the communication setup of a mode application processor.

In diesem Beispiel, wird angenommen, das zwei Kanäle mit entsprechenden Einheiten 1001, 1002 auf der Modemseite und entsprechenden Einheiten 1007, 1008 auf der Seite des Applikationsprozessors verwendet werden. Des Weiteren sind HSI-HW 1003 auf der Modemseite, HSI-HW 1006 auf der Seite des Applikationsprozessors und SCUs (System controller units - Systemsteuerungseinheiten) 1004, 1005 sowohl auf der Modemseite als auch auf der Seite des Applikationsprozessors in dem Ablauf involviert.In this example, assume that there are two channels with corresponding units 1001 . 1002 on the modem side and corresponding units 1007 . 1008 be used on the application processor side. Furthermore, HSI-HW 1003 on the modem side, HSI-HW 1006 on the application processor side and SCUs (System Controller Units) 1004 . 1005 both on the modem side and on the application processor side in the process involved.

Bei 1009 wird eine Identifikation des Kommunikationsprozessors 301 angegeben.at 1009 becomes an identification of the communication processor 301 specified.

Bei 1010 geht das CAREADY-Signal des MPI-HSI nach oben, um anzuzeigen, dass MIPI-HSI-HW 903 bereit ist, um einen HSI-Rahmen zu empfangen.at 1010 the MPI-HSI's CAREADY signal goes up to indicate that MIPI-HSI-HW 903 ready to receive an HSI frame.

Bei 1011 wird eine Antwort auf einen ECHO-Datenverbindungsschicht-Befehl durch den Applikationsprozessor 302 gesendet. Eine ECHO-Antwort durch den Kommunikationsprozessor 302 zeigt an, dass der MIPI-HSI-Treiber einsatzbereit ist. Der Applikationsprozessor 302 versendet ECHO-Datenverbindungsschicht-Befehle wiederholt neu, bis sie bei 1012 durch einen ECHO-Verbindungsschicht-Befehl von der Modemseite her beantwortet werden.at 1011 becomes a response to an ECHO data link layer command by the application processor 302 Posted. An ECHO response by the communications processor 302 indicates that the MIPI-HSI driver is ready for use. The application processor 302 Repeats ECHO Data Link Layer commands repeatedly until they arrive at 1012 be answered by an ECHO link layer command from the modem side.

Bei 1013 sendet der Applikationsprozessor 302 einen OPEN_CONNECT oder OPEN_CONNECT_OCTET-Befehl zu dem Modem 301.at 1013 the application processor sends 302 an OPEN_CONNECT or OPEN_CONNECT_OCTET command to the modem 301 ,

Bei 1014, zeigt eine ACK-Antwort an, dass auf der Empfängerseite der vollständige Pfad vom IPC über S-IO und PBM in Richtung des endgültigen Bestimmungsortes bereit ist. Auf der Modemseite wird die ACK-Datenverbindungsschicht-Antwort mit dem Empfang des Bereit-Ereignisses von der Befehls-Handler-Applikation versperrt, die anzeigt, dass die Steuerebene bereit ist. Der Kommunikationsprozessor 301 ist bei 1015 bereit um Kommunikation über die IPC für kommunizierende PDUs-zu starten.at 1014 , an ACK response indicates that on the receiver side the full path from IPC to S-IO and PBM is ready towards the final destination. On the modem side, the ACK data link layer response is acknowledged upon receipt of the ready event from the command handler. Blocked application indicating that the control plane is ready. The communication processor 301 is at 1015 ready to start communication via the IPC for communicating PDUs.

Der Applikationsprozessor 302 toleriert eine bestimmte Latenz für die Antwort auf den ECHO- und OPEN_CONNECT- und OPEN_CONNECT_OCTET-Befehl. Die Latenz entspricht der Zeit, die erforderlich ist für den Abschluss des Inbetriebnahme-Vorgangs und um einsatzbereit zu sein auf der Seite des Kommunikationsprozessors.The application processor 302 tolerates a certain latency for the response to the ECHO and OPEN_CONNECT and OPEN_CONNECT_OCTET command. The latency is the time required to complete the commissioning process and to be ready for use on the communications processor side.

Flusssteuerung (flow control) kann in beide Richtungen DL und UL und für jeden Datenkanal separat aktiviert sein. Eine entwurfsspezifische Einstellung kann beispielsweise die Flusssteuerung nur für einen der vier Kanäle im UL ermöglichen, und keine Flusssteuerung für alle UL-Datenkanäle setzen. Keine Flusssteuerung ist vorhanden für alle DL-Datenkanäle. Der IPC verschickt Daten im DL sobald es eine verlinkte Liste von Paketen von dem PS 309 über PBM 306 empfängt.Flow control can be activated in both directions DL and UL and separately for each data channel. For example, a design-specific setting may allow flow control for only one of the four channels in the UL and not set flow control for all UL data channels. No flow control is available for all DL data channels. The IPC sends data in the DL as soon as it has a linked list of packets from the PS 309 over PBM 306 receives.

Gemäß einem Aspekt der Offenbarung basiert die Flusssteuerung auf Gutschriften (credits). Das Empfängergerät hat Gutschriften zu senden, bevor der Sender die erste PDU (paket date unit - Paketdateneinheit) senden kann. Beispielsweise werden die Gutschriften über die IPC über einen CREDIT-Befehl zu dem Applikationsprozessor 302 geschickt. Jede Gutschrift erlaubt die Übertragung einer PDU zu dem Kommunikationsprozessor 301. Wenn das Sendergerät (Kommunikationsprozessor im Downlink, oder Applikationsprozessor 302 im Uplink) den CREDITS-Befehl empfängt erhöht er seinen Wert von Gutschriften durch den neu empfangenen Wert. Für jede übertragene PDU hat sie seinen Gutschriftenwert um eins zu reduzieren. Einem Sender(gerät) ist es nicht erlaubt zu übertragen, wenn sein Gutschriftenwert 0 ist.In one aspect of the disclosure, the flow control is based on credits. The receiving device must send credits before the sender can send the first packet data unit (PDU). For example, the credits over the IPC become the application processor via a CREDIT command 302 cleverly. Each credit allows the transfer of a PDU to the communications processor 301 , If the transmitter device (communication processor in the downlink, or application processor 302 in the uplink) receives the CREDITS command, it increases its value of credits by the newly received value. For each transferred PDU, it has to reduce its credit value by one. A transmitter (device) is not allowed to transmit if its credit value is 0.

Hinsichtlich der Leistungsverwaltung können beide Geräte 301, 302 ein Aufwachen initiieren durch Hochziehen ihrer WAKE-Leitung: ACWAKE bzw. CAWAKE. Ein Gerät 301, 302 kann nur in den Ruhemodus/Schlafmodus gehen, wenn beide ACWAKE und CAWAKE-Leitung niedrig stehen.Regarding power management, both devices can 301 . 302 initiate a wakeup by pulling up its WAKE line: ACWAKE or CAWAKE. A machine 301 . 302 can only enter sleep / sleep mode if both ACWAKE and CAWAKE lines are low.

Die Geräte können neu synchronisiert werden durch Verwendung eines BREAK-Befehls, wie weiter unten beschrieben.The devices can be re-synchronized by using a BREAK command, as described below.

Im Folgenden ist das Datenverbindungsprotokoll, das von der MIPI-HSI-Schnittstelle gemäß einem Aspekt dieser Offenbarung verwendet wird, beschrieben. Das Datenverbindungsprotokoll wird gemäß einem Aspekt dieser Offenbarung für Mehrzweckdatenübertragung über die MIPI-HSI-Schnittstelle verwendet. Dies deckt alle Datenübertragungsarten, mit Ausnahme von Audiodaten ab, die ein bestimmtes Protokoll benötigen, um Audio-Applikationen zu ermöglichen, um strengeren Echtzeit-Anforderungen zu genügen.In the following, the data connection protocol used by the MIPI-HSI interface according to one aspect of this disclosure is described. The data link protocol is used for multi-purpose data transmission over the MIPI-HSI interface in accordance with one aspect of this disclosure. This covers all types of data transmission, except for audio data that requires a specific protocol to enable audio applications to meet more stringent real-time requirements.

Das Datenverbindungsprotokoll unterscheidet zwischen Steuernachrichten und Daten-PDUs. Das Datenverbindungsprotokoll reserviert einen der logischen Kanäle um als Steuerkanal verwendet zu werden. Dieser Kanal wird zum Aushandeln der Kanalkonfiguration und der Übertragung von PDUs zwischen dem Modem 301 und dem Applikationsprozessor 302 (z.B. entsprechende ASICs (application specific integrated circuits - anwendungsspezifische integrierte Schaltung)) verwendet. Die ist immer der erste Kanal der Schnittstelle, Kanal 0. Die anderen logischen Kanäle der Schnittstelle werden als Datenkanäle verwendet. Die Übertragung der Daten-PDUs basiert auf PDUs mit Daten festgelegter Länge. Bei Datenkanälen werden die Daten in einem oder zwei Formaten übertragen, entweder Rohformat oder Paketformat. Im Rohformat benötigt das Datenverbindungsprotokoll keine spezielle PDU-Struktur. Bei Verwendung des Paketformats ist die PDU in einen Header und Nutzlast unterteilt. Der Header stellt Informationen der Struktur der Nutzlast bereit.The data connection protocol distinguishes between control messages and data PDUs. The data link protocol reserves one of the logical channels to be used as a control channel. This channel is used to negotiate the channel configuration and transfer PDUs between the modem 301 and the application processor 302 (eg corresponding ASICs (application specific integrated circuits)) used. That is always the first channel of the interface, channel 0 , The other logical channels of the interface are used as data channels. The transmission of data PDUs is based on PDUs with fixed length data. For data channels, the data is transmitted in one or two formats, either raw format or packet format. In raw format, the data connection protocol does not require a special PDU structure. When using the packet format, the PDU is divided into a header and payload. The header provides information about the structure of the payload.

Das Datenverbindungsprotokoll begrenzt nicht seine Verwendung, aber es stellt ein Verfahren zur Verfügung, um eine Flusssteuerung (flow control) zwischen dem Sender und dem Empfänger zu ermöglichen. Durch das Flusssteuerungs-Protokoll kann der Sender sicher sein, dass der Empfänger immer bereit ist, die Daten zu empfangen. Somit verzögert die Schnittstelle nicht.The data link protocol does not limit its use, but it provides a method to enable flow control between the transmitter and the receiver. Through the flow control protocol, the sender can be sure that the receiver is always ready to receive the data. Thus, the interface does not delay.

Da das Datenverbindungsprotokoll ein Punkt-zu-Punkt-Protokoll ist, gibt es immer zwei Geräte, die involviert sind und beispielsweise mit dem für den Datenaustausch verwendeten Bus verbunden sind. Diese Geräte, beispielsweise das Modem 301 und der Applikationsprozessor 302, werden im Folgenden allgemein als Gerät A und Gerät B bezeichnet. In Bezug auf das Datenverbindungsprotokoll besteht der einzige Unterschied zwischen den Geräten, dass Gerät A dasjenige ist, das sich um die Konfigurationsverwaltung kümmert. Bei der eigentlichen Übertragung sind beide Geräte gleich. Beispielsweise ist der Applikationsprozessor (z.B. ein Applikations-ASIC) das Gerät A und das Modem 301 (z.B. ein Modem-ASIC) ist das Gerät B.Since the data link protocol is a point-to-point protocol, there are always two devices involved and, for example, connected to the bus used for data exchange. These devices, for example the modem 301 and the application processor 302 , are hereinafter generally referred to as device A and device B. With regard to the data connection protocol, the only difference between the devices is that device A is the one that handles configuration management. In the actual transmission, both devices are the same. For example, the application processor (eg, an application ASIC) is the device A and the modem 301 (eg a modem ASIC) is the device B.

Das Protokoll des Steuerkanals ist ein PDU-Protokoll mit fester Größe. Die PDU des Steuerkanals wird Befehl (Command) genannt. Der Aufbau eines Befehls ist wie folgt:

Figure DE102013103582B4_0001
The control channel protocol is a fixed size PDU protocol. The PDU of the control channel is called a command. The structure of a command is as follows:
Figure DE102013103582B4_0001

Beispiele für Befehle gemäß dem Datenverbindungsprotokoll sind in Tabelle 2 gegeben. Tabelle 2: List von Datenverbindungsschichtprotokoll-Befehlen Wert Befehl Antwort Richtung Aktion 0×0 BREAK A -> B Beende alle Verbindungen und setzte die Konfiguration zurück. B <- A 0×1 ECHO A -> B Der Empfänger antwortet mit ECHO-Befehl B <- A 0×5 CONF_CH ACK / NAK A→B Der in dem Kanalfeld spezifizierte Kanal wird für die spezifizierte Verbindung konfiguriert. 0×7 OPEN_CONN ACK/NACK A -> B Der Empfänger öffnet eine Verbindung für den Empfang von PDUs mit spezifizierter Länge. B <- A 0×A CANCEL_CO N ACK/NACK A -> B Die offene Verbindung wird beendet und wird geschlossen. Die Übertragung wird beendet. B <- A 0×B ACK A -> B Der Empfänger hat den Befehl empfangen und verstanden B <- A 0×C NACK A -> B Der Empfänger hat den Befehl erhalten, aber nicht verstanden B <- A 0×F CREDITS ACK/NACK A -> B Der Sender aktualisiert die Menge der Gutschriften B <- A Examples of commands according to the data link protocol are given in Table 2. Table 2: List of Data Link Layer Protocol Commands value command answer direction action 0 × 0 BREAK A -> B Close all connections and reset the configuration. B <- A 0 × 1 ECHO A -> B The receiver responds with ECHO command B <- A 0 × 5 CONF_CH ACK / NAK A → B The channel specified in the channel field becomes configured for the specified connection. 0 × 7 OPEN_CONN ACK / NACK A -> B The receiver opens a connection to receive PDUs of specified length. B <- A 0 × A CANCEL_CO N ACK / NACK A -> B The open connection is terminated and closed. The transfer is terminated. B <- A 0 × B ACK A -> B The receiver has received and understood the command B <- A 0 × C NACK A -> B The recipient received the command but did not understand it B <- A 0xF CREDITS ACK / NACK A -> B The sender updates the amount of credits B <- A

Beispielsweise sind die folgenden Befehle bei ein ACK oder NAK-Befehl anerkannt: CONF_CH, OPEN_CONN, CANCEL_CONN und CREDITS. Die folgenden Befehle sind beispielsweise nicht anerkannt: BREAK, ECHO, ACK und NAK.For example, the following commands are recognized by an ACK or NAK command: CONF_CH, OPEN_CONN, CANCEL_CONN, and CREDITS. For example, the following commands are not recognized: BREAK, ECHO, ACK, and NAK.

Es sollte beachtet werden, dass gemäß einem Aspekt dieser Offenbarung die Befehle immer durch Verwendung des Steuerkanals übertragen werden.It should be noted that according to one aspect of this disclosure, the instructions are always transmitted using the control channel.

BREAK-BefehlBREAK command

Der BREAK-Befehl wird verwendet, um alle laufenden Datenübertragungen auf allen Kanälen zu beenden und die Konfiguration auf den Anfangszustand zurückzusetzen.The BREAK command is used to stop all ongoing data transfers on all channels and reset the configuration to the initial state.

Nachdem ein BREAK-Befehl empfangen wurde, sendet der Empfänger den BREAK-Befehl. Der Initiator muss BREAK (mit 100ms Timeout) weiter senden, bis er eine Antwort auf den BREAK-Befehl empfängt. Nach dem Empfangen der BREAK-Antwort kann die Kommunikation neu gestartet werden. Beispielsweise ist der Timeout zwischen den BREAK-Befehlen des Initiators und des Empfängers 100 ms.After receiving a BREAK command, the receiver sends the BREAK command. The initiator must forward BREAK (with 100ms timeout) until it receives a response to the BREAK command. After receiving the BREAK response, the communication can be restarted. For example, the timeout between the BREAK commands of the initiator and the receiver is 100 ms.

Der BREAK-Befehl wird beispielsweise immer mit der maximalen Anzahl von Kanälen gesendet, wobei der Kanal 0, der Steuerkanal, zur Übertragung verwendet wird. Gemäß dem oben angegebenen Befehlsaufbau hat der BREAK-Befehl beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0002
For example, the BREAK command is always sent with the maximum number of channels, using channel 0, the control channel, for transmission. For example, according to the above-mentioned instruction structure, the BREAK instruction has the following structure:
Figure DE102013103582B4_0002

ECHO-BefehlECHO command

Der ECHO-Befehl kann verwendet werden, falls das andere Gerät vorhanden und lebend ist. Wenn ein Empfänger einen ECHO-Befehl empfängt, antwortet es mit einem ECHO-Befehl. Der ECHO-Befehl hat ein gleichbleibendes Prüfmusterfeld. Es enthält eine vorbekannte Konstante (in diesem Beispiel 0×AXAFFE), die verwendet wird um die Richtigkeit der Kanalkonfiguration zu überprüfen.The ECHO command can be used if the other device is present and live. When a receiver receives an ECHO command, it responds with an ECHO command. The ECHO instruction has a consistent test pattern field. It contains a previously known constant (0 × AXAFFE in this example), which is used to check the correctness of the channel configuration.

Der Kanal ist beispielsweise immer die Nummer des Steuerkanals, d.h. 0. Gemäß des oben angegebenen Befehlsaufbaus hat der ECHO-Befehl beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0003
For example, the channel is always the number of the control channel, ie 0. According to the above-mentioned instruction structure, the ECHO instruction has, for example, the following structure:
Figure DE102013103582B4_0003

CONF_CH-BefehlCONF_CH command

Der CONF_CH-Befehl wird verwendet, um einen logischen Kanal für eine bestimmte Verbindung zu konfigurieren. Gemäß dem oben angegebenen Befehlsaufbau hat er beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0004
The CONF_CH command is used to configure a logical channel for a particular connection. For example, according to the above-mentioned instruction structure, it has the following structure:
Figure DE102013103582B4_0004

Die Felder für das Gerät A des Kanals und für das Gerät B des Kanals haben beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0005
For example, the fields for device A of the channel and for device B of the channel have the following structure:
Figure DE102013103582B4_0005

Die Werte für das Flusssteuerungs-Feld sind beispielsweise wie in Tabelle 3 gegeben: Tabelle 3: Flusssteuerungs-Feld Wert Einstellung 0×0 Keine Flusssteuerung 0×1 Flusssteuerung über Gutschriften 0×2-0×F Reserviert für zukünftige Verwendung The values for the flow control field are given, for example, as in Table 3: Table 3: Flow Control Field value attitude 0 × 0 No flow control 0 × 1 Flow control via credits 0 × 2-0 × F Reserved for future use

Die Werte für das Datenformat-Feld sind beispielsweise wie in Tabelle 4 gegeben: Tabelle 4: Datenformatfelder Wert Einstellung 0×0 Rohdaten 0×1 Paketdaten mit Byte-Zuweisung 0×2 Paketdaten mit Halbwort-Zuweisung 0×3 Paketdaten mit Wort-Zuweisung 0×4 Paketdaten mit Doppelwort-Zuweisung 0×5 Paketdaten mit Vierfachwort-Zuweisung 0×6 Paketdaten mit 8fach-Wort-Zuweisung 0×7 Paketdaten mit 16fach-Wort-Zuweisung 0×8-0×F Reserviert für zukünftige Verwendung The values for the data format field are given, for example, as in Table 4: Table 4: Data Format Fields value attitude 0 × 0 raw Data 0 × 1 Packet data with byte assignment 0 × 2 Packet data with half-word assignment 0 × 3 Packet data with word assignment 0 × 4 Packet data with double word assignment 0 × 5 Packet data with quadword assignment 0 × 6 Packet data with 8-fold word assignment 0 × 7 Packet data with 16-fold word assignment 0 × 8-0 × F Reserved for future use

Es sollte beachtet werden, dass der CONF_CH-Befehl bei der Inbetriebnahme angewandt wird, bevor ein Kanal für eine Verbindung geöffnet wird. Eine Neu-Konfiguration erfordert beispielsweise das Schließen des Kanals im Voraus über CANCEL_CONN.It should be noted that the CONF_CH command is applied during startup before a channel is opened for a connection. Reconfiguration, for example, requires the channel to be closed in advance via CANCEL_CONN.

OPEN_CONN-BefehlOPEN_CONN command

Der OPEN_CONN-Befehl wird verwendet, um eine Verbindung zur Übertragung von PDUs mit fester Größe zu öffnen. Gemäß dem oben angegebenen Befehlsaufbau hat er beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0006
The OPEN_CONN command is used to open a connection to transmit fixed-size PDUs. For example, according to the above-mentioned instruction structure, it has the following structure:
Figure DE102013103582B4_0006

Der OPEN_CONN-Befehl beinhaltet ein 16-Bit breites Längenfeld (length field). Das Längenfeld bestimmt die Anzahl von 32-Bit Worten in der PDU. Die maximale Länge der PDU ist 2^16 Wörter, d.h. 256 Kbytes -1.The OPEN_CONN instruction includes a 16-bit wide length field. The length field determines the number of 32-bit words in the PDU. The maximum length of the PDU is 2 ^ 16 words, i. 256 Kbytes -1.

Der Empfänger antwortet mit ACK-Befehl, falls er die Übertragung akzeptiert. Anderenfalls antwortet er mit NAK-Befehl (z.B. falls eine vorherige Verbindung noch offen ist). Der ACK-Befehl beinhaltet die Länger der PDU. Beispielsweise darf der Sender nicht die erste PDU senden, bevor der Empfänger nicht mit ACK geantwortet hat.The receiver responds with the ACK command if it accepts the transmission. Otherwise, it will respond with NAK command (e.g., if a previous connection is still open). The ACK command includes the lengths of the PDU. For example, the sender may not send the first PDU until the receiver has responded with ACK.

Es sollte beachtet werden, dass gemäß einem Aspekt dieser Offenbarung, für den Fall dass die Verbindung konfiguriert ist um Flussteuerung anzuwenden, der Sender PDUs nicht senden darf ohne ausreichende Gutschriften empfangen zu haben.It should be noted that according to one aspect of this disclosure, in case the connection is configured to apply flow control, the sender may not send PDUs without having received sufficient credits.

CANCEL_CONN-Befehl CANCEL_CONN command

Der CANCEL-CONN-Befehl wird verwendet, um die momentane Verbindung, die angefragt wurde durch den OPEN_CONN-Befehl, zu beenden. Gemäß dem oben angegebenen Befehlsaufbau hat er beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0007
The CANCEL CONN command is used to terminate the current connection requested by the OPEN_CONN command. For example, according to the above-mentioned instruction structure, it has the following structure:
Figure DE102013103582B4_0007

Die Werte für das Richtungsfeld sind beispielsweise wie in Tabelle 5 gegeben: Tabelle 5: Richtungsfeldwerte Wert Einstellung 0×0 Sende 0×1 Empfange 0×2 Sende & Empfange 0×3 -0×F Reserviert für zukünftige Verwendung The values for the direction field are given, for example, as in Table 5: Table 5: Direction field values value attitude 0 × 0 send 0 × 1 Receive 0 × 2 Send & Receive 0x3 -0xF Reserved for future use

Das andere Gerät antwortet mit ACK-Befehl, falls es die Beendigung zustimmt. Anderenfalls antwortet es mit einem NAK-Befehl.The other device responds with the ACK command if it agrees to the termination. Otherwise, it will respond with a NAK command.

ACK-BefehlACK command

Der ACK-Befehl wird von einem Gerät verwendet, um zu signalisieren, dass der vorhergehende Befehl, der von einem anderen Gerät gesendet wurde, empfangen wurde, verstanden wurde und dass der Empfänger dem Befehl zustimmt. Die Parameter des vorhergehenden Befehls werden als Echo zurück gegeben, folglich kann das andere Gerät deren Richtigkeit überprüfen. Gemäß dem oben angegebenen Befehlsaufbau hat er beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0008
The ACK command is used by a device to signal that the previous command sent from another device has been received, and that the receiver approves the command. The parameters of the previous command are echoed back, so the other device can check their correctness. For example, according to the above-mentioned instruction structure, it has the following structure:
Figure DE102013103582B4_0008

NAK-BefehlNAK command

Der NAK-Befehl wird von einem Gerät verwendet, um zu signalisieren, dass der vorhergehende Befehl, der von einem anderen Gerät gesendet wurde, empfangen wurde, aber nicht verstanden wurde und/oder dass das Gerät dem vorhergehenden Befehl nicht zustimmt. Gemäß dem oben angegebenen Befehlsaufbau hat er beispielsweise den folgenden Aufbau:

Figure DE102013103582B4_0009
The NAK command is used by a device to signal that the previous command sent from another device has been received but was not understood and / or that the device disagrees with the previous command. For example, according to the above-mentioned instruction structure, it has the following structure:
Figure DE102013103582B4_0009

CREDITS-BefehlCREDITS command

Der CREDITS-Befehl kann verwendet werden, um eine Flusssteuerung von dem Empfänger zu dem Sender zu unterstützen. Wenn ein Sendergerät den CREDITS-Befehl empfängt, erhöht es den Wert der Gutschriften (Credits) um den neu empfangenen Wert. Für jede übertragene PDU verringert es den Gutschriften-Wert um 1. Einem Gerät ist es nicht erlaubt zu senden, wenn sein Gutschriften-Wert unter 0 ist.

Figure DE102013103582B4_0010
The CREDITS command can be used to support flow control from the receiver to the transmitter. When a sender device receives the CREDITS command, it increments the value of the credits by the newly received value. For each transferred PDU, it reduces the credit value by 1. A device is not allowed to send if its credit value is below 0.
Figure DE102013103582B4_0010

Die Übertragung von Daten über die MIPI-HSI-Schnittstelle gemäß dem Datenverbindungsschicht-Protokoll basiert gemäß einem Aspekt dieser Offenbarung auf PDUs mit fester Größe. Die Größe der PDUs ist beispielsweise auf Worte (32 Bit) abgestimmt. Die PDU-Größe wird durch den OPEN_CONN-Befehl signalisiert. Er bleibt unverändert, bis die Verbindung über den CANCEL_CONN-Befehl beendet wird.The transmission of data over the MIPI-HSI interface according to the data link layer protocol is based on PDUs of fixed size, in accordance with one aspect of this disclosure. The size of the PDUs is for example matched to words (32 bits). The PDU size is signaled by the OPEN_CONN command. It remains unchanged until the connection is terminated via the CANCEL_CONN command.

Im Rohformat benötigt das Datenverbindungs-Protokoll keinen besonderen PDU-Aufbau.In raw format, the data connection protocol does not require a special PDU setup.

Das Paketformat ist in 11 dargestellt.The package format is in 11 shown.

11 zeigt eine Datenverbindungs-Paketdateneinheit (PDU) 1100. 11 shows a data connection packet data unit (PDU) 1100 ,

Im Paketformat ist die PDU 1100 in einen Header 1101 und eine Nutzlast 1102 aufgeteilt:

Figure DE102013103582B4_0011
In package format is the PDU 1100 in a header 1101 and a payload 1102 divided up:
Figure DE102013103582B4_0011

Der Header 1101 stellt Informationen über den Aufbau der Nutzlast 1102 bereit. Die Paketdaten in der Nutzlast 1102, in diesem Beispiels die Pakete 1103, 1104, 1105 sind gemäß der konfigurierten Ausrichtung durch Mittel zum Ausgleich 1106 abgestimmt.The header 1101 provides information about the structure of the payload 1102 ready. The packet data in the payload 1102 , in this example, the packages 1103 . 1104 . 1105 are compensated according to the configured orientation by means 1106 Voted.

Der Aufbau des Headers ist beispielsweise wie folgt:

Figure DE102013103582B4_0012
The structure of the header is for example as follows:
Figure DE102013103582B4_0012

Der Header enthält hintereinander einen Paket-Deskriptor 1107 für jedes Paket 1103, 1104, 1105 der Nutzlast 1102. Jeder Paket-Deskriptor 1107 stellt die Startadresse und die Größe eines Pakets 1103, 1104, 1105 in der Nutzlast 1102 bereit. Die Startadresse und die Größe sind beispielsweise in Bytes angegeben. Ein spezielles nächstes (N) Feld kann dazu verwendet werden, um zu signalisieren, ob ein weiterer Paket-Deskriptor vorhanden ist (N = 0b1) oder ob der letzte Paket-Deskriptor erreicht ist (N = 0b0). Beispielsweise hat ein Paket-Deskriptor 1107 den folgenden Aufbau:

Figure DE102013103582B4_0013
The header contains a packet descriptor in succession 1107 for every package 1103 . 1104 . 1105 the payload 1102 , Each package descriptor 1107 Represents the start address and the size of a package 1103 . 1104 . 1105 in the payload 1102 ready. For example, the start address and size are in bytes. A special next (N) field can be used to signal if there is another packet descriptor (N = 0b1) or if the last packet descriptor is reached (N = 0b0). For example, has a package descriptor 1107 the following structure:
Figure DE102013103582B4_0013

Die Paket-Deskriptoren 1107 werden von einem CRC-Kontrollwert 1108 des Headers 1101 gefolgt.The package descriptors 1107 are from a CRC control value 1108 of the header 1101 followed.

Der Sender ist dafür verantwortlich, sicherzugehen, dass die Paketdaten- 1103, 1104, 1105 Starts gemäß dem Abgleich, wie er durch den CONF_CH-Befehl konfiguriert ist, starten. Für Halb-Wort-Abgleich muss die LSB der Paketstartadresse 0b0 sein, für Wort-Abgleich müssen die beiden letzten LSBs 0b00 sein, usw.The sender is responsible for ensuring that the packet data 1103 . 1104 . 1105 Start launches according to the adjustment as configured by the CONF_CH command. For half-word matching, the LSB of the packet start address must be 0b0, for word alignment, the last two LSBs must be 0b00, and so on.

Die Nutzlast 1102 beinhaltet Paketdaten, die angelegt sind, wie in dem PDU-Header beschrieben.The payload 1102 includes packet data created as described in the PDU header.

Der Abstand der Paketdaten ist durch zwei Parameter bestimmt: Abgleich und Headerflächenbedarf des Empfängers. Die Platzierung des ersten Bytes eine Paket folgt den Abgleichanforderungen (die durch Abgleiche 1106 berücksichtigt werden). Freie Bytes 1109 zu Beginn von jedem Paket 1103, 1104, 1105 sind beinhaltet, um dem Headerflächenbedarf des Empfängers gerecht zu werden.The distance of the packet data is determined by two parameters: matching and header area requirements of the receiver. The placement of the first byte of a packet follows the matching requests (those made by matches 1106 be taken into account). Free bytes 1109 at the beginning of each package 1103 . 1104 . 1105 are included to accommodate the header space requirements of the recipient.

Es sollte beachtet werden, dass der Parameter für den Headerplatzbedarf vorkonfiguriert ist. Er wird zur Kompilierungszeit ermittelt und zwischen dem Applikationsprozessor 302 und dem Modem 301 verteilt.It should be noted that the header space requirement parameter is preconfigured. It is determined at compile time and between the application processor 302 and the modem 301 distributed.

Die PDU 1100 enthält weiter ein Auffüllen (Padding) 1010 an ihrem Ende.The PDU 1100 also contains a padding 1010 at its end.

Wie zuvor angemerkt ist die PDU-Größe fest und unverändert während einer Verbindungseröffnung mit dem OPEN_CONN-Befehl. Allgemein wird, gemäß einem Aspekt dieser Offenbarung, einen Datenverbindungsschicht-PDU-Größe ermittelt, die solange konstant gehalten wird wie ein logischer Kanal offen ist (z.B. in dem oberen Beispiel, konstant für eine Verbindung über den logischen Kanal). Dies ist in 12 dargestellt.As noted previously, the PDU size is fixed and unchanged during a connection opening with the OPEN_CONN command. Generally, in accordance with one aspect of this disclosure, a data link layer PDU size is determined which is kept constant as long as a logical channel is open (eg, in the above example, constant for connection over the logical channel). This is in 12 shown.

12 zeigt eine Datenverarbeitungsvorrichtung 1200, die eine konstante Datenverbindungsschichtprotokoll-Dateneinheitsgröße angibt. 12 shows a data processing device 1200 indicating a constant data link layer protocol data unit size.

Die Datenverarbeitungsvorrichtung 1200 beinhaltet einen Kontroller 1201, eingerichtet zum Öffnen eines logischen Kanals mit einer anderen Datenverarbeitungsvorrichtung und einen Empfänger 1202, eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße angibt.The data processing device 1200 includes a controller 1201 configured to open a logical channel with another data processing device and a receiver 1202 adapted to receive a message from the other data processing device, the message indicating a data link layer protocol packet data unit size to be used for data exchange over the logical channel.

Die Datenverarbeitungsvorrichtung 1200 beinhaltet weiter einen Transceiver 1203, eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für -den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.The data processing device 1200 also includes a transceiver 1203 set up for data exchange with the other data processing device via the logical channel according to Data link layer protocol packet data unit size, wherein the data link layer protocol packet data unit size for the logical channel is constant until the logical channel is closed.

Gemäß einem Aspekt dieser Offenbarung, wird, mit anderen Worten, die Größe einer Datenverbindungsschichtprotokoll-Dateneinheit ermittelt, wenn ein logischer Kanal geöffnet wird (z.B. eine Verbindung für den logischen Kanal geöffnet wird) und ist fest, bis der logische Kanal geschlossen wird (z.B. ist fest für die Dauer der Verbindung). Das Öffnen eines logischen Kanals kann verstanden werden als dass der logische Kanal in einen Zustand gebracht wird, bei dem Daten über den logischen Kanal übertragen werden können (z.B. Öffnen einer Verbindung mit dem OPEN_CONN-Befehl), und das Schließen eines logischen Kanals kann verstanden werden als dass der logische Kanal in einen Zustand gebracht wird, bei dem Daten nicht länger über den logischen Kanal übertragen werden können (bis er wieder neu geöffnet wird).In other words, according to one aspect of this disclosure, the size of a data link layer protocol data unit is determined when a logical channel is opened (eg, a logical channel connection is opened) and is fixed until the logical channel is closed (eg fixed for the duration of the connection). The opening of a logical channel can be understood as bringing the logical channel to a state where data can be transmitted over the logical channel (eg, opening a connection with the OPEN_CONN command), and closing a logical channel can be understood as the logical channel is brought into a state in which data can no longer be transmitted over the logical channel (until it is reopened again).

Beispielsweise beinhaltet die Datenverbindungsschichtprotokoll-Dateneinheit, die ausgetauscht wird, eine Vielzahl von Netzwerkschichtpaketen (z.B. IP-Pakete) und ein oder mehrere Headerfelder, die den Startpunkt der IP-Pakete innerhalb der Datenverbindungsschichtprotokoll-Dateneinheit und die Länge der IP-Pakete beschreiben. Weiter kann beispielsweise für den Austausch der Datenverbindungsschichtprotokoll-Dateneinheiten eine Flusssteuerung über Gutschriften verwendet werden, wie weiter unten im Detail beschrieben.For example, the data link layer protocol data unit being exchanged includes a plurality of network layer packets (e.g., IP packets) and one or more header fields describing the starting point of the IP packets within the data link layer protocol data unit and the length of the IP packets. Further, for example, a flow control via credits may be used for the exchange of the data link layer protocol data units, as described in detail below.

Der Kontroller kann eingerichtet sein zum Öffnen des logischen Kanals durch Einrichtung einer Verbindung mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal.The controller may be configured to open the logical channel by establishing a connection with the other data processing device via the logical channel.

Der Kontroller kann eingerichtet sein zum Öffnen des logischen Kanals durch Übertragung einer Nachricht zu der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht anzeigt, dass die Datenverarbeitungsvorrichtung anfragt, dass der logische Kanal geöffnet werden soll.The controller may be configured to open the logical channel by transmitting a message to the other data processing device, the message indicating that the data processing device is requesting that the logical channel be opened.

Beispielsweise ist die Paketdateneinheitsgröße des Datenverbindungsschicht-Protokolls in der Nachricht angegeben.For example, the packet data unit size of the data link layer protocol is indicated in the message.

Die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße ist beispielsweise in Bytes oder Worten angegeben.The data link layer protocol packet data unit size is indicated, for example, in bytes or words.

Der Kontroller kann beispielsweise eingerichtet sein zum Übertragen der Nachricht über einen anderen logischen Kanal zu der anderen Datenverarbeitungsvorrichtung.For example, the controller may be configured to transmit the message over another logical channel to the other data processing device.

Der andere logische Kanal ist beispielsweise ein Steuerkanal.The other logical channel is, for example, a control channel.

Der Kontroller ist beispielsweise eingerichtet, den logischen Kanal durch Freigeben der Verbindung zu schließen.For example, the controller is set up to close the logical channel by releasing the connection.

Gemäß einem Aspekt dieser Offenbarung ist die Datenverarbeitungsvorrichtung ein Modem und die andere Datenverarbeitungsschaltung ist ein Applikationsprozessor, oder die Datenverarbeitungsvorrichtung ist eine Applikationsschaltung und die Datenverarbeitungsschaltung ist ein Modem.According to one aspect of this disclosure, the data processing device is a modem and the other data processing circuit is an application processor, or the data processing device is an application circuit and the data processing circuit is a modem.

Beispielsweise sind die Datenverarbeitungsschaltung und die andere Datenverarbeitungsschaltung Komponenten des gleichen Kommunikationsgeräts. Das Kommunikationsgerät ist beispielsweise ein zellulares Kommunikationsgerät.For example, the data processing circuit and the other data processing circuit are components of the same communication device. The communication device is, for example, a cellular communication device.

Die Datenverarbeitungsvorrichtung 1200 führt beispielsweise ein Verfahren durch, wie es in 13 dargestellt ist.The data processing device 1200 For example, perform a procedure as described in 13 is shown.

13 zeigt ein Flussdiagramm 1300 zum Anzeigen einer konstanten Datenverbindungsschicht-Dateneinheitsgröße. 13 shows a flowchart 1300 for displaying a constant data link layer data unit size.

Das Flussdiagramm 1300 stellt ein Verfahren zur Kommunikation mit einer Datenverarbeitungsvorrichtung dar.The flowchart 1300 illustrates a method for communicating with a data processing device.

Bei 1301 wir ein logische Kanal mit einer Datenverarbeitungsvorrichtung geöffnet.at 1301 we opened a logical channel with a data processing device.

Bei 1302 wird eine Nachricht von der Datenverarbeitungsvorrichtung empfangen, die eine Datenverbindungsschichtprotokoll-Dateneinheitsgröße angibt, die für den Datenaustausch über den logischen Kanal zu verwenden ist. at 1302 a message is received from the data processing device indicating a data link layer protocol data unit size to be used for the data exchange over the logical channel.

Bei 1303 werden Daten mit der Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Datenverbindungsschichtprotokoll-Dateneinheitsgröße ausgetauscht, wobei die Datenverbindungsschichtprotokoll-Dateneinheitsgröße konstant ist bis der logische Kanal geschlossen wird.at 1303 Data is exchanged with the data processing device via the logical channel according to the data link layer protocol data unit size, the data link layer protocol data unit size being constant until the logical channel is closed.

Die Datenverarbeitungsvorrichtung 1200 kommuniziert beispielsweise mit einer Datenverarbeitungsvorrichtung wie in 14 dargestellt.The data processing device 1200 For example, it communicates with a data processing device as in 14 shown.

14 zeigt eine Datenverarbeitungsvorrichtung 1400, die einen Hinweis auf eine konstante Datenverbindungsschicht-Dateneinheitsgröße empfängt. 14 shows a data processing device 1400 which receives an indication of a constant data link layer data unit size.

Die Datenverarbeitungsvorrichtung 1400 beinhaltet einen Kontroller 1401, eingerichtet zum Öffnen eines logischen Kanals mit einer anderen Datenverarbeitungsvorrichtung und einen Sender 1402, eingerichtet zum Senden einer Nachricht zu der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Paketdateneinheitsgröße des Datenverbindungsschicht-Protokolls angibt.The data processing device 1400 includes a controller 1401 configured to open a logical channel with another data processing device and a transmitter 1402 adapted to send a message to the other data processing device, the message indicating a data packet layer protocol packet data unit size to be used for data exchange over the logical channel.

Die Datenverarbeitungsvorrichtung 1400 beinhaltet weiter einen Transceiver 1403 (der beispielsweise den Sender 1402 beinhalten kann) eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.The data processing device 1400 also includes a transceiver 1403 (for example, the transmitter 1402 may be arranged) for communicating with the other data processing device via the logical channel according to the data link layer protocol packet data unit size, wherein the data link layer protocol packet data unit size for the logical channel is constant until the logical channel is closed.

Die Datenverarbeitungsvorrichtung 1400 führt beispielsweise ein Verfahren durch, wie es in 15 dargestellt ist.The data processing device 1400 For example, perform a procedure as described in 15 is shown.

15 zeigt ein Flussdiagramm 1500 zum Empfangen einer Anzeige auf eine konstante Datenverbindungsschicht-Dateneinheitsgröße. 15 shows a flowchart 1500 for receiving an indication on a constant data link layer data unit size.

Das Flussdiagramm 1500 stellt ein Verfahren zur Kommunikation mit einer Datenverarbeitungsvorrichtung dar.The flowchart 1500 illustrates a method for communicating with a data processing device.

Bei 1501 wird ein logischer Kanal mit einer Datenverarbeitungsvorrichtung geöffnet.at 1501 a logical channel is opened with a data processing device.

Bei 1502 wird eine Nachricht an die Datenverarbeitungsvorrichtung gesendet, die eine Datenverbindungsschichtprotokoll-Dateneinheitsgröße angibt, die für den Datenaustausch über den logischen Kanal zu verwenden ist, wobei die Datenverbindungsschichtprotokoll-Dateneinheitsgröße konstant ist bis der logische Kanal geschlossen wird.at 1502 a message is sent to the data processing device indicating a data link layer protocol data unit size to be used for the data exchange over the logical channel, the data link layer protocol data unit size being constant until the logical channel is closed.

Bei 1503 werden Daten mit der Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Datenverbindungsschichtprotokoll-Dateneinheitsgröße ausgetauscht, wobei die Datenverbindungsschichtprotokoll-Dateneinheitsgröße konstant ist, bis der logische Kanal geschlossen wird.at 1503 Data is exchanged with the data processing device via the logical channel according to the data link layer protocol data unit size, the data link layer protocol data unit size being constant until the logical channel is closed.

Wie oben beschrieben, beinhaltet der Sender freie Bytes 1109 (oder in anderen Worten unbenutzte Teile der Nachricht), die jeden Daten 1103, 1104, 1105 vorhergehen gemäß den Headeranforderungen des Empfängers. Allgemein beinhaltet, gemäß einem Aspekt dieser Offenbarung, eine Datenverarbeitungsvorrichtung in einem Datenverbindungsschichtpaket einen unbenutzten Teil an einer Headerposition für ein Netzwerkschichtpaket, das in dem Datenverbindungsschichtpaket enthalten ist. Dies ist in 16 dargestellt.As described above, the transmitter includes free bytes 1109 (or in other words, unused parts of the message) containing each data 1103 . 1104 . 1105 preceded by the header requirements of the recipient. Generally, according to one aspect of this disclosure, a data processing device in a data link layer packet includes an unused portion at a header position for a network layer packet included in the data link layer packet. This is in 16 shown.

16 zeigt eine Datenverarbeitungsvorrichtung 1600, die einen Datenverbindungsschicht-Headerbereich in eine Datenverbindungsschicht-Dateneinheit einfügt. 16 shows a data processing device 1600 which inserts a data link layer header area into a data link layer data unit.

Die Datenverarbeitungsvorrichtung 1600 beinhaltet eine Erzeugereinheit (Generator) 1601, eingerichtet zur Erzeugung einer Datenverbindungsschicht-Paketdateneinheit basierend auf einer Datenverbindungsschicht-Headergröße, gemäß einer anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets, so dass die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschichtpaket angeordnet ist.The data processing device 1600 includes a generator unit (generator) 1601 adapted for generating a data link layer packet data unit based on a data link layer header size according to another data processing device for transmitting a network layer packet such that the data link layer packet data unit contains at least a network layer packet and an unused portion having at least the specified data link layer Has header size and which is located within the data link layer packet data unit at a header position for the network layer packet.

In anderen Worten lässt, gemäß einem Aspekt dieser Offenbarung, eine Datenverarbeitungsvorrichtung in einer Datenverbindungsschicht-Paketdateneinheit vor einer Netzwerkschicht-Paketdateneinheit Platz frei, der von dem Empfänger der Datenverbindungsschicht-Paketdateneinheit verwendet werden kann, um seine eigenen Datenverbindungsschicht-Headerinformationen vor der Datenverbindungsschicht-Paketdateneinheit für die Übertragung (z.B. zum Weiterleiten) der Datenverbindungsschicht-Paketdateneinheit einzufügen. Dies ermöglicht dem Empfänger das einfache Einfügen seiner eigenen Datenverbindungsschicht-Headerinformationen ohne dem Kopieren der Datenverbindungsschicht-Paketdateneinheit (und z.B. dem Separieren von anderen Datenverbindungsschicht-Paketdateneinheiten), um Platz zu machen für Datenverbindungsschicht-Headerinformationen zum Weiterleiten derselben. Beispielsweise kann die Datenverbindungsschicht-Paketdateneinheit eine Vielzahl von Datenverbindungsschicht-Paketdateneinheiten beinhalten und der Empfänger kann die Header der Datenverbindungsschichtheader weglassen, seine eigenen Datenverbindungsschichtheader für jede Datenverbindungsschicht-Paketdateneinheit (die beispielsweise individuell mit Datenverbindungsschicht-Headerinformationen bereitgestellt sind, um sie beispielsweise über verschiedene Kanäle und/oder zu verschiedenen Empfängern zu übertragen) in die freien Räume einfügen, die vor den Datenverbindungsschicht-Paketdateneinheiten bereitgestellt sind. Die Datenverbindungsschicht-Headergröße kann in einem Speicher der Datenverarbeitungsvorrichtung zuvor gespeichert sein, so dass der Ermittler sie durch Auslesen aus dem Speicher ermitteln kann. Die Datenverbindungsschicht-Headergröße kann auch in einer Programmierung der Erzeugereinrichtung (des Generators) beinhaltet sein, so dass sie bei der Erzeugung der Datenverbindungsschicht-Paketdateneinheit berücksichtigt werden kann.In other words, according to an aspect of this disclosure, a data processing apparatus in a data link layer packet data unit leaves free in front of a network layer packet data unit that can be used by the data link layer packet data unit receiver to provide its own data link layer header information before the data link layer packet data unit to insert the transmission (eg for forwarding) of the data link layer packet data unit. This allows the receiver to easily insert its own data link layer header information without copying the data link layer packet data unit (and, for example, separating other data link layer packet data units) to make room for data link layer header information to forward it. For example, the data link layer packet data unit may include a plurality of data link layer packet data units and the receiver may omit the headers of the data link layer headers, their own data link layer headers for each data link layer packet data unit (e.g., provided individually with data link layer header information, for example, via different channels and / or or to transmit to different receivers) in the free spaces provided before the data link layer packet data units. The data link layer header size may be previously stored in a memory of the data processing device so that the investigator can determine it by reading from the memory. The data link layer header size may also be included in a programming of the generator means (the generator) so that it can be considered in the generation of the data link layer packet data unit.

Der unbenutzte Teil kann für eine weitere Datenverbindungsschichtverarbeitung verwendet werden, um Datenverbindungsschicht-Headerinformationen einzufügen. Beispielsweise werden die Datenverbindungsschichtpakete von der Datenverarbeitungsvorrichtung zu einer anderen Datenverarbeitungsvorrichtung über ein erstes Datenverbindungsschichtprotokoll übertragen und die andere Datenverarbeitungsvorrichtung leitet die Datenschichtpakete gemäß einem ersten Datenverbindungsschichtprotokoll weiter. Die andere Datenverarbeitungsvorrichtung kann dann den unbenutzten Platz verwenden, um Steuerdaten (d.h. Headerdaten) gemäß dem zweiten Datenverbindungsschichtprotokoll einzufügen. Die Datenverbindungsschicht (oder Sicherungsschicht) kann als Schicht 2, und die Netzwerkschicht (oder Vermittlungsschicht) kann als Schicht 3 des OSI Models (Open Systems Interconnection Reference Model - OSI-Referenzmodell) der ISO (International Organisation für Standardisation - Internationale Organisation für Normung) verstanden werden.The unused portion may be used for further data link layer processing to insert data link layer header information. For example, the data link layer packets are transferred from the data processing device to another data processing device via a first data link layer protocol, and the other data processing device forwards the data layer packets according to a first data link layer protocol. The other data processing device may then use the unused space to insert control data (i.e., header data) according to the second data link layer protocol. The data link layer (or link layer) may be layer 2, and the network layer (or network layer) may be layer 3 of the Open Systems Interconnection Reference Model (OSI) model of the ISO (International Organization for Standardization) become.

Die Datenverarbeitungsvorrichtung kann weiter eine Ermittlungseinrichtung beinhalten, eingerichtet zum Ermitteln der Datenverbindungsschicht-Headergröße, erforderlich für die andere Datenverarbeitungsvorrichtung für die Übertragung eines Netzwerkschichtpakets.The data processing apparatus may further include a detecting means arranged to determine the data link layer header size required for the other data processing apparatus for transmitting a network layer packet.

Die Datenverarbeitungsvorrichtung kann weiter einen Empfänger beinhalten, eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht die Datenverbindungsschicht-Headergröße angibt, die von der anderen Datenverarbeitungsvorrichtung für die Übertragung eines Netzwerkschichtpakets erforderlich ist.The data processing device may further include a receiver configured to receive a message from the other data processing device, the message indicating the data link layer header size required by the other data processing device to transmit a network layer packet.

Das wenigstens eine Netzwerkschichtpaket ist beispielsweise ein IP-Paket.The at least one network layer packet is, for example, an IP packet.

Die Datenverbindungsschicht-Paketdateneinheit enthält beispielsweise eine Vielzahl von Netzwerkschichtpaketen und enthält, für jedes Netzwerkschichtpaket einen unbenutzten Teil, der wenigstens die angezeigte Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Stelle eines Datenverbindungsschichtheaders des Netzwerkschichtpakets angeordnet ist.The data link layer packet data unit includes, for example, a plurality of network layer packets and includes, for each network layer packet, an unused portion having at least the indicated data link layer header size and located within the data link layer packet data unit at a location of a data link layer header of the network layer packet.

Gemäß einem Aspekt dieser Offenbarung ist die Datenverarbeitungsvorrichtung ein Modem und die andere Datenverarbeitungsschaltung ist ein Applikationsprozessor oder die Datenverarbeitungsvorrichtung ist ein Applikationsprozessor und die andere Datenverarbeitungsschaltung ist ein Modem.According to one aspect of this disclosure, the data processing device is a modem and the other data processing circuit is an application processor or the data processing device is an application processor and the other data processing circuit is a modem.

Die Datenverarbeitungsschaltung und die andere Datenverarbeitungsschaltung können Komponenten des gleichen Kommunikationsgeräts sein.The data processing circuit and the other data processing circuit may be components of the same communication device.

Beispielsweise ist das Kommunikationsgerät ein zellulares Kommunikationsgerät.For example, the communication device is a cellular communication device.

Die Datenverarbeitungsvorrichtung 1600 führt beispielsweise ein Verfahren aus, wie in 17 dargestellt. The data processing device 1600 For example, executes a method as in 17 shown.

17 zeigt ein Flussdiagramm 1700 zum Einfügen eines Datenverbindungsschicht-Headerbereichs in eine Datenverbindungsschicht-Dateneinheit. 17 shows a flowchart 1700 for inserting a data link layer header area into a data link layer data unit.

Das Flussdiagramm 1700 stellt ein Verfahren zur Übertragung von Netzwerkschichtdaten dar.The flowchart 1700 illustrates a method for transmitting network layer data.

Bei 1701 wird einer Datenverbindungsschicht-Paketdateneinheit erzeugt, basierend auf einer Datenverbindungsschicht-Headergröße, erforderlich für eine Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschichtpakets, so dass die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschichtpaket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschichtpaket angeordnet ist.at 1701 A data link layer packet data unit is generated based on a data link layer header size required for a data processing device for transmitting a network layer packet such that the data link layer packet data unit contains at least a network layer packet and an unused portion having at least the specified data link layer header size and within the Data Link Layer packet data unit is located at a header position for the network layer packet.

Die Datenverarbeitungsvorrichtung 1600 kommuniziert beispielsweise mit einer Datenverarbeitungsvorrichtung wie in 18 dargestellt.The data processing device 1600 For example, it communicates with a data processing device as in 18 shown.

18 zeigt eine Datenverarbeitungsvorrichtung 1800, die eine Datenverbindungsschicht-Datenpaketeinheit mit einem eingefügten Datenverbindungsschicht-Headerbereich empfängt. 18 shows a data processing device 1800 that receives a data link layer data packet unit with an inserted data link layer header area.

Die Datenverarbeitungsvorrichtung 1800 beinhaltet einen Sender 1801, eingerichtet zum Übertragen einer Nachricht an eine weitere Datenverarbeitungsvorrichtung, wobei die Nachricht eine von der Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets geforderte Datenverbindungsschicht-Headergröße angibt.The data processing device 1800 includes a transmitter 1801 adapted to transmit a message to another data processing device, the message indicating a data link layer header size required by the data link device for transmitting a network layer packet.

Die Datenverarbeitungsvorrichtung 1800 beinhaltet weiter einen Empfänger 1802, eingerichtet zum Empfangen einer Datenverbindungsschicht-Paketdateneinheit von der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschichtpaket angeordnet ist.The data processing device 1800 further includes a receiver 1802 arranged to receive a data link layer packet data unit from the other data processing device, the data link layer packet data unit including at least a network layer packet and an unused portion having at least the designated data link layer header size and within the data link layer packet data unit at a header position for the network layer packet is arranged.

Die Datenverarbeitungsvorrichtung 1800 führt beispielsweise ein Verfahren aus, wie in 19 dargestellt.The data processing device 1800 For example, executes a method as in 19 shown.

19 zeigt ein Flussdiagramm 1900 zum Empfangen einer Datenverbindungsschicht-Datenpaketeinheit mit einem eingefügten Datenverbindungsschicht-Headerbereich. 19 shows a flowchart 1900 for receiving a data link layer data packet unit with an inserted data link layer header area.

Das Flussdiagramm 1900 stellt ein Verfahren zum Empfangen von Netzwerkschichtdaten dar.The flowchart 1900 illustrates a method for receiving network layer data.

Bei 1901 wird eine Nachricht zu einer Datenverarbeitungsvorrichtung übertragen, die eine Datenverbindungsschicht-Headergröße anzeigt, erforderlich von einer Datenverarbeitungsvorrichtung für die Übertragung von Netzwerkschichtpaketen.at 1901 a message is transmitted to a data processing device indicating a data link layer header size required by a network layer packet transmission data processing device.

Bei 1902 wird eine Datenverbindungsschicht-Paketdateneinheit, die wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschichtpaket angeordnet ist, von der Datenverarbeitungsvorrichtung empfangen.at 1902 wherein a data link layer packet data unit including at least a network layer packet and an unused portion having at least the designated data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet is received by the data processing device.

Bei Verwendung der Datenverbindungsschichtprotokoll (DLP)-Befehle, wie oben beschrieben, können die Parameter der MIPI-HSI-Schnittstelle beispielsweise, wie in Tabelle 6 dargestellt, konfiguriert sein. Tabelle 6 Parameter Standard Wert Einstellung Reichweite Flusssteuerung 0×0 Keine Flusssteuerung 0×0, 0×1 Datenformat 0×0 Rohformat 0×0 - 0×7 PDU-Länge 0×3C00 15 KB 4 B - 256 kB Using the Data Link Layer Protocol (DLP) commands, as described above, the parameters of the MIPI-HSI interface may be, for example, as in Table 6 shown to be configured. Table 6 parameter Default value attitude reach flow control 0 × 0 No flow control 0x0, 0x1 data format 0 × 0 raw 0 × 0 - 0 × 7 PDU length 0 × 3C00 15 KB 4 B - 256 kB

Die Parameter, die in Tabelle 7 dargestellt sind, sind beispielsweise vorkonfiguriert unter Verwendung eines Standardwertes (Standardeinstellung). Beispielsweise werden die Parameterwerte zur Kompilierungszeit ermittelt und werden von dem Modem 301 und dem Applikationsprozessor 302 gemeinsam benutzt.For example, the parameters shown in Table 7 are preconfigured using a default value (default). For example, the parameter values at compile time are determined and are provided by the modem 301 and the application processor 302 shared.

Tabelle 7 Parameter StandardEinstellung Reichweite AP/CP-Wecksignal beinhaltet RX-Datenfluss weitergeleitet synchronisiert, weitergeleitet Bit-Übertragungsm odus Rahmen Kanal-Deskriptor 3 bit (8 Kanäle) 3 bit, 4 bit CP-Übertragungs-Geschwindigke it 208 Mbit/s 1, 5, 52, 104, 208 Mbit/s AP-Übertragungs-Geschwindigke it 100 Mbit/s 1, 5, 50, 100, 200 Mbit/s CP-Headerplatz 4 B 0 - 64 B AP-Headerplatz 18 B 0 - 64 B Table 7 parameter Default setting reach AP / CP-alarm includes RX data flow forwarded synchronized, forwarded Bit transmission mode frame Channel Descriptor 3 bit (8 channels) 3 bits, 4 bits CP transfer speed 208 Mbps 1, 5, 52, 104, 208 Mbps AP transmission speed it 100 Mbps 1, 5, 50, 100, 200 Mbps CP header space 4 B 0 - 64 B AP header space 18 B 0 - 64 B

Im Folgenden ist ein Beispiel angegeben, wie die Kommunikation (anfangs) zwischen den Datenverbindungsvorrichtungs-Treibern des Geräts A und des Geräts B, mit Bezug auf 20, aufgebaut wird.The following is an example of how the communication (initially) between the data link device drivers of the device A and the device B, with reference to 20 , is built up.

20 zeigt ein Nachrichtenflussdiagramm 2000 für eine Kommunikationsaufbaukonfiguration. 20 shows a message flow diagram 2000 for a communication setup configuration.

Der Nachrichtenfluss findet zwischen einem Gerät A 2001 und einem Gerät B 2002 statt.The message flow takes place between a device A 2001 and a device B 2002 instead of.

Bei 2003 verwendet Gerät A einen ECHO-Befehl um zu testen ob das Gerät B „am Leben“ ist.at 2003 Device A uses an ECHO command to test whether Device B is "alive".

Bei 2004 antwortet das Gerät B mit einem ECHO-Befehl.at 2004 the device B responds with an ECHO command.

Bei 2005 verwendet das Gerät A einen CONG_CH-Befehl, um einen Kanal zu konfigurieren.at 2005 Device A uses a CONG_CH command to configure a channel.

Bei 2006 bestätigt Gerät B mit ACK, um die Kanalkonfiguration zu akzeptieren. 2005 und 2006 werden für jeden Kanal der verwendet werden soll durchgeführt.at 2006 acknowledges device B with ACK to accept the channel configuration. 2005 and 2006 are performed for each channel to be used.

Bei 2007 konfigurieren das Gerät A und das Gerät B ihre HSI-Treiber und bereiten die konfigurierten Kanäle zur Datenübertragung vor.at 2007 Device A and Device B configure their HSI drivers and prepare the configured channels for data transfer.

Im Folgenden ist ein Beispiel für eine Übertragung einer Datenverbindungsschicht-PDU auf Kanal 2, mit Bezug auf 21, beschrieben.The following is an example of a transmission of a data link layer PDU on channel 2 , regarding 21 , described.

21 zeigt ein Nachrichtenflussdiagramm 2100 für eine Datenverbindungsschicht-PDU-Übertragung. 21 shows a message flow diagram 2100 for a data link layer PDU transmission.

Der Nachrichtenfluss findet zwischen einem Gerät A 2101 und einem Gerät B 2102 statt.The message flow takes place between a device A 2101 and a device B 2102 instead of.

Bei 2103 sendet eines der Geräte (in diesem Beispiel Gerät A 2101) einen OPEN_CONN-Befehl um anzuzeigen, dass er Daten-PDUs mit einer festen Größe auf einem bestimmten Kanal (Kanal 2 bei diesem Beispiel) senden will.at 2103 sends one of the devices (in this example device A 2101 ) an OPEN_CONN command to indicate that it has fixed-size data PDUs on a particular channel (channel 2 in this example).

Bei 2104 bestätigt das andere Gerät (in diesem Beispiel Gerät B 2102) den Befehl mit ACK. Dies bedeutet, dass die Übertragung beginnen kann. at 2104 confirms the other device (in this example device B 2102 ) command with ACK. This means that the transfer can begin.

Bei 2105 sendet das Gerät A PDUs mit fester Größe über den Kanal 2.at 2105 the device sends A PDUs of fixed size across the channel 2 ,

Bei 2106 sendet, wenn Gerät A 2101 oder Gerät B 2102 den Kanal schließen wollen (in diesem Beispiel Gerät B 2102), dieses einen CANCEL_CONN-Befehl, der bei 2107 durch einen ACK-Befehl bestätigt wird.at 2106 sends when device A 2101 or device B 2102 want to close the channel (in this example device B 2102 ), this one CANCEL_CONN command, which comes with 2107 is confirmed by an ACK command.

Im Folgenden ist ein Beispiel für eine Übertragung einer Daten-PDUs mit Flusssteuerung (flow control) auf Kanal 2, mit Bezug auf 22, beschrieben.The following is an example of a transmission of a data flow-controlled data PDUs to channel 2 , regarding 22 , described.

22 zeigt ein Nachrichtenflussdiagramm 2200 einer Übertragung einer Datenverbindungsschicht-PDU mit Flusssteuerung. 22 shows a message flow diagram 2200 a transmission of a data link layer PDU with flow control.

Der Nachrichtenfluss findet zwischen Gerät A 2201 und Gerät B 2202 statt.The message flow takes place between device A 2201 and device B 2202 instead of.

Bei 2203 sendet eines der Geräte (in diesem Beispiel Gerät A 2201) einen OPEN_CONN-Befehl um anzuzeigen, dass er Daten-PDUs mit einer festen Größe auf einem bestimmten Kanal (Kanal 2) senden will.at 2203 sends one of the devices (in this example device A 2201 ) an OPEN_CONN command to indicate that it has fixed-size data PDUs on a particular channel (channel 2 ) wants to send.

Bei 2204 bestätigt das andere Gerät (in diesem Beispiel Gerät B 2202) den Befehl mit ACK.at 2204 confirms the other device (in this example device B 2202 ) command with ACK.

Bei 2205 sendet das Empfängergerät (Gerät B 2202) Gutschriften (credits), um dem Sender zu erlauben, die erste PDU zu senden, was von Gerät A bei 2206 bestätigt wird.at 2205 sends the receiver device (device B 2202 ) Credits to allow the sender to send the first PDU, which comes from device A 2206 is confirmed.

Bei 2207 werden PDUs mit fester Größe übertragen. Für jede übertragene PDU hat der Sender seinen Gutschriftenwert um eins zu erniedrigen. Einem Sender ist es nicht erlaubt zu senden, wenn sein Gutschriftenwert unter 0 ist.at 2207 PDUs of fixed size are transmitted. For each transmitted PDU, the sender has to lower its credit value by one. A sender is not allowed to send if his credit value is below 0.

Wenn das Sendergerät bei 2008 den CREDITS-Befehl empfängt (bestätigt in 2209), erhöht es seinen Wert der Gutschrift um den neu empfangenen Wert und kann bei 2210 fortfahren PDUs zu senden.If the transmitter device at 2008 receives the CREDITS command (acknowledged in 2209 ), it increases its value of the credit by the newly received value and can at 2210 continue to send PDUs.

Bei 2211 sendet, wenn Gerät A 2201 oder Gerät B 2202 den Kanal schließen wollen (in diesem Beispiel Gerät B 2202), dieses einen CANCEL_CONN-Befehl, der bei 2212 durch einen ACK-Befehl bestätigt wird.at 2211 sends when device A 2201 or device B 2202 want to close the channel (in this example device B 2202 ), this one CANCEL_CONN command, which comes with 2212 is confirmed by an ACK command.

Im Folgenden ist ein Beispiel für eine Neukonfiguration der PDU-Größe, mit Bezug auf 23, angegeben. Gemäß einem Aspekt dieser Offenbarung verwendet jeder Kanal PDUs mit fester Größe für die Datenübertragung in jede Richtung. Das Verändern der Länge erfordert das Schließen einer offenen Verbindung und das Neueröffnen dieser mit einem unterschiedlichen Längenparameter. Bei diesem Beispiel werden Daten-PDUs mit einer Änderung der PDU-Länge auf Kanal 2 übertagen.The following is an example of PDU size reconfiguration, with reference to FIG 23 , stated. In one aspect of this disclosure, each channel uses fixed size PDUs for data transmission in each direction. Changing the length requires closing an open connection and reopening it with a different length parameter. In this example, data PDUs with a change in PDU length are on channel 2 over days.

23 zeigt ein Nachrichtenflussdiagramm 2300 für eine Neukonfiguration einer PDU-Größe. 23 shows a message flow diagram 2300 for reconfiguring a PDU size.

Der Nachrichtenfluss findet zwischen Gerät A 2301 und Gerät B 2302 statt.The message flow takes place between device A 2301 and device B 2302 instead of.

Bei 2304 sendet eines der Geräte (in diesem Beispiel Gerät A 2301) einen OPEN_CONN-Befehl um anzuzeigen, dass er Daten-PDUs mit einer festen Größe auf einem bestimmten Kanal (Kanal 2 bei diesem Beispiel) senden will.at 2304 sends one of the devices (in this example device A 2301 ) an OPEN_CONN command to indicate that it has fixed-size data PDUs on a particular channel (channel 2 in this example).

Bei 2305 bestätigt das andere Gerät (in diesem Beispiel Gerät B 2302) den Befehl mit ACK. Dies bedeutet, dass die Übertragung beginnen kann.at 2305 confirms the other device (in this example device B 2302 ) command with ACK. This means that the transfer can begin.

Bei 2306 sendet das Gerät A 2301 PDUs mit fester Größe.at 2306 sends the device A 2301 Fixed size PDUs.

Bei 2307, wenn das Gerät A 2301 den Kanal schließen will, sendet es einen CANCEL_CONN-Befehl, der bei 2308 bestätigt wird.at 2307 when the device A 2301 If you want to close the channel, it will send a CANCEL_CONN command 2308 is confirmed.

Bei 2309 eröffnet das Gerät A 2301 den Kanal wieder durch senden eines OPEN_CONN-Befehls mit einer unterschiedlichen Längeneinstellung.at 2309 opens the device A 2301 resend the channel by sending an OPEN_CONN command with a different length setting.

Bei 2310 bestätigt Gerät B 2302 den OPEN_CONN-Befehl mit einem ACK-Befehl. Dies bedeutet, dass die Übertragung wieder starten kann. at 2310 confirmed device B 2302 the OPEN_CONN command with an ACK command. This means that the transmission can start again.

Bei 2311 sendet das Gerät A 2301 PDUs mit fester Größe mit der neuen Länge.at 2311 sends the device A 2301 Fixed size PDUs with the new length.

Es sollte beachtet werden, dass der Empfänger den Sender informieren kann, dass die PDU-Größe geändert werden soll.It should be noted that the receiver can inform the sender that the PDU size should be changed.

Im Folgenden ist ein Beispiel für eine Neusynchronisations-Nachrichtenaustausch ist, mit Bezug auf 24, beschrieben.The following is an example of a resynchronization message exchange, with reference to 24 , described.

24 zeigt ein Nachrichtenflussdiagramm 2400 für einen Neusynchronisation. 24 shows a message flow diagram 2400 for a resynchronization.

Der Nachrichtenfluss findet zwischen Gerät A 2401 und Gerät B 2402 statt.The message flow takes place between device A 2401 and device B 2402 instead of.

Bei 2403 sendet eines der Geräte (in diesem Beispiel Gerät A 2401) einen OPEN_CONN-Befehl um anzuzeigen, dass er Daten-PDUs mit einer festen Größe auf einem bestimmten Kanal (Kanal 2 bei diesem Beispiel) senden will.at 2403 sends one of the devices (in this example device A 2401 ) an OPEN_CONN command to indicate that it has fixed-size data PDUs on a particular channel (channel 2 in this example).

Bei 2404 bestätigt das andere Gerät (in diesem Beispiel Gerät B 2402) den Befehl mit ACK. Dies bedeutet, dass die Übertragung beginnen kann.at 2404 confirms the other device (in this example device B 2402 ) command with ACK. This means that the transfer can begin.

Bei 2405 sendet das Gerät A 2401 PDUs mit fester Größeat 2405 sends the device A 2401 Fixed size PDUs

Bei 2406 ermittelt eines der Geräte, in diesem Beispiel Gerät A 2401, einen Timeout-Fehler oder einen anderen kritischen Systemfehler.at 2406 determines one of the devices, in this example device A. 2401 , a timeout error, or other critical system error.

Bei 2407 setzt Gerät A 2401 die Konfiguration der IPC-Verbindung zurück.at 2407 sets device A 2401 the configuration of the IPC connection back.

Bei 2408 sendet das Gerät A 2401 (das Gerät, das den Fehlerzustand erkannt hat) einen BREAK-Befehl.at 2408 sends the device A 2401 (the device that detected the error condition) issued a BREAK command.

Bei 2409 wiederholt das Gerät A 2401 das Senden des BREAK-Befehls mit einem Timeout-Intervall von beispielsweise 100 ms.at 2409 Repeats the device A 2401 sending the BREAK command with a timeout interval of, for example, 100 ms.

Auf den Empfang des BREAK-Befehls hin setzt das Gerät B 2402 bei 2410 seine Konfiguration der IPC-Verbindung zurück und antwortet bei 2411 mit einem BREAK-Befehl.Upon receipt of the BREAK command, the device B sets 2402 at 2410 its configuration of the IPC connection back and answers 2411 with a BREAK command.

Bei 2412 fahren die Gerät 2401, 2402 mit der normalen Inbetriebnahme und Neukonfiguration der Kanäle fort.at 2412 drive the device 2401 . 2402 with the normal commissioning and reconfiguration of the channels.

Gemäß einem Aspekt dieser Offenbarung unterstützen das Modem 301 und der Applikationsprozessor 302 Scatter/Gather-(Streuen/Sammeln-)-Verarbeitung. Dies ist im Folgenden beschrieben.In one aspect of this disclosure, the modem supports 301 and the application processor 302 Scatter / Gather- (Scatter / Gather -) - processing. This is described below.

25 zeigt ein Nachrichtenflussdiagramm 2500 ohne Scatter- (Streuungs-) Operation. 25 shows a message flow diagram 2500 without scattering operation.

Eine Vielzahl von IP-Paketen 2501 wird von dem Modem (für Uplink-Übertragungsrichtung) empfangen, z.B. durch Mittel einer Datenverbindungsschicht-PDU, wie zuvor mit Bezug auf 11 beschrieben, und werden als Ganzes in einem IP-Paketpuffer 2502 gespeichert. Beispielsweise gibt es einen IP-Puffer 2502 pro Kanal. Die Position der IP-Pakete 2501 innerhalb des IP-Paketpuffers 2502 ist durch die ersten Puffer-Deskriptoren 2503 festgelegt, die von der SIO 208 der HSI-Schnittstelle signalisiert werden. Die Position der einzelnen IP-Pakete 2501 wird von der SIO 308 der PS 307 durch Mittel von zweiten Puffer-Deskriptoren 2504 signalisiert, die sich gemäß einem Aspekt dieser Offenbarung auf die PDCP-Headerinformation ein einem PS-Headerpuffer 2505 beziehen können.A variety of IP packages 2501 is received by the modem (for uplink transmission direction), for example by means of a data link layer PDU as previously described with reference to FIG 11 and are written as a whole in an IP packet buffer 2502 saved. For example, there is an IP buffer 2502 per channel. The position of the IP packets 2501 within the IP packet buffer 2502 is through the first buffer descriptors 2503 set by the SIO 208 be signaled to the HSI interface. The location of each IP packet 2501 is from the SIO 308 the PS 307 by means of second buffer descriptors 2504 signaling to the PDCP header information in a PS header buffer according to one aspect of this disclosure 2505 can relate.

Es sollte beachtet werden, dass der Hardware die Rahmengrenzen nicht bekannt sein können. Dies wird durch feste Übertragungsgrößen angegangen, wobei die Übertagungsgröße zwischen dem Modem 301 und dem Applikationsprozessor 302 basierend auf Steuerdaten von dem Protokollstapel dynamisch konfiguriert werden kann.It should be noted that the hardware may not know the frame boundaries. This is addressed by fixed transfer sizes, with the transfer size between the modem 301 and the application processor 302 can be dynamically configured based on control data from the protocol stack.

Eine Scatter-Operation kann verwendet werden um den Speicherbedarf für kleine Paket-Uplink-Übertragung, wie in 26 dargestellt, zu reduzieren. A scatter operation can be used to handle the memory requirements for small packet uplink transmission, as in 26 shown to reduce.

26 zeigt ein Nachrichtenflussdiagramm 2600 mit Scatter-Operation. 26 shows a message flow diagram 2600 with scatter operation.

Ähnlich zu dem in 25 dargestellten Datenfluss, werden eine Vielzahl von IP-Paketen 2601 von dem Modem empfangen (für Uplink-Übertragungsrichtung), z.B. durch Mittel einer Datenverbindungsschicht-PDU wie oben im Zusammenhang mit 11 beschrieben. Mit Scatter-Operation werden die IP-Pakete einzeln in einzelnen IP-Paketpuffern 2602 gespeichert, z.B. in einem externen Speicher. Der Ort zur Speicherung der IP-Pakete 2601 ist durch erste Puffer-Deskriptoren 2603 spezifiziert, signalisiert vom SIO 308 zu der HSI-Schnittstelle, und ist signalisiert vom SIO 208 zu der PS 307 durch Mittel der zweiten Puffer-Deskriptoren 2604, die sich gemäß einem Aspekt dieser Offenbarung auf PDCP-Headerinformationen in einem PS-Headerpuffer 2605 beziehen können.Similar to the in 25 shown data flow, are a variety of IP packets 2601 received by the modem (for uplink transmission direction), for example by means of a data link layer PDU as described above 11 described. With scatter operation, the IP packets are individually in individual IP packet buffers 2602 stored, eg in an external memory. The place to store the IP packets 2601 is by first buffer descriptors 2603 specified, signaled by the SIO 308 to the HSI interface, and is signaled by the SIO 208 to the PS 307 by means of the second buffer descriptors 2604 according to one aspect of this disclosure, refer to PDCP header information in a PS header buffer 2605 can relate.

Mit der Scatter-Möglichkeit werden IP-Rahmen über mehrere Puffer aufgeteilt. Andererseits können IP-Rahmen in einem externen Speicher gespeichert werden, bei dem Platzprobleme aufgelockert sind.The Scatter option splits IP frames across multiple buffers. On the other hand, IP frames can be stored in an external memory where space problems are relaxed.

Für DL- (Downlink) Richtung sammelt (gathers) die IPC-Schnittstelle IP-Pakete von verschiedenen IP-Pufferorten um große IP-Übertragungen zusammenzustellen. Dies ist in 27 dargestellt.For DL (downlink) direction, the IPC interface gathers (gathers) IP packets from different IP buffer locations to assemble large IP transmissions. This is in 27 shown.

27 zeigt ein Nachrichtenflussdiagramm 2700 mit Gather-(Sammel)-Operation. 27 shows a message flow diagram 2700 with gather (collection) operation.

IP-Pakete, die in einzelnen IP-Paketpuffern 2702 gespeichert sind, z.B. in einem externen Speicher, werden zu einem Block von IP-Paketen 2701 zusammengestellt, der über die Schnittstelle gesendet wird.IP packets in individual IP packet buffers 2702 stored in external memory, become a block of IP packets 2701 compiled, which is sent over the interface.

Der Ort der IP-Pakete (z.B. in einem externen Speicher) ist durch die ersten Puffer-Deskriptoren 2703 spezifiziert, signalisiert vom SIO 308 zu der HSI-Schnittstelle, und ist signalisiert vom SIO 208 zu der PS 307 durch Mittel der zweiten Puffer-Deskriptoren 2704, die sich gemäß einem Aspekt dieser Offenbarung auf PDCP-Headerinformationen in einem PS-Headerpuffer 2705 beziehen können.The location of the IP packets (eg in an external memory) is through the first buffer descriptors 2703 specified, signaled by the SIO 308 to the HSI interface, and is signaled by the SIO 208 to the PS 307 by means of the second buffer descriptors 2704 according to one aspect of this disclosure, refer to PDCP header information in a PS header buffer 2705 can relate.

Bei der Verarbeitung der gespeicherten IP-Pakete wird eine verlinkte Liste von Puffer-Deskriptoren, die auf die entsprechenden Datenpuffer zeigen (z.B. IP-Paketpuffer 2502, 2602, 2702) von der verarbeitenden Hardware, z.B. der IPC-Hardware 305, befolgt. Die Hardware stoppt das Durchlaufen der Liste wenn sie einen nächsten Zeiger (pointer) mit 0 oder letzten Flag, der durch die Software auf einen besonderen Puffer-Deskriptor gesetzt ist, findet.When the stored IP packets are processed, they become a linked list of buffer descriptors pointing to the corresponding data buffer (eg IP packet buffer 2502 . 2602 . 2702 ) from the processing hardware, eg the IPC hardware 305 , followed. The hardware stops scrolling through the list if it finds a next pointer with 0 or last flag set by the software to a particular buffer descriptor.

Die Hardware gibt einen Interrupt aus, wenn sie einen Puffer-Deskriptor verarbeitet hat, bei dem die Software einen Tail-IRQ-Flag gesetzt hat.The hardware issues an interrupt if it has processed a buffer descriptor where the software has set a tail IRQ flag.

Für jeden Puffer-Deskriptor füllt (für UL-Übertragung) oder leert (für DL-Übertragung) die Hardware den entsprechenden Datenpuffer mit Daten, übertragen von der IPC-Verbindung zu dem Applikationsprozessor 302.For each buffer descriptor, (for UL transmission) or empty (for DL transmission) the hardware fills the corresponding data buffer with data transmitted from the IPC connection to the application processor 302 ,

Gemäß einem Aspekt dieser Offenbarung wird DMA (Direct Memory Access) bei der Verarbeitung der IP-Pakete verwendet. Jeder logische DMA-Kanal hat seine eigene verlinkte Liste von Puffer-Deskriptoren, die durch SW vorbereitet ist und von HW verbraucht wird.According to one aspect of this disclosure, DMA (Direct Memory Access) is used in the processing of the IP packets. Each logical DMA channel has its own linked list of buffer descriptors prepared by SW and consumed by HW.

Für Uplink hat jeder DMA-Kanal die Startadresse des ersten UL-Puffer-Deskriptors der verlinkten Liste, programmiert in einem Nächster-Puffer-Deskriptor-Register (nextBufferDescriptor register) in der HSI-Hardware. Beispielsweise gibt es 16 Nächster-Puffer-Deskriptor-Register zu den 16 logischen Kanälen.For uplink, each DMA channel has the starting address of the first linked-list UL buffer descriptor programmed into a next-buffer-descriptor register in the HSI hardware. For example, there are 16 nearest buffer descriptor registers to the 16 logical channels.

Ein Uplink-Puffer-Deskriptor enthält beispielsweise die Information, die in Tabelle 8 angezeigt sind. Tabelle 8: UL-Pufferdeskriptor Name Größe Beschreibung HW SW 28 Zeigt auf nächstes Pufferdeskriptor-Element der verlinkten Liste Ausgerichtet auf 4 Wort-Grenze r rw dataStartPointer 30 Zeigt auf den Beginn des UL-Datenbereichs im Puffer Nach Wort ausgerichtet Adresse r w dataSize 20 Länge des Datenbereichs im Puffer Nach Wort ausgerichtet r w tailIrqEn 1 Löst Ende des Übertragungsinterrupts aus nach der Verarbeitung der Pufferdeskriptors, wenn diese Bit gesendet wurde r w lastBD 1 Zeigt den letzten von der HW zu verarbeitenden r w Pufferdeskriptor an HW stoppt durchlaufen der verlinkten Liste bis sie durch SW neu aktiviert wird prevBufferDescriptor 28 Zeigt auf vorheriges Pufferdeskriptor-Element der verlinkten Liste Ausgerichtet auf 4 Wort-Grenze r rw doneSW 1 Durch SW gesetzt wenn der Pufferdeskriptor verarbeitet ist - rw dataBufferPointer 32 Zeigt auf den Beginn des Puffers, verwendet von SW um Puffer zurückzuverlangen - rw dataBufferLength 16 Länge des Puffers im Speicher, durch SW verwendet um Puffer zurückzuverlangen - rw For example, an uplink buffer descriptor contains the information shown in Table 8. Table 8: UL Buffer Descriptor Surname size description HW SW 28 Point to next linked-list buffer descriptor element Aligned to 4 word boundary r rw data start pointer 30 Points to the beginning of the UL data area in the Buffered Word Address r w datasize 20 Length of the data area in the buffer Word-oriented r w tailIrqEn 1 Triggers the end of the transfer interrupt after the buffer descriptor has been processed, if this bit has been sent r w lastBD 1 Shows the last one to be processed by the HW r w Buffer Descriptor on HW stops traversing the linked list until it is re-enabled by SW prevBufferDescriptor 28 Points to Previous Buffer Descriptor Item of Linked List Aligned to 4 word boundary r rw doneSW 1 Set by SW when the buffer descriptor is processed - rw data buffer pointer 32 Points to the beginning of the buffer, used by SW to reclaim buffer - rw dataBufferLength 16 Length of buffer in memory used by SW to reclaim buffer - rw

Beim Downlink hat jeder DMA-Kanal die Startadresse des ersten DL-Puffer-Deskriptors der verlinkten Liste, programmiert in einem Nächster-Puffer-Deskriptor-Register (nextBufferDescriptor register) in der HSI-Hardware. Es gibt 16 verlinkte Nächster-Puffer-Deskriptor-Register entsprechend den 16 logischen Kanälen. Ein Downlink-Puffer-Deskriptor enthält beispielsweise die Information, die in Tabelle 9 angezeigt sind. Tabelle 9 Name Größe Beschreibung HW SW nextBufferDescriptor 28 Zeigt auf nächstes Pufferdeskriptor-Element der verlinkten Liste Ausgerichtet auf 4 Wort-Grenze r rw dataStartPointer 30 Zeigt auf den Beginn des UL-Datenbereichs im Puffer Nach Wort ausgerichtet Adresse r w dataSize 20 Größe des UL Datenbereichs im Puffer Nach Wort ausgerichtet r w tailIrqEn 1 Löst Interrupt aus nach der Verarbeitung der Pufferdeskriptors, wenn diese Bit gesendet wurde r w lastBD 1 Zeigt den letzten von der HW zu verarbeitenden Pufferdeskriptor an HW stoppt Durchlaufen der verlinkten Liste bis sie durch SW neu aktiviert wird r w prevBufferDescriptor 28 Zeigt auf vorheriges Pufferdeskriptor-Element der verlinkten Liste r rw Ausgerichtet auf 4 Wort-Grenze doneSW 1 Durch SW gesetzt wenn der Pufferdeskriptor verarbeitet ist - rw dataBufferPonter 32 Zeigt auf den Beginn des Puffers im Speicher, verwendet von SW um Puffer zurückzuverlangen - rw dataBufferLength 16 Länge des Puffers im Speicher, durch SW verwendet um Puffer zurückzuverlangen - rw At the downlink, each DMA channel has the starting address of the first linked-list DL buffer descriptor programmed in a next-buffer-descriptor register in the HSI hardware. There are 16 linked Next Buffer descriptor registers corresponding to the 16 logical channels. For example, a downlink buffer descriptor contains the information displayed in Table 9. Table 9 Surname size description HW SW nextBufferDescriptor 28 Point to next linked-list buffer descriptor element Aligned to 4 word boundary r rw data start pointer 30 Points to the beginning of the UL data area in the Buffered Word Address r w datasize 20 Size of the UL data area in the buffer Word-oriented r w tailIrqEn 1 Triggers interrupt after processing the buffer descriptor when this bit has been sent r w lastBD 1 Displays the last buffer descriptor to be processed by the HW HW stops traversing the linked list until it is re-enabled by SW r w prevBufferDescriptor 28 Points to Previous Buffer Descriptor Item of Linked List r rw Aligned to 4 word boundary doneSW 1 Set by SW when the buffer descriptor is processed - rw dataBufferPonter 32 Points to the beginning of the buffer in memory, used by SW to reclaim buffer - rw dataBufferLength 16 Length of buffer in memory used by SW to reclaim buffer - rw

Wie aus den Tabellen 8 und 9 ersichtlich ist, kann die Software durch Mittel des tailIRQ-Flags einstellen, ob ein Interrupt durch die Hardware nach der Verarbeitung eines Puffer-Deskriptors, z.B. des entsprechenden IP-Pakets, ausgelöst werden soll.As can be seen from Tables 8 and 9, the software can adjust, by means of the tailIRQ flag, whether an interrupt by the hardware after processing a buffer descriptor, e.g. the corresponding IP packet.

Allgemein kann eine Datenverarbeitungsvorrichtung einen Hinweis gespeichert haben, der spezifiziert, ob ein Interrupt nach der Verarbeitung eines Netzwerkschicht-Datenblocks ausgelöst werden soll. Dies ist in 28 dargestellt.In general, a data processing device may have stored an indication specifying whether an interrupt should be triggered after processing a network layer data block. This is in 28 shown.

28 zeigt eine Datenverarbeitungsvorrichtung 2800, die einen Netzwerkschicht-Datenblock verarbeitet. 28 shows a data processing device 2800 which processes a network layer data block.

Die Datenverarbeitungsvorrichtung 2800 beinhaltet einen Speicher 2801, der für jeden Netzwerkschicht-Datenblock einer Vielzahl von Netzwerkschicht-Datenblöcken einen Hinweis speichert, ob ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.The data processing device 2800 includes a memory 2801 which stores, for each network layer data block of a plurality of network layer data blocks, an indication of whether an interrupt should be triggered after the processing of the network layer data block.

Die Datenverarbeitungsvorrichtung 2800 beinhaltet weiter eine Verarbeitungselement (processing unit) 2802, eingerichtet zur Verarbeitung jedes Netzwerkschicht-Datenblocks und zum Auslösen eines Interrupts nach der Verarbeitung des Netzwerkschicht-Blocks, falls der für den Netzwerkschicht-Datenblock gespeicherte Hinweis angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.The data processing device 2800 further includes a processing unit 2802 adapted to process each network layer data block and to trigger an interrupt after processing the network layer block if the indication stored for the network layer data block indicates that an interrupt should be triggered after the processing of the network layer data block.

Gemäß einem Aspekt dieser Offenbarung, gibt es, in anderen Worten, eine Einstellung für jeden der Vielzahl von Netzwerkschicht-Datenblöcken, ob nach der Verarbeitung des Netzwerkschicht-Datenblocks ein Interrupt ausgelöst (oder ausgegeben) werden soll. Die Einstellung kann als ein Hinweis (z.B. ein Flag) durch Mittel einen Puffer-Deskriptors der Netzwerkschicht-Datenblocks gespeichert sein und kann mit dem Puffer (z.B. der Bereich des ersten Speichers) in dem der Netzwerkschicht-Datenblock gespeichert ist oder zu speichern ist, verbunden (assoziiert) sein.In other words, in accordance with one aspect of this disclosure, there is a setting for each of the plurality of network layer data blocks to trigger (or issue) an interrupt after processing the network layer data block. The setting may be stored as an indication (eg, a flag) by means of a buffer descriptor of the network layer data blocks and may be connected to the buffer (eg, the area of the first memory) in which the network layer data block is stored to be (associated).

Die Datenverarbeitung kann weiter einen Ermittler (determiner) beinhalten, eingerichtet zum Ermitteln für jeden Netzwerkschicht-Datenblock, ob der für den Netzwerkschicht-Datenblock gespeicherte Hinweis angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.The data processing may further include a determiner arranged to determine for each network layer data block whether the indication stored for the network layer data block indicates that an interrupt should be triggered after the processing of the network layer data block.

Der Prozessor ist beispielweise eingerichtet, zum Auslösen eines Interrupts nach der Verarbeitung des Netzwerkschicht-Datenblocks, nur wenn der für den Netzwerkschicht-Datenblock gespeicherte Hinweis angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.The processor is configured, for example, to initiate an interrupt after processing the network layer data block only if the indication stored for the network layer data block indicates that an interrupt should be triggered after the processing of the network layer data block.

Der Interrupt ist beispielsweise ein Interrupt, der die Übertragung einer Steuernachricht auslöst.The interrupt is, for example, an interrupt that triggers the transmission of a control message.

Der Hinweis ist beispielsweise mittels Software gespeichert.The note is stored for example by means of software.

Die Netzwerkschicht-Datenblöcke können beispielsweise IP-Datenblöcke sein und die Netzwerkschicht-Datenpakete sind IP-Paket.The network layer data blocks may be, for example, IP data blocks and the network layer data packets are IP packet.

Beispielsweise ist die Datenverarbeitungsvorrichtung ein Modem einer Kommunikationseinrichtung.For example, the data processing device is a modem of a communication device.

Gemäß einem Aspekt dieser Offenbarung sind die Netzwerkschicht-Datenpakete Datenpakete, die über eine drahtlose Kommunikation empfangen werden und an einen Applikationsprozessor der Datenverarbeitungsvorrichtung zu übertragen sind, oder Datenpakete, die von dem Applikationsprozessor empfangen werden und über eine drahtlose Kommunikation zu übertragen sind.According to one aspect of this disclosure, the network layer data packets are data packets received via wireless communication and to be transmitted to an application processor of the data processing device or data packets received from the application processor and to be transmitted via wireless communication.

Die Datenverarbeitungsvorrichtung 2800 führt beispielsweise ein Verfahren durch, wie es in 29 dargestellt ist.The data processing device 2800 For example, perform a procedure as described in 29 is shown.

29 zeigt ein Flussdiagramm 2900 für die Verarbeitung von Netzwerkschichtdaten. 29 shows a flowchart 2900 for processing network layer data.

Das Flussdiagramm 2900 stellt ein Verfahren für die Verarbeitung von Netzwerkschichtdaten dar.The flowchart 2900 illustrates a method for processing network layer data.

Bei 2901 wird für jeden Netzwerkschicht-Datenblock einer Vielzahl von Netzwerkschicht-Datenblöcken ein Hinweis gespeichert, ob ein Interrupt (oder Unterbrechung) nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst (oder ausgegeben) werden soll.at 2901 For each network layer data block of a plurality of network layer data blocks, an indication is stored as to whether an interrupt (or interruption) should be triggered (or output) after the processing of the network layer data block.

Bei 2902 wir jeder Netzwerkschicht-Datenblock verarbeitet und ein Interrupt wird nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst, falls der Hinweis, der für den Netzwerkschicht-Datenblock gespeichert ist angibt, dass ein Interrupt nach der Verarbeitung des Netzwerkschicht-Datenblocks ausgelöst werden soll.at 2902 each network layer data block is processed and an interrupt is triggered after the processing of the network layer data block, if the indication stored for the network layer data block indicates that an interrupt should be triggered after the processing of the network layer data block.

Die verschiedenen Komponenten des Kommunikationsgeräts (z.B. Detektor, Kontroller und Ermittler (determiner)) können durch Mittel eines oder mehrere Schaltungen implementiert sein. Eine „Schaltung“ kann als jegliche Art von Logik implementierte Entität, die eine Spezialschaltung oder ein Prozessor sein kann, die Software, gespeichert in einem Speicher, Firmware, oder jede Kombination daraus, ausführt. Somit kann eine „Schaltung“ eine hartverdrahtete Logikschaltung oder eine programmierbare Logikschaltung wie beispielsweise ein programmierbarer Prozessor, beispielsweise ein Mikroprozessor (beispielsweise ein CISC (Complex Instruction Set Computer - Komplexer Instruktionssatz Computer)-Prozessor oder ein RISC (Reduced Instruction Set Computer- Reduzierter Instruktionssatz Computer)- Prozessor) sein. Eine „Schaltung“ kann auch ein Prozessor sein, der Software ausführt, beispielsweise jegliche Art von Computerprogramm, das einen Code eine virtuelle Maschine verwendet, wie beispielsweise Java. Jede andere Art von Implementierung der jeweiligen Funktionen, die im Folgenden im größeren Detail beschreiben werden, kann auch als „Schaltung“ verstanden werden.The various components of the communication device (e.g., detector, controller, and determiner) may be implemented by means of one or more circuits. A "circuit" may be any entity implemented as any type of logic, which may be a special purpose circuit or processor, software stored in memory, firmware, or any combination thereof. Thus, a "circuit" may be a hardwired logic circuit or programmable logic circuit such as a programmable processor, such as a microprocessor (eg, a CISC (Complex Instruction Set Computer) processor or a Reduced Instruction Set Computer (RISC) computer ) - processor). A "circuit" may also be a processor that executes software, for example, any type of computer program that uses a virtual machine code, such as Java. Any other kind of implementation of the respective functions, which will be described in more detail below, may also be understood as a "circuit".

Es sollte weiter beachtet werden, dass Ausführungsformen, die im Zusammenhang mit jeder der Datenverarbeitungsvorrichtung beschrieben sind, entsprechend gültig sind für die anderen Datenverarbeitungsvorrichtungen und die Verfahren.It should be further noted that embodiments described in connection with each of the data processing apparatus are valid for the other data processing apparatus and methods, respectively.

Im Folgenden sind Nachrichtenflüsse für Uplink- und Downlink-Übertragungen für verschiedene Möglichkeiten bezüglich der Synchronisation zwischen HSI-Software und HSI-Hardware gezeigt.The following are message flows for uplink and downlink transmissions for different possibilities regarding the synchronization between HSI software and HSI hardware.

30 zeigt ein Nachrichtenflussdiagramm 3000 für die Synchronisierung auf vorherige Pufferzeiger. 30 shows a message flow diagram 3000 for syncing to previous buffer pointers.

Der.Nachrichtenfluss erfolgt zwischen einem Protokollstapel 3001 (z.B. entsprechend dem Protokollstapel 307) einer Pufferverwaltungseinheit (buffer management entity) 3002 (z.B. implementiert als Teil des Betriebssystems des Kommunikationsgeräts 300), eine S-IO 3003 (z.B. entsprechen der S-IO 308), einen HSI-Treiber 3004 (z.B. entsprechend dem IPC-Protokolltreiber 303 und dem physikalischen IPC-Treiber 304) und HSI-Hardware 3005 (z.B. entsprechend der HSI-Hardware 305).The message flow occurs between a protocol stack 3001 (eg according to the protocol stack 307 ) a buffer management entity 3002 (eg implemented as part of the operating system of the communication device 300 ), an S-IO 3003 (eg correspond to the S-IO 308 ), an HSI driver 3004 (eg according to the IPC protocol driver 303 and the physical IPC driver 304 ) and HSI hardware 3005 (eg according to the HSI hardware 305 ).

Der Nachrichtenfluss entspricht dem Fall einer Synchronisierung durch den vorherigen Puffer-Zeiger.The message flow corresponds to the case of synchronization by the previous buffer pointer.

Bei 3006 fragt der HSI-Treiber 3004 die verlinkte Liste der Puffer-Deskriptoren für jeden Kanal von der Pufferverwaltungseinheit 3002 an, die 3002 Datenpuffer (z.B. IP-Paketpuffer) zuzuordnen, stellt eine verlinkte Liste für die IP-Pufferdeskriptoren bei 3007 dem HSI-Treiber 3004 bereit. 3006 und 3007 werden beispielsweise durch die S-IO 3003 ausgeführt.at 3006 asks the HSI driver 3004 the linked list of buffer descriptors for each channel from the buffer manager 3002 to the 3002 Assigning data buffers (eg IP packet buffers) will provide a linked list for the IP Buffer Descriptors 3007 the HSI driver 3004 ready. 3006 and 3007 for example, through the S-IO 3003 executed.

Bei 3008 programmiert der HSI-Treiber 3004 den Führungs-Pufferdeskriptor für die HSI-Hardware 3005.at 3008 programs the HSI driver 3004 the routing buffer descriptor for the HSI hardware 3005 ,

Bei 3009 empfängt der HSI-Treiber 3004 IP-Pakete von dem Applikationsprozessor 302 über Übertragungen von zuvor festgelegter PDU-Größe. Die IP-Pakete werden in IP-Puffern gespeichert, die durch die Puffer-Deskriptoren, ausgelesen von der verlinkten Liste, angezeigt sind.at 3009 receives the HSI driver 3004 IP packets from the application processor 302 about transmissions of previously defined PDU size. The IP packets are stored in IP buffers indicated by the buffer descriptors read from the linked list.

Bei 3010, zeigt ein Puffer-Deskriptor an, dass ein Interrupt nach der Verarbeitung des Pufferdeskriptors ausgelöst werden soll (d.h. nach der Verarbeitung des IP-Pakets, das in der IP-Puffer entsprechend dem Puffer-Deskriptor gespeichert werden soll). Bei diesem Beispiel erfolgt dies, wenn alle Puffer gefüllt worden sind.at 3010 , a buffer descriptor indicates that an interrupt should be triggered after the processing of the buffer descriptor (ie, after the processing of the IP packet to be stored in the IP buffer corresponding to the buffer descriptor). In this example, this is done when all buffers have been filled.

Bei 3011 fragt der HSI-Treiber 3004 neue Puffer-Deskriptoren von der Pufferverwaltungseinheit 3002 an. at 3011 asks the HSI driver 3004 new buffer descriptors from the buffer management unit 3002 on.

Bei 3012 aktualisiert die Pufferverwaltungseinheit 3002 die verlinkte Liste durch Hinzufügen von Puffer-Deskriptoren am Ende der verlinkten Liste und stellt neue Puffer-Deskriptoren durch Übertragung der aktualisierten verlinkten Liste dem HSI-Treiber 3004 bei 3013 bereit.at 3012 updates the buffer management unit 3002 the linked list by adding buffer descriptors at the end of the linked list and making new buffer descriptors by transmitting the updated linked list to the HSI driver 3004 at 3013 ready.

Bei 3014 liest der HSI-Treiber 3004 einen Zeiger, der auf den letzen Puffer-Deskriptor zeigt, der von der HSI-Hardware 3005 verarbeitet wird, aus, d.h. der letzte Puffer-Deskriptor, der verarbeitet wurde vor einem Puffer-Deskriptor der momentan bei 3020 verarbeitet wird, so dass ein Konflikt zwischen dem Lesen von und dem Schreiben in dem gleichen Puffer vermieden wird. Der HSI-Treiber 2004 überprüft beispielsweise regelmäßig die Zeiger, die den letzten Puffer-Deskriptor anzeigen, so dass kein Puffer bei der Verarbeitung übersehen wird.at 3014 reads the HSI driver 3004 a pointer pointing to the last buffer descriptor from the HSI hardware 3005 is processed, ie the last buffer descriptor that has been processed before a buffer descriptor currently in use 3020 is processed so that a conflict between reading from and writing to the same buffer is avoided. The HSI driver 2004 for example, periodically checks the pointers indicating the last buffer descriptor so that no buffer is missed during processing.

Bei 3015 beendet der HSI-Treiber 3004 die verlinkte Liste und übergibt die Puffer-Deskriptoren bei 3014 zu der S-IO 3003.at 3015 ends the HSI driver 3004 the linked list and submit the buffer descriptors 3014 to the S-IO 3003 ,

Bei 3016 parst die S-IO 3003 die angezeigten Puffer, extrahiert die IP-Pakete und richtet einen neue verlinkte Liste von Paketpuffer-Deskriptoren für den Protokollstapel ein, die an den Protokollstapel 3001 bei 3017 übergeben wird.at 3016 parse the S-IO 3003 the displayed buffers, extracts the IP packets, and sets up a new linked list of packet buffer descriptors for the protocol stack that are attached to the protocol stack 3001 at 3017 is handed over.

Bei 3018 sendet der Protokollstapel die Daten (z.B. zu der Basisstation) und markiert die Puffer, die verarbeitet worden sind.at 3018 the protocol stack sends the data (eg to the base station) and marks the buffers that have been processed.

Es sollte beachtet werden, dass die Pufferverwaltungseinheit Puffer bei 3019 neu anfordern kann.It should be noted that the buffer management unit adds buffers 3019 request new.

Alternativ zu dem Lesen eines Zeigers, der den vorherigen Puffer-Deskriptor anzeigt, kann eine ähnliche Synchronisation durch Auslesen der Sequenznummer durchgeführt werden, um den letzten Puffer-Deskriptor herauszufinden, der durch die HSI-Hardware 3005 verarbeitet worden ist. Dies erfordert jedoch von der Pufferverwaltungseinheit 3002, monoton ansteigende Sequenznummern der Puffer-Deskriptoren sicherzustellen.As an alternative to reading a pointer indicating the previous buffer descriptor, a similar synchronization can be performed by reading out the sequence number to find out the last buffer descriptor generated by the HSI hardware 3005 has been processed. However, this requires the buffer management unit 3002 to ensure monotonically increasing sequence numbers of the buffer descriptors.

Im Folgenden ist ein Beispiel für eine Semaphorenbasierte Synchronisation beschrieben.The following is an example of semaphore based synchronization.

31 zeigt ein Nachrichtenflussdiagramm 3100 für die Synchronisierung basierend auf Semaphor(en). 31 shows a message flow diagram 3100 for synchronization based on semaphore (s).

Der Nachrichtenfluss erfolgt zwischen dem Protokollstapel 3101 (z.B. entsprechend dem Protokollstapel 307) einer Pufferverwaltungseinheit (buffer management entity) 3102 (z.B. implementiert als Teil des Betriebssystems des Kommunikationsgeräts 300), eine S-IO 3103 (z.B. entsprechen der S-IO 308), einen HSI-Treiber 3104 (z.B. entsprechend dem IPC-Protokolltreiber 303 und dem physikalischen IPC-Treiber 304) und HSI-Hardware 3105 (z.B. entsprechend der HSI-Hardware 305) .The message flow occurs between the protocol stack 3101 (eg according to the protocol stack 307 ) a buffer management entity 3102 (eg implemented as part of the operating system of the communication device 300 ), an S-IO 3103 (eg correspond to the S-IO 308 ), an HSI driver 3104 (eg according to the IPC protocol driver 303 and the physical IPC driver 304 ) and HSI hardware 3105 (eg according to the HSI hardware 305 ).

Der Nachrichtenfluss entspricht dem Fall einer Synchronisierung durch Semaphore.The message flow corresponds to the case of a semaphore synchronization.

Die Verarbeitung von 3106 bis 3113 ist ähnlich zu der Verarbeitung 3006 bis 3013 beschrieben mit Bezug auf 30. Es ist sollte beachtet werden, dass bei 3111, 3112, 3113, alternativ bei 3011, 3012, 3013, die Pufferverwaltungseinheit eine verlinkte Liste der Puffer-Deskriptoren auf Anfrage bereitstellen kann und das Ende der verlinkten Liste entsprechend durch den HSI-Treiber 3104 aktualisiert werden kann.The processing of 3106 to 3113 is similar to the processing 3006 to 3013 described with reference to 30 , It should be noted that at 3111 . 3112 . 3113 , alternatively at 3011 . 3012 . 3013 The buffer management unit can provide a linked list of buffer descriptors on request and the end of the linked list accordingly by the HSI driver 3104 can be updated.

Es sollte weiter beachtet werden, dass bei 3109 die HSI-Hardware 3105 eine Semaphore durch einen Schreibvorgang (write operation) zu dem entsprechenden Puffer-Deskriptor aktualisiert, um eine Puffer zu schützen, der momentan durch die HSI-Hardware 3105 beschrieben wird.It should be further noted that at 3109 the HSI hardware 3105 updating a semaphore by a write operation to the corresponding buffer descriptor to protect a buffer currently owned by the HSI hardware 3105 is described.

Bei 3114 parst der HSI-Treiber 3104 die verlinkte Liste um Puffer-Deskriptoren zu finden, die von der HSI-Hardware 3105 verarbeitet worden sind. Die folgende Verarbeitung bei 3115 bis 3118 ist ähnlich zu der Verarbeitung bei 3014 bis 3017. Bei 3118 können abgehandelte Puffer-Deskriptoren freigegeben werden. Zusätzlich können Puffer bei 3119 durch die Pufferverwaltungseinheit 3102 neu geltend gemacht werden, z.B. wenn die gespeicherten IP-Pakete versandt worden sind.at 3114 parses the HSI driver 3104 the linked list to find buffer descriptors that are from the HSI hardware 3105 have been processed. The following processing at 3115 to 3118 is similar to the processing 3014 to 3017 , at 3118 Spoken buffer descriptors can be released. In addition, buffers may be included 3119 through the buffer management unit 3102 be reasserted, eg if the stored IP packets have been sent.

Im Folgenden ist ein Beispiel für eine Interruptbasierte Synchronisation beschrieben. The following is an example of an interrupt-based synchronization is described.

32 zeigt ein Nachrichtenflussdiagramm 3200 für die Synchronisierung durch Interrupt (Unterbrechung). 32 shows a message flow diagram 3200 for synchronization by interrupt.

Der Nachrichtenfluss erfolgt zwischen dem Protokollstapel 3201 (z.B. entsprechend dem Protokollstapel 307) einer Pufferverwaltungseinheit (buffer management entity) 3202 (z.B. implementiert als Teil des Betriebssystems des Kommunikationsgeräts 300), eine S-IO 3203 (z.B. entsprechen der S-IO 308), einen HSI-Treiber 3204 (z.B. entsprechend dem IPC-Protokolltreiber 303 und dem physikalischen IPC-Treiber 304) und HSI-Hardware 3205 (z.B. entsprechend der HSI-Hardware 305).The message flow occurs between the protocol stack 3201 (eg according to the protocol stack 307 ) a buffer management entity 3202 (eg implemented as part of the operating system of the communication device 300 ), an S-IO 3203 (eg correspond to the S-IO 308 ), an HSI driver 3204 (eg according to the IPC protocol driver 303 and the physical IPC driver 304 ) and HSI hardware 3205 (eg according to the HSI hardware 305 ).

Der Nachrichtenfluss entspricht dem Fall einer Synchronisierung durch Interrupt.The message flow corresponds to the case of a synchronization by interrupt.

Die Verarbeitung von 3206 bis 3213 ist ähnlich zu der Verarbeitung von 3006 zu 3013, beschrieben mit Bezug auf 30. Es ist sollte beachtet werden, dass bei 3211, 3212, 3213, alternativ bei 3011, 3012, 3013, die Pufferverwaltungseinheit eine verlinkte Liste der Puffer-Deskriptoren auf Anfrage bereitstellen kann und- das Ende der verlinkten Liste entsprechend durch den HSI-Treiber 3204 aktualisiert werden kann.The processing of 3206 to 3213 is similar to the processing of 3006 to 3013 described with reference to 30 , It should be noted that at 3211 . 3212 . 3213 , alternatively at 3011 . 3012 . 3013 The buffer management unit can provide a linked list of buffer descriptors on request, and the end of the linked list accordingly by the HSI driver 3204 can be updated.

Bei diesem Beispiel, wenn eine HSI-Hardware 3205 ein IP-Paket in einen Puffer gespeichert hat, sie einen Interrupt bei 3214 auslöst. Der HSI-Treiber 3204 übergibt den Puffer-Deskriptor des Puffers bei 3215 zu der S-IO 3203 und programmiert den Beginn des Puffer-Deskriptors bei 3216 für die HSI-Hardware 3205.In this example, if an HSI hardware 3205 an IP packet has been stored in a buffer, it is an interrupt 3214 triggers. The HSI driver 3204 passes the buffer descriptor of the buffer 3215 to the S-IO 3203 and programs the beginning of the buffer descriptor 3216 for the HSI hardware 3205 ,

Bei 3217 parst der S-IO den Puffer entsprechend dem Puffer-Deskriptor, extrahiert das IP-Paket (oder IP-Pakete, für den Fall, dass mehr als ein IP-Paket in dem Puffer gespeichert ist) das in dem Puffer gespeichert ist und richtet eine verlinkte Liste von Paketpuffer-Deskriptoren für den Protokollstapel 3201 ein, die er an den Protokollstapel 3201 bei 3218 übergibt.at 3217 the S-IO parses the buffer according to the buffer descriptor, extracts the IP packet (or IP packets in case more than one IP packet is stored in the buffer) stored in the buffer and sets up one linked list of packet buffer descriptors for the protocol stack 3201 one he put to the protocol stack 3201 at 3218 passes.

Der Protokollstapel 3201 verarbeitet die angezeigten Puffer und markiert die verarbeiteten Puffer bei 3219.The protocol stack 3201 processes the buffers displayed and adds the processed buffers 3219 ,

Die Pufferverwaltungseinheit 3202 kann Puffer bei 3220 neu geltend machen (z.B. Puffer die freigegeben wurden).The buffer management unit 3202 can buffer at 3220 reclaim (eg buffers that have been released).

Im Folgenden ist ein Beispiel für eine Nächster-Zeigerbasierte-Synchronisation beschrieben.The following is an example of a next-pointer-based synchronization.

33 zeigt ein Nachrichtenflussdiagramm 3300 für die Synchronisierung auf den nächsten Zeiger. 33 shows a message flow diagram 3300 for syncing to the next pointer.

Der Nachrichtenfluss erfolgt zwischen dem Protokollstapel 3301 (z.B. entsprechend dem Protokollstapel 307) einer Pufferverwaltungseinheit (buffer management entity) 3302 (z.B. implementiert als Teil des Betriebssystems des Kommunikationsgeräts 300), eine S-IO 3303 (z.B. entsprechen der S-IO 308), einen HSI-Treiber 3304 (z.B. entsprechend dem IPC-Protokolltreiber 303 und dem physikalischen IPC-Treiber 304) und HSI-Hardware 3305 (z.B. entsprechend der HSI-Hardware 305) .The message flow occurs between the protocol stack 3301 (eg according to the protocol stack 307 ) a buffer management entity 3302 (eg implemented as part of the operating system of the communication device 300 ), an S-IO 3303 (eg correspond to the S-IO 308 ), an HSI driver 3304 (eg according to the IPC protocol driver 303 and the physical IPC driver 304 ) and HSI hardware 3305 (eg according to the HSI hardware 305 ).

Der Nachrichtenfluss entspricht dem Fall einer Synchronisierung durch einen nächsten Zeiger.The message flow corresponds to the case of synchronization by a next pointer.

Die Verarbeitung von 3306 bis 3313 ist ähnlich zu der Verarbeitung von 3006 zu 3013, beschrieben mit Bezug auf 30. Es ist sollte beachtet werden, dass bei 3311, 3312, 3313, alternativ bei 3011, 3012, 3013, die Pufferverwaltungseinheit eine verlinkte Liste der Puffer-Deskriptoren auf Anfrage bereitstellen kann und das Ende der verlinkten Liste entsprechend durch den HSI-Treiber 3204 aktualisiert werden kann.The processing of 3306 to 3313 is similar to the processing of 3006 to 3013 described with reference to 30 , It should be noted that at 3311 . 3312 . 3313 , alternatively at 3011 . 3012 . 3013 The buffer management unit can provide a linked list of buffer descriptors on request and the end of the linked list accordingly by the HSI driver 3204 can be updated.

Bei 3314 liest der HSI-Treiber 3304 einen Zeiger aus, der den Nächster-Puffer-Deskriptor anzeigt, zu verarbeiten durch die HSI-Hardware 3305. Durch Verwendung dieses Zeigers findet der HSI-Treiber 3304 den letzten Puffer-Deskriptor heraus, der durch die HSI-Hardware 3305 verarbeitet worden ist.at 3314 reads the HSI driver 3304 a pointer indicating the Next Buffer Descriptor to be processed by the HSI hardware 3305 , Using this pointer finds the HSI driver 3304 the last buffer descriptor out by the HSI hardware 3305 has been processed.

Die Verarbeitung von 3315 bis 3318 ist ähnlich zu der Verarbeitung von 3015 bis 3018, beschrieben mit Bezug auf 30.The processing of 3315 to 3318 is similar to the processing of 3015 to 3018 described with reference to 30 ,

Die Pufferverwaltungseinheit 3302 kann Puffer bei 3319 neu geltend machen (z.B. Puffer die freigegeben wurden).The buffer management unit 3302 can buffer at 3319 reclaim (eg buffers that have been released).

Im Folgenden ist ein Beispiel für eine Vorheriger-Zeiger-basierte-Synchronisation beschrieben. The following is an example of a previous pointer-based synchronization.

34 zeigt ein Nachrichtenflussdiagramm 3400 für die Synchronisierung basierend auf dem vorherigen Zeiger. 34 shows a message flow diagram 3400 for the synchronization based on the previous pointer.

Der Nachrichtenfluss erfolgt zwischen dem Protokollstapel 3401 (z.B. entsprechend dem Protokollstapel 307) einer Pufferverwaltungseinheit (buffer management entity) 3402 (z.B. implementiert als Teil des Betriebssystems des Kommunikationsgeräts 300), eine S-IO 3403 (z.B. entsprechen der S-IO 308), einen HSI-Treiber 3404 (z.B. entsprechend dem IPC-Protokolltreiber 303 und dem physikalischen IPC-Treiber 304) und HSI-Hardware 3405 (z.B. entsprechend der HSI-Hardware 305) .The message flow occurs between the protocol stack 3401 (eg according to the protocol stack 307 ) a buffer management entity 3402 (eg implemented as part of the operating system of the communication device 300 ), an S-IO 3403 (eg correspond to the S-IO 308 ), an HSI driver 3404 (eg according to the IPC protocol driver 303 and the physical IPC driver 304 ) and HSI hardware 3405 (eg according to the HSI hardware 305 ).

Der Nachrichtenfluss entspricht dem Fall einer Synchronisierung mittels eines vorherigen Zeigers.The message flow corresponds to the case of a synchronization by means of a previous pointer.

Bei 3406 fragt der Protokollstapel 3401 eine verlinkte Liste von Puffer-Deskriptoren von der Pufferverwaltungseinheit 3402 an.at 3406 asks the protocol stack 3401 a linked list of buffer descriptors from the buffer management unit 3402 on.

Bei 3407 ordnet die Pufferverwaltungseinheit 3402 Datenpuffer zu und stellt eine verlinkte Liste von Puffer-Deskriptoren dem Protokollstapel 3401 bereit.at 3407 maps the buffer management unit 3402 Data buffer and provides a linked list of buffer descriptors to the protocol stack 3401 ready.

Bei 3408 übergibt der Protokollstapel 3401 die Paketpuffer-Deskriptoren an den HSI-Treiber 3404, der im Gegenzug den Beginn der Puffer-Deskriptoren für die HS-Hardware 3405 bei 3409 programmiert (d.h. den ersten Puffer-Deskriptor setzt).at 3408 passes the protocol stack 3401 the packet buffer descriptors to the HSI driver 3404 in turn, the beginning of the buffer descriptors for the HS hardware 3405 at 3409 programmed (ie sets the first buffer descriptor).

Bei 3410 liest die HSI-Hardware 3405 IP-Pakete von den Puffern und leitet diese zu dem Applikationsprozessor 302 weiter.at 3410 reads the HSI hardware 3405 IP packets from the buffers and forwards them to the application processor 302 further.

Bei 3411 kann der Protokollstapel 3401 zusätzliche Puffer-Deskriptoren bereitstellen, die bei 3412 durch den HSI-Treiber 3404 zu der verlinkten Liste hinzugefügt werden, beispielsweise durch entsprechendes aktualisieren des Endes der verlinkten Liste.at 3411 can the protocol stack 3401 provide additional buffer descriptors that are included 3412 through the HSI driver 3404 be added to the linked list, for example by updating the end of the linked list accordingly.

Bei 3413 kann der HSI-Treiber 344 einen Zeiger auslesen, der den vorherigen Puffer-Deskriptor anzeigt, um den letzen Puffer-Deskriptor herauszufinden, der durch die HSI-Hardware 3405 verarbeitet worden ist.at 3413 can the HSI driver 344 read out a pointer indicating the previous buffer descriptor to find out the last buffer descriptor that passed through the HSI hardware 3405 has been processed.

Bei 3414 parst der HSI-Treiber 3404 die verlinkte Liste und markiert Puffer die verarbeitet worden sind.at 3414 parses the HSI driver 3404 the linked list and marks buffers that have been processed.

Die Pufferverwaltungseinheit 3402 kann Puffer bei 3415 neu beanspruchen, die verarbeitet worden sind.The buffer management unit 3402 can buffer at 3415 reclaim that has been processed.

Es ist zu beachten, dass alternativ zur Verwendung eines Vorheriger-Puffer-Deskriptor-Zeigers, der HSI-Treiber 3404 einen Nächster-Puffer-Deskriptor-Zeigerverwenden kann, der den nächsten Puffer-Deskriptor anzeigt, der durch die HSI-Hardware 3405 verarbeitet worden ist.It should be noted that as an alternative to using a Previous Buffer Descriptor pointer, the HSI driver 3404 may use a Next Buffer Descriptor pointer indicating the next Buffer Descriptor generated by the HSI hardware 3405 has been processed.

Es ist weiter zu beachten, dass 3409 das Ansammeln von IP-Paketen beinhalten kann, um Übertragungsrahmen zu füllen, die über die HSI-Schnittstelle übertragen werden sollen. Dies kann auch bei 3412 geschehen.It is further noted that 3409 may involve the accumulation of IP packets to fill transmission frames to be transmitted over the HSI interface. This can also be done 3412 happen.

Es ist zu beachten, dass die Synchronisierung mittels des nächsten Zeigers (wie in 33 und ähnlich für Downlink-Übertragung wie im Zusammenhang mit 32 beschrieben) als die am besten optimierte Version der Synchronisierung angesehen werden kann. Bei diesem Fall, bei UL- und DL-Richtung ist die HW nur zu Beginn mit dem Beginn des Puffer-Deskriptors einer verlinkten Liste von Puffer-Deskriptoren (BD) programmiert. Ein Puffer-Deskriptor steht für eine PDU des Datenverbindungsschichtprotokolls. Während laufenden Übertragungen sind die SW und HW in der Lage selbstständig PDU zu verarbeiten. Die SW aktualisiert ständig das BD-Ende der verlinkten Liste, so oft neue PDUs verfügbar werden. Die SW und HW sind über ein IRQ-Ende oder durch lesen der SW des letzten HS verarbeiteten BD in einem speziellen HW-Register.It should be noted that the synchronization by means of the next pointer (as in 33 and similar for downlink transmission as related to 32 described) as the best optimized version of the synchronization. In this case, in the UL and DL directions, the HW is programmed only at the beginning with the beginning of the buffer descriptor of a linked list of Buffer Descriptors (BD). A buffer descriptor stands for a data link layer protocol PDU. During ongoing transmissions, the SW and HW are able to independently process PDUs. The SW constantly updates the BD end of the linked list as often as new PDUs become available. The SW and HW are via an IRQ end or by reading the SW of the last HS processed BD in a special HW register.

Gemäß einem Aspekt dieser Offenbarung werden, wie zuvor beschrieben, ein effizientes Datenverbindungsschicht-Protokoll oben auf der physikalischen MIPI-HSI-Schicht, eine effiziente Interaktion zwischen IPC-SW und IPC-HW und eine effiziente Interaktion zwischen IPC und zellularen Protokollstapel bereitgestellt. Das Datenverbindungsschicht-Protokoll kann gesehen werden, als dass es ein absolutes Minimum an Steuernachrichten definiert. Durch die Verwendung von PDUs mit fester Länge mit optimierten Rahmenformaten ist der Protokoll-Handshake zwischen zwei Geräten beschränkt auf anfänglichen Aufbau (initial setup) und Flussteuerung (flow control). Das PDU-Format erlaubt effiziente aufeinanderfolgende Übertragung (back to back transmission) einer Vielzahl von IP-Paketen je PDU. Der Netzdurchsatz ist drastisch erhöht, erreicht beinahe die physikalische Begrenzung der Verbindung. Um eine Flusssteuerung zu ermöglichen ist ein Gutschriftenbasiertes-(credit based) Verfahren spezifiziert. Der reduzierte Protokoll-Handshake und die Übertragung einer Vielzahl von IP-Paketen in jeder PDU erhöht drastisch die Verbindungseffizienz.As described above, according to one aspect of this disclosure, an efficient data link layer protocol on top of the MIPI-HSI physical layer, efficient interaction between IPC-SW and IPC-HW, and efficient interaction between IPC and cellular protocol stacks are provided. The data link layer protocol can be seen as defining an absolute minimum of control messages. By using fixed-length PDUs with optimized frame formats, the protocol handshake between two devices is limited to initial setup and flow control. The PDU format allows efficient back-to-back transmission of a plurality of IP packets per PDU. The network throughput is drastically increased, almost reaching the physical limit of the connection. To enable flow control, a credit based method is specified. The reduced protocol handshake and the transmission of a large number of IP packets in each PDU drastically increases the connection efficiency.

Gemäß einem Aspekt dieser Offenbarung ist die SW-Interaktion zwischen IPC-HW und IPC-SW auf ein Maximum von einem IRQ je PDU, die eine Vielzahl von IP-Paketen überträgt, reduziert. Eine PDU wird durch die Verwendung von DMA-Gather-Einsatz von IP-Paketen gebildet, ohne das Kopieren der Nutzlast (payload). Bei einer optimierten Implementierung können verlinkte Listen übertagen oder empfangen werden ohne irgendeine zeitaufwändige Interaktion zwischen HW und SW.According to one aspect of this disclosure, the SW interaction between IPC-HW and IPC-SW is reduced to a maximum of one IRQ per PDU transmitting a plurality of IP packets. A PDU is formed by the use of DMA gathering of IP packets without the payload copying. In an optimized implementation, linked lists can be transmitted or received without any time-consuming interaction between HW and SW.

Das PDU-Format unterstützt die Aneinanderreihung von IP-Paketen innerhalb der PDUs und einen Headerbereich vor allen IP-Paketen. IP-Pakete können ohne das Kopieren der Nutzlast zwischen IPC und zellularen Protokollstapel ausgetauscht werden. Es werden nur Paket-Deskriptoren empfangen oder übertragen zu dem zellularen Protokollstapel. Die Nutzlast, d.h. die IP-Pakete, wird nicht unnötigerweise bewegt. Eine ähnlich optimierte Verarbeitung wird auf der Seite der Applikationsprozessors ermöglicht, durch Berücksichtigung von Empfängereinschränkungen über den Abgleich und die Headerbereichsparameter.The PDU format supports the stringing of IP packets within the PDUs and a header area in front of all IP packets. IP packets can be exchanged between the IPC and the cellular protocol stack without copying the payload. Only packet descriptors are received or transmitted to the cellular protocol stack. The payload, i. the IP packets, is not moved unnecessarily. Similar optimized processing is enabled on the application processor side, by taking into account receiver constraints on match and header range parameters.

Mit einer einheitlichen Pufferverwaltung, die mit PDUs mit fester Länge fertig wird, ist die Komplexität der Speicherverwaltung, durch das Erlauben von sogar andauernder Wiederbenutzung von zunächst zugewiesenem Puffer, reduziert, kein Bedarf an dynamischer Speicherzuweisung.With unified buffer management coping with fixed-length PDUs, the complexity of memory management, by allowing even continued reuse of initially allocated buffers, reduces the need for dynamic memory allocation.

Gemäß einem Aspekt dieser Offenbarung wird ein effizientes Datenverbindungsschicht-Protokoll oben auf der physikalischen MIPI-HSI-Schicht bereitgestellt, das Steuernachrichten zur Öffnung von vorkonfigurierten Kommunikationsverbindungen über logische Kanäle verwendet. Die Benutzerdaten werden in PDU mit fester Länge übertragen. Ein vereinfachter Speicherverwalter unterstützt die Speicherverwaltung und den Austausch von Puffer-Deskriptoren für IP-Pakte und PDUs. Durch Übertragung von mehreren IP-Paketen in einer einzelnen großen IPC-Übertragung wird ein Datenpfad mit minimalen SW-Interaktionen ermöglicht. Auf HW-Seite durchlaufen die IPC-Kontroller selbständig verlinkte Listen von Puffer-Deskriptoren, wegen eingebauter Scatter/Gather-verlinkte-Liste-DMA-Fähigkeiten.In accordance with one aspect of this disclosure, an efficient data link layer protocol is provided on top of the MIPI-HSI physical layer that uses control messages to open pre-configured communication links over logical channels. The user data is transferred to PDU of fixed length. A simplified memory manager supports memory management and buffer descriptor replacement for IP packets and PDUs. By transmitting multiple IP packets in a single large IPC transmission, a data path with minimal SW interactions is enabled. On the HW side, the IPC controllers independently traverse linked lists of buffer descriptors because of built-in scatter / gather linked list DMA capabilities.

Obwohl die Erfindung vor allem unter Bezugnahme auf bestimmte Ausführungsformen gezeigt und beschrieben worden ist, sollte von denjenigen, die mit dem Fachgebiet vertraut sind, verstanden werden, dass zahlreiche Änderungen bezüglich Ausgestaltung und Details daran vorgenommen werden können, ohne vom Wesen und Bereich der Erfindung, wie durch die angefügten Ansprüche definiert, abzuweichen. Der Bereich der Erfindung wird somit durch die angefügten Ansprüche bestimmt, und es ist daher beabsichtigt, dass sämtliche Änderungen, welche unter den Wortsinn oder den Äquivalenzbereich der Ansprüche fallen, umfasst werden.While the invention has been particularly shown and described with reference to particular embodiments, it should be understood by those familiar with the art that numerous changes in form and detail may be made therein without departing from the spirit and scope of the invention. as defined by the appended claims, to depart. The scope of the invention is, therefore, determined by the appended claims, and it is therefore intended to encompass all changes which come within the literal meaning or range of equivalency of the claims.

Claims (19)

Datenverarbeitungsvorrichtung (1200), aufweisend einen Kontroller (1201), eingerichtet zum Öffnen eines logischen Kanals zu einer anderen Datenverarbeitungsvorrichtung; einen Empfänger (1202), eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße angibt, wobei der Empfänger (1202) ferner eingerichtet ist zum Empfangen einer Datenverbindungsschicht-Paketdateneinheit von der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist; und einen Transceiver (1203), eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal, gemäß der Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.A data processing device (1200) comprising a controller (1201) arranged to open a logical channel to another data processing device; a receiver (1202) arranged to receive a message from the other data processing device, the message indicating a data link layer protocol packet data unit size to be used for data exchange over the logical channel, the receiver (1202) being further adapted to receive a data link layer packet data unit from the other data processing apparatus, wherein the data link layer packet data unit includes at least a network layer packet and an unused portion having at least the designated data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet; and a transceiver (1203) adapted to communicate with the other data processing device via the logical channel according to the data link layer protocol packet data unit size, wherein the data link layer protocol packet data unit size for the logical channel is constant until the logical channel is closed. Datenverarbeitungsvorrichtung (1200) nach Anspruch 1, wobei der Kontroller (1201) eingerichtet ist, zum Öffnen des logischen Kanals durch Einrichten einer Verbindung mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal. Data processing device (1200) according to Claim 1 wherein the controller (1201) is arranged to open the logical channel by establishing a connection with the other data processing device via the logical channel. Datenverarbeitungsvorrichtung (1200) nach Anspruch 1 oder 2, wobei der Kontroller (1201) eingerichtet ist, zum Öffnen des logischen Kanals durch Übertragung einer Nachricht zu der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht anzeigt, dass die Datenverarbeitungsvorrichtung (1200) anfragt, dass der logische Kanal geöffnet werden soll.Data processing device (1200) according to Claim 1 or 2 wherein the controller (1201) is arranged to open the logical channel by transmitting a message to the other data processing device, the message indicating that the data processing device (1200) is requesting that the logical channel be opened. Datenverarbeitungsvorrichtung (1200) nach Anspruch 3, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße in der Nachricht angegeben ist.Data processing device (1200) according to Claim 3 where the data link layer protocol packet data unit size is specified in the message. Datenverarbeitungsvorrichtung (1200) nach Anspruch 4, wobei die Datenverbindungsschichtprotokoll-Dateneinheitsgröße in Bytes oder Worten spezifiziert ist.Data processing device (1200) according to Claim 4 wherein the data link layer protocol data unit size is specified in bytes or words. Datenverarbeitungsvorrichtung (1200) nach einem der Ansprüche 3 bis 5, wobei der Kontroller (1201) eingerichtet ist zum Übertragen der Nachricht über einen anderen logischen Kanal zu der anderen Datenverarbeitungsvorrichtung.Data processing device (1200) according to one of Claims 3 to 5 wherein the controller (1201) is arranged to transmit the message over another logical channel to the other data processing device. Datenverarbeitungsvorrichtung (1200) nach Anspruch 6, wobei der andere logische Kanal ein Steuerkanal ist.Data processing device (1200) according to Claim 6 , where the other logical channel is a control channel. Datenverarbeitungsvorrichtung (1200) nach einem der Ansprüche 2 bis 7, wobei der Kontroller (1201) eingerichtet ist, den logischen Kanal durch Freigeben der Verbindung zu schließen.Data processing device (1200) according to one of Claims 2 to 7 wherein the controller (1201) is arranged to close the logical channel by releasing the connection. Datenverarbeitungsvorrichtung (1200) nach einem der Ansprüche 1 bis 8, wobei die Datenverarbeitungsvorrichtung (1200) und die andere Datenverarbeitungsvorrichtung Komponenten des gleichen Kommunikationsgeräts (200, 300) sind.Data processing device (1200) according to one of Claims 1 to 8th wherein the data processing device (1200) and the other data processing device are components of the same communication device (200, 300). Datenverarbeitungsvorrichtung (1200) nach Anspruch 9, wobei das Kommunikationsgerät (200, 300) ein zellulares Kommunikationsgerät ist.Data processing device (1200) according to Claim 9 wherein the communication device (200, 300) is a cellular communication device. Datenverarbeitungsvorrichtung (1400), aufweisend: einen Kontroller (1401), eingerichtet zum Öffnen einen logischen Kanals mit einer anderen Datenverarbeitungsvorrichtung; einen Sender (1402), eingerichtet zum Senden einer Nachricht zu der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht eine für den Datenaustausch über den logischen Kanal zu verwendende Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße angibt, wobei der Sender (1402) ferner eingerichtet ist zum Senden einer Datenverbindungsschicht-Paketdateneinheit zu der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist; und einen Transceiver (1403), eingerichtet zum Datenaustausch mit der anderen Datenverarbeitungsvorrichtung über den logischen Kanal gemäß der Paketdateneinheitsgröße des Datenverbindungsschicht-Protokolls, wobei die Datenverbindungsschichtprotokoll-Paketdateneinheitsgröße für den logischen Kanal konstant ist, bis der logische Kanal geschlossen ist.Data processing apparatus (1400), comprising: a controller (1401) configured to open a logical channel with another data processing device; a transmitter (1402) adapted to send a message to the other data processing device, the message to be used for data exchange over the logical channel Indicating data link layer protocol packet data unit size, wherein the transmitter (1402) is further configured to transmit a data link layer packet data unit to the other data processing device, the data link layer packet data unit including at least a network layer packet and an unused portion, which has at least the specified data link layer header size and which is within the Data link layer packet data unit is located at a header position for the network layer packet; and a transceiver (1403) adapted to communicate with the other data processing device via the logical channel according to the packet data unit size of the data link layer protocol, wherein the data link layer protocol packet data unit size for the logical channel is constant until the logical channel is closed. Datenverarbeitungsvorrichtung (1600), aufweisend: einen Erzeuger (1601), eingerichtet zur Erzeugung einer Datenverbindungsschicht-Paketdateneinheit basierend auf einer Datenverbindungsschicht-Headergröße, gemäß einer anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets, so dass die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist.Data processing apparatus (1600), comprising: a generator (1601) adapted to generate a data link layer packet data unit based on a data link layer header size according to another data processing device for transmitting a network layer packet, such that the Data link layer packet data unit contains at least one network layer packet and one unused part, which has at least the specified data link layer header size and which is within the Data Link Layer packet data unit is located at a header position for the network layer packet. Datenverarbeitungsvorrichtung (1600) nach Anspruch 12, weiter aufweisend einen Ermittler, eingerichtet zur Ermittlung der von der anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets geforderten Datenverbindungsschicht-Headergröße. Data processing device (1600) according to Claim 12 further comprising an investigator arranged to determine the data link layer header size required by the other network layer packet data processing apparatus. Datenverarbeitungsvorrichtung (1600) nach Anspruch 13, weiter aufweisend einen Empfänger, eingerichtet zum Empfangen einer Nachricht von der anderen Datenverarbeitungsvorrichtung, wobei die Nachricht die von der anderen Datenverarbeitungsvorrichtung zur Übertragung eines Netzwerkschicht-Pakets geforderte Datenverbindungsschicht-Headergröße angibt.Data processing device (1600) according to Claim 13 further comprising a receiver arranged to receive a message from the other data processing device, the message indicating the data link layer header size required by the other network layer packet data processing device. Datenverarbeitungsvorrichtung (1600) nach einem der Ansprüche 12 bis 14, wobei das wenigstens eine Netzwerkschicht-Paket ein IP-Paket ist.Data processing device (1600) according to one of Claims 12 to 14 wherein the at least one network layer packet is an IP packet. Datenverarbeitungsvorrichtung (1600) nach einem der Ansprüche 12 bis 15, wobei die Datenverbindungsschicht-Paketdateneinheit eine Vielzahl von Netzwerkschicht-Paketen enthält und für jedes Netzwerkschicht-Paket einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist.Data processing device (1600) according to one of Claims 12 to 15 wherein the data link layer packet data unit includes a plurality of network layer packets and for each network layer packet includes an unused portion having at least the designated data link layer header size and located within the data link layer packet data unit at a header position for the network layer packet. Datenverarbeitungsvorrichtung (1600) nach einem der Ansprüche 12 bis 16, wobei die Datenverarbeitungsvorrichtung (1600) und die andere Datenverarbeitungsvorrichtung Komponenten des gleichen Kommunikationsgeräts (200, 300) sind.Data processing device (1600) according to one of Claims 12 to 16 wherein the data processing device (1600) and the other data processing device are components of the same communication device (200, 300). Datenverarbeitungsvorrichtung (1600) nach Anspruch 17, wobei das Kommunikationsgerät (200, 300) ein zellulares Kommunikationsgerät ist.Data processing device (1600) according to Claim 17 wherein the communication device (200, 300) is a cellular communication device. Datenverarbeitungsvorrichtung (1800), aufweisend: einen Sender (1801), eingerichtet zum Übertragen einer Nachricht an eine andere Datenverarbeitungsvorrichtung, wobei die Nachricht eine von der Datenverarbeitungsvorrichtung (1801) zur Übertragung eines Netzwerkschicht-Pakets geforderte Datenverbindungsschicht-Headergröße angibt; und einen Empfänger (1802), eingerichtet zum Empfangen einer Datenverbindungsschicht-Paketdateneinheit von der anderen Datenverarbeitungsvorrichtung, wobei die Datenverbindungsschicht-Paketdateneinheit wenigstens ein Netzwerkschicht-Paket und einen unbenutzten Teil enthält, der wenigstens die angegebene Datenverbindungsschicht-Headergröße hat und der innerhalb der Datenverbindungsschicht-Paketdateneinheit an einer Headerposition für das Netzwerkschicht-Paket angeordnet ist.Data processing apparatus (1800), comprising: a transmitter (1801) arranged to transmit a message to another data processing device, the message indicating a data link layer header size required by the data processing device (1801) to transmit a network layer packet; and a receiver (1802) adapted to receive a data link layer packet data unit from the other data processing device, the data link layer packet data unit including at least a network layer packet and an unused part, which has at least the indicated data link layer header size and which is located within the data link layer packet data unit at a header position for the network layer packet.
DE102013103582.5A 2012-04-10 2013-04-10 Data processing device Active DE102013103582B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261622074P 2012-04-10 2012-04-10
US61/622,074 2012-04-10
US13/469,204 2012-05-11
US13/469,204 US8938551B2 (en) 2012-04-10 2012-05-11 Data processing device

Publications (3)

Publication Number Publication Date
DE102013103582A1 DE102013103582A1 (en) 2013-10-10
DE102013103582A8 DE102013103582A8 (en) 2013-12-05
DE102013103582B4 true DE102013103582B4 (en) 2019-12-05

Family

ID=49210052

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013103582.5A Active DE102013103582B4 (en) 2012-04-10 2013-04-10 Data processing device

Country Status (1)

Country Link
DE (1) DE102013103582B4 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715344B2 (en) 2004-06-01 2010-05-11 Lg Electronics Inc. Method and apparatus for providing enhanced messages on common control channel in wireless communicaton system
US8098771B2 (en) 2005-03-29 2012-01-17 Koninklijke Philips Electronics, N.V. Receiver apparatus and method for receiving data units over a channel

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715344B2 (en) 2004-06-01 2010-05-11 Lg Electronics Inc. Method and apparatus for providing enhanced messages on common control channel in wireless communicaton system
US8098771B2 (en) 2005-03-29 2012-01-17 Koninklijke Philips Electronics, N.V. Receiver apparatus and method for receiving data units over a channel

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Downes, K., et al. in „Internetworking Technologies Handbook" auf Seiten 430-433
DOWNES, Kevin; FORD, Merilee; LEW, H. Kim; SPANIER, Steve; STEVENSON, Tim;Hrsg.: CISCO SYSTEMS Inc./CISCO PRESS:"INTERNETWORKING TECHNOLOGIES HANDBOOK -- An essential reference for every network professional --".SECOND EDITION.Indianapolis, IN, USA: Macmillan Technical Publishing, 1998.S.92-93 und S.430-433.ISBN 1-57870-102-3 *
SIEGMUND, Gerd: "Technik der Netze". 5., völlig neu bearbeitete und erweiterte Auflage. Heidelberg: Hüthig Verlag, 2002.S. 269-275 und S. 282-283.ISBN 3-7785-3954-X *
Sigmund, G. in „Technik der Netze" auf Seiten 269-275 und 282-283

Also Published As

Publication number Publication date
DE102013103582A1 (en) 2013-10-10
DE102013103582A8 (en) 2013-12-05

Similar Documents

Publication Publication Date Title
DE60014852T2 (en) HEADER COMPRESSION IN REAL-TIME SERVICES
DE19800772C2 (en) Method and device for connection to a packet exchange network
DE60107827T2 (en) ALLOCATION OF OPERATING MATERIALS IN THE PACKAGED DATA TRANSFER
DE60223663T2 (en) METHOD AND DEVICE FOR IMPLEMENTING A MAC COPROCESSOR IN A COMMUNICATION SYSTEM
DE69924732T2 (en) SOURCE NODES FOR A BROADBAND NETWORK WITH ATM CELLS
DE60101900T2 (en) Method for allocating uplink transmission resources of a wireless communication network and corresponding radio terminal
DE60126806T2 (en) METHOD AND SYSTEM FOR UPGRADING PACKAGE DATA TRAFFIC IN DRAHLOSEN SYSTEMEN
DE69829346T2 (en) Input / output device for a peripheral device
DE602004005994T2 (en) Distributed Quality of Service Management System
DE112008000598B4 (en) Relay circuit unit for a vehicle
DE112008003065B4 (en) Ad hoc communication radio module, ad hoc communication device and method for controlling an ad hoc communication radio module
DE60305565T2 (en) Rebuilding a cdma2000 high speed packet data service from hibernation
DE112013000839B4 (en) Data transmission protocol for distributed information technology architectures
WO2001030042A2 (en) Method for operating a mobile radiotelephone network
DE112018000470T5 (en) DEVICE AND METHOD FOR ENABLING A CROSS-TRANSMISSION TIME INTERVAL (TTI) SWITCHING AND HYBRID AUTOMATIC REPEAT REQUEST (HARQ) OPERATION IN A NEW RADIO NETWORK
DE112018000969T5 (en) A NODE FOR A MULTIPLE SPEED COMMUNICATION NETWORK, A RELATED LIGHTING SYSTEM, A METHOD OF UPDATING THE SOFTWARE OF LIGHTING MODULES, AND A COMPUTER PROGRAM PRODUCT
DE10122042A1 (en) Network with prioritized data forwarding between sub-networks
DE102004046822A1 (en) Method for transferring data between a memory and a plurality of peripheral units by means of a direct memory access control and corresponding direct memory access control device
DE10296700T5 (en) Flow control system for reducing storage buffer requirements and establishing priority service between networks
DE102016216495B4 (en) Basic CAN controller
DE102011116987B4 (en) Merging data for Bluetooth devices
DE602004009312T2 (en) METHOD AND SYSTEM FOR THE MANUFACTURE OF A FUSE LAYER PROTOCOL ON I2C COMPOUND LINE CONNECTOR
DE102013103582B4 (en) Data processing device
EP1482701A1 (en) Method for transmitting packet-oriented data in a telecommunication network by converting in a proxy a connectionless transport protocol into a connection-oriented transport protocol and vice versa
DE112020002165T5 (en) A SYSTEM COMMUNICATION TECHNOLOGY VIA PCIe (PERIPHERAL COMPONENT INTERCONNECTEXPRESS) CONNECTION

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: INTEL DEUTSCHLAND GMBH, DE

Free format text: FORMER OWNER: INTEL MOBILE COMMUNICATIONS GMBH, 85579 NEUBIBERG, DE

R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000