-
Die
vorliegende Erfindung bezieht sich auf kabellose Kommunikation,
und spezieller auf ein Verfahren zum Bearbeiten von Daten, welche
in einer kabellosen Kommunikation zwischen Geräten empfangen wurden für das Unterstützen einer
kabellosen Bluetooth-Technologie.
-
Eine
kabellose Bluetooth-Technologie, welche zur Verfügung gestellt wid, um Verbindungskabel,
welche zwischen zahlreichen Kommunikationsgeräten existieren, zu entfernen,
ist ein industrieller Standard für
ein Ad hoc-Netzwerk, welches eingerichtet ist unter Benutzung einer
Funkverbindung in dem 2,4 GHz-Band zwischen den zahlreichen Kommunikationsgeräten. Die
kabellose Bluetooth-Technologie unterstützt die kabellose Kommunikation
auf eine vergleichsweise kurze Distanz zwischen den zahlreichen
Kommunikationsgeräten
und bietet eine synchrone verbindungsorientierte (SCO) Verbindung und
eine asynchrone verbindungslose (ACL) Verbindung.
-
1 zeigt
schematisch die Struktur eines kabellosen Bluetooth-Kommunikationsgerätes 100. Wie
in 1 gezeigt, gemäß einer
Bluetooth-Spezifikation, wird ein Teil, welcher die kabellose Kommunikation
mit externen Geräten
durchführt,
als ein Bluetooth-Modul 130 oder
ein Host-Controller bezeichnet. Ein Teil, welches eine Funktion
der Bearbeitung der Daten, welche durch das Bluetooth-Modul 130 gemäß einer
Anwendung übertragen
und empfangen wurden, übernimmt,
d. h. eine Funktion, welche für
einen bestimmten Apparaturtyp spezifisch ist, wird als ein Bluetooth-Host 110 bezeichnet.
Und zwar überträgt und empfängt das
Bluetooth-Modul 130 Daten von einem externen Gerät durch
einen kabellosen Kanal. Der Bluetooth-Host 110 überträgt Daten,
welche von der Anwendung empfangen wurden, zu dem Bluetooth-Modul 130,
liest die von dem Bluetooth-Modul 130 empfangenen Daten
und überträgt die empfangenen
Daten zu der Anwendung.
-
In
der derzeitigen Bluetooth-Spezifikation wird ein Teil, welcher eine
Schnittstelle zwischen dem Bluetooth-Host 110 und dem Bluetooth-Modul 130 definiert,
als ein Host Controller Interface (HCl) bezeichnet. In dem HCl können ein
Universal Serial Bus (USB) 120, eine PC-Karte, RS232 und
ein Universal Asynchronous Receiver/Transmitter (UART) als eine Transportschicht
benutzt werden. 2 illustriert schematisch ein
Ver fahren der Bearbeitung von empfangenen Daten in der Bluetooth-HCl-USB-Transportschicht
eines konventionellen kabellosen Bluetooth-Kommunikationsgerätes.
-
In
der Bluetooth-HCl-USB-Transportschicht-Spezifikation weiss, wenn
der Bluetooth-Host Daten
von dem Bluetooth-Modul durch den USB empfangen möchte, der
Bluetooth-Host nicht, ob die Daten, welche von außen durch
die kabellose Verbindung empfangen wurden, in dem Bluetooth-Modul existieren.
Ebenso kann, gemäß der USB-Spezifikation, das
Bluetooth-Modul Daten zu dem Bluetooth-Host nur in Beantwortung
einer Datenanfrage von dem Bluetooth-Host transferieren. Demgemäß fragt
der Bluetooth-Host wiederholt Daten durch ein Abfrageverfahren an,
ungeachtet, ob Daten, welche von außen durch die kabellose Verbindung
empfangen wurden, in dem Bluetooth-Modul existieren. In Bezug auf 2 wird
das Verfahren des Bearbeitens der empfangenen Daten in der konventionellen HCl-USB-Transportschicht
beschrieben.
-
Wenn
der Bluetooth-Host Daten von dem Bluetooth-Modul empfangen möchte, überträgt der Bluetooth-Host
ein "In Packet"-Kommando (bezeichnet
als Packet-IN in 2), welches eine Anforderung
von Daten ist, zu dem Bluetooth-Modul durch den USB (Schritt 210).
Die Typen von Datenanfragen beinhalten eine "Bulk-IN"-Anfrage bei der zuvor erwähnte HCl-Verbindung
und eine "Isochronous-IN"-Anfrage bei der
SCO-Verbindung.
-
Wenn
die Daten, welche von außen
durch die kabellose Verbindung empfangen wurden, in dem Bluetooth-Modul
existieren, überträgt das Bluetooth-Modul
die empfangenen Daten zu dem Bluetooth-Host durch den USB (Schritt 220)
und der Bluetooth-Host antwortet mit einer USB-"ACK (Acknowledge)"-Meldung in Bezug auf die empfangenen
Daten (Schritt 230).
-
Jedoch,
da der Bluetooth-Host nicht weiß,
ob die Daten, welche von außen
durch eine kabellose Verbindung empfangen wurde, in dem Bluetooth-Modul
existieren, kann der Bluetooth-Host eine Datenanfrage zu dem Bluetooth-Modul
durch den USB übertragen,
selbst wenn keine empfangenen Daten in dem Bluetooth-Modul existieren
(Schritt 240a). In diesem Fall, da keine empfangenen Daten
in dem Bluetooth-Modul existieren, sendet das Bluetooth-Modul eine "NAK(Nacknowledge)"-Meldung an den Bluetooth-Host
durch den USB (Schritt 250a).
-
In
diesem Fall, gemäß der derzeitigen
Bluetooth-HCl-USB-Spezifikation, wiederholt der Bluetooth-Host eine
Datenanfrage, bis Daten von dem Bluetooth-Modul empfangen wer den
(Schritt 240b) und das Bluetooth-Modul erzeugt kontinuierlich
eine "NAK"-Meldung (Schritt 250b).
-
Deshalb,
gemäß der derzeitigen
Bluetooth-Spezifikation, wird eine Datenanforderung und "NAK" wiederholt, selbst
wenn keine Daten in dem Bluetooth-Modul existieren. Demnach wird
ein exzessiver Overhead (Mehraufwand) erzeugt. Und zwar benutzen
wiederholte Datenanforderung (Bulk-IN oder Isochronous-IN) von dem
Bluetooth-Host einen übermäßig großen Anteil
der Bandbreite des USB-Netzwerkes. Als ein Ergebnis wird die Gesamtübertragungsgeschwindigkeit
durch das gesamte USB reduziert und die Bearbeitungsgeschwindigkeit
der Bluetooth-Kommunikationsgeräte wird
ebenso reduziert.
-
"Host Controller Interface
Functional Specification"-Bluetooth-Spezifikationsversion
1.0 B vom 29. November 1999, Seiten 517-539 bezieht sich auf funktionale
Spezifikationen für
das Host Controller Interface HCl (Host-Steuerungs-Schnittstelle).
Ein einheitliches Verfahren zum Zugriff auf die Bluetooth-Basisfähigkeiten
wird beschrieben. Ein Bluetooth-Host
ist mit der Bluetooth-Hardware über
einen physikalischen Bus, wie beispielsweise USB oder PC-Card, verbunden.
Der Host empfängt
eine asynchrone Benachrichtigung von HCl-Ereignissen, unabhängig, welche
Host Controller-Transportschicht benutzt wird. Wenn ein Ereignis
aufgetreten ist, wird das empfangene Ereignispaket analysiert, um
festzustellen, welches Ereignis aufgetreten ist.
-
US-A-5
247 617 bezieht sich auf ein Verfahren, um Daten zu einem gepufferten
UART zu liefern. Asynchrone Kommunikationsgeräte sind mit Computersystemen
verbunden unter Benutzung eines UART (Universal Asynchronous Receiver
Transmitter). Um ein Zeichen zu senden, speichert der Prozessor
dieses in einem Chip-Holding-Register. Um Daten zu übertragen,
wird der Prozessor unterbrochen, wenn die Anzahl von Zeichen in
dem Ausgabe-FIFO unter eine bestimmte Zahl fällt.
-
Um
die oben genannten Probleme zu lösen, ist
es die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Bearbeiten
von empfangenen Daten in einem Kommunikationsgerät, welches kabellose Bluetooth-Kommunikation
unterstützt,
zur Verfügung zu
stellen, welche fähig
ist, die Verschwendung von Bandbreite aufgrund unnötiger Datenanfragen
zu verhindern durch einen Bluetooth-Host, welcher Datenanfragen
durch einen Universal Serial Bus nur dann erzeugt, wenn empfangene
Daten in einem Bluetooth-Modul
existieren.
-
Gemäß einem
Aspekt der vorliegenden Erfindung ist ein Kommunikationsgerät zur Verfügung gestellt
für das
Unterstützen
von kabelloser Bluetooth-Kommunikation unter Benutzung des zuvor
beschriebenen Datenverarbeitungsverfahrens.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung wird ein computerlesbares
Aufnahmemedium zur Verfügung
gestellt, auf welchem computerausführbare Programme aufgezeichnet sind
zum Ausführen
des Datenverarbeitungsverfahrens für empfangene Daten.
-
Die
Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst.
-
Bevorzugte
Ausführungsformen
werden in den abhängigen
Ansprüchen
beschrieben.
-
Ein
Verfahren wird zur Verfügung
gestellt für das
Bearbeiten von Daten, welche durch einen kabellosen Kanal empfangen
wurden, in einem Kommunikationsgerät, welches kabellose Bluetooth-Kommunkation
unterstützt,
beinhaltend die Schritte von (a) ein Bluetooth-Modul empfängt Daten
von einem kabellosen Kanal, (b) das Bluetooth-Modul informiert einen
Bluetooth-Host, dass durch einen Universal Serial Bus (USB) empfangene
Daten in dem Bluetooth-Modul existieren, und (c) der Bluetooth-Host liest
die Daten, welche durch das Bluetooth-Modul in dem Schritt (a) durch
den USB empfangenen Daten sind, wenn der Bluetooth-Host informiert
wird, dass die empfangenen Daten existieren in Schritt (b).
-
In
Schritt (b) informiert das Bluetooth-Modul bevorzugterweise den
Bluetooth-Host, dass empfangene Daten in dem Bluetooth-Modul existieren,
wenn das Bluetooth-Modul von dem Bluetooth-Host eine Anfrage empfängt für das Überprüfen, ob
empfangene Daten in dem Bluetooth-Modul existieren, in Erwiderung
auf die Anforderung für
das Überprüfen, ob empfangene
Daten existieren.
-
In
Schritt (b) wird die Anforderung für das Überprüfen, ob empfangene Daten existieren,
bevorzugterweise ausgeführt,
unter Benutzung einer Interrupt-Anfrage (Unterbrechungsanfrage,
request for interrupt), welche periodisch von dem Bluetooth-Host zu
dem Bluetooth-Modul durch den USB übertragen wird, und das Informieren
wird durchgeführt
unter Benutzung eines Eventpaketes.
-
Schritt
(c) beinhaltet bevorzugterweise den Schritt von (c1) der Bluetooth-Host
fragt die in dem Schritt (a) empfangenen Daten von dem Bluetooth-Modul
durch den USB an, wenn der Bluetooth-Host informiert wird, dass
empfangene Daten existieren in dem Schritt (b) durch das Eventpaket und
(c2), das Bluetooth-Modul bietet die in dem Schritt (a) empfangenen
Daten dem Bluetooth-Host durch den USB an, wenn das Bluetooth-Modul die Anforderung
für die
empfangenen Daten in dem Schritt (c1) empfängt.
-
Das
Eventpaket beinhaltet bevorzugterweise ein Verbindungstypfeld (link
type field) als ein Parameterfeld, für das Anzeigen einer asynchronen
Verbindung oder einer synchronen Verbindung. In dem Schritt (c1)
wird eine Anfrage für
synchrone oder asynchrone Daten bevorzugterweise durchgeführt gemäß dem Wert
eines Verbindungstypfeldes in dem Eventpaket.
-
Das
Eventpaket beinhaltet bevorzugterweise ein Datenlängenfeld
als ein Parameterfeld für
das Anzeigen der Länge
der in dem Schritt (a) empfangenen Daten. In dem Schritt (c) wird
die Anfrage für
die empfangenen Daten in Schritt (c1) und das Liefern der empfangenen
Daten in Schritt (c2) bevorzugterweise angemessen oft wiederholt,
entsprechend des Wertes des Datenlängenfeldes in dem Eventpaket.
-
Gemäß eines
anderen Aspektes der vorliegenden Erfindung wird ein Verfahren zur
Verfügung gestellt
für das
Bearbeiten von empfangenen Daten, welche durch einen kabellosen
Kanal in einem Bluetaoth-Modul eines Kommunikationsgerätes, welches kabellose
Bluetooth-Kommunikation unterstützt, empfangen
wurden, wobei das Verfahren die Schritte beinhaltet von (a) Empfangen
einer Anforderung von einem Bluetooth-Host durch einen Universal
Serial Bus (USB) für
das Überprüfen, ob
empfangene Daten in einem Bluetooth-Modul existieren, (b) das Bluetooth-Modul
informiert den Bluetooth-Host
durch den USB, dass empfangene Daten existieren, wenn von außen durch
einen kabellosen Kanal empfangene Daten in dem Bluetooth-Modul existieren,
(c) Empfangen von dem Bluetooth-Host, welcher in dem Schritt (b)
informiert wird, dass empfangene Daten existieren, durch den USB
eine Anforderung für
die empfangenen Daten für
das Anfordern der empfangenen Daten, und (d) das Bluetooth-Modul
stellt die empfangenen Daten dem Bluetooth-Host durch den USB zur
Verfügung,
welche von außen
durch den kabellosen Kanal empfangen wurden.
-
Gemäß eines
anderen Aspektes der vorliegenden Erfindung wird ein Verfahren zur
Verfügung gestellt
für das
Bearbeiten von Daten, welche durch einen kabellosen Kanal empfangen
wurden, in einem Bluetooth-Host eines Kommunikationsgerätes, welches
kabellose Bluetooth-Kommunikation unterstützt, beinhaltend die Schritte
von (a) ein Bluetooth-Host überträgt eine
Anforderung an ein Bluetooth-Modul durch einen Universal Serial
Bus (USB), für
das Überprüfen, ob
empfangene Daten, welche von außen durch
einen kabellosen Kanal empfangen wurden, existieren, (b) Informiertwerden
von dem Bluetooth-Modul durch den USB, dass empfangene Daten existieren,
welche durch den kabellosen Kanal empfangen wurden, wenn Daten,
welche von außen durch
den kabellosen Kanal empfangen wurden, in dem Bluetooth-Modul existieren,
(c) Anfordern der empfangenen Daten bei dem Bluetooth-Modul durch den
USB, wenn der Bluetooth-Host
informiert wird, dass empfangene Daten existieren in Schritt (b),
und (d) Empfangen von dem Bluetooth-Modul durch den USB der empfangenen
Daten, welche von dem Bluetooth-Modul von außen durch den kabellosen Kanal empfangen
wurden.
-
Gemäß noch eines
weiteren Aspektes der vorliegenden Erfindung wird ein computerlesbares Aufnahmemedium
zur Verfügung
gestellt für
das Aufnehmen eines Programmes, welches in einem Computer ausgeführt wird,
für das
Bearbeiten von empfangenen Daten in einem Bluetooth-Modul eines Kommunikationsgerätes, welches
kabellose Bluetooth-Kommunikation unterstützt, wobei das Programm die
Schritte beinhaltet von (a) Empfangen einer Anforderung von einem
Bluetooth-Host durch einen Universal Serial Bus (USB) für das Überprüfen, ob
empfangene Daten in einem Bluetooth-Modul existieren, (b) Informieren
des Bluetooth-Host durch den USB, dass empfangene Daten existieren,
wenn Daten, welche von außen
durch einen kabellosen Kanal empfangen wurden, in dem Bluetooth-Modul existieren,
(c) Empfangen von dem Bluetooth-Host, welcher informiert wird, dass
die empfangenen Daten existieren in Schritt (b), durch den USB eine
Anforderung für
die empfangenen Daten, und (d) Übertragen der
Daten, welche von außen
durch den kabellosen Kanal empfangen wurden, zu dem Bluetooth-Host durch
den USB.
-
Gemäß eines
anderen Aspektes der vorliegenden Erfindung wird ein computerlesbares
Aufnahmemedium für
das Aufnehmen eines Programmes zur Verfügung gestellt, welches in einem
Computer für
das Bearbeiten von empfangenen Daten ausgeführt wird, in einem Bluetooth-Host
eines Kommunikationsgerätes,
welches kabellose Bluetooth-Kommunikation
unterstützt,
wobei das Programm die Schritte beinhaltet von (a) Übertragen
einer Anfrage an ein Bluetooth-Modul durch einen Universal Serial
Bus (USB), für
das Überprüfen, ob
Daten, welche von außen
durch einen kabellosen Kanal empfangen wurden, in einem Bluetooth-Modul
existieren, (b) Informiertwerden von dem Bluetooth-Modul durch den USB,
dass Daten, welche durch den kabellosen Kanal empfangen wurden,
existieren, wenn Daten, welche von außen durch den kabellosen Kanal
empfangen wurden, in dem Bluetooth-Modul existieren, (c) Anfordern
der empfangenen Daten zu dem Bluetooth-Modul durch den USB, wenn
der Bluetooth-Host informiert wird, dass empfangene Daten in Schritt
(b) existieren, und (d) Empfangen von dem Bluetooth-Modul durch den USB
der Daten, welche von dem Bluetooth-Modul von außen durch den kabellosen Kanal
empfangen wurden.
-
Gemäß noch eines
weiteren Aspektes der vorliegenden Erfindung wird eine Kommunikationsvorrichtung
zur Verfügung
gestellt für
das Unterstützen
von kabelloser Bluetooth-Kommunikation,
beinhaltend ein Bluetooth-Modul für das Übertragen und Empfangen von
Daten durch einen kabellosen Kanal, einen Bluetooth-Host für das Übertragen
von Daten, welches von einer Anwendung an das Bluetooth-Modul übertragen
wurden, Lesen von Daten, welche in dem Bluetooth-Modul empfangen
wurden, und Übertragen
der empfangenen Daten zur Anwendung und einen Universal Serial Bus
(USB) für
das Verbinden des Bluetooth-Moduls und des Bluetooth-Host. Das Bluetooth-Modul
informiert den Bluetooth-Host durch den USB, dass empfangene Daten
existieren, wenn Daten, welche durch den kabellosen Kanal empfangen
wurden, in dem Bluetooth-Modul existieren. Der Bluetooth-Host liest
durch den USB die Daten, welche in dem Bluetooth-Modul empfangen
wurden, wenn der Bluetooth-Host informiert wird durch den Bluetooth-Modul,
dass empfangene Daten existieren.
-
Das
Bluetooth-Modul informiert bevorzugterweise darüber, dass empfangene Daten
in dem Bluetooth-Modul existieren, unter Benutzung eines Eventpaketes
in Erwiderung einer Interrupt-Anforderung, welche periodisch von
dem Bluetooth-Host an das Bluetooth-Modul durch den USB übertragen
wird, wenn Daten, welche durch den kabellosen Kanal empfangen wurden,
in dem Bluetooth-Modul existieren.
-
Das
Eventpaket beinhaltet bevorzugterweise ein Verbindungstypfeld als
ein Parameterfeld für
das Anzeigen einer asynchronen Verbindung oder einer synchronen
Verbindung und ein Datenlängenfeld
als ein Parameterfeld für
das Anzeigen der Länge
der Daten, welche von außen
durch den kabellosen Kanal empfangen wurden.
-
Die
obige Aufgabe und Vorteile der vorliegenden Erfindung werden deutlicher
durch die Beschreibung einer bevorzugten Ausführungsform im Detail in Bezug
auf die beigefügten
Zeichnungen, in welchen:
-
1 schematisch
eine Struktur einer kabellosen Bluetooth-Kommunikationsvorrichtung
zeigt;
-
2 schematisch
ein Verfahren für
das Bearbeiten von empfangenen Daten illustriert, welche in einer
herkömmlichen
kabellosen Bluetooth-Kommunikationsvorrichtung benutzt wird;
-
3 schematisch
ein Bearbeitungsverfahren für
empfangene Daten zur Benutzung in einer kabellosen Bluetooth-Kommunikationsvorrichtung
gemäß einer
Ausführungsform
der vorliegenden Erfindung illustriert;
-
4 schematisch
ein Beispiel für
die Struktur eines Eventpakets gibt, welches benutzt wird für das Informieren,
dass Daten, welche durch einen kabellosen Kanal empfangen wurden,
in dem kabellosen Bluetooth-Kommunikationsgerät existieren, gemäß der Ausführungsform
der vorliegenden Erfindung; und
-
5 ein
Flussdiagramm ist für
das Illustrieren des Bearbeitungsverfahrens für empfangene Daten gemäß der zeitlichen
Ordnung, welches in der kabellosen Bluetooth-Kommunikationsvorrichtung
gemäß der Ausführungsform
der vorliegenden Erfindung benutzt wird.
-
Hiernach
werden bevorzugte Ausführungsformen
der Struktur und Arbeitsweise der vorliegenden Erfindung im Detail
beschrieben in Bezug auf die beigefügten Zeichnungen.
-
3 zeigt
schematischerweise ein Bearbeitungsverfahren für empfangene Daten, welches
in einer kabellosen Bluetooth-Kommunikationsvorrichtung gemäß einer
Ausführungsform
der vorliegenden Erfindung benutzt wird.
-
Die
vorliegende Erfindung bezieht sich auf eine kabellose Bluetooth-Technologie
für das
Definieren einer kabellosen Verbindung zwischen zahlreichen Gerätetypen.
Die Geräte,
welche miteinander unter Benutzung der Bluetooth-Technologie verbunden
werden können,
beinhalten Desktop/Notebook-Computer, tragbare Kommunikationsendgeräte, und
andere tragbare Kommunikationsgeräte. Die kabellose Bluetooth-Technologie
kann benutzt werden zur Verbindung von zahlreichen Typen von Computerperipheriegeräten, wie
beispielsweise Drucker, Scanner, Monitore, Tastaturen und Mäuse mit
Computern durch eine kabellose Verbindung. Hiernach wird ein Gerät oder eine
Vorrichtung für
das Unterstützen
von kabelloser Bluetooth-Kommunkation (ausgerüstet mit einem Bluetooth-Modul) bezeichnet als
ein Bluetooth-Kommunikationsgerät
oder einfacher als ein Kommunikationsgerät.
-
Die
vorliegende Erfindung bezieht sich auf eine Host-Controller-Intertace
(HCl)-Transportschicht in der kabellosen Bluetooth-Technologie,
und im Speziellen, auf ein Verarbeitungsverfahren für empfangene
Daten in einer Universal Serial Bus (USB)-Transportschicht. Wie
zuvor erwähnt,
ist HCl ein Teilbereich für
das Definieren einer Schnittstelle zwischen einem Bluetooth-Host
und einem Bluetooth-Modul.
-
Die
vorliegende Erfindung wird zur Verfügung gestellt für das Verhindern
der Verschwendung von USB-Bandbreite durch die nicht notwendige
Wiederholung von Anforderungen von USB-Daten und "NAKs", selbst wenn keine
Daten, welche von außen durch
die kabellose Verbindung empfangen wurde, in dem Bluetooth-Modul
existieren. Die vorliegende Erfindung stellt ein Verfahren zur Verfügung, durch
welches der Bluetooth-Host eine Anforderung für Daten durch den USB nur dann
erzeugt, wenn empfangene Daten in dem Bluetooth-Modul existieren.
Deshalb, gemäß einer
Ausführungsform
der vorliegenden Erfindung, werden, da der Bluetooth-Host nur dann USB-Daten
anfordert, wenn dieser darüber
informiert ist, dass Daten in dem Bluetooth-Modul empfangen worden
sind, keine unnötigen
Anforderungen von USB-Daten oder unnötige "NAKs" erzeugt.
-
Die
Ausführungsform
der vorliegenden Erfindung funktioniert derart, dass wenn das Bluetooth-Modul
Daten von externen Geräten
durch die kabellose Verbindung empfängt, das Bluetooth-Modul den
Bluetooth-Host informiert, dass Daten von dem externen Gerät empfangen
wurden und der Bluetooth-Host erzeugt eine Anforderung für Daten (Bulk-IN
oder Isochronous-IN) nur dann, wenn der Bluetooth-Host von dem Bluetooth-Modul
informiert wird, dass die empfangenen Daten existieren. In der Ausführungsform
der vorliegenden Erfindung wird ein Eventpaket von dem Bluetooth-Modul
benutzt, um den Bluetooth-Host zu informieren, dass empfangene Daten
in dem Bluetooth-Modul existieren. Die Struktur des Eventpaketes
wird noch definiert. Hier wird das Eventpaket zur Verfügung gestellt
in Erwiderung der Anforderung für
einen USB-Interrupt (USB-Unterbrechung),
welche periodisch übertragen wird
von dem Bluetooth-Host zu dem Bluetooth-Modul. Die Funktionsweise
der Ausführungsform
der vorliegenden Erfindung wird nun in Bezug auf 3 beschrieben.
-
Der
Bluetooth-Host überträgt periodisch
eine Anforderung für
den USB-Interrupt zu dem Bluetooth-Modul (Schritt 310).
Derzeitig definiert die Bluetooth-Spezifikation die Anforderungsperiode
für den Interrupt
als 1 ms.
-
Wenn
das Bluetooth-Modul die Anforderung für den USB-Interrupt empfängt, liefert
dieses Informationen über
seinen Zustand (Schritt 320). Die Schritte 310 und 320 werden
in dem Prozess des Bearbeitens der empfangenen Daten in der herkömmlichen
HCl-USB-Transportschicht
periodisch wiederholt, welche in 2 gezeigt
wird. Die vorliegende Erfindung basiert auf der Tatsache, dass die
Schritte 310 und 320 für das Informieren des Bluetooth-Host, dass
empfangene Daten in dem Bluetooth-Modul existieren, benutzt werden
können.
-
In
der Ausführungsform
der vorliegenden Erfindung sendet das Bluetooth-Modul, wenn Daten welche
von außen
durch die kabellose Verbindung empfangen wurden existieren, das
Eventpaket, welches diejenige Struktur hat, welche in der Ausführungsform
der vorliegenden Erfindung definiert ist (gezeigt in 4;
hiernach bezeichnet als ein "R-Eventpaket") an den Bluetooth-Host
in Schritt 320. In dem USB-Netzwerk benutzt eine Interrupt-Anfrage
eine viel kleinere Bandbreite als eine Datenanforderung.
-
Die
Struktur des "R-Eventpaketes" gemäß der Ausführungsform
der vorliegenden Erfindung wird in Bezug auf 4 beschrieben. 4 zeigt schematisch
ein Beispiel der Struktur des Eventpaketes, welches für das Informieren,
dass Daten, welche durch den kabellosen Kanal empfangen wurden, in
dem kabellosen Bluetooth-Kommunikationsgerät existieren gemäß der Ausführungsform
der vorliegenden Erfindung benutzt wird.
-
Wie
in 4 gezeigt, hat das "R-Eventpaket" einen gemeinsamen Typ aller Eventpakete
und besteht aus einem Event-Code-Feld (8 Bit) 410, einem Paketlängenfeld
(8 Bit) 420 und Parameterfelder 430, 440 und 450.
-
Der
Wert des Event-Code-Feldes 410 ist als ein vorbestimmter
Wert vorgesehen, um zu zeigen, dass das Eventpaket ein "R-Eventpaket" gemäß der Ausführungsform
der vorliegenden Erfindung ist. Zum Beispiel kann ein spezifischer
Codewert von 0x21 bis 0xff benutzt werden, welche in der derzeitigen
Bluetooth-Spezifikation reserviert sind. Das Paketlängenfeld 420 zeigt
die gesamte Länge
der Parameterfelder in Byte an.
-
Die
Parameterfelder des "R-Eventpaketes" beinhalten ein Verbindungstypfeld 430 und
ein Datenlängenfeld 440 und
können
wahlweise ein optionales Feld beinhalten.
-
Das
Verbindungstypfeld 430 zeigt den Typ der kabellosen Verbindung.
Der Wert des Verbindungstypfeldes 430 kann benutzt werden,
um den Typ der Datenanforderung in Schritt 330 festzustellen,
was später
beschrieben wird. Zum Beispiel, wenn eine Syn chronous-Connection-Oriented (SCO)-Verbindung
benutzt wird, kann der Wert des Verbindungstypfeldes auf 0 gesetzt
sein. Wenn eine Asynchronous-Connectionless (ACL)-Verbindung benutzt
wird, kann der Wert des Verbindungstypfeldes auf 1 gesetzt sein.
In 4 ist die Länge
des Verbindungstypfeldes 430 der Bequemlichkeit halber
als 8 Bit gezeigt. Jedoch muss die Länge des Verbindungstypfeldes
nicht notwendigerweise 8 Bit sein.
-
Das
Datenlängenfeld 440 gibt
die Länge
der Daten in Byte an, welche durch den kabellosen Kanal empfangen
wurden und in dem Bluetooth-Modul existieren. Die Länge in Byte
der empfangenen Daten kann benutzt werden, um die Anzahl der Wiederholungen
der Schritte 330 bis 350 festzulegen. In 4 ist
der Bequemlichkeit halber die Länge
des Datenlängenfeldes 440 als
16 Bit gezeigt. Jedoch muss die Länge des Datenlängenfeldes 440 nicht notwendigerweise
16 Bit sein. Ebenso ist es dem Fachmann klar, dass das Verbindungstypfeld 430 und
das Datenlängenfeld 440 nicht
in der Reihenfolge, wie in 4 gezeigt,
angeordnet sein muss.
-
Das
optionale Feld 450 kann für das optionale Definieren
von zusätzlichen
Funktionen benutzt werden und kann von dem "R-Eventpaket" ausgenommen sein. Ein Beispiel für die Struktur
des "R-Eventpaketes" wurde beschrieben.
Die Struktur kann geändert
werden, wenn dies notwendig ist. Der nächste Schritt in 3 wird
nun beschrieben.
-
Wenn
der Bluetooth-Host das "R-Eventpaket" empfängt, erkennt
der Bluetooth-Host, dass Daten, welche von außen durch die kabellose Verbindung
empfangen wurden, in dem Bluetooth-Modul existieren und überträgt eine
Anforderung für USB-Daten
zu dem Bluetooth-Modul (Schritt 330). Es ist bevorzugt,
dass eine Anforderung für
synchrone Daten (Isochronous-IN) oder eine Anforderung für asynchrone
Daten (Bulk-IN) durchgeführt
wird gemäß dem Wert
des Verbindungstypfeldes 430 in dem "R-Eventpaketes".
-
Wenn
das Bluetooth-Modul eine Anforderung für USB-Daten von dem Bluetooth-Host
empfängt, überträgt das Bluetooth-Modul
die Daten, welche von außen
empfangen wurden, zu dem Bluetooth-Host durch den USB (Schritt 340)
und der Bluetooth-Host antwortet mit einer "ACK"-Nachricht
in Bezug auf die empfangenen Daten (Schritt 350). In dem Fall
einer Anforderung für
asynchrone Daten kann die Länge
der Daten, welche auf einmal durch die USB übertragen werden können, auf
höchstens
64 Byte beschränkt
sein. Deshalb können
die Schritte 330 bis 350 für eine angemessene Anzahl von
Malen in Bezug auf den Wert des Datenlängenfeldes 440 in dem "R-Eventpaket" wiederholt werden.
-
Das
Verarbeitungsverfahren für
empfangene Daten in dem kabellosen Bluetooth-Kommunikationsgerät gemäß der Ausführungsform
der vorliegenden Erfindung wurde beschrieben. Die obige Beschreibung
muss noch zeitlich geordnet wiederhergestellt werden. 5 ist
ein Flussdiagramm zur Illustration des Bearbeitungsverfahrens für empfangene
Daten gemäß der zeitlichen
Ordnung in dem kabellosen Bluetooth-Kommunikationsgerät gemäß der vorliegenden
Erfindung.
-
Das
Bluetooth-Modul empfängt
Daten von außen
durch die kabellose Verbindung (Schritt 510).
-
Wenn
die Anforderung für
den USB-Interrupt von dem Bluetooth-Host an das Bluetooth-Modul übertragen
wird in einem Zustand, in welchem die empfangenen Daten im Bluetooth-Modul
existieren durch den Schritt 510 (Schritt 520), überträgt das Bluetooth-Modul das "R-Eventpaket", welches in 4 gezeigt
ist, zu dem Bluetooth-Host in Erwiderung auf die Anforderung für den USB-Interrupt (Schritt 530).
-
Wenn
das "R-Eventpaket" in Schritt 530 empfangen
wird, überträgt der Bluetooth-Host
die Anforderung für
die USB-Daten zu dem Bluetooth-Modul (Schritt 540) und
das Bluetooth-Modul überträgt die empfangenen
Daten zu dem Bluetooth-Host durch den USB (Schritt 550).
Es wurde zuvor beschrieben, dass der Typ der Anfrage für die USB-Daten
angemessen designiert sein kann in Schritt 540 und dass
die Anzahl der Wiederholungen der Schritte 540 und 550 ermittelt
werden kann in Bezug auf das "R-Eventpaket".
-
Die
Ausführungsformen
der vorliegenden Erfindung können
durch ein Programm realisiert werden, welches durch Computersysteme
ausgeführt werden
kann. Ebenso kann ein solches Programm durch allgemein benutzte
digitale Computersysteme ausgeführt
werden durch das Lesen eines entsprechenden Programmes von computerlesbaren
Aufnahmemedien, auf welchen solch ein Programm aufgenommen wurde.
Magnetische Speichermedien, wie z. B. ROMs, Floppydisk und Festplatten,
optische Lesemedien, wie CD-ROMs, DVDs, und Trägerwellen, wie z. B. eine Übertragung
durch das Internet, sind in dem Begriff der computerlesbaren Aufnahmemedien
beinhaltet.
-
Gemäß der vorliegenden
Erfindung erzeugt der Bluetooth-Host eine Anforderung für Daten
durch den USB nur, wenn empfangene Daten in dem Bluetooth-Modul
existieren. Deshalb ist es möglich,
den Umfang des Overhead aufgrund von unnötigen Datenanforderungen aufzulösen.
-
Dadurch
ist es möglich,
die Auslastung des Bluetooth-Host zu minimieren und die Datenempfangsbandbreite
in der Bluetooth-HCl-USB-Transportschicht zu verbessern. Ebenso
ist es möglich,
die Datenanforderung zu dem Zeitpunkt zu erzeugen, in welchem die
Daten empfangen wurden. Deshalb ist es möglich, die gesamte USB-Übertragungsgeschwindigkeit
zu steigern.