-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft eine Kommunikationsvorrichtung und ein Kommunikationssystem zum Kommunizieren unter Verwendung einer Master-Slave-Technik.
-
HINTERGRUND
-
Patentdokument
JP 2007-312043 A beschreibt allgemein bekannte Master-Slave-Kommunikationen unter Verwendung einer Kommunikationsvorrichtung als ein Master-Knoten und anderer Kommunikationsvorrichtungen als Slave-Knoten in einem Kommunikationssystem einschließlich mehrerer Kommunikationsvorrichtungen bei Datenkommunikation miteinander.
-
Tritt einmal eine Abnormalität in einem Slave-Knoten (nachfolgend als abnormaler Slave-Knoten bezeichnet) auf, wird ein Stoppen des abnormalen Slave-Knotens schwierig. Ein normaler Slave-Knoten kann den abnormalen Slave-Knoten nicht identifizieren. Der normale Slave-Knoten verwendet demnach möglicherweise nicht verlässliche Daten, die von dem abnormalen Slave-Knoten übertragen werden.
-
-
ÜBERBLICK ÜBER DIE ERFINDUNG
-
Eine Aufgabe der vorliegenden Erfindung ist es, zu verhindern, dass ein normaler Slave-Knoten Daten verwendet, die von einem abnormalen Slave-Knoten übertragen werden.
-
Die Aufgabe wird gelöst durch die Merkmale der Ansprüche 1 und 2.
-
Figurenliste
-
Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen ersichtlicher.
- 1 ist ein Blockschaltbild, das eine Konfiguration eines Kommunikationssystems illustriert;
- 2 ist ein illustratives Diagramm einer Konfiguration eines Leitungscodes, der für einen Kommunikationsbus verwendet wird;
- 3 ist ein illustratives Diagramm einer Konfiguration eines Rahmens, der mittels eines Busses übertragen und empfangen wird;
- 4 ist ein illustratives Diagramm von Inhalten und Größen jeder Information, die den Rahmen ausbilden;
- 5 ist ein Zeitdiagramm, das Operationen von Knoten im Normalzustand gemäß einer ersten Ausführungsform illustriert;
- 6 ist ein Ablaufdiagramm, das eine Abnormalitätserfassungsverarbeitung illustriert;
- 7 ist ein Ablaufdiagramm, das eine Taktstoppverarbeitung illustriert;
- 8 ist ein Ablaufdiagramm, das eine Kopfzeilenübertragungsverarbeitung der ersten Ausführungsform illustriert;
- 9 ist eine Konfiguration einer Zeitplanungstabelle der ersten Ausführungsform;
- 10 ist ein Zeitdiagramm, das Operationen der Knoten im abnormalen Zustand gemäß der ersten Ausführungsform illustriert;
- 11 ist ein Zeitdiagramm, das Operationen eines Master-Knotens und abnormalen Slave-Knotens im abnormalen Zustand gemäß der ersten Ausführungsform illustriert;
- 12 ist eine Konfiguration der Zeitplanungstabelle gemäß einer zweiten Ausführungsform;
- 13 ist ein Ablaufdiagramm, das Tabellenfestlegung illustriert;
- 14 ist ein Ablaufdiagramm, das eine Kopfzeilenübertragungsverarbeitung gemäß der zweiten Ausführungsform illustriert;
- 15 ist ein Zeitdiagramm, das Operationen der Knoten während abnormaler Operation gemäß der zweiten Ausführungsform illustriert; und
- 16 ist ein Zeitdiagramm, das Operationen eines Master-Knotens und abnormalen Slave-Knotens im abnormalen Zustand gemäß einer weiteren Ausführungsform illustriert.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
[Erste Ausführungsform]
-
Eine erste Ausführungsform der vorliegenden Erfindung ist unter Verwendung der Zeichnungen nachfolgend beschrieben. Ein Kommunikationssystem 1 der vorliegenden Ausführungsform ist an einem Fahrzeug angebracht und beinhaltet wie in 1 Knoten 2, 3, 4 und 5 als Kommunikationsvorrichtungen. Die Knoten 2, 3, 4 und 5 sind mittels eines Kommunikationsbusses 6 in Datenkommunikation miteinander.
-
Jeder der Knoten 2, 3, 4 und 5 beinhaltet hauptsächlich einen allgemein bekannten Mikrocomputer einschließlich einer CPU, einem ROM, einem RAM, einem I/O und einer Busleitung, die diese Komponenten miteinander verbindet. Unterschiedliche Funktionen des Mikrocomputers werden erreicht, wenn die CPU Programme in einem nicht-flüchtigen physikalischen Aufzeichnungsmedium ausführt. In diesem Beispiel entspricht das ROM dem nicht-flüchtigen physischen Speichermedium, das die Programme speichert. Die Programme werden ausgeführt, um entsprechende Prozeduren auszuführen.
-
Der Knoten 2 funktioniert als ein Master, während Knoten 3, 4 und 5 als Slaves funktionieren. Nachfolgend wird der Knoten 2 ebenso als ein Master-Knoten 2 bezeichnet. Die Knoten 3, 4 und 5 werden ebenso als Slave-Knoten 3, 4 bzw. 5 bezeichnet.
-
Wenn ein Signal mit hohem Pegel und ein Signal mit niedrigem Pegel simultan von zwei unterschiedlichen Knoten jeweils an den Kommunikationsbus 6 ausgegeben werden, wird der Signalpegel auf dem Kommunikationsbus 6 niedrig. Nachfolgend wird der hohe Pegel mit Hoch bezeichnet und der niedrige Pegel wird mit Niedrig bezeichnet.
-
Wie in 2 dargestellt ist, verwendet ein Liniencode aus 0 oder 1, der auf dem Kommunikationsbus 6 fließt, einen PWM-Code, dessen Signalpegel sich während eines Bits von Niedrig zu Hoch ändert. PWM ist die Abkürzung für Pulsweitenmodulation. Der Liniencode beschreibt ein binäres Signal, das in einen dominanten oder rezessiven Zustand eintritt, was zwei unterschiedliche Tastverhältnisse angibt. In der vorliegenden Ausführungsform entspricht dominant 0 und rezessiv entspricht 1.
-
Insbesondere hat dominant einen größeren Anteil niedrig als rezessiv. In der vorliegenden Ausführungsform sind zwei Drittel eines dominanten Bits niedrig und ein Drittel eines rezessiven Bits ist niedrig. Kollidiert dominant mit rezessiv auf dem Kommunikationsbus, gewinnt dominant.
-
Ein Rahmen für die Kommunikationen durch die Knoten 2, 3, 4 und 5 beinhaltet eine Kopfzeile (einen sogenannten Header) und eine Antwort wie in 3. Die Kopfzeile bzw. der sogenannte Header speichert eine ID von Daten, deren Übertragung erlaubt ist. Die ID ist ebenso ein Identifizierer, der einen Rahmentyp wie in 4 angibt. Sieben von 8 Bits, die die Kopfzeile ausbilden, werden als ein Identifizierer verwendet, und das verbleibende eine Bit wird als ein Paritätsbit verwendet.
-
Die Antwort beinhaltet Daten, die durch die Kopfzeile spezifiziert werden, Data Length Code, DLC mit 4 Bits, Network Management, NM mit 2 Bits, CounT, CT mit 2 Bits und CRC mit 8 Bits, wie in 3 und 4 dargestellt ist. Die Daten sind zwischen 0 und 12 Byte variabel.
-
DLC gibt die Datenlänge von Daten in der Antwort an. NM sind Informationen zur Netzwerkverwaltung und beinhaltet Aufwachpulsübertragungsinformationen und Schlaferlaubnissinformationen. Die Aufwachpulsübertragungsinformationen geben an, ob ein nachfolgend erwähnter Aufwachpuls übertragen wurde. Die Aufwachpulsübertragungsinformationen werden auf 1 festgelegt, wenn der Knoten, der einen Kommunikationsrahmen einschließlich dieser Aufwachpulsübertragungsinformationen übertragen hat, einen Aufwachpuls überträgt, und wird auf 0 festgelegt, wenn der Knoten keinen Aufwachpuls überträgt. Hierbei werden die Aufwachpulsübertragungsinformationen auch WakeUp-, WU-Pulsübertragungsinformationen genannt. Es ist zu beachten, dass die vorliegende Anmeldung Informationen nicht nur als unzählbar, sondern ebenso als zählbar verwendet, das heißt, Informationen können äquivalent zu Informationselementen sein.
-
Die Schlaferlaubnisinformationen geben an, ob ein Übergang in einem nachfolgend erwähnten Schlafmodus erlaubt ist. Die Schlaferlaubnisinformationen werden auf 1 festgelegt, wenn Schlafen in dem Knoten erlaubt ist, der einen Kommunikationsrahmen einschließlich dieser Schlaferlaubnisinformationen übertragen hat, und werden auf 0 festgelegt, wenn Schlafen verboten ist.
-
CounT, CT sind Zählerinformationen die Kontinuität eines Rahmens angeben. Jedes Mal, wenn eine Antwort in Antwort auf eine spezifische Kopfzeile übertragen wird, wird der Wert von CT basierend auf einer vorbestimmten Regel aktualisiert. Der Knoten, der die Antwort überträgt, aktualisiert den Wert CT auf die Weise 0->1->2->3->0 bei jeder Übertragung. Dies ermöglicht der Antwortempfangsseite, wenn „Daten“ in Antwort auf eine Kopfzeile wichtige Daten sind und das Fehlen von Daten auf einer Empfangsseite auftritt, was eine auszuführende Steuerung beeinträchtigt, die fehlenden Daten basierend auf dem Wert von CT zu erfassen.
-
CRC ist die Abkürzung für Cyclic Redundancy Check (zyklische Redundanzüberprüfung). CRC ist ein CRC-Code zum Überprüfen eines Fehlers eines Rahmens. Da vorbestimmt ist, welche Daten die Knoten 2, 3, 4 und 5 übertragen, spezifiziert die Kopfzeile ebenso den Knoten, an den die Antwort zu übertragen ist.
-
Die Knoten 2 bis 5 operieren unter Verwendung einer Batteriespannung des Fahrzeugs als Energieversorgung. Die Operationsmodi der Knoten 2 bis 5 beinhalten den Aufwachmodus und Schlafmodus. Der Aufwachmodus ist ein normaler Operationsmodus, in dem alle vorhergehend zugeordneten Funktionen ausgeführt werden können. Der Schlafmodus ist ein Operationsmodus zum Stoppen eines Teils von Funktionen zur Energieverbrauchsreduzierung. Die Knoten 2 bis 5 übertragen kein Signal an den Kommunikationsbus 6 im Schlafmodus. Das gesamte Kommunikationssystem 1 tritt in den Schlafmodus ein, wenn alle der Knoten 2 bis 5 in den Schlafmodus eintreten.
-
Jeder Knoten 2 bis 5 in dem Schlafmodus wacht auf, wenn ein Aufwachfaktor, der auf jeden Knoten gerichtet ist, auftritt. Das heißt, der Schlafmodus geht in den Aufwachmodus über. Jeder Slave-Knoten 3 bis 5, der in Antwort auf das Auftreten des Aufwachfaktors aufwacht, überträgt einen Aufwachpuls an den Kommunikationsbus 6. Jeder Knoten 2 bis 5 wacht durch Empfangen eines Aufwachpulses auf. Der Master-Knoten 2 überträgt ein nachfolgend erwähntes Taktsignal in Antwort auf Erzeugung eines Aufwachfaktors.
-
Der Master-Knoten 2 in dem Aufwachmodus geht in den Schlafmodus über, wenn eine vorbestimmte Bedingung erfüllt ist, und überträgt dann kein Signal an den Kommunikationsbus 6. Beim Aufwachen von dem Schlafmodus in Antwort auf einen eigenen Aufwachfaktor oder einen Aufwachpuls von jedem Slave-Knoten 3 bis 5 startet der Master-Knoten 2 Übertragen eines Taktsignals an den Kommunikationsbus 6 nachdem eine erste vorgeschriebene Zeit seit dem Aufwachen abläuft. In der vorliegenden Ausführungsform ist das Taktsignal eine fallende Flanke (das heißt Flanke für eine Bit-Grenze) des Leitungscodes in 2. Wird nur das Taktsignal ohne ein Informationssignal an den Kommunikationsbus 2 übertragen, überträgt der Master-Knoten 2 wiederholt ein rezessives Signal in 2.
-
Der Master-Knoten 2 startet Übertragen einer Kopfzeile an den Kommunikationsbus 6 nachdem eine zweite vorgeschriebene Zeit, die länger als die vorstehende erste vorgeschriebene Zeit ist, seit dem Aufwachen abläuft. Die Kopfzeilen, die von dem Master-Knoten 2 übertragen werden, beinhalten mehrere Typen. Jede Kopfzeile wird periodisch basierend auf einem vorbestimmten Zeitplan übertragen. Überträgt der Master-Knoten 2 eine Kopfzeile, wird die fallende Flanke als eine Grenze jedes Bits in der übertragenen Kopfzeile als ein Taktsignal in den Slave-Knoten 3 bis 5 behandelt. Das heißt, der Master-Knoten 2 überträgt sowohl ein Taktsignal als auch Kopfzeileninformationen an den Kommunikationsbus 6.
-
Jeder Slave-Knoten 3 bis 5 geht ebenso in den Schlafmodus über, wenn eine vorbestimmte Bedingung erfüllt ist. Jeder Slave-Knoten 3 bis 5 geht in den Schlafmodus über, wenn er einen Schlafrahmen empfängt, der einen Übergang in den Schlafmodus anweist, oder wenn eine kontinuierliche Zeit ohne Kopfzeilenempfang eine vorbestimmte Fehlerbestimmungszeit oder mehr wird. Die Fehlerbestimmungszeit ist ausreichend länger als die vorstehende zweite vorgeschriebene Zeit.
-
Beim Aufwachen vom Schlafmodus in Antwort auf einen eigenen Aufwachfaktor oder einen Aufwachpuls von einem anderen Knoten, extrahiert jeder Slave-Knoten 3 bis 5 eine fallende Flanke des Signals auf dem Kommunikationsbus 6 als Taktsignal und wird mit dem Taktsignal synchronisiert, um Kommunikationen auszuführen.
-
Jeder Slave-Knoten 3 bis 5 überträgt an den Kommunikationsbus 6 eine Antwort, die in Antwort auf eine Kopfzeile zu übertragen ist, die jeden Knoten spezifiziert, wenn er die Kopfzeile empfängt. In diesem Fall dekodiert jeder Slave-Knoten 3 bis 5 Empfangsdaten und kodiert Übertragungsdaten in einen PWM-Code, wenn er mit dem Taktsignal synchronisiert ist, das von dem Kommunikationsbus 6 extrahiert wird.
-
Jeder Knoten 2 bis 5 kann eine Kopfzeile, die jeden Knoten spezifiziert, an dem Kommunikationsbus 6 zum autonomen Übertragen einer Antwort übertragen, wenn ein Ereignis auftritt, das Übertragen der Antwort erfordert.
-
Wenn der Master-Knoten 2 eine Kopfzeile Header1, HD1, die den Slave-Knoten 4 spezifiziert, an den Kommunikationsbus 6 wie in 5 überträgt, überträgt der Slave-Knoten 4 an den Kommunikationsbus 6 eine Antwort Response1, RP1, die in Antwort auf die Kopfzeile HD1 zu übertragen ist. Ähnlich, wenn der Master-Knoten 2 eine Kopfzeile Header2, HD2, die den Slave-Knoten 3 spezifiziert, an den Kommunikationsbus 6 überträgt, überträgt der Slave-Knoten 3 an den Kommunikationsbus 6 eine Antwort Response2, RP2, die in Antwort auf die Kopfzeile HD2 zu übertragen ist. Wenn der Slave-Knoten 4 eine Kopfzeile Header3, HD3, die den Slave-Knoten 4 selbst spezifiziert, an den Kommunikationsbus 6 überträgt, überträgt der Slave-Knoten 4 an den Kommunikationsbus 6 eine Antwort Response3, RP3, die in Antwort auf die Kopfzeile HD3 zu übertragen ist.
-
In dem Kommunikationssystem 1 führt der Master-Knoten 2 die später erwähnte Abnormalitätserfassungsverarbeitung, Taktstoppverarbeitung und Kopfzeilenübertragungsverarbeitung aus. Ein Teil oder alle der Funktionen, die durch den Master-Knoten 2 ausgeführt werden, kann durch einen oder mehrere ICs fest verdrahtet sein.
-
Als Erstes wird eine Prozedur der Abnormalitätserfassungsverarbeitung erläutert. Die Abnormalitätserfassungsverarbeitung wird während des Betriebs des Master-Knotens 2 wiederholt. Wenn die Abnormalitätserfassungsverarbeitung ausgeführt wird, startet die CPU des Master-Knotens 2 als Erstes einen Überwachungszeitgeber bei S10, wie in 6 dargestellt ist. Dieser Überwachungszeitgeber wird alle 100 ms inkrementiert und, wenn er gestartet wird, ausgehend von 0 inkrementiert. Inkrementieren bedeutet mit 1 addieren.
-
Bei S20 wird bestimmt, ob der Master-Knoten 2 aufwacht. Wacht der Master-Knoten 2 nicht auf, fährt die Verarbeitung mit S80 fort. Wenn der Master-Knoten 2 aufwacht, wird bei S30 bestimmt, ob eine Antwort von irgendeinem der Slave-Knoten 3, 4 und 5 empfangen wird. Wird keine Antwort empfangen, wartet die Verarbeitung auf einen Empfang einer Antwort von irgendeinem der Slave-Knoten 3, 4 und 5 durch Wiederholen von S30.
-
Wenn eine Antwort von irgendeinem der Slave-Knoten 3, 4 und 5 empfangen wird, wird bei S40 bestimmt, ob Aufwachpulsübertragungsinformationen der empfangenen Antwort auf 1 festgelegt sind. Sind die Aufwachpulsübertragungsinformationen auf 0 festgelegt, fährt die Verarbeitung mit S80 fort.
-
Wenn die Aufwachpulsübertragungsinformationen in der Antwort auf 1 festgelegt sind, wird ein Aufwachzähler entsprechend der Übertragungsquelle der Antwort, die bei S30 empfangen wird, bei S50 inkrementiert. Der Aufwachzähler ist für das RAM des Master-Knotens 2 entsprechend jedem Slave-Knoten 3, 4 und 5 vorgesehen. Nachfolgend wird der Aufwachzähler auch als ein WU-Zähler bezeichnet.
-
Es wird bei S60 bestimmt, ob ein Wert des Aufinrachzählers (nachfolgend Aufwachzahl) entsprechend der Übertragungsquelle der Antwort, die bei S30 empfangen wird, gleich oder größer als eine vorbestimmte Zahl zur Abnormalitätsbestimmung ist. In der vorliegenden Ausführungsform ist die Zahl zur Abnormalitätsbestimmung auf 100 festgelegt.
-
Wenn die Aufwachzahl kleiner als die Zahl zur Abnormalitätsbestimmung ist, fährt die Verarbeitung mit S80 fort. Wenn die Aufwachzahl gleich oder größer als die Zahl zur Abnormalitätsbestimmung ist, werden Übertragungsquelleninformation, die die Übertragungsquelle der Antwort, die bei S20 empfangen wird, angeben, in Informationen über einen abnormalen Slave in dem RAM des Master-Knotens 2 bei S70 festgelegt und die Verarbeitung fährt mit S80 fort.
-
Wenn die Verarbeitung mit S80 fortfährt, wird bestimmt, ob ein +B-Zustand fortbesteht. Der +B-Zustand gibt Aus-Zustände der Zündungsenergieversorgungs- und Zubehörenergieversorgung an. Besteht der +B-Zustand nicht fort, fährt die Verarbeitung mit S100 fort. Wenn der +B-Zustand fortbesteht, wird bei S90 bestimmt, ob eine vorbestimmte Überwachungszeit abläuft. Insbesondere wird bestimmt, ob der Wert des Überwachungszeitgebers gleich oder größer als der Wert entsprechend der Überwachungszeit ist. In der vorliegenden Ausführungsform wird die Überwachungszeit auf 60 Minuten festgelegt.
-
Wenn die Überwachungszeit nicht abläuft, fährt die Verarbeitung mit S30 fort. Wenn die Überwachungszeit abläuft, wird der Aufwachzähler entsprechend jedem Slave-Knoten 3, 4 und 5 bei S100 zurückgesetzt und die Erfassung von abnormalem Aufwachen wird einmal beendet. Rücksetzen bedeutet auf 0 festlegen.
-
Als Nächstes wird eine Prozedur der Taktstoppverarbeitung erläutert. Die Taktstoppverarbeitung wird während der Operation des Master-Knotens 2 wiederholt. Wird die Taktstoppverarbeitung ausgeführt, bestimmt die CPU des Master-Knotens 2 als Erstes bei S210, ob eine Kopfzeile wie in 7 dargestellt empfangen wird. Wird keine Kopfzeile empfangen, wartet die Verarbeitung bis zum Empfang der Kopfzeile durch Wiederholen von S210. Wird die Kopfzeile empfangen, wird bei S220 bestimmt, ob die empfangene Kopfzeile von einem Slave-Knoten übertragen wird, in dem Abnormalität auftritt (nachfolgend als ein abnormaler Slave-Knoten bezeichnet). In anderen Worten kann ein abnormaler Slave-Knoten als ein Slave-Knoten definiert sein, der eine Abnormalität aufweist. Insbesondere wird der Slave-Knoten, der die Kopfzeile überträgt, basierend auf einer ID in der empfangenen Kopfzeile identifiziert. Da die ID für jeden Slave einen eigenen Wert hat, kann der Slave-Knoten basierend auf der ID identifiziert werden. Wenn der Slave-Knoten, der basierend auf der ID identifiziert wird, in den Informationen über einen abnormalen Slave festgelegt ist, wird der empfangene Header bzw. die empfangene Kopfzeile als von dem abnormalen Slave-Knoten übertragen bestimmt.
-
Wird die Kopfzeile als nicht von dem abnormalen Slave-Knoten übertragen bestimmt, wird die Taktstoppverarbeitung einfach beendet. Wenn die Kopfzeile als von dem abnormalen Slave-Knoten übertragen bestimmt wird, wird Übertragen des Taktsignals bei S230 gestoppt. Ein Stoppzeitgeber wird bei S240 gestartet. Der Stoppzeitgeber wird bei jeder einzelnen Bit-Zeit inkrementiert und, wenn er gestartet wird, ausgehend von 0 inkrementiert. Eine Bit-Zeit kennzeichnet eine Zeit, die zum Übertragen eines Bits erforderlich ist. Beispielsweise sind 10 Bit-Zeiten erforderlich, um 10 Bits zu übertragen.
-
Bei S250 wird bestimmt, ob eine vorbestimmte Stoppzeit abläuft. Insbesondere wird bestimmt, ob der Wert des Stoppzeitgebers gleich oder größer als der Wert entsprechend der Stoppzeit ist. In der vorliegenden Ausführungsform wird die Stoppzeit auf 10 Bit-Zeiten festgelegt.
-
Läuft die Stoppzeit nicht ab, wartet die Verarbeitung, bis die Stoppzeit abläuft, durch Wiederholen von S250. Läuft die Stoppzeit ab, wird Übertragen des Taktsignals bei S260 gestartet und die Taktstoppverarbeitung wird einmal beendet.
-
Eine Prozedur der Kopfzeilenübertragungsverarbeitung wird erläutert. Die Kopfzeilenübertragungsverarbeitung wird während des Betriebs des Master-Knotens 2 wiederholt. Wenn die Kopfzeilenübertragungsverarbeitung ausgeführt wird, inkrementiert die CPU des Master-Knotens 2 als Erstes einen Übertragungsrangzähler bei S310 wie in 8. Der Anfangswert des Übertragungsrangzählers ist 0.
-
Der Slave-Knoten entsprechend des Übertragungsrangs des Übertragungsrangzählers wird bei S320 mit Bezugnahme auf eine vorbestimmte Zeitplantabelle ST, wie in 9 dargestellt, identifiziert.
-
Die Zeitplantabelle ST der vorliegenden Ausführungsform legt die Korrespondenz zwischen den Übertragungsranginformationen, Ziel-Slave-Informationen und Übertragungsintervallinformationen fest. Die Übertragungsranginformationen geben den Übertragungsrang von Kopfzeilen an. Die Ziel-Slave-Informationen geben Slave-Knoten an, an die die Kopfzeilen zu übertragen sind. Die Übertragungsintervallinformationen geben Übertragungsintervalle der Kopfzeilen an.
-
Die Zeitplantabelle ST der vorliegenden Ausführungsform ist festgelegt, um als Erstes die Kopfzeile zu übertragen, die den Slave-Knoten 3 spezifiziert. Die Zeitplantabelle ST ist festgelegt, um als Zweites die Kopfzeile, die den Slave-Knoten 4 spezifiziert, nach 1000 ms zu übertragen. Die Zeitplantabelle ST ist festgelegt, um als Drittes die Kopfzeile, die die Slave-Knoten 3 spezifiziert, nach weiteren 2000 ms zu übertragen, und um als Viertes die Kopfzeile, die den Slave-Knoten 4 spezifiziert, nach weiteren 500 ms zu übertragen. Die Zeitplantabelle ST ist festgelegt, um als Fünftes die Kopfzeile, die den Slave-Knoten 5 spezifiziert, nach weiteren 500 ms zu übertragen. Die Zeitplantabelle ST ist festgelegt, um nach weiteren 1000 ms zum ersten Rang zurückzukehren und dann die Kopfzeile zu übertragen, die den Slave-Knoten 3 spezifiziert.
-
Nach S320 wird die Kopfzeile, die den bei S320 identifizierten Slave-Knoten spezifiziert, bei S330, wie in 8 dargestellt ist, übertragen. Das Kopfzeilenübertragungsintervall entsprechend des Übertragungsrangs des Übertragungsrangzählers wird bei S340 bezüglich der Zeitplantabelle ST identifiziert.
-
Ein Übertragungszeitgeber wird bei S350 gestartet. Der Übertragungszeitgeber wird alle 10 ms inkrementiert und, wenn er gestartet wird, ausgehend von 0 inkrementiert. Bei S360 wird bestimmt, ob das bei S340 identifizierte Übertragungsintervall abläuft. Insbesondere wird bestimmt, ob der Wert des Übertragungszeitgebers gleich oder größer als der Wert des bei S340 identifizierten Kopfzeilenübertragungsintervalls ist.
-
Läuft das Kopfzeilenübertragungsintervall nicht ab, wartet die Verarbeitung bis das Kopfzeilenübertragungsintervall abläuft, durch Wiederholen von S360. Wenn das Kopfzeilenübertragungsintervall abläuft, wird bei S370 bestimmt, ob der Übertragungsrang des Übertragungsrangzählers gleich oder größer als ein vorbestimmter Maximalübertragungsrang ist. In der vorliegenden Ausführungsform, da der Übertragungsrang der Zeitplantabelle ST von 1 bis 5 festgelegt wird, ist der maximale Übertragungsrang 5.
-
Wenn der Übertragungsrang kleiner als der maximale Übertragungsrang ist, wird die Kopfzeilenübertragungsverarbeitung einfach beendet. Ist den Übertragungsrang gleich oder größer als die maximale Übertragungsrang, wird der Übertragungsrangzähler bei S380 zurückgesetzt und die Kopfzeilenübertragungsverarbeitung wird einfach beendet.
-
Als Nächstes wird ein Operationsbeispiel des vorstehenden Master-Knotens 2 erläutert. Wie in 10 dargestellt ist, wenn der Slave-Knoten 4, der ein abnormaler Slave-Knoten ist, eine Kopfzeile HD11 überträgt, stoppt der Master-Knoten 2 Übertragen des Taktsignals wie in einer Taktstoppperiode Tcs1. Dies kann Übertragen einer Antwort RP11 in Antwort auf die Kopfzeilenübertragung von dem Slave-Knoten 4 verhindern. Wenn der Slave-Knoten 3, der kein abnormaler Slave-Knoten ist, eine Kopfzeile HD12 überträgt, fährt der Master-Knoten 2 mit Übertragen des Taktsignals wie in einer Taktoperationsperiode Tcd1 fort. Somit wird eine Antwort RP12 in Antwort auf die Kopfzeilenübertragung von dem Slave-Knoten 3 übertragen.
-
In 11 wird das Taktsignal wie in einer Taktoperationsperiode Tcd11 übertragen. Zu dieser Zeit wird eine Kopfzeile HD21 von einem Übertragungsanschluss Tx des abnormalen Slave-Knotens übertragen. Beim Empfangen der Kopfzeile HD21 mittels des Kommunikationsbusses 6 stoppt der Master-Knoten 2 Übertragen des Taktsignals bis 10 Bit-Zeiten ablaufen, wie in einer Taktstoppperiode Tcs11. Somit wird, sogar wenn der abnormale Slave-Knoten die Kopfzeile HD21 mittels des Übertragungsterminals Rx empfängt und eine Antwort RP21 von dem Übertragungsterminal Tx überträgt, die Antwort RP21 nicht an den Kommunikationsbus 6 übertragen. Dann, wenn eine vorgeschriebene Zeit abläuft, tritt ein Fehler wie ein Fehler ER1 auf. Die vorgeschriebene Zeit in der vorliegenden Ausführungsform ist auf 9 Bit-Zeiten oder weniger festgelegt.
-
Wenn 10 Bit-Zeiten nach Stoppen der Übertragung des Taktsignals ablaufen, überträgt der Master-Knoten 2 das Taktsignal wie in einer Taktoperationsperiode Tcd12. Nachdem IFS abläuft, nachdem die Kopfzeile HD21 übertragen ist, wird eine Kopfzeile HD22 von dem Übertragungsanschluss Tx des abnormalen Slave-Knotens übertragen. IFS ist die Abkürzung für Interframe Space (Zwischenrahmenraum) und in der vorliegenden Ausführungsform auf 20 Bit-Zeiten festgelegt.
-
Beim Empfangen der Kopfzeile HD22 mittels des Kommunikationsbusses 6 stoppt der Master-Knoten 2 Übertragen des Taktsignals bis 10 Bit-Zeiten ablaufen wie in einer Taktstoppperiode Tcs12. Demzufolge wird sogar, wenn eine Antwort RP22 von dem Übertragungsanschluss Tx des abnormalen Slave-Knotens übertragen wird, die Antwort RP22 nicht an den Kommunikationsbus 6 übertragen und ein Fehler wie ein Fehler ER2 tritt auf, nachdem eine vorgeschriebenen Zeit abläuft. Somit wird sogar, wenn die Kopfzeile erneut von dem Übertragungsterminal Tx des abnormalen Slave-Knotens übertragen wird, Übertragen des Taktsignals gestoppt. Die Anzahl von Kopfzeilenneuübertragungen ist beschränkt. Nach einer vorbestimmten Anzahl der Kopfzeilenneuübertragungen werden Übertragungen der Kopfzeile von dem abnormalen Slave-Knoten gestoppt.
-
Der vorstehende Knoten 2 funktioniert in dem Kommunikationssystem 1 als der Master-Knoten 2 zum Übertragen des Taktsignals, das die Knoten 2, 3, 4 und 5 synchronisiert, an den Kommunikationsbus 6. In dem Kommunikationssystem 1 sind die Knoten 2, 3, 4 und 5 miteinander mittels des Kommunikationsbusses 6 in Datenkommunikation und übertragen eine Kopfzeile, die einen Knoten spezifiziert, an den die Kopfzeile zu übertragen ist, und der Knoten, der durch die Kopfzeile spezifiziert ist, überträgt eine Antwort nach Übertragen der Kopfzeile.
-
Der Knoten 2 bestimmt, ob Abnormalität in den Slave-Knoten 3, 4 und 5 auftritt. Der Knoten 2 bestimmt, ob die Kopfzeile von dem abnormalen Slave-Knoten übertragen wird, beim Empfangen der Kopfzeile. Wird bestimmt, dass die Kopfzeile von dem abnormalen Slave-Knoten übertragen wird, vermeidet der Knoten 2, dass der abnormale Slave-Knoten die Antwort an den Kommunikationsbus 6 überträgt, indem er die Übertragung des Taktsignals während der vorbestimmten Stoppzeit stoppt.
-
Da der Knoten 2 verhindert, dass der abnormale Slave-Knoten die Antwort an den Kommunikationsbus 6 überträgt, kann verhindert werden, dass die Slave-Knoten 3, 4 und 5 die Daten verwenden, die von dem abnormalen Slave-Knoten übertragen werden.
-
Der Knoten 2 kann verhindern, dass der abnormale Slave-Knoten die Kopfzeile, die den abnormalen Slave-Knoten spezifiziert, an den Kommunikationsbus 6 überträgt, und dass er autonom die Antwort überträgt. In der vorstehenden Ausführungsform entsprechen die Knoten 2, 3, 4 und 5 Kommunikationsvorrichtungen, der Kommunikationsbus 6 entspricht einer Kommunikationsleitung, der Knoten 2 entspricht einer Master-Kommunikationsvorrichtung und die Knoten 3, 4 und 5 entsprechen Slave-Vorrichtungen.
-
Der abnormale Slave-Knoten entspricht einer abnormalen Slave-Vorrichtung. Die Verarbeitung von S10 bis S100 entspricht einem Abnormalitätsbestimmungsabschnitt, der bestimmt, ob irgendeiner der Slave-Knoten oder Slave-Vorrichtungen eine Abnormalität aufweist, oder bestimmt, ob eine Abnormalität in irgendeinem der Slave-Knoten oder Slave-Vorrichtungen auftritt. Die Verarbeitung von S210 bis S260 entspricht einem Präventionsabschnitt, der verhindert, dass ein abnormaler Slave-Knoten oder eine abnormale Slave-Vorrichtung eine Antwort an die Kommunikationsleitung überträgt, wobei der abnormale Slave-Knoten oder die abnormale Slave-Vorrichtung die Slave-Vorrichtung ist, für die durch den Abnormalitätsbestimmungsabschnitt bestimmt wird, dass sie eine Abnormalität aufweist.
-
[Zweite Ausführungsform]
-
Eine zweite Ausführungsform der vorliegenden Erfindung wird unter Verwendung der Zeichnungen beschrieben. Die zweite Ausführungsform erläutert zur ersten Ausführungsform unterschiedliche Teile. Gleiche Bezugszeichen wie in der ersten Ausführungsform illustrieren die gleichen Komponenten zur Bezugnahme auf die vorstehende Erläuterung.
-
Das Kommunikationssystem 1 der zweiten Ausführungsform unterscheidet sich von der ersten Ausführungsform dadurch, dass die Taktstoppverarbeitung weggelassen ist, die Zeitplantabelle ST geändert ist, eine später erwähnte Tabellenfestlegung hinzugefügt ist und die Kopfzeilenübertragungsverarbeitung geändert ist.
-
Die Zeitplantabelle ST der zweiten Ausführungsform, wie in 12 dargestellt, unterscheidet sich von der ersten Ausführungsform dadurch, dass Übertragungserlaubnisinformationen zusätzlich in der Korrespondenz zwischen den Übertragungsranginformationen, Ziel-Slave-Informationen und Übertragungsintervallinformationen festgelegt sind. Die Übertragungserlaubnisinformationen geben eine Erlaubnis der Kopfzeilenübertragung an.
-
Als Nächstes wird eine Prozedur der Tabellenfestlegung erläutert. Die Tabellenfestlegung wird während der Operation des Master-Knotens 2 wiederholt. Wird die Tabellenfestlegung gestartet, identifiziert die CPU des Master-Knotens 2 als Erstes einen abnormalen Slave-Knoten mit Bezug auf die vorstehenden Informationen über einen abnormalen Slave von S510 wie in 13.
-
Die Übertragungserlaubnisinformationen der Zeitplantabelle ST werden bei S520 basierend auf dem abnormalen Slave-Knoten festgelegt, der bei S510 identifiziert wird. Insbesondere, wenn der Slave-Knoten der Ziel-Slave-Informationen der Zeitplantabelle ST in einem oder mehreren bei S510 identifizierten Slave-Knoten enthalten ist, werden die Übertragungserlaubnisinformationen entsprechend dieser Ziel-Slave-Informationen auf Nein festgelegt. Wenn der Slave-Knoten der Ziel-Slave-Informationen der Zeitplantabelle ST nicht in einem oder mehreren bei S510 identifizierten Slave-Knoten enthalten ist, werden die Übertragungserlaubnisinformationen entsprechend dieser Ziel-Slave-Informationen auf JA festgelegt.
-
Die Tabellenfestlegung wird einmal nach S520 beendet. Als Nächstes wird eine Prozedur einer Kopfzeilenübertragungsverarbeitung der zweiten Ausführungsform erläutert. Die Kopfzeilenübertragungsverarbeitung der zweiten Ausführungsform unterscheidet sich von der der ersten Ausführungsform dadurch, dass S610 wie in 14 hinzugefügt ist.
-
Das heißt, nach S320 wird bei S610 bestimmt, ob die Kopfzeile, die den bei S320 identifizierten Slave-Knoten spezifiziert, übertragbar ist. Insbesondere, wenn die Übertragungserlaubnisinformationen entsprechend des Übertragungsrangs des Übertragungsrangzählers auf Ja festgelegt werden, wird Übertragen der Kopfzeile als möglich mit Bezug auf die Zeitplantabelle ST bestimmt. Werden die Übertragungserlaubnisinformationen als Nein festgelegt, wird Übertragen der Kopfzeile als nicht möglich bestimmt.
-
Wenn Übertragen der Kopfzeile als möglich bestimmt wird, fährt die Verarbeitung mit S330 fort. Wird Übertragen der Kopfzeile als nicht möglich bestimmt, fährt die Verarbeitung mit S340 fort. Als Nächstes wird ein Beispiel der Operation des vorstehenden Master-Knotens 2 erläutert.
-
Wie in 15 wird eine Kopfzeile HD31, die den Slave-Knoten 4 spezifiziert, wenn die Kopfzeile HD31 an den Kommunikationsbus 6 basierend auf der Zeitplantabelle ST zu übertragen ist, da der Slave-Knoten 4 ein abnormaler Slave-Knoten ist, nicht übertragen. Der Slave-Knoten 4 kann somit davor bewahrt werden, eine Antwort RP31 zu übertragen. Eine Kopfzeile HD32, die den Slave-Knoten 3 spezifiziert, wird zu der Zeit übertragen, wenn die Kopfzeile HD32 zu übertragen ist, da der Slave-Knoten 3 kein abnormaler Slave-Knoten ist. Eine Antwort RP32 wird demzufolge durch den Slave-Knoten 3 übertragen.
-
Der vorstehende Knoten 2 überträgt eine Kopfzeile basierend auf der Zeitplantabelle ST, die die Korrespondenz zwischen mindestens dem Kopfzeilenübertragungsrang und den durch die Kopfzeilen spezifizierten Slave-Knoten vorab festlegt. Der Knoten 2 ändert die Zeitplantabelle ST zum Vermeiden des Übertragens der Kopfzeile, die den abnormalen Slave-Knoten spezifiziert, und um dabei zu verhindern, dass der Slave-Knoten die Antwort an den Kommunikationsbus 6 sendet.
-
Der Knoten 2 der zweiten Ausführungsform erlangt demnach die gleiche vorteilhafte Wirkung wie der Knoten 2 der ersten Ausführungsform. Der Knoten 2 kann verhindern, dass der abnormale Slave-Knoten periodisch eine Antwort basierend auf der Zeitplantabelle ST überträgt.
-
Die Zeitplantabelle ST legt vorab die Beziehung zwischen dem Übertragungsrang, Slave-Knoten und Übertragungserlaubnisinformationen, die eine Erlaubnis einer Header-Übertragung angeben, fest. Der Knoten 2 ändert die Übertragungserlaubnisinformationen entsprechend dem abnormalen Slave-Knoten in Nein, was angibt, dass Header-Übertragung nicht möglich ist.
-
Der Knoten 2 der zweiten Ausführungsform kann somit bestimmen, ob ein Header durch die einfache Verarbeitung der Bezugnahme auf die Übertragungserlaubnisinformationen zu übertragen ist. Aus diesem Grund kann der Knoten 2 die Verarbeitungslast zum Vermeiden, dass der abnormale Slave-Knoten eine Antwort überträgt, reduzieren.
-
In der vorstehenden Ausführungsform entspricht die Verarbeitung von S310 bis S380 einem Header-Übertragungsabschnitt und die Verarbeitung von S510, S520 und S610 entspricht einem Präventionsabschnitt. Die Ausführungsformen der vorliegenden Erfindung wurden vorstehend beschrieben. Die vorliegende Erfindung ist nicht auf die vorstehende Ausführungsform beschränkt, sondern kann unterschiedliche Ausbildungen innerhalb des technischen Umfangs der vorliegenden Erfindung einsetzen.
-
[Erste Modifikation]
-
Die vorstehende Ausführungsform beschreibt das Kommunikationssystem 1, das drei Slave-Knoten beinhaltet, aber kann zwei oder vier oder mehr Slave-Knoten beinhalten.
-
[Zweite Modifikation]
-
Die vorstehenden Ausführungsformen beschreiben, dass der Signalpegel des Empfangsterminals Rx des abnormalen Slave-Knotens hoch ist, wenn Übertragen des Taktsignals wie in 11 gestoppt wird. Sogar, wenn die Signalpegel LV1 und LV2 niedrig werden, während Übertragen des Taktsignals gestoppt ist, wie in 16, kann ein Fehler wie Fehler ER1 und ER2 erfasst werden.
-
[Dritte Modifikation]
-
Die vorstehende Ausführungsform beschreibt, dass der abnormale Slave-Knoten basierend auf der Aufwachpulsübertragungsinformation einer Antwort erfasst wird. Die Technik zum Erfassen eines abnormalen Slave-Knotens ist nicht auf die in den vorstehenden Ausführungsformen beschriebenen beschränkt. Ein abnormaler Slave-Knoten kann basierend auf Schlaferlaubnisinformationen einer Antwort erfasst werden.
-
Funktionen einer Komponente in den vorstehenden Ausführungsformen können auf mehrere Komponenten verteilt werden. Funktionen mehrerer Komponenten können in einer Komponente vereint werden. Ein Teil der Konfigurationen der vorstehenden Ausführungsformen kann weggelassen werden. Mindestens ein Teil der Konfiguration der vorstehenden Ausführungsform kann zu der Konfiguration einer anderen vorstehenden Ausführungsform hinzugefügt werden oder diese ersetzen. Alle die Ausführungsformen, die in dem technischen Konzept beinhaltet sind, das nur durch die Worte und Ausdrücke in den Ansprüchen definiert ist, sind die Ausführungsformen der vorliegenden Erfindung.
-
Zusätzlich zu dem vorstehenden Master-Knoten 2 können unterschiedliche Formen wie beispielsweise ein System einschließlich des Master-Knotens 2 als eine Komponente, ein Programm zum Funktionieren eines Computers als der Master-Knoten 2, ein Medium, das das Programm speichert oder aufzeichnet, und eine Kommunikationstechnik die vorstehende Erfindung erreichen.