-
Die
vorliegende Erfindung betrifft ein Verfahren zur Funkübertragung
von Datenpaketen in einem örtlichen
Netz, das mindestens zwei Slave-Kommunikationseinheiten und eine
Master-Kommunikationseinheit umfasst, über die alle in dem Netz übertragenen
Datenpakete laufen.
-
Sie
betrifft insbesondere ein solches Verfahren, das an eine Konfiguration
der Master-Einheit angepasst ist, bei der diese zwei durch eine
interne Schnittstelle miteinander verbundene Prozessoren umfasst.
-
Es
ist bekannt, und zwar insbesondere aus der Schrift
EP 1 107 521 , für die Übertragung von Daten in einem
Netz eine sternförmige
Struktur zu verwenden, die mindestens drei Kommunikationseinheiten
umfasst. Eine solche Struktur ist besonders für Netze ausgelegt, die eine
geringe Anzahl von miteinander in Verbindung stehenden Einheiten
umfassen. Bei einer solchen Netzstruktur spielt eine der Einheiten
eine Koordinatorrolle, welcher die anderen Einheiten untergeordnet
sind. Alle Daten, die dafür
bestimmt sind, zwischen zwei beliebigen Einheiten eines solchen
Netzes übertragen
zu werden, werden zunächst
von der Master-Einheit empfangen, die dann zu einer der Slave-Einheiten
die Daten weiter sendet, die anfangs für letztere bestimmt waren.
-
Es
ist im Übrigen
häufig
vorteilhaft, in einer Kommunikationseinheit die von dieser Einheit
ausgeführten
Funktionen auf zwei Prozessoren zu verteilen, die durch eine interne
Verbindung der Einheit miteinander verbunden sind.
-
Der
erste Prozessor kann spezieller für die Ausführung einer besonderen Anwendung
ausgelegt sein. Zu diesem Zweck kann er spezifische Mittel umfassen,
die für
die Ausführung
des Programms dieser Anwendung geeignet sind, wie bestimmte Speicherelemente
oder ein bestimmtes Kontrollelement für Schnittstellen zur Eingabe
von Eingängen
und/oder zur Darstellung von Daten, die für einen Benutzer der Einheit
bestimmt sind.
-
Der
zweite Prozessor führt
so genannte niederstufige Operationen aus, die für die Übertragung von Daten zwischen
dieser Kommunikationseinheit und einer zum Netz gehörenden äußeren Einheit
erforderlich sind. Er konfiguriert insbesondere die Daten in einer
an ihre Übertragung
angepassten Form, wie insbesondere eine Verteilung der Daten in
Paketen, die an den zwischen den einzelnen Kommunikationseinheiten
verwendeten Übertragungstyp
angepasst sind. Er steuert außerdem
einen Sender/Empfänger
von Signalen, die mit den äußeren Kommunikationseinheiten
ausgetauscht werden.
-
Ein
solches Modell des zweiten Prozessors kann allen Kommunikationseinheiten
gemeinsam sein, die nach einem gemeinsamen Übertragungsmodus arbeiten.
Daraus ergibt sich durch Skaleneffekt bei der Herstellung des zweiten
Prozessors eine Reduzierung seiner Kosten. Dagegen kann dieser zweite
Prozessor in ein und derselben Einheit einem ersten Prozessor zugeordnet
sein, dessen Modell in Abhängigkeit
von der Hauptanwendung, die in dieser Einheit ausgeführt werden
soll, veränderlich
ist. Auf diese Weise ist eine Spezialisierung jeder Kommunikationseinheit
möglich,
wobei man gleichzeitig den Vorteil der mit dem zweiten Prozessor
verbundenen Kostenreduzierung erhält.
-
Im
Nachstehenden wird eine Aufteilung der Funktionen auf die beiden
Prozessoren einer Kommunikationseinheit betrachtet, bei der die
von dem ersten Prozessor ausgeführte
Anwendung die Übertragung
der diese Anwendung betreffenden Daten in dem gesamten Netz betrifft.
Insbesondere wird die Datenübertragung
zwischen zwei Slave-Einheiten durch die Anwendung selbst kontrolliert,
die eine Drehpunktfunktion zur Rückübertragung
von Daten zu einer Slave-Einheit in Abhängigkeit von der identifizierten
Zieleinheit dieser Daten erfüllt.
Eine solche Aufgabe fällt
gewöhnlich
dem in der Master-Einheit vorliegenden Anwendungsprogramm zu, da
dieses allein in der Lage ist, alle sich auf die Anwendung beziehenden
Daten zu interpretieren, und damit zu bestimmen, ob eine Behandlung
an diesen Daten vorgenommen werden muss oder ob diese ohne Änderung
zu einer der Slave-Einheiten rückübertragen werden
müssen.
-
Alle
zwischen zwei beliebigen Einheiten des Netzes ausgetauschten Daten
werden also zu dem ersten Prozessor der Master-Einheit über die
interne Verbindung dieser Einheit zwischen den beiden Prozessoren übertragen.
Daraus ergibt sich ein Energieverbrauch, der mit dieser internen Übertragung
verbunden ist, der umso beträchtlicher
ist, je beträchtlicher
die Menge an in dem Netz ausgetauschten Daten ist. Wenn die Master-Einheit
eine autonome Versorgungsquelle vom Typ Zellen oder Batterien besitzt,
ist ihre Autonomie infolge der internen Übertragung einer großen Datenmenge
reduziert.
-
Ein
anderer Nachteil der Übertragung
einer großen
Datenmenge zwischen den beiden Prozessoren der Master-Einheit liegt
in der Notwendigkeit die interne Übertragungsverbindung zwischen
den zwei Prozessoren mit einem ausreichenden Puf ferspeicher zu versehen.
Abgesehen von den Kosten dieses Pufferspeichers verursacht dieser
noch einen zusätzlichen
Energieverbrauch.
-
Ein
Ziel der vorliegenden Erfindung besteht darin, diese Nachteile zu
beseitigen.
-
Die
Erfindung betrifft zu diesem Zweck ein Verfahren zur Funkübertragung
von Datenpaketen in einem örtlichen
Netz, umfassend mindestens drei Kommunikationseinheiten, wobei eine
dieser Einheiten die Rolle einer Master-Einheit spielt und die anderen
Einheiten die Rolle von Slave-Einheiten spielen, die durch die Master-Einheit
koordiniert werden, wobei die Master-Einheit einen ersten und einen
zweiten Prozessor umfasst, die miteinander durch eine interne Verbindung
der Master-Einheit verbunden sind. Der erste Prozessor führt eine
Anwendung aus und der zweite Prozessor führt Datenübertragungsoperationen zwischen
der Master-Einheit
und einer der Slave-Einheiten aus. Erfindungsgemäß umfasst das Verfahren die
folgenden Schritte für
die Übertragung von
durch eine erste Slave-Einheit erzeugten Daten zu einer zweiten
Slave-Einheit:
- a – Sendung von ersten Datenpaketen
durch die erste Slave-Einheit;
- b – Empfang
der ersten Datenpakete durch die Master-Einheit;
- c – auf
Höhe einer
Protokollschicht, die eine Formung und eine Wiederherstellung von über die
interne Verbindung der Master-Einheit ausgetauschten Daten gewährleistet,
Analyse von den ersten Datenpaketen zugeordneten Adressierungselementen
durch den zweiten Prozessor, um zu bestimmen, ob gewisse Adressierungselemente
eine in einer Umadressierungsvorschrift spezifizierte Bedingung
erfüllen;
und
- d – wenn
die Bedingung erfüllt
ist, Sendung von zweiten Datenpaketen, die den ersten Datenpaketen
entsprechen, durch die Master-Einheit zur zweiten Slave-Einheit.
-
Abgesehen
von der erwähnten
Verringerung des Energieverbrauchs der Master-Einheit liegt ein Vorteil
des erfindungsgemäßen Verfahrens
in einer Verringerung der Übertragungsdauer
zwischen zwei Slave-Einheiten. Derartige Daten laufen nämlich nicht
mehr über
den ersten Prozessor der Master-Einheit, was folglich die mit der Übertragung
zwischen den beiden Prozessoren der Master-Einheit verbundenen Verzögerungen
beseitigt. Unter den beseitigten Verzögerungen befinden sich diejenigen
der Schritte der Formung der Daten für die Übertragung zwischen den beiden
Prozessoren, der Bereitstellung der Daten in einem Pufferspeicher
vor dieser Übertragung
sowie der Behandlung der Daten durch die Anwendung in dem ersten
Prozessor.
-
Bei
einer bevorzugten Ausführungsform
der Erfindung, wenn manche der analysierten Adressierungselemente
nicht die spezifizierte Bedingung erfüllen, überträgt der zweite Prozessor zum
ersten Prozessor über
die interne Verbindung der Master-Einheit im Schritt d mindestens
einen Teil der Daten, die den ersten Paketen entsprechen, denen
diese Adressierungselemente zugeordnet sind. Auf diese Weise stört das erfindungsgemäße Verfahren nicht
den Zugang zum Anwendungsprogramm der Master-Einheit für Daten,
die für
dieses Programm bestimmt sind und von einer beliebigen der Slave-Einheiten kommen.
Der zweite Prozessor besitzt also eine Funktion der Weichenstellung
der Daten, die allen ersten von der Master-Einheit empfangenen Paketen
entsprechen, entweder zu einer Slave-Einheit in Form von zweiten
wieder gesendeten Paketen oder zu dem ersten Prozessor über die
interne Verbindung der Master-Einheit.
-
Die
in dem ersten Prozessor der Master-Einheit ausgeführte Anwendung
kombiniert als Programm, das die Kontrolle der zwischen den einzelnen Einheiten
ausgetauschten Daten gewährleistet, Adressierungselemente
miteinander, ausgehend von denen die Umadressierungsvorschrift erzeugt
wird. Diese einander zugeordneten Adressierungselemente werden über die
interne Verbindung der Master-Einheit zum zweiten Prozessor übertragen.
Sie können
durch eine spezifische Abfragung der Slave-Einheiten durch die Master-Einheit
erhalten werden. Sie können
auch von dem zweiten Prozessor in Signalisationspaketen gelesen
werden, die bei den Verbindungserstellungen zwischen den Slave-Einheiten
und der Master-Einheit ausgetauscht werden.
-
Diese
Umadressierungsvorschrift besitzt zwei Funktionen. Einerseits spezifiziert
sie Auswahlkriterien, die von dem zweiten Prozessor eingesetzt werden,
um aus den von der Master-Einheit von Seiten der Slave-Einheiten
empfangenen Datenpaketen diejenigen auszusortieren, die für eine andere
Slave-Einheit bestimmt sind, und zwar ohne Zwischenbearbeitung durch
das in der Master-Einheit liegende Anwendungsprogramm. Diese Auswahl
wird auf der Basis der in der Umadressierungsvorschrift spezifizierten
Bedingung vorgenommen, die manche der den Paketen zugeordneten Adressierungselemente betrifft.
Diese Adressierungselemente können
durch den zweiten Prozessor nach besonderen Übertragungsparametern bestimmt
werden, wie beispielsweise einen Logikkanalbezug. Sie können auch
mindestens in manchen der Datenpakete, die die Master-Einheit von
den Slave-Einheiten empfängt,
gelesen werden, und zwar auf Höhe
eines Kopfs dieser Pakete oder in den von diesen Paketen transportierten
Daten. In dem letztgenannten Fall enthält die Umadressierungsvorschrift
eine Angabe der Lage der betreffenden Adressierungselemente in den
Datenpaketen. Das oder die in den empfangenen Datenpaketen gelesenen
Adressierungselemente können insbesondere
eine Angabe der Zielkommunikationseinheit für in diesen empfangenen Paketen
enthaltene Daten sein.
-
Gemäß manchen
Kommunikationsmoden sind Daten ein und derselben Kommunikationssitzung
zwischen zwei Einheiten in einer Reihe von Datenpaketen enthalten,
die nacheinander von einer ersten datenerzeugenden Einheit gesendet
werden, und mindestens ein Teil der allen Paketen der Reihe zugeordneten
Adressierungselemente wird von dem ersten Paket der Reihe getragen.
In diesem Fall bestimmt der zweite Prozessor nach dem ersten Paket in
Abhängigkeit
von der Umadressierungsvorschrift und -bedingung die einzeln an
die Gesamtheit der Datenpakete der Reihe anzulegende Behandlung.
-
Die
zweite Funktion der Umadressierungsvorschrift besteht darin, dass
die Aufbauart der zweiten Datenpakete spezifiziert wird, die im
Schritt d gesendet werden und ersten Datenpaketen entsprechen, deren
Adressierungselemente die Umadressierungsbedingung erfüllen. Die
zweiten Datenpakete können
beispielsweise von dem zweiten Prozessor direkt aus den ersten Datenpaketen
erhalten werden, denen sie einzeln entsprechen, indem mindestens
bei machen der ersten Pakete anfangs Adressierungselemente durch
Adressierungselemente ersetzt werden, die der Ziel-Slave-Einheit
der Daten entsprechen.
-
Die
Erfindung betrifft auch ein System zur Übertragung von Datenpaketen,
das für
die Durchführung
eines Übertragungsverfahrens,
wie es oben beschrieben wurde, ausgelegt ist.
-
Die
Erfindung betrifft ferner einen Prozessor zur Steuerung einer Funkübertragung
von Daten in Form von Datenpaketen, umfassend eine Schnittstelle,
die die Verbindung des Steuerprozessors mit einem Host-Prozessor
einer Datenverarbeitungsanwendung gestattet, und außerdem umfasst:
- – Mittel
zum Empfangen von Signalen, die einander zugeordneten Adressierungselementen
entsprechen, durch die Verbindungsschnittstelle;
- – Mittel
zur Erarbeitung einer Umadressierungsvorschrift aus einander zugeordneten
Adressierungselementen, wobei die Umadressierungsvorschrift eine
Umadressierungsbedingung umfasst;
- – Mittel
zur Aufzeichnung der Umadressierungsvorschrift;
- – Mittel
zur Analyse von in Abhängigkeit
von der Umadressierungsbedingung empfangenen Datenpaketen;
- – Mittel
zum Ersetzen von ursprünglichen
Adressierungselementen von mindestens manchen der empfangenen Datenpakete,
die die Umadressierungsbedingung erfüllen, durch neue Adressierungselemente,
die nach der Umadressierungsvorschrift bestimmt werden; und
- – Mittel
zum Steuern einer Sendung von Datenpaketen, die den die Umadressierungsbedingung
erfüllenden
empfangenen Daten entsprechen.
-
Die
ersetzten Adressierungselemente können insbesondere eine Verbindungsangabe
und/oder einen Logikkanalbezug umfassen.
-
Gegebenenfalls
kann der Kontrollprozessor außerdem
Mittel zum Lesen in mindestens manchen der empfangenen Pakete eines
Logikkanalbezugs und/oder einer Angabe der Zielkommunikationseinheit
der in den empfangenen Paketen enthaltenen Daten umfassen.
-
Er
kann ferner Mittel zum Übertragen
von Daten, die empfangenen Paketen entsprechen, die nicht die Umadressierungsbedingung
erfüllen, über die
Verbindungsschnittstelle umfassen.
-
Die
Erfindung betrifft ferner eine Funkkommunikationseinheit, die einen
solchen Kontrollprozessor umfasst.
-
Sie
betrifft schließlich
einen Host-Prozessor mindestens einer Anwendung, umfassend Mittel
zur Durchführung
der Anwendung, Mittel zur Verwaltung der Kommunikation in einem örtlichen
Netz als Master-Einheit und Mittel zum Zuordnen von Adressierungselementen
von Datenpaketen zueinander, wobei der Host-Prozessor außerdem eine
Schnittstelle zur Verbindung eines Prozessors zur Steuerung einer Übertragung
von Datenpaketen in einem örtlichen
Netz umfasst, und Mittel zur Übertragung
von Signalen, die den Adressierungselementen entsprechen, die einander
zugeordnet sind oder durch die Anwendung behandelte Daten tragen,
durch die Verbindungsschnittstelle.
-
Weitere
Besonderheiten und Vorteile der vorliegenden Erfindung ergeben sich
aus der nachstehenden Beschreibung eines nicht begrenzenden Ausführungsbeispiels
unter Bezugnahme auf die beiliegende Zeichnung. In dieser Zeichnung
zeigen:
-
1 eine
Darstellung eines örtlichen
Netzes, auf das die Erfindung anwendbar ist,
-
2 eine
Darstellung der Struktur von Protokollen einer Master-Einheit, auf
die die Erfindung anwendbar ist,
-
3 eine
Darstellung einer Struktur von Datenpaketen, die zwischen den beiden
Prozessoren der Master-Einheit von 2 ausgetauscht
werden,
-
4 eine
Darstellung der Struktur von Protokollen eines erfindungsgemäßen Steuerprozessors.
-
Die
Erfindung wird nun ausführlich
für ein Übertragungsnetz
gemäß der Norm "BluetoothTM", das
dem Fachmann bekannt ist, beschrieben.
-
Die
Norm Bluetooth betrifft insbesondere die Datenübertragung zwischen mehreren
Kommunikationseinheiten, die ein örtliches Netz bilden, "Piconetz" genannt. Dieses
Netz umfasst bei dem im Nachstehenden betrachteten Arbeitsmodus
eine Master-Einheit, wie sie oben angeführt wurde, und höchstens sieben
Slave-Einheiten, die durch die Master-Einheit koordiniert werden. Gemäß einer
Besonderheit der von der Norm Bluetooth spezifizierten "Piconetze" sind alle Kommunikationseinheiten
eines "Piconetzes" gegenüber den
Master- oder Slave-Einheitrollen austauschbar. Zu diesem Zweck sind
in jede Kommunikationseinheit Mittel zum Koordinieren der Kommunikationen
in einem "Piconetz" und Mittel integriert, um
auf ein durch eine äußere Master-Einheit
ko ordinierte Weise zu arbeiten, wobei diese Mittel in Abhängigkeit
von der Kommunikationseinheit, die die Rolle einer Master-Einheit
spielt, abwechselnd aktiviert werden.
-
1 zeigt
drei Einheiten eines "Piconetzes", von denen die Einheit 1 die
Master-Funktion erfüllt.
Diese Funktion fällt
in der ganzen folgenden Beschreibung der Einheit 1 zu.
Die Einheiten 100 und 200 sind Slaves. Jede Einheit 1, 100, 200 kann
von unterschiedlichem Typ sein, wie zum Beispiel eine Informatikeinheit,
eine Spielkonsole, eine Tastatur, ein Bildschirm, ein Drucker, ein
Domotikinstrument, ein Kommunikationsterminal und so weiter. Sie
enthält mindestens
ein anwendendes Programm oder Anwendungsprogramm, das insbesondere
dieser Einheit gestattet, ihre Hauptfunktion zu erfüllen, und zwar
eine Datenverarbeitung für
eine Informatikeinheit oder eine Spielkonsole, eine Dateneingabe durch
eine Tastatur, eine Datenanzeige bei einem Bildschirm, einen Ausdruck
bei einem Drucker und so weiter.
-
Auf
eine im Bereich der Kommunikationen übliche Weise ist jede Einheit
gemäß einem
Stapel von Protokollen ausgebildet, der ihr gestattet, Daten mit
den anderen Einheiten des "Piconetzes" auf kompatible Weise
auszutauschen. Zu diesen Protokollen können beispielsweise gehören:
- – ein
Sendungs- und Empfangssteuerungsprotokoll RF, das den Schichten 105 und 205 der
Einheiten 100 und 200 entspricht;
- – ein
Protokoll zur Durchführung
von so genannten niederstufigen Übertragungsoperationen (oder "Baseband"), wie das Protokoll "Link Controller" (oder LC), das dem
Fachmann bekannt ist und den Schichten 106 und 206 der
Einheiten 100 und 200 entspricht;
- – ein
den Schichten 107 und 207 entsprechendes Protokoll
zur Initialisierung und Verwaltung der Kommunikationen zwischen
den Einheiten des "Piconetzes", wie zum Beispiel
das ebenfalls dem Fachmann bekannte Protokoll "Link Manager" (oder LM);
- – ein
Protokoll zur Multiplexierung der Signale, die insbesondere für verschiedene
Anwendungen bestimmt sind. Dies kann das ebenfalls dem Fachmann
bekannte Protokoll "Logical
Link Control and Adaptation Protocol" (oder L2CAP) sein. Die Schichten 110 und 210 des
Protokolls L2CAP gewährleisten
außerdem
insbesondere die Formung der Daten, die zur Übertragung bestimmt sind, zu Paketen,
oder, umgekehrt, die Umgruppierung von in aufeinander folgenden
Paketen empfangenen Daten; und
- – mindestens
ein in jeder Einheit liegendes Anwendungsprogramm 111, 211.
Diese Anwendungsprogramme sind die endgültigen Ziele der in einem "Piconetz" ausgetauschten Daten.
Mehrere Einheiten, die eine bestimmte Anwendung betreffende Daten
austauschen, müssen
jeweils ein Programm dieser Anwendung enthalten, um die im Rahmen
dieser Anwendung ausgetauschten Daten zu erzeugen, zu interpretieren
und zu verarbeiten.
-
Jede
Anwendung wird durch einen spezifischen Wert einer Anwendungsangabe,
vom Fachmann "Protocol
Service Multiplexer" (oder
PSM) genannt, identifiziert. Diese Angabe gestattet insbesondere
der Schicht L2CAP jeder Einheit 1, 100, 200,
die Daten, die in jedem von dieser Einheit empfangenen L2CAP-Datenpaket
enthalten sind, dem in dieser Einheit installierten Anwendungsprogramm
zuzuteilen, das der Anwendung entspricht, auf die sich die Daten
beziehen.
-
Es
sind zwei Strukturen für
jede Kommunikationseinheit möglich.
Bei einer dieser Strukturen, gewöhnlich "embedded" bezeichnen, werden
die Operationen aller oben genannten Protokolle sowie diejenigen
der Anwendungsprogramme in einem einzigen Prozessor der Einheit
ausgeführt.
Die Einheiten 100 und 200 von 1 besitzen
diese Struktur.
-
Für die Durchführung der
Erfindung besitzt die Master-Einheit 1 eine
andere Struktur mit zwei Prozessoren, die in 2 ausführlich dargestellt
ist. Ein erster Prozessor 2, Host genannt (oder "Host-Prozessor"), beherbergt mindestens
ein Programm einer von der Einheit 1 gestützten Anwendung 11,
sowie das Protokoll L2CAP 10. Ein zweiter Prozessor 3,
Kontroll-Prozessor genannt (oder "host controller processor"), beherbergt die
so genannten niederstufigen Niveaus, die den die Funkübertragung betreffenden
Arbeitsgängen
entsprechen, und zwar die Schichten 5, 6 und 7 der
Protokolle RF, LC und LM.
-
Bei
dieser Struktur mit zwei Prozessoren sind die Prozessoren 2 und 3 miteinander
verbunden, um über
eine interne Verbindung 4 der Einheit 1 Daten
auszutauschen. Diese Verbindung 4 kann von verschiedenen
Arten sein, wie zum Beispiel eine USB-Verbindung ("Universal Serial
Bus") oder eine UART-Verbindung
("Universal Asynchronous
Receiver Transceiver").
Sie entspricht den Datenaustauschschnittstellen 4b und 4a der
Prozessoren 2 und 3. Zwei Schichten 8 und 9 eines
zusätzlichen Protokolls,
das das dem Fachmann bekannte Protokoll "Host Controller Interface" (oder HCI) sein
kann, gewährleisten
in jedem Prozessor 2, 3 die Formung und Wiedergabe
der über
ihre Schnittstellen 4b und 4a ausgetauschten Daten.
Die von dem Kontroll-Prozessor 3 getragene Schicht 8 wird "HCI firmware" genannt und die
von dem Host- Prozessor 2 getragene Schicht 9 wird "HCI driver" genannt. Die von
der internen Verbindung 4 ausgetauschten Daten sind auf spezifische
Datenpakete verteilt, HCI-Pakete genannt.
-
Der
Datenaustausch zwischen vom "Piconetz" verschiedenen Einheiten
wird in Form von durch Funk übertragenen
Datenpaketen vorgenommen, indem beispielsweise das Frequenzband 2400–2483,5
Megahertz verwendet wird. Im Zusammenhang mit der Norm Bluetooth
beschränkt
man sich im Folgenden auf eine asynchrone Kommunikationsart ("Asynchronous Connection-Less link" oder ACL) zwischen
den verschiedenen Einheiten des "Piconetzes". Dieser Modus ist
besonders an die Übertragung
von Daten angepasst, die gegebenenfalls Audiodaten oder Videodaten
sein können,
im Gegensatz zu einer Sprachübertragung.
-
Bei
dem Betrieb des betreffenden "Piconetzes" sind alle von einer
beliebigen Einheit des Netzes gesendeten Daten für eine andere bestimmte Einheit des
Netzes bestimmt. Diese Arbeitsweise wird mit "Spitze zu Spitze" bezeichnet. Zu diesem Zweck sind jedem übertragenem
Datenpaket Adressierungselemente zugeordnet, die es gestatten, die
einzige Zieleinheit der Daten dieses Paketes zu bestimmen.
-
Nach
der sternförmigen
Kommunikationsstruktur in einem "Piconetz" mit einer Funktion
der Lenkung der Daten für
die Master-Einheit in der Mitte des Sterns, sind von der Slave-Einheit gesendete Datenpakete
systematisch an erster Stelle an die Master-Einheit adressiert.
Das in der Master-Einheit liegende Anwendungsprogramm muss nun bestimmen,
ob diese Daten für
sie bestimmt sind oder ob sie für
das in einer der anderen Slave-Einheiten liegende Anwendungsprogramm
bestimmt sind.
-
Man
geht davon aus, dass zwischen der Master-Einheit 1 und
der Slave-Einheit 100 einerseits und zwischen der Master-Einheit 1 und
der Slave-Einheit 200 andererseits eine ACL-Verbindung hergestellt
ist. Die drei Einheiten sind also in Datenempfangsbereitschaft,
was der Fachmann mit dem Zustand "open" bezeichnet.
Von diesem Zustand aus kann die Slave-Einheit 100 Daten entweder
zur Master-Einheit 1 oder zur Slave-Einheit 200 senden.
In beiden Fällen
werden diese Daten in Form von Paketen übertragen, die in einem ersten
Schritt von dem Kontrollprozessor 3 der Master-Einheit 1 empfangen werden,
die deren Inhalt entweder zum Hostprozessor 2 über die
interne Verbindung 4 oder zur Slave-Einheit 200 über eine
zweite Funksendung übertragen
muss.
-
3 zeigt
eine Struktur eines Datenpakets 80, das von der Slave-Einheit 100 auf
Höhe der
Protokollschicht L2CAP 110 gesendet wird. Auf bekannte
Weise kann dieses Datenpaket 80 die folgenden Felder aufweisen:
- – ein
beispielsweise auf 65533 Bytes beschränktes Datenfeld 83 (oder "payload"), das für Daten vorgesehen
ist, die dazu bestimmt sind, von dem Anwendungsprogramm 11 der
Master-Einheit 1 oder durch Berechnung 211 der
Slave-Einheit 200 bearbeitet zu werden;
- – ein
Feld 81, das die Länge
des Felds 83 in Bytes angibt; und
- – ein
Feld 82 von zwei Bytes, das einen Logikkanalbezug ("Channel IDentifier" oder CID) enthält, der
durch das Anwendungsprogramm 11 des Masters 1 Datenpaketen 80 zugeteilt
wird, die von dem Slave 100 gesendet werden.
-
Mehrere
verschiedene CIDs können
von dem Anwendungsprogramm 11 betroffen sein, das durch
die Angabe PSM für
Datenpakete L2CAP, die von der Slave-Einheit 100 gesendet
werden, identifiziert wurde. In diesem Fall können zwei verschiedene CIDs
verwendet werden, so dass von der Slave-Einheit 100 gesendete
Pakete, die für
das Anwendungsprogramm 11 der Master-Einheit bestimmte
Daten enthalten, einerseits, von der Slave-Einheit 100 gesendeten
Paketen, andererseits, unterschieden werden, die für das Anwendungsprogramm 211 der
Slave-Einheit 200 bestimmte Daten enthalten. In diesem Fall
gestattet es die Bestimmung des CID der Datenpakete L2CAP auf Höhe des Kontrollprozessors 3, die
in diesen enthaltene Daten entweder zum Hostprozessor 2 über die
interne Verbindung 4 oder für eine Weitersendung per Funk
zu der Slave-Einheit 200 zu
lenken.
-
Das
von der Angabe PSM identifizierte Anwendungsprogramm 11 kann
auch denselben CID von der Slave-Einheit 100 gesendeten
Paketen L2CAP zuteilen, die Daten enthalten, die für das Anwendungsprogramm 11 des
Mastes 1 oder für
das Anwendungsprogramm 211 der Slave-Einheit 200 bestimmt
sind. In diesem Fall ist der Prozessor 3 zur Durchführung des
erfindungsgemäßen Verfahrens programmiert,
um in dem Datenfeld 83 ein zusätzliches Adressierungselement
zu lesen, das die Unterscheidung der Master-Einheit 1 von
der Slave-Einheit 200 als Ziel der Daten des Pakets L2CAP
gestattet.
-
Um über die
Verbindung 4 zwischen der von dem Kontrollprozessor 3 beherbergten
Schicht HCI "firmware" 8 und der
von dem Hostprozessor 2 in der Master-Einheit 1 beherbergten
Schicht HCI "driver" 9 übertragen
zu werden, werden die Datenpakete L2CAP in aufeinander folgende
Segmente zerschnitten, die in einzeln übertragenen Paketen HCI verkapselt
sind. Auf dem Fachmann bekannte Weise umfasst jedes Paket HCI 50, 60, 70 (3)
die folgenden Felder:
- – ein Feld 51 von
12 Bits, das einer Übertragungskanalangabe
auf Höhe
der Protokollschicht HCI vorbehalten ist, Verbindungsangabe (oder "connection handle") genannt. Die Verbindungsangabe
kann als ein Tunnel betrachtet werden, der speziell für die Übertragung
von Daten HCI zwischen zwei Kommunikationseinheiten vorgesehen ist;
- – ein
Datenfeld 55, in dem ein Datenpaketsegment L2CAP 80 angeordnet
ist;
- – ein
Feld von zwei Bytes für
die Angabe der Länge
der Daten, ausgedrückt
in Bytes;
- – ein
Feld 53 einer Angabe eines Ausstrahlungskommunikationsmodus
("BroadCast flag" oder BC). Dieses
Feld enthält
den Wert 00, der für
den für
die Durchführung
der Erfindung herangezogenen Spitze-zu-Spitze-Betrieb vorgesehen
ist; und
- – ein
Feld 52 einer Folgeangabe einer Reihe von Paketen HCI ("Packet Boundary" oder PB), die einen
Wert 01 oder 10 erhält,
je nachdem, ob das Pakt HCI das erste Paket einer Reihe von Paketen
HCI ist oder nicht, die als Daten aufeinander folgende Segmente
ein und desselben L2CAP-Pakets transportieren.
-
Die
von der Slave-Einheit 100 gesendeten Daten werden von dem
Prozessor 3 in Form von L2CAP-Paketen 80 empfangen,
die in einer Reihe von aufeinander folgenden HCI-Paketen 50, 60, 70, ...
verteilt sind. Alle HCI-Pakete einer gemeinsamen Serie, die den
Wert 10 in dem Feld PB 52 besitzen, nach einem ersten HCI-Paket
der Reihe mit dem Wert 01 in diesem Feld sind also demselben Logikkanal
zugeordnet, der durch ein und denselben Wert von CID gekennzeichnet
ist.
-
Der
Prozessor 3 bestimmt auf Höhe der Schicht HCI "firmware" 8 die jedem
HCI-Paket zu verleihende Richtung in Abhängigkeit von diesem HCI-Paket
zugeordneten Adressierungsele menten. Zu diesem Zweck ist eine Zuordnungseinheit
zwischen identifizierten Adressierungselementen auf Höhe der Schicht
HCI "firmware" 8 gespeichert,
die es gestatten, den Inhalt jedes HIC-Pakets entweder zum Hostprozessor 2 oder
für eine
Wiedersendung zur Slave-Einheit 200 zu richten.
-
Gemäß einer
ersten Ausführungsform
der Erfindung wird diese Richtung bestimmt in Abhängigkeit
von dem CID des L2CAP-Pakets,
das in einer Reihe von nacheinander empfangenen HCI-Paketen 50, 60, 70,
... enthalten ist. Die Slave-Einheit 200 und die
Master-Einheit 1 werden nun jeweiligen CIDs zugeordnet,
die für
von der Slave-Einheit 100 gesendete Paketen, die für die Slave-Einheit 200 oder
für die Master-Einheit 1 bestimmte
Daten enthalten, verschieden sind. Das erste HCI-Paket 50 einer
Reihe, das einem gegebenen L2CAP-Paket entspricht, wird nach seinem
Feld PB 52 identifiziert, und der charakteristische CID-Wert
des L2CAP-Datenpakets
wird in dem Feld 55 dieses ersten HCI-Pakets 50 gelesen. Dieser
gelesene CID-Wert wird nun automatisch allen späteren HCI-Paketen zugeordnet,
die sich auf dasselbe L2CAP-Datenpaket beziehen und in ihrem jeweiligen
Feld PB 52 den Wert 10 tragen, und zwar bis zur Lesung
des Werts 01 in dem Feld PB 52 eines HCI-Pakets, das den
Anfang einer neuen Reihe markiert, die einem anderen L2CAP-Datenpaket
zugeordnet ist.
-
Wenn
der gelesene CID-Wert demjenigen entspricht, der Daten vorbehalten
ist, die für
das Anwendungsprogramm 11 der Master-Einheit 1 bestimmt
sind, überträgt der Kontrollprozessor 3 alle aufeinander
folgenden HCI-Pakete 50, 60, 70, ...
der Reihe zum Hostprozessor 2 über die interne Verbindung 4.
Die Daten dieser HCI-Pakete werden nun auf herkömmliche Weise durch die Schichten 9 und 10 übertragen,
und dann durch das Anwendungsprogramm 11, wenn der zugeordnete
Wert von PSM dem Anwendungsprogramm 11 entspricht.
-
Wenn
der gelesene CID-Wert demjenigen entspricht, der für Daten
vorbehalten ist, die für
das Anwendungsprogramm 211 der Slave-Einheit 200 bestimmt
sind, ersetzt der Kontrollprozessor 3 in dem Feld 55 des
ersten HCI-Pakets 50 der Reihe den anfänglichen Wert von CID, der
zwischen der Slave-Einheit 100 und der Master-Einheit 1 übertragenen
Paketen für
Daten entspricht, die für
die Slave-Einheit 200 bestimmt sind, durch den CID-Wert, der
von der Slave-Einheit 100 kommenden Datenpaketen vorbehalten
ist, die von der Master-Einheit 1 zur Slave-Einheit 200 zurückübertragen
werden. Das im Feld 55 des ersten HCI-Pakets 50 angezeigte PSM
ist unverändert.
Alle HCI-Pakete der Reihe 50, 60, 70,
..., werden nun nacheinander durch den Prozessor 3 gemäß dem CID-Wert,
der dem L2CAP-Paket zugeordnet ist, dem sie entsprechen, für ihre Sendung
zu der Slave-Einheit 200 bearbeitet. Insbesondere wird
die anfängliche
Verbindungsangabe 51 jedes HCI-Pakets durch die Verbindungsangabe
ersetzt, die der Übertragung
von HCI-Paketen von der Master-Einheit 1 zu
der Slave-Einheit 200 gewidmet ist. So besitzt auf HCI-Höhe ein von
der Master-Einheit 1 zur Slave-Einheit 200 zurückgesendetes
Datenpaket eine Struktur, die mit derjenigen eines von der Slave-Einheit 100 kommenden
HCI-Pakets identisch
ist, und zwar abgesehen von der Verbindungsangabe 51 und
dem CID 82 für
das erste HCI-Paket einer Reihe, das einem gegebenen L2CAP-Datenpaket
entspricht. Der neue CID-Wert 82 ist derjenige, der den
Rückübertragungen
von von der Slave-Einheit 200 kommenden Daten durch die
Master-Einheit 1 zur Slave-Einheit 200 zugeteilt
ist. Die neue Verbindungsangabe 51 ist diejenige, die den
Datenübertragungen
ACL zwischen der Master-Einheit 1 und der Slave- Einheit 200 zugeteilt
ist. Die Daten 83 des L2CAP-Pakets 80 werden dann
durch das Anwendungsprogramm 211 bearbeitet, wenn der zugeordnete
Wert von PSM dem Anwendungsprogramm 211 entspricht.
-
Gemäß einer
zweiten Ausführungsform
der Erfindung sind die Slave-Einheit 200 und die Master-Einheit 1 Logikkanälen 82 zugeordnet,
die für
von der Slave-Einheit 100 gesendete Pakete identisch sind
und Daten enthalten, die entweder für die Slave-Einheit 200 oder
für die
Master-Einheit 1 bestimmt sind. Infolgedessen gestattet
der in dem ersten HCI-Paket 50 der
Reihe gelesene Wert von CID, der sich auf dasselbe L2CAP-Datenpaket
bezieht, nicht mehr, die Kommunikationseinheit des "Piconetzes" zu bestimmen, für die die
Daten bestimmt sind. Die Analyse der den HCI-Paketen 50, 60, 70,
... zugeordneten Adressierungselemente durch den Prozessor 3 umfasst
nun das Lesen mindestens eines zusätzlichen Adressierungselements
mindestens in manchen der HCI-Pakete,
um die Zielkommunikationseinheit zu bestimmen. Dieses Adressierungselement,
das in dem Datenfeld 55 des ersten HCI-Pakets 50 der
Reihe gelesen wird, ist eine Angabe der Zieleinheit der Daten. Diese
Angabe kann beispielsweise eine unterscheidende Bluetooth-Adresse
sein, die dieser Einheit bei ihrer Herstellung zugeteilt wurde (oder
BD ADDR), oder eine durch das Anwendungsprogramm 11 zugeteilte
Logikadresse, "application
slave identifier" (APP
ID) genannt.
-
Zu
diesem Zweck muss die Umadressierungsvorschrift eine Angabe der
Stelle im Datenfeld 55 enthalten, an der sich die Angabe
der Zieleinheit der Daten befindet. Diese Angabe hat beispielsweise die
Form einer Anzahl von Bytes (bekannt unter der Bezeichnung "offset"), die vom ersten
Byte eines HCI-Pakets aus gezählt
werden. Damit der Prozessor 3 alle HCI-Pakete ein und derselben
Reihe umorientieren kann, muss die Angabe der Zieleinheit in dem
Datenfeld 55 des ersten HCI-Paketes 50 der Reihe
stehen. Der Prozessor 3 bestimmt so die Zieleinheit aller
HCI-Pakete der Reihe nach dem ersten HCI-Paket 50 der Reihe
und adressiert an sie nacheinander alle aufeinander folgenden HCI-Pakete,
indem in jedem von ihnen die anfängliche
Verbindungsangabe 51 durch die Verbindungsangabe ersetzt wird,
die einer Übertragung
von der Master-Einheit 1 zur Slave-Einheit 200 zugeteilt
ist. Er ersetzt außerdem
im ersten HCI-Paket 50 den charakteristischen CID-Wert 82 von
HCI-Paketen, die von der Slave-Einheit 100 zur Master-Einheit 1 übertragen
werden, durch den charakteristischen CID-Wert von HCI-Paketen, die
von der Master-Einheit 1 zur Slave-Einheit 200 übertragen
werden. Diese systematische Umlenkung der HCI-Pakete 50, 60, 70,
... durch den Prozessor 3 wird bei dem ersten HCI-Paket
beendet, das in dem Feld PB 52 den Wert 01 besitzt.
-
Die
Analyse und die eventuelle Rückübertragung
von HCI-Paketen,
die oben beschrieben wurden, können
schematisch durch den Zusatz eines HCI-Protokollteils zu dem in
dem Prozessor 3 untergebrachten Protokollstapel illustriert
werden (4). Abgesehen von den in 2 dargestellten
Protokollschichten, die den dem Fachmann bekannten Funktionen entsprechen,
entspricht der Protokollteil 8a mit dem Titel HCI-Schaltung
(oder "HCI-switching") den folgenden Funktionen:
- – Erarbeitung
der Umadressierungsvorschrift aus von der Schnittstelle 4a empfangenen,
einander zugeordneten Adressierungselementen;
- – Speicherung
der Umadressierungsvorschrift;
- – Analyse
der durch die Schicht "HCI
firmware" 8 gemäß der Umadressierungsvorschrift
erzeugten HCI-Pakete; und
- – Lenkung
dieser HCI-Pakete entweder zur Schnittstelle 4a oder zu
einer der Schicht LC 6 entsprechenden Bearbeitung.
-
Die
Umadressierungsvorschrift umfasst eine Schaltungstabelle, die endgültige Adressierungselemente
am Eingang der Tabelle auftretenden Anfangsadressierungselementen
zuordnet.
-
Die
Umadressierungsvorschrift gestattet es zu bestimmen, ob die einem
gegebenen HCI-Paket zugeordneten Adressierungselemente einem der
Anfangsadressierungselemente entsprechen. Im positiven Fall werden
die von der Schaltungstabelle angezeigten endgültigen Adressierungselemente
dem HCI-Paket zugeteilt,
damit dieses zu der Slave-Einheit zurückgesendet wird, für die die
von diesem Paket getragenen Daten bestimmt sind.
-
Eine
erste Methode der Aktualisierung der Schaltungstabelle benutzt die
dem Fachmann bekannte PING-Primitive. Diese Primitive wird von dem Anwendungsprogramm 11 der
Master-Einheit 1 für die Schicht
L2CAP 10 erzeugt und betrifft jede beispielsweise durch
ihre Bluetooth-Adresse (BD_ADDR) identifizierte Slave-Einheit. Diese
Primitive löst
eine Abfrage aller Slave-Einheiten durch die Master-Einheit 1 auf
Höhe der
Schicht L2CAP aus. Auf an sich bekannte Weise kann diese Abfrage
insbesondere mit der Funksendung eines Pakets vom Typ ECHO_REQUEST
zu jeder Slave-Einheit vor sich gehen. Jede Slave-Einheit antwortet
nun der Master-Einheit 1 mit einem Paket vom Typ ECHO_RESPONSE,
das die der Master-Einheit 1 und
dieser besonderen Slave-Einheit zugeteilten CIDs umfasst, für L2CAP-Datenpakete,
die von der Master- Einheit 1 zu
dieser Slave-Einheit bzw. von dieser Slave-Einheit zur Master-Einheit 1 gesendet werden.
Diese Elemente werden dann zum Anwendungsprogramm 11 der
Master-Einheit 1 durch die PING-Primitive zurückübertragen.
-
Das
Anwendungsprogramm 11 der Master-Einheit 1 verfügt nun über alle
Adressierungselemente, die bei dem Austauschen von sich auf die
betreffende Anwendung beziehenden Daten auftreten, und zwar die
CIDs der Einheiten 100, 200 und der Master-Einheit 1 für jede Übertragungsrichtung,
das BD_ADDR und das APP ID jeder Slave-Einheit. Das Anwendungsprogramm 11 sendet
nun der Schicht HCI "firmware" 8 ein HCI-Steuerpaket,
das bei der Konzeption der Prozessoren 2 und 3 speziell
dafür vorgesehen
wird. Dieses HCI-Paket kann durch einen spezifischen Wert gekennzeichnet
sein, der beispielsweise in dem dem Fachmann bekannten Feld OGF
("Opcode Group Field") dieses Pakets angeordnet
ist. Dieses HCI-Steuerpaket enthält
einen Zuordnungsbefehl zwischen Anfangs- und Endadressierungselementen.
-
Eine
zweite Methode der Aktualisierung der Schaltungstabelle kann in
einer Kennzeichnung durch die Schicht 8 von L2CAP-Signalisierungspaketen
vom Typ CONNECTION REQUEST und CONNECTION RESPONSE bestehen, die
bei der Errichtung einer Verbindung zwischen einer Slave-Einheit und
einer Master-Einheit
verwendet werden. Diese Kennzeichnung ist anfangs auf die Signalisierungspakete
CONNECTION REQUEST konzentriert, die einen der betreffenden Anwendung
entsprechenden Wert von PSM enthalten. Diese zugeordneten Signalisierungspakete
CONNECTOIN RESPONSE enthalten nun die zugeordneten CIDs, die bilateralen
Austauschen zwischen einer gegebenen Slave-Einheit und der Master-Einheit 1 für diese
Anwendung zugeteilt sind. Die Schicht 8 adressiert nun
diese Elemente an das Anwendungsprogramm 11 durch ein speziell
zugeteiltes HCI-Paket. Auf dieselbe Weise wie bei der ersten Aktualisierungsmethode
sendet das Anwendungsprogramm 11 dem Prozessor 3 einen
Befehl der Zuordnung von Adressierungselementen zurück, die
für die
Lenkung der HCI-Pakete 50, 60, 70, ...
erforderlich sind. Umgekehrt entfällt eine solche Zuordnung bei
der Kennzeichnung durch die Schicht 8 von L2CAP-Paketen
zur Schließung
einer Verbindung bei der Zuordnung.
-
Ein
Vorteil dieser zweiten Methode ist, dass sie vollständig im
Inneren der Master-Einheit 1 stattfindet, und zwar im Gegensatz
zu der ersten Methode, die einen spezifischen Austausch von Datenpaketen
zwischen der Master-Einheit 1 und den Slave-Einheiten erfordert.
-
Die
Schicht 8 "HCI
firmware" verfügt also über Zuordnungen
zwischen Adressierungselementen für jedes in dem Hostprozessor 2 untergebrachte Anwendungsprogramm 11,
das durch das PSM der Anwendung identifiziert wird. Die aus diesen
Zuordnungen erarbeitete Umadressierungsvorschrift umfasst die Schaltungstabelle
und die Umadressierungsbedingung. Diese Elemente der Umadressierungsvorschrift
gestatten die Erarbeitung eines Programms zur Lenkung der HCI-Pakete
auf Höhe
der Schicht 8. Befehlslinien dieser Programme sind im Nachstehenden
als Beispiel unter Bezugnahme auf die 3 und 4 angegeben
und zwar für
die Bearbeitung eines von der Slave-Einheit 100 kommenden
Pakets HCI ACL Data, in dem Fall, in dem verschiedene CIDs für Daten
verwendet werden, die für die
Slave-Einheit 200 oder für die Master-Einheit 1 bestimmt
sind:
Wenn PB = 01, dann
das Local_CID im Datenfeld lesen wenn
Local _CID ∈ geschaltete
CIDs auflistet, dann
Ziel_CID (der Slave-Einheit 200)
in der Schaltungstabelle lesen
das BD ADDR der endgültigen Ziel-Einheit
(der Slave-Einheit 200) lesen
das "connection handle (BD ADDR)" suchen
ein
neues HC-Paket ACL Data konstruieren
Feld 51 ← "connection handle
(BD ADDR)"
Feld 52 ← "01"
Felder 53 und 54:
identisch mit denjenigen des empfangenen HCI-Pakets
Feld 55 enthaltend
den Anfang eines L2CAP-Pakets 80:
Feld 81 identisch
mit demjenigen, das im empfangenen HCI-Paket enthalten ist
Feld 82 ← Ziel CID
Feld 83 identisch
mit demjenigen, das in dem empfangenen HCI-Paket enthalten ist
das
neue HCI-Paket ACL Data senden
Angabe der laufenden Reihe HCI-Pakete ← WAHR
Wenn
nicht
das von der Schnittstelle 4a empfangene HCI-Paket ACL
Data senden
Angabe der laufenden Reihe von HCI-Paketen ← FALSCH
Ende
wenn
Wenn nicht (PD = 10)
Wenn Angabe der laufenden Reihe
von HCI-Paketen = WAHR
ein neues HCI-Paket ACL Data konstruieren
Feld 51 ← "connection handle
(BD ADDR)" (dasselbe wie
bei dem letzten HCI-Paket, in dem PB = 01)
Felder 52–55 identisch
mit denjenigen des empfangenen Pakets
das in der Schicht LC 6 empfangene
HCI-Paket ACL Data übertragen
Wenn
nicht
das von der Schnittstelle 4a empfangene HCI-Paket ACL
Data senden
Ende wenn
Ende wenn.