-
HINTERGRUND
-
Gebiet der Erfindung
-
Die Offenbarung betrifft Verfahren für ein Multidrop-Netzwerksystem und insbesondere Verfahren von Sleep- und Wakeup-Prozeduren für ein Multidrop-Netzwerksystem.
-
Beschreibung des Standes der Technik
-
Ein Multidrop-Netzwerksystem ist ein Netzwerksystem, in dem mehrere Endpunkte über Übertragungsleitungen miteinander verbunden sind, was auf die Steuerung von fahrzeuginternen Ausrüstungen angewendet werden kann. Das herkömmliche Multidrop-Netzwerksystem bietet j edoch keine zuverlässigen Sleep- und Wakeup-Funktionen. Die Sleep- und Wakeup-Prozeduren können nur Punkt-zu-Punkt durchgeführt werden und somit ist die Gesamtleistung des Multidrop-Netzwerksystems begrenzt.
-
KURZDARSTELLUNG
-
Eine Aufgabe der vorliegenden Offenbarung ist es, Verfahren für ein Multidrop-Netzwerksystem bereitzustellen, wobei die Verfahren in der Lage sind, eine oder mehrere Sleep- und Wakeup-Prozeduren durchzuführen, um weiterhin zuverlässige Sleep- und Wakeup-Funktionen bereitzustellen, so dass die Gesamtleistung des Multidrop-Netzwerksystems verbessert werden kann. Die Verfahren sind ferner in der Lage, eine Wakeup-Funktion für partielle Knoten auszuführen, um die Wirksamkeit für einen Teils des Netzwerks zu erreichen.
-
Ein Aspekt der vorliegenden Offenbarung betrifft ein Verfahren für ein Multidrop-Netzwerksystem mit mehreren Knoten, die miteinander verbunden sind. Das Verfahren umfasst die folgenden Schritte: Senden einer Sleep-Anforderungsnachricht durch einen ersten Knoten der Knoten an mindestens einen zweiten Knoten der Knoten; und Bestimmen, ob der erste Knoten aus einem Wakeup-Zustand in einen Sleep-Zustand übergehen soll, abhängig von einer Situation des Sendens einer Sleep-Bestätigungsnachricht durch den zweiten Knoten als Reaktion auf die Sleep-Anforderungsnachricht.
-
Ein weiterer Aspekt der vorliegenden Offenbarung betrifft ein Verfahren für ein Multidrop-Netzwerksystem mit mehreren Knoten, die miteinander verbunden sind. Das Verfahren umfasst die folgenden Schritte: Senden einer Wakeup-Anforderungsnachricht durch einen ersten Knoten der Knoten an einen zweiten Knoten der Knoten; und Bestimmen, ob der zweite Knoten aus einem Sleep-Zustand in einen Wakeup-Zustand eintreten soll, abhängig vom Inhalt der Wakeup-Anforderungsnachricht.
-
Noch ein weiterer Aspekt der vorliegenden Offenbarung betrifft ein Verfahren für ein Multidrop-Netzwerksystem mit mehreren Knoten, die miteinander verbunden sind. Das Verfahren umfasst die folgenden Schritte: Konfigurieren eines ersten Knotens der Knoten, um aktiv aus einem Sleep-Zustand in einen Wakeup-Zustand einzutreten und eine Knotenlisten-Anforderungsnachricht zu senden; und Aktualisieren einer Knotenliste in Abhängigkeit von einem Knotenindex der Knotenlisten-Anforderungsnachricht durch einen zweiten Knoten der Knoten, der die Knotenlisten-Anforderungsnachricht empfängt, und Senden einer Knotenlisten-Aktualisierungsnachricht mit Knotenlisteninformationen durch den zweiten Knoten in dem Multidrop-Netzwerksystem.
-
Figurenliste
-
- 1 ist ein schematisches Diagramm eines Multidrop-Netzwerksystems gemäß einigen Ausführungsformen der Offenbarung.
- 2 ist ein Zustandsübergangsdiagramm eines beliebigen Knotens in dem Multidrop-Netzwerksystem aus 1.
- 3 ist ein Ablaufdiagramm eines Verfahrens für das Multidrop-Netzwerksystem aus 1 gemäß einigen Ausführungsformen der Offenbarung.
- 4 ist ein Ablaufdiagramm eines Verfahrens für das Multidrop-Netzwerksystem aus 1 gemäß einigen Ausführungsformen der Offenbarung.
- 5 ist ein Ablaufdiagramm eines Verfahrens für das Multidrop-Netzwerksystem aus 1 gemäß einigen Ausführungsformen der Offenbarung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die hierin verwendeten Begriffe werden nur verwendet, um die spezifischen Ausführungsformen zu beschreiben, und werden nicht verwendet, um die hiermit beigefügten Ansprüche einzuschränken. Sofern nicht anders eingeschränkt, kann der Begriff „ein“, „eine“, „einer“ oder „der“, „die“, „das“ in der Einzelform auch die Pluralform darstellen.
-
Es versteht sich, dass, obwohl die Begriffe „erste“, „zweite“, „dritte“ usw. hierin verwendet werden können, um verschiedene Signale und/oder Entitäten zu beschreiben, diese Signale und/oder Entitäten nicht durch diese Begriffe beschränkt sein sollen. Diese Begriffe werden nur verwendet, um Signale und/oder Entitäten zu unterscheiden.
-
Das Dokument kann Bezugszeichen und/oder Buchstaben in den verschiedenen Beispielen wiederholen. Diese Wiederholung dient der Einfachheit und Klarheit und diktiert selbst keine Beziehung zwischen den verschiedenen diskutierten Ausführungsformen und/oder Konfigurationen.
-
In diesem Zusammenhang haben Nachrichten, die sich auf Wakeup- und Sleep-Prozeduren beziehen, wie Sleep-Anforderungsnachrichten, Sleep-Bestätigungsnachrichten, Wakeup-Anforderungsnachrichten, Wakeup-Bestätigungsnachrichten, Knotenlisten-Anforderungsnachrichten und Knotenlisten-Aktualisierungsnachrichten, ein Format mit Anweisungs- und Knotenindexspalten, wobei die Anweisungsspalte einen Nachrichtentyp darstellt, während die Knotenindexspalte einen Zielknotenindex anzeigt.
-
1 ist ein schematisches Diagramm eines Multidrop-Netzwerksystems 100 gemäß einigen Ausführungsformen der Offenbarung. In dem Multidrop-Netzwerksystem 100 sind die Knoten 1101- 110N kommunikativ miteinander verbunden. Wie in 1 gezeigt, weist das Multidrop-Netzwerksystem 100 in den Ausführungsformen eine Bustopologie auf, d. h. die Knoten 1101-110N sind alle mit einem Bus 120 verbunden. In einer anderen Ausführungsform können in dem Multidrop-Netzwerksystem 100 die Knoten 1101- 110N über den Bus 120 miteinander verbunden sein. Die Knoten 1101- 110N umfassen jeweils Steuereinheiten 1121-112N und Transceiverschaltungen 1141-114N. Die Steuereinheiten 1121-112N sind zum Steuern von Aussendung und Empfang von Nachrichten konfiguriert und steuern jeweils Zustände der Transceiverschaltungen 1141-114N. Die Transceiverschaltungen 1141-114N weisen jeweils Signalübertragungsfunktionen (engl.: transception) und Analog/Digital-Signalerfassungsfunktionen auf. Wenn das Multidrop-Netzwerksystem 100 ein Automobil-Ethernet-System ist, kann jede der Steuereinheiten 1121-112N beispielsweise eine elektronische Steuereinheit (ECU), eine Hybridsteuereinheit (HCU), ein Prozessor, ein Mikroprozessor oder ein Mikrocontroller sein, jedoch ist die vorliegende Offenbarung nicht darauf beschränkt. Zusätzlich kann das Multidrop-Netzwerksystem 100 Spezifikationen wie 10BASE-T1, 10BASE-T1S, Controller Area Network (CAN) und/oder Power over Data Lines (PoDL) unterstützen und jeder der Knoten 1101-110N kann eine Vorrichtung sein, die die Sleep/Wake-up-Spezifikation der OPEN Alliance unterstützt.
-
Wenn der Knoten 110n unter den Knoten 1101-110N ein Switch oder eine elektronische Vorrichtung mit einer Switch-Funktion ist, können die Schnittstellen des Knotens 110n zum Empfangen und Weiterleiten von Nachrichten unterschiedliche Anschlussports sein. Das heißt, der Knoten 110n empfängt Nachrichten über einen der Anschlussports und leitet Nachrichten über einen anderen der Anschlussports weiter. Zusätzlich kann das Multidrop-Netzwerksystem 100 über einen oder mehrere der Knoten 1101-110N kommunikativ mit einem anderen Netzwerksystem verbunden sein.
-
2 ist ein Zustandsübergangsdiagramm eines beliebigen Knotens in dem Multidrop-Netzwerksystem 100. Das in 2 gezeigte Zustandsübergangsdiagramm umfasst einen Wakeup-Zustand 210 und einen Sleep-Zustand 220. Nimmt man den Knoten 110i als Beispiel, kann der Knoten 110i im Wakeup-Zustand 210 normal arbeiten (einschließlich normaler Nachrichtenübertragungen), während der Knoten 110i im Sleep-Zustand 220 darauf beschränkt ist, nur einige Operationen durchzuführen, um Energie zu sparen.
-
Darüber hinaus kann der Sleep-Zustand 220 in einen Deep-Sleep-Zustand 222, einen Light-Sleep-Zustand 224 und einen Fehlalarmzustand 226 klassifiziert werden. Nehmen wir beispielsweise den Knoten 110i im Deep-Sleep-Zustand 222, so aktiviert der Knoten 110i nur eine Analogsignalerfassungsfunktion, deaktiviert jedoch andere Funktionen (wie beispielsweise eine Digitalsignalerfassungsfunktion), um den Stromverbrauch zu minimieren. In dem Light-Sleep-Zustand 224 aktiviert der Knoten 110i eine digitale Signalerfassungsfunktion und bestimmt, ob die empfangene Nachricht eine Wakeup-Anforderungsnachricht ist. Im Fehlalarmzustand 226 deaktiviert der Knoten 110i die Digitalsignalerfassungsfunktion und überwacht, wenn der Signalübertragungskanal stumm ist.
-
Wenn der Knoten 110i eine empfangene Nachricht erkennt, tritt der Knoten 110i aus dem Deep-Sleep-Zustand 222 in den Light-Sleep-Zustand 224 ein, um eine digitale Signalerfassungsfunktion zu aktivieren, woraufhin der Knoten 110i bestimmt, ob die empfangene Nachricht eine Wakeup-Anforderungsnachricht ist. Wenn festgestellt wird, dass die empfangene Nachricht eine Wakeup-Anforderungsnachricht ist, deren Wakeup-Knotenindex mit dem Knotenindex des Knotens 110i identisch ist oder ein globaler Index ist, geht der Knoten 110i vom Light-Sleep-Zustand 224 in den Wakeup-Zustand 210 über, um den Normalbetrieb auszuführen. Wenn der Knoten 110i feststellt, dass die empfangene Nachricht keine Wakeup-Anforderungsnachricht ist, oder der Knoten 110i bestimmt, dass die empfangene Nachricht eine Wakeup-Anforderungsnachricht ist, aber dass sich dessen Wakeup-Knotenindex von dem Knotenindex des Knotens 110i unterscheidet und der Knoten 110i bestimmt, dass der empfangene Index kein globaler Index ist, geht der Knoten 110i aus dem Light-Sleep-Zustand 224 in den Fehlalarmzustand 226 über, um die Digitalsignalerfassungsfunktion zu stoppen, und geht dann aus dem Fehlalarmzustand 226 in den Deep-Sleep-Zustand 222 über, wenn der Knoten 110i erkennt, dass der Signalübertragungskanal stumm ist. Von daher kann sich der Knoten 110i die meiste Zeit im minimalen Stromverbrauchsmodus befinden.
-
3 ist ein Ablaufdiagramm eines Verfahrens 300 für das Multidrop-Netzwerksystem 100 gemäß einigen Ausführungsformen der Offenbarung. Zu Beginn sendet in Schritt S310 ein Knoten 110i unter den Knoten 1101-110N eine Sleep-Anforderungsnachricht Sleep _Req an die anderen Knoten (d. h. die Knoten 1101-110(i-1), 110(i+1)-110N) im Multidrop-Netzwerksystem 100. In einigen Ausführungsformen sendet der Knoten 110i die Sleep-Anforderungsnachricht Sleep_Req in einer Situation, in der der Knoten 110i beabsichtigt, aus einem Wakeup-Zustand in einen Sleep-Zustand einzutreten (der Knoten 110i ist der Knoten, der zu diesem Zeitpunkt aktiv eine Sleep-Prozedur auslöst). Der Knoten 110i kann die Sleep-Anforderungsnachricht Sleep_Req durch Broadcasting senden.
-
Dann bestimmt in Schritt S320 der Knoten 110i in Abhängigkeit von der Bedingung Situatuion des Sendens von Sleep-Bestätigungsnachrichten Sleep_Ack, ob er aus dem Wakeup-Zustand in den Sleep-Zustand eintreten soll. In einigen Ausführungsformen werden die Sleep-Bestätigungsnachrichten Sleep Ack von den anderen Knoten als Reaktion auf die Sleep-Anforderungsnachricht Sleep_Req gesendet. Unter normalen Bedingungen sendet jeder Nicht-Sleep-Knoten außer dem Knoten 110i die Sleep-Bestätigungsnachricht Sleep_Ack an den Knoten 110i als Reaktion auf die Sleep-Anforderungsnachricht Sleep_Req nachdem jeder Nicht-Sleep-Knoten außer dem Knoten 110i die Sleep-Anforderungsnachricht Sleep_Req von dem Knoten 110i empfängt. Daher kann der Knoten 110i bestimmen, dass die Nicht-Sleep-Knoten unter den anderen Knoten alle die Sleep-Anforderungsnachricht Sleep_Req empfangen haben, wenn die Anzahl von Sleep-Bestätigungsnachrichten Sleep_Ack, die von dem Knoten 110i empfangen werden, identisch mit der Anzahl von Wakeup-Knotenindizes ist. In einigen Ausführungsformen werden die Wakeup-Knotenindizes in einer Knotenliste im Knoten 110i gespeichert. Der Knoten 110i kann auch seine Knotenliste als Reaktion auf die empfangene Sleep-Bestätigungsnachricht Sleep Ack aktualisieren, indem er seine Zustandsinformation von „Wakeup“ auf „Sleep“ aktualisiert, und der Knoten 110i kann ein Flag gesetzt werden. Wenn die Steuereinheit 112i das von dem Knoten 110i gesetzte Flag ausliest, steuert die Steuereinheit 112i die Transceiverschaltung 114i, um die aktualisierte Knotenliste an alle Wakeup-Knoten in dem Multidrop-Netzwerksystem 100 zu senden, und danach tritt der Knoten 110i aus dem Wakeup-Zustand in den Sleep-Zustand ein.
-
Der Schritt des Bestimmens, ob der Knoten 110i in den Sleep-Zustand eintritt, bestimmt, ob die Anzahl von Sleep-Bestätigungsnachrichten Sleep_Ack, die in einem vorbestimmten Zeitraum empfangen werden, nachdem der Knoten 110i die Sleep-Anforderungsnachrichten Sleep_Req gesendet hat, mit der Anzahl von Wakeup-Knotenindizes in der Knotenliste des Knotens 110i identisch ist.
-
Der Knoten 110i kann gleichzeitig mit dem Senden der Sleep-Anforderungsnachricht Sleep_Req einen Zeitgeber starten. Wenn der Knoten 110i die von allen Knoten im Wakeup-Zustand gesendeten Sleep-Bestätigungsnachrichten Sleep Ack empfängt, bevor der Zeitgeber abgelaufen ist, stoppt der Knoten 110i den Zeitgeber und tritt aus dem Wakeup-Zustand in den Sleep-Zustand ein. Im Gegensatz dazu, wenn er nicht alle von allen Knoten gesendeten Sleep-Bestätigungsnachrichten Sleep_Ack empfängt, sendet der Knoten 110i die Sleep-Anforderungsnachricht Sleep_Req erneut und startet den Zeitgeber neu. Wenn die Anzahl der erneut übertragenen Sleep-Anforderungsnachrichten Sleep_Req die vorgegebene maximale Anzahl von Malen für die erneute Übertragung von Sleep-Anforderungsnachrichten erreicht und der Knoten 110i nicht alle Sleep-Bestätigungsnachrichten Sleep_Ack von den Wakeup-Knoten empfängt, wenn der Zeitgeber abgelaufen ist, verlässt der Knoten 110i die Sleep-Prozedur und bleibt im Wakeup-Zustand, anstatt in den Sleep-Zustand einzutreten.
-
4 ist ein Ablaufdiagramm eines Verfahrens 400 für das Multidrop-Netzwerksystem 100 gemäß einigen Ausführungsformen der Offenbarung. Zu Beginn sendet der Knoten 110i in Schritt S410 eine Wakeup-Anforderungsnachricht Wakeup_Req1 an einen anderen Knoten 110j in dem Multidrop-Netzwerksystem 100 in einer Situation, in der der Knoten 110i beabsichtigt, ein Wakeup des Knotens 110j durchzuführen. Gemäß verschiedenen Wakeup-Szenarien kann die Wakeup-Anforderungsnachricht Wakeup_Req1 eine globale Wakeup-Anforderungsnachricht oder eine selektive Wakeup-Anforderungsnachricht sein. Mit anderen Worten, der Wakeup-Knotenindex in der Wakeup-Anforderungsnachricht Wakeup_Req1 kann ein globaler Index sein oder kann einem spezifischen Knoten entsprechen. Zum Beispiel kann ein Knoten im Multidrop-Netzwerksystem 100 eine globale Wakeup-Anforderungsnachricht senden, um alle anderen Knoten im Multidrop-Netzwerksystem 100 aufzuwecken, oder er kann eine selektive Wakeup-Anforderungsnachricht mit einem bestimmten Wakeup-Knotenindex senden, um einen anderen oder einige andere Knoten in dem Multidrop-Netzwerksystem 100 aufzuwecken.
-
Der Knoten 110i kann die Wakeup-Anforderungsnachricht Wakeup_Req1 zu einem Zeitpunkt oder kontinuierlich senden, abhängig von Systemkonfigurationen, Hardwareleistungen und/oder einer anderen Bedingung. In einigen Ausführungsformen sendet der Knoten 110i die Wakeup-Anforderungsnachricht Wakeup_Req1 kontinuierlich für eine vorbestimmte Anzahl von Malen. Der Knoten 110j würde sich im Deep-Sleep-Zustand befinden und würde, nachdem der Knoten 110j in den Light-Sleep-Zustand eintritt, einige Zeit von der Analogsignalerfassung bis zur Nachrichtenüberprüfung brauchen. In einem Fall, in dem eine Hardwarefunktion des Knotens 110j eingeschränkt ist, kann der Knoten 110i die Wakeup-Anforderungsnachricht Wakeup_Req1 innerhalb eines Zeitraums eine vorbestimmte Anzahl von Malen kontinuierlich an den Knoten 110j senden, um sicherzustellen, dass die Wakeup-Anforderungsnachricht Wakeup_Req1 vom Knoten 110j empfangen und verarbeitet wird.
-
Anschließend bestimmt in Schritt S420, nachdem der Knoten 110j die Wakeup-Anforderungsnachricht Wakeup_Req1 empfängt, der Knoten 110j abhängig vom Inhalt der Wakeup-Anforderungsnachricht Wakeup_Req1, ob er aus dem Sleep-Zustand in den Wakeup-Zustand eintreten soll. Wenn der Knoten 110j feststellt, dass der Wakeup-Knotenindex der Wakeup-Anforderungsnachricht Wakeup_Req1 mit seinem Knotenindex identisch ist, oder wenn der Knoten 110j bestimmt, dass der Wakeup-Knotenindex der Wakeup-Anforderungsnachricht Wakeup_Req1 ein globaler Index ist, tritt der Knoten 110j aus dem Sleep-Zustand in den Wakeup-Zustand ein und sendet eine Wakeup-Bestätigungsnachricht Wakeup_Ack1 an den Knoten 110i als Reaktion auf die Wakeup-Anforderungsnachricht Wakeup_Req1. Wenn der Knoten 110i die Wakeup-Bestätigungsnachricht Wakeup Ack1 von dem Knoten 110j empfängt, aktualisiert der Knoten 110i dessen Knotenliste, in der die dem Knoten 110j zugeordnete Information von „Sleep“ auf „Wakeup“ aktualisiert wird. Der Knoten 110i steuert die Transceiverschaltung 114i, um eine Knotenliste an alle Wakeup-Knoten in dem Multidrop-Netzwerksystem zu senden, nachdem die Knotenliste des Knotens 110i aktualisiert wurde, und danach wird ein gesetztes Flag von der Steuereinheit 112i ausgelesen. Da keiner der Knoten außer dem Knoten 110i ein Knoten ist, der die Wakeup-Prozedur aktiv auslöst, aktualisieren die anderen Wakeup-Knoten außer dem Knoten 110i jeweils deren Knotenlisten gemäß den Knotenlistendaten von dem Knoten 110i. Wenn ein Flag gesetzt wird, bevor einer der Wakeup-Knoten außer dem Knoten 110i die Knotenlistendaten vom Knoten 110i empfängt, wird das gesetzte Flag durch den Wakeup-Knoten gelöscht.
-
Der Knoten 110i kann gleichzeitig mit dem Senden der Wakeup-Anforderungsnachricht Wakeup_Req1 einen Zeitgeber aktivieren. Der Knoten 110i deaktiviert den Zeitgeber, wenn der Knoten 110i eine Wakeup-Bestätigungsnachricht Wakeup_Ack1 empfängt, bevor der Zeitgeber abgelaufen ist. Im Gegensatz dazu, wenn der Knoten 110i noch keine Wakeup-Bestätigungsnachricht Wakeup_Ack1 empfängt, bevor der Zeitgeber abgelaufen ist, sendet der Knoten 110i die Wakeup-Anforderungsnachricht Wakeup_Req1 erneut an den Knoten 110j und startet den Zeitgeber neu. Wenn die Anzahl von Neuübertragungen der Wakeup-Anforderungsnachricht Wakeup_Req1 eine vorbestimmte Anzahl für die Neuübertragungen erreicht und wenn der Knoten 110j die Wakeup-Bestätigungsnachricht Wakeup _Ack1 nach Ablauf des Zeitgebers noch nicht empfängt, konnte der Knoten 110j aus einem bestimmten Grund nicht aufgeweckt werden oder alternativ ist der Knoten 110j möglicherweise vom Multidrop-Netzwerksystem 100 getrennt. In einer solchen Situation aktualisiert der Knoten 110i den Zustand des Knotens 110j in der Knotenliste nicht.
-
Wenn in einigen Ausführungsformen der Knoten 110k, ein anderer als die Knoten 110i und 110j, in dem Multidrop-Netzwerksystem 100 die vom Knoten 110j gesendete Wakeup-Bestätigungsnachricht Wakeup_Ack1 erkennt, dann kann der Knoten 110k dessen Knotenliste gemäß der Wakeup-Bestätigungsnachricht Wakeup_Ack1 aktualisieren und aktualisiert die dem Knoten 110j zugeordnete Information von „Sleep“ auf „Wakeup“. Als solcher kann der Knoten 110k bestätigen, dass der Knoten 110j bereits in den Wakeup-Zustand eingetreten ist, bevor er darauf wartet, dass der Knoten 110i aktualisierte Knotenlisteninformationen sendet, und kann ferner im Voraus mit der Übertragung von Informationen an den Knoten 110j beginnen.
-
In einigen Ausführungsformen sendet der Knoten 110i Knotenlistendaten an alle Wakeup-Knoten in dem Multidrop-Netzwerksystem 100 außer dem Knoten 110j, und die Wakeup-Knoten in dem Multidrop-Netzwerksystem 100 außer dem Knoten 110j aktualisieren ihre Knotenlisten entsprechend.
-
Eine Situation des Empfangens einer Wakeup-Anforderungsnachricht durch einen Wakeup-Knoten in dem Multidrop-Netzwerksystem 100 kann aufgrund einer Ausnahme auftreten, wie etwa dem Auslösen einer Wakeup-Prozedur durch diesen Wakeup-Knoten, Verlust der von diesem Wakeup-Knoten gesendeten Wakeup-Bestätigungsnachricht, oder einer anderen Ausnahme. In einigen Ausführungsformen bestimmt der Knoten 110j, ob der Wakeup-Knotenindex der Wakeup-Anforderungsnachricht Wakeup _Req2 mit dessen Knotenindex identisch ist, wenn der Knoten 110j die Wakeup-Anforderungsnachricht Wakeup _Req2 von dem Knoten 110k empfängt, nachdem der Knoten 110j aus dem Sleep-Zustand in den Wakeup-Zustand eintritt. Wenn der Wakeup-Knotenindex der Wakeup-Request-Nachricht Wakeup _Req2 identisch mit dem Knotenindex des Knotens 110j ist, sendet der Knoten 110j die Wakeup-Bestätigungsnachricht Wakeup _Ack2 an den Knoten 110k als Reaktion auf die Wakeup-Anforderungsnachricht Wakeup _Req2, um zu benachrichtigen, dass sich der Knoten 110j bereits im Wakeup-Zustand befindet.
-
In einer anderen Ausführungsform können mehrere Knoten des gleichen Multidrop-Netzwerksystems 100 von einem einzelnen Knoten aufgeweckt werden. Zum Beispiel sendet der Knoten 110i die Wakeup-Anforderungsnachricht Wakeup_Req1 an die Knoten 110j, 110k und aktiviert einen Zeitgeber, wenn der Knoten 110i beabsichtigt, die Knoten 110j, 110k aufzuwecken. Wenn der Knoten 110i Wakeup-Bestätigungsnachrichten Wakeup_Ack1 von den Knoten 110j bzw. 110k empfängt, bevor der Zeitgeber abläuft, stoppt der Knoten 110i den Zeitgeber, aktualisiert seine Knotenliste, in der die den Knoten 110j, 110k zugeordnete Informationen von „Sleep“ auf „Wakeup“ aktualisiert wird, und setzt dann ein Flag. Im Gegensatz dazu, wenn der Knoten 110i nicht alle Wakeup-Bestätigungsnachrichten Wakeup Ack1 von den Knoten 110j bzw. 110k empfängt, wenn der Zeitgeber abgelaufen ist, sendet der Knoten 110i die Wakeup-Anforderungsnachricht Wakeup_Req1 erneut an den Knoten, der der nicht empfangenen Wakeup-Bestätigungsnachricht Wakeup_Ack1 entspricht, und reaktiviert den Zeitgeber. Wenn die Wiederholungshäufigkeit der Wakeup-Anforderungsnachricht Wakeup_Req1 eine vorbestimmte Wiederholungshäufigkeit erreicht und wenn die Wakeup-Bestätigungsnachrichten Wakeup Ack1 von den Knoten 110j bzw. 110k nicht alle von dem Knoten 110i empfangen wurden, wenn der Zeitgeber abgelaufen ist, aktualisiert der Knoten 110i die Zustandsinformation des Knotens, von dem die Wakeup-Bestätigungsnachricht Wakeup _Ack1 nicht empfangen wurde, in seiner Knotenliste nicht.
-
In einigen Anwendungen ist der Knoten 110n unter den Knoten 1101-110N ein Switch mit einem ersten Anschlussport und einem zweiten Anschlussport. Der erste Anschlussport verbindet die anderen Knoten in dem Multidrop-Netzwerksystem 100, während der zweite Anschlussport mit einem anderen Netzwerksystem verbunden ist (einschließlich, ohne darauf beschränkt zu sein, eines Multidrop-Netzwerksystems). In einem solchen Fall kann der Knoten 110n, nachdem eine Wakeup-Anforderungsnachricht über den ersten Anschlussport empfangen wurde, die Wakeup-Anforderungsnachricht über den zweiten Anschlussport an ein anderes Netzwerksystem weiterleiten, um einen oder mehrere Knoten in einem anderen Netzwerksystem aufzuwecken.
-
5 ist ein Ablaufdiagramm eines Verfahrens 500 für das Multidrop-Netzwerksystem 100 gemäß einigen Ausführungsformen der Offenbarung. Zu Beginn führt der Knoten 110i des Multidrop-Netzwerksystems 100 in Schritt S510 eine lokale Wakeup-Operation durch, um aktiv aus einem Sleep-Zustand in einen Wakeup-Zustand einzutreten und dann eine Knotenlisten-Anforderungsnachricht an alle Wakeup-Knoten (einschließlich des Knotens 110j) in dem Multidrop-Netzwerksystem 100 außer dem Knoten 110i zu senden. Dann, in Schritt S520, wenn der Knoten 110j die Knotenlisten-Anforderungsnachricht empfängt, aktualisiert der Knoten 110j seine Knotenliste gemäß der Knotenlisten-Anforderungsnachricht von dem Knoten 110i und sendet die Knotenliste in das Multidrop-Netzwerksystem 100.
-
Wenn beispielsweise der Knoten 110j des Multidrop-Netzwerksystems 100 eine Knotenlisten-Anforderungsnachricht von dem Knoten 110i empfängt, aktualisiert der Knoten 110j seine Knotenliste, indem er die Zustandsinformation des Knotens 110i von „Sleep“ auf „Wakeup“ aktualisiert. Dann setzt der Knoten 110j ein Flag, und die Steuereinheit 112j steuert die Transceiverschaltung 114j, um die aktualisierte Knotenliste in das Multidrop-Netzwerksystem 100 zu senden, wenn die Steuereinheit 112j das Flag erkennt. Dann löscht die Steuereinheit 112j das Flag, nachdem die aktualisierte Knotenliste vollständig gesendet wurde. Nachdem die anderen Wakeup-Knoten außer dem Knoten 110j eine Knotenlisten-Aktualisierungsnachricht von dem Knoten 110j empfangen haben, aktualisieren die anderen Wakeup-Knoten außer dem Knoten 110j jeweils deren Knotenlisten gemäß den Knotenlisteninformationen in der Knotenlisten-Aktualisierungsnachricht. Wenn ein anderer Wakeup-Knoten außer dem Knoten 110j ein Flag gesetzt hat, bevor er eine Knotenlisten-Aktualisierungsnachricht von dem Knoten 110j empfängt, wird ferner bestimmt, ob der Wakeup-Knoten ein Knoten ist, der aktiv eine Wakeup-Prozedur oder eine Sleep-Prozedur auslöst. Wenn der Wakeup-Knoten ein Knoten ist, der aktiv eine Wakeup-Prozedur oder eine Sleep-Prozedur auslöst, behält der Wakeup-Knoten das gesetzte Flag, nachdem der Wakeup-Knoten die Knotenlisten-Aktualisierungsnachricht von dem Knoten 110j empfängt. Andernfalls, wenn der Wakeup-Knoten kein Knoten ist, der aktiv eine Wakeup-Prozedur oder eine Sleep-Prozedur auslöst, löscht der Wakeup-Knoten das gesetzte Flag, nachdem der Wakeup-Knoten die Knotenlisten-Aktualisierungsnachricht von dem Knoten 110j empfängt. In einigen Ausführungsformen sendet der Knoten 110j ferner eine Knotenlisten-Aktualisierungsnachricht mit Knotenlisteninformationen an alle Wakeup-Knoten in dem Multidrop-Netzwerksystem 100 außer dem Knoten 110i entsprechend seiner Knotenliste, so dass die Wakeup-Knoten in dem Multidrop-Netzwerksystem 100 außer dem Knoten 110i deren Knotenlisten aktualisieren, indem sie die dem Knoten 110i zugeordnete Information von „Sleep“ auf „Wakeup“ aktualisiert. Von daher kann die Zeit für diese Knoten, um mit der Übertragung von Daten an den Knoten 110i zu beginnen, weiter vorgezogen werden.
-
In einigen Ausführungsformen, wenn der Knoten 110i eine Wakeup-Anforderungsnachricht Wakeup_Req vom Knoten 110k empfängt, nachdem der Knoten 110i aus dem Sleep-Zustand in den Wakeup-Zustand eintritt, bestimmt der Knoten 110i, ob sein Knotenindex mit dem Wakeup-Knotenindex in der Wakeup-Anforderungsnachricht Wakeup_Req identisch ist. Wenn der Knotenindex des Knotens 110i mit dem Wakeup-Knotenindex in der Wakeup-Request-Nachricht Wakeup_Req identisch ist, sendet der Knoten 110i die Wakeup-Bestätigungsnachricht Wakeup_Ack an den Knoten 110k als Reaktion auf die Wakeup-Anforderungsnachricht Wakeup_Req, um zu benachrichtigen, dass sich der Knoten 110i bereits im Wakeup-Zustand befindet.
-
In einigen Ausführungsformen, wenn der Knoten 110k ein anderer als die Knoten 110i, 110k, in dem Multidrop-Netzwerksystem 100 die vom Knoten 110i gesendete Wakeup-Bestätigungsnachricht Wakeup_Ack erkennt, kann der Knoten 110i seine Knotenliste gemäß der Wakeup-Bestätigungsnachricht Wakeup_Ack aktualisieren, in der die dem Knoten 110i zugeordnete Information von „Sleep“ auf „Wakeup“ aktualisiert wird. Von daher kann die Zeit für den Knoten 110k um mit der Übertragung von Daten an den Knoten 110i zu beginnen, weiter vorverlegt werden.
-
Außerdem kann in den Ausführungsformen der Offenbarung jeder Wakeup-Knoten als ein Anfangsknoten eingestellt werden und eine Roll-Call-Anforderungsnachricht zu einer bestimmten Zeit oder periodisch senden, und jeder der anderen Wakeup-Knoten in demselben Multidrop-Netzwerksystem sendet auch eine Roll-Call-Anforderungsnachricht an den Anfangsknoten als Reaktion auf die Roll-Call-Anforderungsnachricht von dem Anfangsknoten. In einigen Ausführungsformen reagieren die anderen Wakeup-Knoten in demselben Multidrop-Netzwerksystem nur auf die Roll-Call-Anforderungsnachricht, nachdem die anderen Wakeup-Knoten die Roll-Call-Anforderungsnachricht von dem Anfangsknoten empfangen haben. Die Roll-Call-Anforderungsnachricht enthält einen globalen Index und einen Senderknotenindex. Alternativ kann die Roll-Call-Anforderungsnachricht nur einen Senderknotenindex enthalten. Wenn ein Wakeup-Knoten die Roll-Call-Anforderungsnachricht erkennt und wenn die Senderinformation, die der Roll-Call-Anforderungsnachricht in der Knotenliste des Wakeup-Knotens entspricht, „sleep“ ist, aktualisiert der Wakeup-Knoten die Senderinformation von „sleep“ auf „wakeup“. In einigen Ausführungsformen, wenn ein Wakeup-Knoten die Roll-Call-Anforderungsnachricht erkennt und wenn die Senderinformation, die der Roll-Call-Anforderungsnachricht in der Knotenliste des Wakeup-Knotens entspricht, „sleep“ ist, aktualisiert der Wakeup-Knoten die Senderinformation von „sleep“ auf „wakeup“ und sendet dann die aktualisierte Knotenliste in das Multidrop-Netzwerksystem. In einigen Ausführungsformen sendet der Anfangsknoten eine neue Knotenliste, wenn die Knotenliste als Reaktion auf die Roll-Call-Anforderung, die in einem Zeitraum empfangen wird, nicht mit der Knotenliste des Anfangsknotens übereinstimmt. Das oben erwähnte Verfahren zum Senden einer Roll-Call-Anforderungsnachricht zu einer bestimmten Zeit oder periodisch kann sicherstellen, dass die Knotenlisten der Wakeup-Knoten konsistent sind.
-
Wenn beispielsweise der Wakeup-Knoten 110i in dem Multidrop-Netzwerksystem 100 als Anfangssendeknoten zum Senden der Roll-Call-Anforderungsnachricht an die Wakeup-Knoten 110j und 110k eingestellt ist, senden die Knoten 110j und 110k jeweils Roll-Call-Anforderungsnachrichten an den Knoten 110i, nachdem die Knoten 110j und 110k die Roll-Call-Anforderungsnachricht von dem Knoten 110i empfangen haben. Wenn der Knoten 110i keine Roll-Call-Anforderungsnachricht von dem Knoten 110k empfängt, nachdem der Knoten 110i eine Roll-Call-Anforderungsnachricht in einem Zeitraum (z. B. 100 Millisekunden) gesendet hat, dann sendet der Knoten 110i die Roll-Call-Anforderungsnachricht erneut an den Knoten 110k. Wenn der Knoten 110i noch keine Roll-Call-Anforderungsnachricht von dem Knoten 110k empfängt, wenn die Anzahl von Neuübertragungen einen Maximalwert erreicht, bestimmt der Knoten 110i, dass sich der Knoten 110k nicht im Wakeup-Zustand befindet. Nachdem der Knoten 110i bestimmt hat, dass sich der Knoten 110k nicht im Wakeup-Zustand befindet, aktualisiert der Knoten 110i seine Knotenliste, indem er die dem Knoten 110i zugeordnete Information von „Wakeup“ auf „Sleep“ aktualisiert und die aktualisierte Knotenliste in das Multidrop-Netzwerksystem 100 sendet. Ferner, wenn der Knoten 110j die Wakeup-Bestätigungsnachricht erkennt, die von dem Knoten 110k gesendet wird, und wenn die dem Knoten 110k zugeordnete Information in der Knotenliste des Knotens 110j „Sleep“ ist, aktualisiert der Knoten 110j seine Knotenliste, indem er die dem Knoten 110k zugeordnete Information von „Sleep“ auf „Wakeup“ aktualisiert.
-
Basierend auf zumindest den obigen Ausführungsformen sind die Verfahren für ein Multidrop-Netzwerksystem gemäß der Offenbarung in der Lage, zuverlässige Sleep- und Wakeup-Funktionen bereitzustellen, so dass die Gesamtleistung des Multidrop-Netzwerksystems verbessert werden kann. Die Verfahren sind ferner in der Lage, eine Wakeup-Funktion für partielle Knoten auszuführen, um die Wirksamkeit für einen Teil des Netzwerks zu erreichen.