-
Diese Anmeldung beansprucht die Priorität der am 27. Oktober 2010 eingereichten vorläufigen U.S.-Anmeldung mit der Nummer 61/407,131 und der am 24. Oktober 2011 eingereichten U.S.-Patentanmeldung mit der Nummer 13/279,402, deren Offenbarungen in ihrer Gesamtheit durch Bezugnahme hierin aufgenommen werden.
-
HINTERGRUND
-
Die Explosion in der Anzahl drahtloser Vorrichtungen bzw. Geräte und Protokolle hat Anwendungen ermöglicht, von denen man nie dachte, dass sie möglich wären. Durch Beseitigung der Notwendigkeit, physikalisch mit einer Vorrichtung bzw. einem Gerät, wie etwa einem Sensor oder Aktuator, verbunden zu sein, können drahtlose Systeme verschiedene Vorgänge bzw. Arbeitsschritte aus der Entfernung überwachen und steuern. Dies ermöglicht neue Anwendungen, wie etwa ein aus der Entfernung gesteuertes und überwachtes Bewegungsdetektionssystem, Temperatursteuersystem und andere Verwendungen.
-
Es sind verschiedene Protokolle vorgeschlagen und verwendet worden, um aus diesen neuen Verwendungen für drahtlose Vorrichtungen Nutzen zu ziehen. Protokolle, wie etwa Bluetooth, WiFi und Zigbee®, definieren sämtlich Formate und Standards für verschiedene Vorrichtungen.
-
Eine wichtige Erwägung und eine wichtige Voraussetzung für das zukünftige Wachstum und die zukünftige Verwendung dieser drahtlosen Vorrichtungen bzw. Geräte ist ihr Energieverbrauch. In manchen Anwendungen wäre es vorteilhaft oder vielleicht sogar essenziell, dass die Vorrichtung batteriebetrieben ist.
-
Daher wären jegliche Techniken vorteilhaft, die verwendet werden können, um den Energieverbrauch in einer drahtlosen Netzwerkvorrichtung zu senken.
-
ZUSAMMENFASSUNG
-
Es werden verschiedene Techniken zur Reduktion von Energie in einer drahtlosen Netzwerkvorrichtung bzw. einem drahtlosen Netzwerkgerät offenbart. In manchen Ausführungsformen werden bzw. sind Softwareroutinen in der Vorrichtung modifiziert, um die Zeit zu minimieren, während derer die analoge Schaltung bzw. die analogen Schaltkreise in einer Funkeinrichtung mit Energie versorgt werden. In manchen Ausführungsformen nutzen die Techniken die Kenntnis von implizierten Verzögerungen aus, die mit einem bestimmten Netzwerkprotokoll in Zusammenhang stehen. In einem CSMA-Netzwerk gibt es zum Beispiel eine definierte minimale Zeitdauer, bevor die Vorrichtung versuchen kann, Zugang zu den Medien bzw. Zugriff auf die Medien zu erhalten. Die Funkeinrichtung kann während dieser definierten Zeitdauer ausgeschaltet sein. In anderen Ausführungsformen werden Modifikationen an einem Protokoll offenbart, die zusätzliche Energieeinsparungen ermöglichen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine repräsentative schematische Darstellung, die verschiedene Hardwarekomponenten einer drahtlosen Netzwerkvorrichtung bzw. eines drahtlosen Netzwerkgeräts zeigt,
-
2 ist eine repräsentative schematische Darstellung, die die Wechselwirkung zwischen verschiedenen Softwarekomponenten und den Hardwarekomponenten einer drahtlosen Netzwerkvorrichtung bzw. eines drahtlosen Netzwerkgeräts zeigt,
-
3 zeigt das Format einer bestimmten Nachricht gemäß einem Protokoll,
-
4 zeigt das Format eines bestimmten Feldes in der in 3 gezeigten Nachricht,
-
5 zeigt zwei Vorrichtungen bzw. Geräte, die gemäß einer Ausführungsform kommunizieren.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt eine repräsentative schematische Darstellung einer drahtlosen Netzwerkvorrichtung bzw. eines drahtlosen Netzwerkgeräts, die bzw. das ausgewählte Hardwarekomponenten enthält. In manchen Ausführungsformen können die Hardwarekomponenten eine Vorrichtung 100 mit einem System auf einem Chip (system-on-chip, SOC) enthalten, die eine Verarbeitungseinheit 110, Codespeicher 130, RAM 120, eine Unterbrechungsanforderungssteuereinrichtung (nicht gezeigt), Peripheriegeräte (nicht gezeigt) und eine Funkeinrichtung 140 aufweist. Die Funkkomponente 140 enthält eine analoge Schaltung 141, wie etwa Verstärker, Oszillatoren und andere Komponenten. Die Funkkomponente 140 enthält auch eine digitale Schaltung 142, die einen Basisbandprozessor 143 und eine Medienzugriffssteuereinrichtung (Media Access Controller, MAC) 144 aufweist. Der Begriff ”Funkkomponente” wird verwendet, um die Kombination der analogen Schaltung 141 und der digitalen Schaltung 142 zu bezeichnen. Die Funkkomponente 140 kann durch eine separate Energieversorgung mit Energie versorgt werden, so dass sie ausgeschaltet sein bzw. werden kann, während Teile der SOC mit Energie versorgt bleiben. In manchen Ausführungsformen kann die Energie für die Funkkomponente 140 getrennt werden, so dass Energie separat der digitalen Schaltung 142, die typischerweise einen niedrigen Energieverbrauch aufweist, und der analogen Schaltung 141 zugeführt werden kann, die typischerweise größere Energiemengen verbraucht. In manchen Ausführungsformen wird nur die analoge Schaltung 141 durch eine separate Energieversorgung mit Energie versorgt, während die digitale Schaltung 142 durch dieselbe Energieversorgung mit Energie versorgt wird, wie der Rest der SOC 100. In anderen Ausführungsformen ist die SOC 100 in der Weise ausgestaltet, dass der Basisbandprozessor 143 und die analoge Schaltung 141 ausgeschaltet werden bzw. sein können, während der Rest der Funkkomponente 140 mit Energie versorgt bleibt. Durch Trennen der durch die Funkkomponente 140 verwendeten Energie und insbesondere der durch die analoge Schaltung 141 verwendeten Energie von dem Rest der Vorrichtung 100 verringert dies die Gesamtsystemenergie. Es ermöglicht auch, dass der Prozessor 110 sogar dann aktiv bleibt, wenn die Funkeinrichtung ausgeschaltet ist.
-
Überall in dieser Offenbarung wird das Konzept beschrieben, dass die ”Funkeinrichtung” ausgeschaltet sein bzw. werden kann, um Energie zu sparen. In manchen Ausführungsformen bedeutet dies, dass nur die analoge Schaltung 141 ausgeschaltet ist bzw. wird, während der Rest der Funkkomponente 140 mit Energie versorgt bleibt. In anderen Ausführungsformen werden bzw. sind sowohl die analoge Schaltung 141 als auch der Basisbandprozessor 143 ausgeschaltet, während die MAC 144 mit Energie versorgt bleibt. In noch anderen Ausführungsformen kann die gesamte Funkkomponente 140 ausgeschaltet sein bzw. werden. Somit umfasst die Formulierung ”die Funkeinrichtung ist bzw. wird ausgeschaltet”, wie sie in dieser Offenbarung verwendet wird, jede Konfiguration, in der zumindest ein Teil der Funkkomponente 140 während des normalen Betriebs der SOC 100 ausgeschaltet ist bzw. wird. Die Offenbarung soll nicht nur auf eine bestimmte Teilmenge der Funkkomponente beschränkt sein, die ausgeschaltet ist bzw. wird, sondern es kann jede Teilmenge der Funkkomponente ausgeschaltet sein bzw. werden. In der bevorzugten Ausführungsform ist bzw. wird zumindest die analoge Schaltung 141 ausgeschaltet, da diese typischerweise den Teil der Funkkomponente 140 mit dem höchsten Energieverbrauch darstellt.
-
Wie in 1 gezeigt ist, empfängt die Verarbeitungseinheit 110 Instruktionen bzw. Anweisungen von dem Codespeicher 130. Diese Instruktionen ermöglichen es der Verarbeitungseinheit 110, die Funktionen auszuführen, die von der Vorrichtung und dem zugehörigen drahtlosen Protokoll benötigt werden. Die Verarbeitungseinheit 110 ist auch dazu in der Lage, Informationen von sowohl dem RAM-Speicher 120 als auch der Funkkomponente 140 zu laden und in diesen zu speichern. Zum Beispiel kann Konfigurationsinformation von der Verarbeitungseinheit 110 in die Funkkomponente 140 gespeichert werden. Daten, die von der Funkkomponente 140 empfangen und übertragen werden, werden typischerweise in dem RAM-Speicher 120 gespeichert. Der Codespeicher 130 enthält auch Software, die die hierin beschriebenen Funktionen ausführen kann. Die Software kann in jeder geeigneten Programmiersprache geschrieben sein, und die Wahl ist nicht durch diese Offenbarung beschränkt. Darüber hinaus sind alle hierin beschriebenen Anwendungen und jede hierin beschriebene Software durch einen Computer ausführbare Instruktionen, die auf einem computerlesbaren Medium enthalten sind. Die Software und Anwendungen können zum Beispiel in einem Nur-Lese-Speicher, einem wiederbeschreibbaren Speicher oder in einer eingebetteten Verarbeitungseinheit gespeichert sein. Der spezielle Typ von Verarbeitungseinheit 110, auf der diese Software ausgeführt wird, ist von anwendungsabhängig und nicht durch die vorliegende Erfindung beschränkt.
-
2 zeigt die Wechselwirkung bzw. Interaktion zwischen den verschiedenen Softwarekomponenten und der Hardware. Die Software kann verschiedene Schichten enthalten, wie etwa eine physikalische Schicht 210, eine MAC-Schicht 220 und eine Anwendungsschicht 230. Typischerweise ist die physikalische Schicht 210 für die Konfiguration der Funkeinrichtung 140 und die tatsächliche Bedienung der Funkhardware verantwortlich. Die MAC-Schicht 220 empfängt Informationen, typischerweise in der Form von Paketen von der physikalischen Schicht 210. Sie analysiert dann den Inhalt dieser Pakete. Als Reaktion kann die MAC-Schicht 220 Daten an die physikalische Schicht 210 zur Übertragung durch die Funkeinrichtung 140 senden. In manchen Ausführungsformen kann die MAC-Schicht auch auf Basis von Zeitgebern oder dem Inhalt der empfangenen Pakete bestimmen, wann die Funkhardware nicht mit Energie versorgt bzw. ausgeschaltet sein bzw. werden sollte. In manchen Ausführungsformen ist die MAC-Schicht 220 teilweise in Hardware und teilweise in Software implementiert. In dieser Ausführungsform sendet bzw. leitet die Anwendungsschicht 230 eine Übertragung an die Software-MAC. Die Software-MAC konfiguriert dann die Hardware-MAC, um zu übertragen. Die Hardware-MAC steuert dann die Hardwareschicht 210, die das Hardware-Basisband steuert, das die ana- loge Schaltung steuert.
-
In einer drahtlosen Netzwerkvorrichtung bzw. einem drahtlosen Netzwerkgerät kann die Funkkomponente 140 und insbesondere die analoge Schaltung 141 ein großer Beitragender zum Energieverbrauch sein. Daher kann jede Technik, die die Verwendung der Funkeinrichtung reduziert und sie daher deaktivieren kann, die Batterielaufzeit signifikant verbessern. Zu jeder gegebenen Zeit kann die analoge Schaltung 141 in der Funkeinrichtung 140 entweder in einer Empfangsbetriebsart sein, aktiv senden oder ausgeschaltet sein. Der Begriff ”schalte die Funkeinrichtung ein” ist Synonym mit ”versetze die Funkeinrichtung in die Empfangsbetriebsart”, was die Energieversorgung der analogen Schaltung 141 erfordert. In manchen Ausführungsformen kann ein Teil der digitalen Schaltung 142 in der Funkeinrichtung 140 sogar dann mit Energie versorgt werden, wenn gesagt wird, dass die Funkeinrichtung ausgeschaltet ist. In anderen Ausführungsformen kann die MAC 144 mit Energie versorgt werden, während der Basisbandprozessor 143 und die analoge Schaltung 141 ausgeschaltet sind. In anderen Ausführungsformen kann die gesamte digitale Schaltung 142 mit Energie versorgt werden, während die analoge Schaltung 141 ausgeschaltet ist. Wenn die Funkeinrichtung ausgeschaltet ist, ist somit zumindest ein Teil der Funkkomponente 140 ausgeschaltet, um den Energieverbrauch zu reduzieren.
-
Gemäß einem Verfahren kann die Verwendung der Funkeinrichtung während einer Initialisierung reduziert werden. Wenn die SOC 100 zurückgesetzt wird oder aus ihrem niedrigsten Energietiefschlafzustand erwacht, muss die Funkkomponente 140 zum Beispiel gegebenenfalls initialisiert werden, bevor sie verwendet werden kann.
-
Typischerweise wird die Funkkomponente 140 angeschaltet, und dann werden alle Initialisierungen durchgeführt. Diese Initialisierungen können eine Konfiguration der Funkeinrichtung zur Kommunikation auf einer bestimmten Frequenz (Kanal), eine Kalibrierung von Funkparametern bzw. Funkeinrichtungsparametern zur optimalen Funktion auf dem gewählten Kanal, eine Konfiguration von speziellen Funkeinrichtungsbetriebsarten (externer Leistungsverstärker, Hochleistungsbetriebsart, usw.) umfassen. Viele dieser Funktionen werden unter Verwendung von nur der digitalen Schaltung 142 der Funkkomponente 140 ausgeführt.
-
In manchen Ausführungsformen der Funkkomponente ist der einzige dieser Vorgänge, der tatsächlich erfordert, dass die analoge Schaltung 141 der Funkkomponente 140 mit Energie versorgt wird, die Kalibrierung von Funkparametern. Auch wenn diese Offenbarung auf eine analoge Schaltung Bezug nimmt, ist darauf hinzuweisen, dass der Zweck darin besteht, die Schaltung zu deaktivieren, die verwendet wird, um Pakete zu senden und zu empfangen, da diese Schaltung typischerweise mehr Energie verbraucht als andere Teile der Vorrichtung bzw. des Geräts.
-
Somit wird in einer Ausführungsform die analoge Schaltung 141 der Funkkomponente 140 ausgeschaltet gelassen, bis alle der anderen Initialisierungsschritte (mit Ausnahme der Kalibrierung von Funkparametern) abgeschlossen sind. An diesem Punkt bestimmt die Software, ob eine Kalibrierung von Funkparametern erforderlich ist. Es können verschiedene Kriterien verwendet werden, um zu bestimmen, ob eine Kalibrierung erforderlich ist, wie etwa eine Zeit seit der letzten Kalibrierung, die Differenz zwischen der aktuellen Temperatur und einer früheren Kalibrierungstemperatur und ob eine Kalibrierung jemals durchgeführt worden ist. Falls diese Kriterien darauf hinweisen, dass eine Kalibrierung erforderlich ist, schaltet die Software die analoge Schaltung 141 der Funkkomponente 140 ein und führt die erforderlichen Kalibrierungen durch. Falls eine Kalibrierung nicht erforderlich ist, wird die Kalibrierungssequenz umgangen, und die Funkeinrichtung 141 wird zur tatsächlichen Kommunikation eingeschaltet.
-
Auf Basis eines detaillierten Verständnisses des zu Grunde liegenden Netzwerkprotokolls können andere Optimierungen des Energieverbrauchs durchgeführt werden. In einer Ausführungsform werden zum Beispiel die Details des Kommunikationsprotokolls niedriger Stufe durch den 802.15.4-Standard spezifiziert. Wie viele andere Mehr-Knoten-Kommunikationsprotokolle ist die Kollisionsvermeidung essenziell.
-
Es ist darauf hinzuweisen, dass viele der hierin beschriebenen Szenarien in anderen drahtlosen Protokollen existieren und die hierin beschriebenen Techniken gleichermaßen auf diese Protokolle anwendbar sind. Die Verwendung des 802.15.4 ist veranschaulichend und soll nicht den Bereich der Erfindung auf diese Ausführungsform beschränken.
-
Um Konflikte zu vermeiden, müssen Vorrichtungen, die ein Paket senden wollen, zuerst durch die folgende Prozedur, die als Mehrfachzugriff mit Trägerprüfung und Kollisionsvermeidung (Carrier Sense Multiple Access-Collision Avoidance, CSMA-CA) bekannt ist, prüfen, um zu sehen, dass der Kanal (d. h. die Luft in einer drahtlosen Vorrichtung) verfügbar ist. CSMA erfordert, dass die Vorrichtung zuerst für einen zufälligen Zeitraum wartet und dann vor dem Senden eine Überprüfung auf einen freien Kanal durchführt, die als Freikanalbeurteilung (Clear Channel Assessment, CCA) bekannt ist. Wenn der Kanal nicht verfügbar ist, wartet die Vorrichtung wieder unter Verwendung eines anderen, längeren Verzögerungszeitraums. Es werden insgesamt bis zu vier CCA-Versuche mit jeweils einer dem betreffenden Versuch vorangehenden zufällig gewählten Verzögerung durchgeführt, um freie Luft zu erhalten.
-
Nach Erhalt von Zugriff auf den Kanal nach einer erfolgreichen CCA sendet die Vorrichtung das Paket. Nach dem Senden horcht die Vorrichtung in Bezug auf ein Bestätigungspaket (ACK) von dem beabsichtigten Empfänger des Pakets. Wenn das ACK innerhalb einer definierten Zeitdauer nicht empfangen wird, wird der Sendeversuch als fehlgeschlagen betrachtet, und der gesamte Prozess wird von neuem begonnen. Es werden insgesamt bis zu vier Versuche vorgenommen, um ein Bestätigungspaket zu erhalten.
-
In manchen Hardwareausführungsformen verwaltet MAC-Hardware 144 in der SOC 100 automatisch manche der Übergänge zwischen den Empfangs- und Sendezuständen der analogen Schaltung 141 in der Funkkomponente 140. Wenn zum Beispiel die Funkeinrichtung 141 eingeschaltet ist bzw. wird und die CCA-Prüfung erfolgreich ist, kann die MAC-Hardware 144 die Funkeinrichtung 141 automatisch in eine Sendebetriebsart versetzen, um das Paket zu senden. Am Ende der Paketübertragung kann die MAC-Hardware 144 die Funkeinrichtung 141 automatisch in die Empfangsbetriebsart versetzen, um im Hinblick auf das ACK zu horchen. In manchen Ausführungsformen kann die MAC-Hardware 144 nicht die der analogen Schaltung 141 der Funkkomponente 140 zugeführte Energie steuern, da dies durch die Software getan werden muss.
-
In den meisten Fällen ist die analoge Schaltung 141 der Funkeinrichtung 140 während dieses CSMA-Prozesses eingeschaltet und verwendet wertvolle Energie, während sie nicht Pakete empfängt oder sendet. In einer Ausführungsform schaltet die Software der vorliegenden Erfindung die Funkeinrichtung 141 während der mit CSMA in Verbindung stehenden Verzögerungszeiträume aus. Sobald der Verzögerungszeitgeber abgelaufen ist, schaltet die Software die Funkeinrichtung 141 dann ein, so dass sie die CCA-Prüfung durchführen und das Paket senden kann, wenn die CCA-Prüfung erfolgreich war. Wenn die CCA-Prüfung fehlschlägt, schaltet die Software die Funkeinrichtung 141 wieder aus und wartet bis der nächste Zufallsverzögerungszeitgeber abläuft, bevor sie die Funkeinrichtung 141 wieder einschaltet. Diese Technik verringert den Gesamtenergieverbrauch der Funkkomponente 140 ohne nachteilige Einflüsse auf die Leistung der Vorrichtung signifikant.
-
In manchen Hardwareausführungsformen kann die digitale Schaltung 142 in der Funkkomponente 140 einen speziell vorgesehenen Hardwarezeitgeber enthalten, der verwendet wird, um die CCA-Prüfung und optionale Paketübertragung ohne weitere Softwareinteraktion zu planen bzw. zeitlich festzulegen. Einige dieser Hardwareausführungsformen haben nicht die Fähigkeit, die Funkeinrichtung 141 automatisch einzuschalten, um die CCA-Prüfung durchzuführen. Gemäß einer anderen Ausführungsform der Software verwendet die vorliegende Erfindung eine Kenntnis dieses Hardwareverhaltens, um weiter den speziell vorgesehenen Hardwarezeitgeber anstatt eines separaten Universalzeitgeberperipheriegeräts zu verwenden. In Kenntnis dessen, dass die CCA-Prüfung in dem gerade beschriebenen Szenario für jeden Sendeversuch in jedem Fall fehlschlägt (aufgrund der Tatsache, dass die Funkeinrichtung 141 ausgeschaltet ist), reagiert die Software auf das CCA-Fehlschlagereignis, indem sie die Funkeinrichtung 141 einschaltet bzw. hochfährt und einen weiteren hardwaregesteuerten Sendeversuch mit der minimalen Verzögerung einleitet, die erforderlich ist, um eine CCA-Prüfung durchzuführen. Wenn die CCA-Prüfung immer noch fehlschlägt, schaltet die Software die Funkeinrichtung 141 aus und leitet unter Verwendung der nächsten zufälligen Verzögerung gemäß CSMA einen weiteren hardwaregesteuerten Sendeversuch ein. Wenn die CCA-Prüfung erfolgreich ist, sendet die Funkkomponente 140 automatisch das Paket.
-
Gemäß einem weiteren Verfahren verwendet die vorliegende Erfindung eine spezielle Kenntnis über das drahtlose Protokoll, um Energie zu sparen. In dem 802.15.4-Standard kann eine Vorrichtung 400 zum Beispiel ein ”Datenanforderungs”-Paket senden, wie es in 5 gezeigt ist. In Reaktion auf dieses Paket gibt der Empfänger 410 ein Bestätigungs-(ACK-)Paket an die sendende Vorrichtung 400 zurück. Das eingehende ACK informiert die sendende Vorrichtung 400, ob der Empfänger 410 Daten hat, die er an die sendende Vorrichtung 400 zu übertragen wünscht.
-
3 zeigt das Format eines ACK-Pakets 300 gemäß dem 802.15.4-Standard. Die ersten zwei Bytes weisen ein Rahmensteuerungsfeld 310 auf. Das dritte Byte weist eine Sequenznummer 320 auf, und die verbleibenden zwei Bytes weisen einen zyklischen Redundanzcode 330 auf. Das ACK-Paket 300 ist immer fünf Bytes lang.
-
4 beschreibt das Rahmensteuerungsfeld 310 weiter. Von Interesse ist Bit 4 (Rahmen wartet) 311. Rahmen wartet 311 informiert die sendende Vorrichtung (d. h. diejenige, die das ACK 300 empfängt), dass der Empfänger Daten hat, die er an die sendende Vorrichtung zu übertragen wünscht, nachdem das ACK beendet ist.
-
Nachdem das ACK 300 empfangen ist, informiert die physikalische Schicht 210 typischerweise die MAC-Schicht 220. Die MAC-Schicht 220 führt dann Überprüfungen an dem Paket durch, einschließlich Integrität, Sequenznummer, usw. Wenn die MAC-Schicht 220 das ACK 300 verifiziert und feststellt, dass keine Daten kommen (d. h. das Rahmen-wartet-Bit 311 ist nicht gesetzt), schaltet sie die Funkeinrichtung 141 aus. Die Software und Verarbeitungszeit zur Durchführung dieser Tests ist nicht trivial und verbraucht Energie.
-
In einer Ausführungsform ist die Software in der physikalischen Schicht 210 modifiziert, um jedes Byte des ACK 300 zu prüfen, wenn sie an der Vorrichtung ankommen. Sobald das zweite Byte des ACK 300 empfangen wird und die physikalische Schicht 210 feststellt, dass das Rahmen-wartet-Bit 311 nicht gesetzt ist, schaltet sie unmittelbar die Funkeinrichtung 141 aus. Mit anderen Worten wartet sie nicht auf den Empfang der verbleibenden Bytes des ACK-Pakets 300. Diese Technik spart nicht nur die Zeit, die erforderlich ist, um die drei zusätzlichen Bytes zu empfangen, sondern auch die Verarbeitungszeit, die erforderlich ist, damit die MAC-Schicht 220 das ACK 300 validiert.
-
Es ist darauf hinzuweisen, dass eine Möglichkeit besteht, dass aufgrund eines Übertragungsfehlers ein Fehler in dem Rahmenwartet-Bit 311 vorliegt. In diesem Fall kann es sein, dass die physikalische Schicht 210 unrichtigerweise festgestellt hat, dass der Empfänger keine Daten zum Senden hatte, und die Funkeinrichtung 141 ausgeschaltet hat. Auch wenn dieses Verhalten nicht ideal ist, ist es akzeptabel, da die sendende Vorrichtung in regelmäßigen Zeitabständen ”Datenanforderungs”-Pakete sendet.
-
In manchen Softwareausführungsformen leitet die MAC-Schicht 220 eine erneute Übertragung des ”Datenanforderungs”-Pakets ein, wenn sie ein ACK 300 mit einem Übertragungsfehler empfängt oder kein ACK 300 empfängt. Um dieses Verhalten zu vermeiden, kann die physikalische Schicht 210 ein ”vorgetäuschtes” oder künstliches ACK-Paket konstruieren, das gemäß dem Protokoll gültig ist. Dieses ”vorgetäuschte” oder künstliche ACK-Paket ist erforderlich, da die physikalische Schicht 310 die Funkeinrichtung 141. ausgeschaltet hat, bevor sie das gesamte ACK 300 von dem Empfänger empfangen hat. Die Konstruktion eines gültigen ”vorgetäuschten” ACK ermöglicht es der MAC-Schicht 220, weiter zu machen, ohne erneut das ”Datenanforderungs”-Paket zu versuchen. Somit wird die MAC-Schicht 220 in der Weise getäuscht, dass sie glaubt, dass ein ACK ordnungsgemäß empfangen wurde. In anderen Ausführungsformen kann die MAC-Schicht 220 modifiziert werden, um nicht erfolgreiche ACKs auf ”Datenanforderungs”-Pakete zu ignorieren. In anderen Ausführungsformen kann das ”vorgetäuschte” ACK von der physikalischen Schicht 210 über eine Unterbrechungsanforderung bzw. einen Interrupt, ein Status-Bit oder ein anderes allgemeines Signal anstatt durch die Konstruktion einer tatsächlichen Paketrepräsentation im RAM an die MAC-Schicht 220 übertragen werden.
-
Auch wenn oben ein spezielles Beispiel in Bezug auf ACK-Pakete 300 beschrieben worden ist, ist darauf hinzuweisen, dass dasselbe Verfahren in anderen Szenarien eingesetzt werden kann. Zum Beispiel kann die empfangende Vorrichtung unter Verwendung desselben Verfahrens ein Paket analysieren, während es empfangen wird, und bei Erhalt der Daten von Interesse die Funkeinrichtung unmittelbar ausschalten. Diese Daten von Interesse können aufweisen, sind aber nicht beschränkt auf:
- • ob mehr Daten kommen,
- • eine Bestätigung, dass zuvor gesendete Daten empfangen wurden,
- • eine Bestätigung, dass eine Vorrichtung aktiv ist,
- • ob das ankommende Paket für diese Vorrichtung bestimmt ist (in diesem Fall wird die Funkeinrichtung ausgeschaltet, nachdem eine nicht passende Vorrichtungsadresse gesehen wird, und nach dem erwarteten Ende des Pakets wieder eingeschaltet),
- • ob das ankommende Paket für dieses Netzwerk bestimmt ist (in diesem Fall wird die Funkeinrichtung wieder ausgeschaltet, nachdem eine nicht passende Netzwerkkennung oder PAN-ID gesehen wird, und nach dem erwarteten Ende des Pakets wieder eingeschaltet) oder
- • ob es in dem ankommenden Paket Fehler gibt (in diesem Fall wird die Funkeinrichtung ausgeschaltet, nach dem das Basisband einen nicht korrigierbaren Fehler in einem der empfangenen Bytes oder Symbole berichtet, und nach dem erwarteten Ende des Pakets wieder eingeschaltet).
-
Wenn das ACK 300 mit dem Rahmen-wartet-Bit 311 gesetzt gesendet wurde, gibt dies an, dass der Empfänger 410 zusätzliche Daten an die sendende Vorrichtung übertragen wird. In manchen Ausführungsformen muss der Empfänger 410 Zugriff auf den Kanal erhalten, indem er dem CSMA-Prozess folgt. Dieser Prozess garantiert, dass von dem Ende des ACK-Pakets 300 zum Start der Datenübertragung zwingend eine minimale Zeitdauer vergehen muss. Um Energie zu sparen, kann die Software (bevorzugt die physikalische Schicht 210) die Funkeinrichtung 141 in Kenntnis dessen, dass die zusätzlichen Daten nicht während dieses Fensters der minimalen Zeitdauer gesendet werden, für diese minimale Zeitdauer ausschalten.
-
Gemäß einem anderen Verfahren informiert der Empfänger 410 die sendende Vorrichtung 400 über den Verzögerungswert, den er während des bevorstehenden CSMA-Prozesses verwenden wird. Zu 4 zurückkehrend ist darauf hinzuweisen, dass die Rahmensteuerungsbytes 310 in den Bitpositionen 7–9 und 12–13 reservierte Bits enthalten. Diese fünf Bits oder eine Teilmenge dieser Bits können bzw. kann verwendet werden, um Verzögerungsinformationen an die sendende Vorrichtung zu übertragen. In 802.15.4 ist die während des CSMA-Prozesses verwendete Verzögerung zum Beispiel ein Vielfaches eines festen Verzögerungszeitintervalls. Mit anderen Worten kann die Vorrichtung für 1 Verzögerungszeitintervall, 2 Verzögerungszeitintervalle, usw. warten, wobei die Dauer des Verzögerungszeitintervalls vorbestimmt ist. In dieser Ausführungsform sendet der Empfänger 410 die Anzahl von Verzögerungszeitintervallen, die er während des nächsten CSMA-Prozesses verwenden wird, an die sendende Vorrichtung 400. Auf diese Weise ist der sendenden Vorrichtung 400 die minimale Verzögerung bekannt, die vergehen wird, bevor der Empfänger 410 Zugriff auf den Kanal erhalten kann. Daher kann die sendende Vorrichtung 400 die Funkeinrichtung 141 ausschalten, bis diese minimale Zeit vergangen ist.
-
In einer anderen Ausführungsform ist die während des CSMA-Prozesses verwendete Verzögerung kein Vielfaches einer festen Verzögerungszeit. In dieser Ausführungsform kann es mehr mögliche Verzögerungszeiten geben, als es unter Verwendung der reservierten Bits in dem Rahmensteuerungsfeld
310 ausgedrückt werden kann. In diesem Fall kann der Empfänger diese reservierten Bits verwenden, um den Anteil bzw. prozentualen Anteil der maximalen Verzögerung anzugeben, für die er warten wird, bevor er versucht, Zugriff auf den Kanal zu erhalten. Wenn die maximale Verzögerungszeit 8 ms ist, kann der Empfänger
410 zum Beispiel drei Bits verwenden, um die sendende Vorrichtung
400 über den ungefähren Verzögerungswert zu informieren, den er verwenden wird. Die folgende Tabelle zeigt eine mögliche Ausführungsform unter Verwendung von 3 Bits und einer Verzögerungszeit von 8 ms.
Bits | Verzögerungszeit |
000 | Weniger als 1 ms; lasse Funkeinrichtung an |
001 | Mehr als 1 ms, aber weniger als 2 ms; die Funkeinrichtung kann für 1 ms ausgeschaltet werden |
010 | Mehr als 2 ms, aber weniger als 3 ms; die Funkeinrichtung kann für 2 ms ausgeschaltet werden |
011 | Mehr als 3 ms, aber weniger als 4 ms; die Funkeinrichtung kann für 3 ms ausgeschaltet werden |
100 | Mehr als 4 ms, aber weniger als 5 ms; die Funkeinrichtung kann für 4 ms ausgeschaltet werden |
101 | Mehr als 5 ms, aber weniger als 6 ms; die Funkeinrichtung kann für 5 ms ausgeschaltet werden |
110 | Mehr als 6 ms, aber weniger als 7 ms; die Funkeinrichtung kann für 6 ms ausgeschaltet werden |
111 | Mehr als 7 ms, aber weniger als 8 ms; die Funkeinrichtung kann für 7 ms ausgeschaltet werden |
-
In einer anderen Ausführungsform kann es eine minimale Zeit geben, bevor der Empfänger 410 auf den Kanal zugreifen kann, sowie eine maximale Zeit. In dieser Ausführungsform können die Bits verwendet werden, um den prozentualen Anteil der Zeit zwischen der minimalen und der maximalen Zeit darzustellen, für die der Empfänger 410 warten wird. Man nehme zum Beispiel eine minimale Verzögerung von 1 ms und eine maximale Verzögerung von 9 ms an. Die 3 Bits können wie folgt verwendet werden: Erwartete Verzögerung = Min_Verzögerung + ((Bit_Wert)/8)·
(Max_Verzögerung-Min_Verzögerung)
-
Die folgende Tabelle zeigt die Verzögerungszeiten unter Verwendung dieses Verfahrens:
Bits | Verzögerungszeit (= 1 ms + (Bit-Wert/8)·8 ms) |
000 | Mehr als 1 ms, aber weniger als 2 ms; die Funkeinrichtung kann für 1 ms ausgeschaltet werden |
001 | Mehr als 2 ms, aber weniger als 3 ms; die Funkeinrichtung kann für 2 ms ausgeschaltet werden |
010 | Mehr als 3 ms, aber weniger als 4 ms; die Funkeinrichtung kann für 3 ms ausgeschaltet werden |
011 | Mehr als 4 ms, aber weniger als 5 ms; die Funkeinrichtung kann für 4 ms ausgeschaltet werden |
100 | Mehr als 5 ms, aber weniger als 6 ms; die Funkeinrichtung kann für 5 ms ausgeschaltet werden |
101 | Mehr als 6 ms, aber weniger als 7 ms; die Funkeinrichtung kann für 6 ms ausgeschaltet werden |
110 | Mehr als 7 ms; die Funkeinrichtung kann für 7 ms ausgeschaltet werden |
111 | Mehr als 8 ms; die Funkeinrichtung kann für 8 ms ausgeschaltet werden |
-
Diese Ausführungsform kann eine Modifikation an einem oder mehreren zu implementierenden Protokollstandards erfordern. In anderen Ausführungsformen werden die reservierten Bits als verkäufer- bzw. anbieterspezifische Bits verwendet, wobei nicht alle Vorrichtungen diese Modifikation implementieren müssen. In diesem Fall kann der Wert 000 verwendet werden, um darzustellen, dass die Funkeinrichtung 141 nicht ausgeschaltet werden kann.
-
Auch wenn die obigen Modifikationen, die mit Energieeinsparungen während des Empfangs eines ACK 300 in Zusammenhang stehen, als Softwaremodifikationen beschrieben worden sind, ist die Erfindung nicht auf diese Ausführungsform beschränkt. Zum Beispiel kann die SoC 100 modifiziert werden, um automatisch die Überprüfung des Rahmen-wartet-Bits 311 in dem ACK-Paket 300 durchzuführen, wie es oben beschrieben ist. In Reaktion auf die Feststellung, dass dieses Bit gesetzt ist, kann die Hardware einige oder alle der oben beschriebenen Funktionen durchführen.
-
In einer anderen Ausführungsform kann die Hardware die reservierten Bits in dem ACK-Paket 300 automatisch analysieren, um die Verzögerung zu bestimmen, die von dem Empfänger 410 verwendet werden wird. Sobald die Verzögerung bestimmt worden ist, kann die Hardware die Funkeinrichtung 141 automatisch ausschalten und die Funkeinrichtung 141 zu den geeigneten Zeiten einschalten.
-
Außerdem kann das Setzen der reservierten Bits in dem ACK-Paket 300 durch den Empfänger 410 entweder durch Software oder durch Hardware durchgeführt werden.
-
Gemäß einem anderen Verfahren kann die Funkeinrichtungsverwendung minimiert werden, indem die Energieversorgung der Funkeinrichtung 141 verzögert wird, bis ein Paket zur Übertragung bereit ist. In den meisten Ausführungsformen werden ausgehende Pakete konstruiert, indem dafür gesorgt wird, dass jede Softwareschicht eine ”Hülle” oder zusätzliche Informationen zu dem Paket hinzufügt, nachdem es von einer höheren Softwareschicht empfangen worden ist. Zum Beispiel kann die Anwendungsschicht 230 ein Paket konstruieren, das sie an die MAC-Schicht 220 weitergibt. Die MAC-Schicht 220 fügt dem Paket dann zusätzliche Informationen hinzu und gibt es an die physikalische Schicht 210 weiter.
-
In den meisten Funkeinrichtungsimplementierungen bleibt die Funkeinrichtung 141 ausgeschaltet oder in einem Zustand mit verringerter Energie, wenn es keine zu sendenden Pakete gibt. Sobald ein Paket an die MAC-Schicht 220 weitergegeben wird, schaltet die MAC-Schicht 220 jedoch typischerweise die Funkeinrichtung 141 in Erwartung der Übertragung des Pakets ein. Die MAC-Schicht 220 muss jedoch noch einiges an Paketkonstruktion durchführen, wie etwa Hinzufügen von Verschlüsselung, Vorbereiten des Pakets für DMA und andere Merkmale. Diese Paketkonstruktion kann zeitaufwändig sein und dadurch unnötig wertvolle Energie für die Funkeinrichtung 141 verwenden. In dieser Ausführungsform kann die MAC-Schicht 220 die Funkeinrichtung 141 einschalten, wenn sie das Paket an die physikalische Schicht 210 weitergibt. In einer anderen Ausführungsform kann die physikalische Schicht 210 für das Einschalten der Funkeinrichtung 141 bei Empfang des Pakets von der MAC-Schicht 220 verantwortlich sein.
-
Auch wenn sich die obige Beschreibung auf drahtlose Übertragung bezieht, können dieselben Verfahren und Algorithmen in drahtgebundenen Netzwerken eingesetzt werden. In jedem Netzwerk verbraucht die Schaltung, die zum Empfangen und Senden verwendet wird, typischerweise mehr Energie als andere. Bereiche der Vorrichtung. Somit können diese Verfahren verwendet werden, um die Schaltung auszuschalten, die zum Empfangen und Senden von Paketen unter Verwendung jeglicher Medien verwendet wird.
-
Die vorliegende Offenbarung ist in ihrem Bereich nicht durch die spezifischen Ausführungsformen beschränkt, die hierin beschrieben sind. Tatsächlich sind verschiedene andere Ausführungsformen und Modifikationen der vorliegenden Offenbarung zusätzlich zu denjenigen, die hierin beschrieben sind, für Fachleute aus der vorhergehenden Beschreibung und den beigefügten Zeichnungen ersichtlich. Somit sollen derartige andere Ausführungsformen und Modifikationen in den Bereich der vorliegenden Offenbarung fallen. Auch wenn die vorliegende Offenbarung hierin in dem Kontext einer bestimmten Implementierung in einer bestimmten Umgebung für einen bestimmten Zweck beschrieben worden ist, werden Fachleute außerdem erkennen, dass ihre Nützlichkeit nicht darauf beschränkt ist und dass die vorliegende Offenbarung in vorteilhafter Weise in jeder Anzahl von Umgebungen für jede Anzahl von Zwecken implementiert werden kann. Dementsprechend sollten die unten angegebenen Ansprüche in Anbetracht der vollen Breite und dem Geist der vorliegenden Offenbarung interpretiert werden, wie es hierin beschrieben ist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- 802.15.4-Standard [0021]
- 802.15.4 [0022]
- 802.15.4-Standard [0028]
- 802.15.4-Standard [0029]
- 802.15.4 [0037]