-
Die
vorliegende Erfindung bezieht sich auf eine Übertragungssteuervorrichtung,
welche auf ein Übertragungssystem
anwendbar ist und eine Entscheidung (arbitration) ausführt, wenn
eine Kollision von Rahmen auf einem Bus auftritt, unter Verwendung
von Identifizierungscodes, welche an Kopfabschnitten der Rahmen
vorgesehen sind.
-
Als Übertragungsprotokolle,
welche viele Male in lokalen Netzwerken (local area networks, LAN's), insbesondere
in Fahrzeug-LAN's,
verwendet werden, wird ein CAN(Controller Area Network) Protokoll
entsprechend einem von CSMA/CD-Systemen auf diesem Gebiet angeregt.
-
In
diesem CAN-Protokoll werden ein SOF- (Start Of Frame) Code, welcher
einen Start eines Rahmens anzeigt, und ein Identifizierungs-(ID)Code auf
einen Kopfabschnitt des zu verwendenden Rahmens angewandt. Dieser
ID-Code wird zur
Identifizierung verwendet, welche Nachricht einem nachfolgenden
Datengebiet zugewiesen worden ist. D. h., jede in Netzwerkanschlüssen, welche
ein LAN bilden, installierte Übertragungssteuervorrichtung
erkennt einen Start eines Rahmens durch den Empfang eines SOF-Codes
und identifiziert eine Art dieses Rahmens auf der Grundlage eines
ID-Codes.
-
Ebenfalls
beginnt eine Übertragungssteuervorrichtung,
welche einen zu übertragenden
Rahmen besitzt, unmittelbar damit, den Rahmen zu senden, wenn ein
Bus sich nicht in einem Benutzungszustand befindet. Wenn im Gegensatz
dazu sich ein Bus in einem Benutzungszustand befindet, beginnt diese Übertragungssteuervorrichtung
damit, den Rahmen zu senden, nachdem der Bus freigegeben worden
ist (d. h., das Senden des Rahmens beendet ist). In einem Fall,
bei welchem eine Mehrzahl von Sätzen
der Übertragungssteuervorrichtungen
vorhanden ist, welche verlangen, Rahmen zu senden, da diese Übertragungssteuervorrichtungen
damit beginnen, diese Rahmen zur selben Zeit zu senden, wenn der Bus
freigegeben wird, werden die Rahmen miteinander auf diesem Bus kollidieren.
-
Wenn
eine derartige Rahmenkollision auftritt, wird entsprechend dem CAN-Protokoll
eine Entscheidungssteueroperation (arbitration control Operation)
unter Verwendung eines Verfahrens durchgeführt, welches als "Bit-Einheit nichtzerstörende Entscheidung" ("bit unit nondestruction
arbitration") bezeichnet
wird, während
die Entscheidungssteueroperation unter Verwendung des obigen ID-Codes
bestimmt, welcher Rahmen mit einer Priorität verarbeitet werden sollte.
-
D.
h., bezüglich
der Signalpegel auf einem Bus gibt es einen dominanten (hohe Priorität) und einen
rezessiven Pegel (niedrige Priorität). In einem Fall, bei welchem
die dominanten und rezessiven Pegel zur selben Zeit aus einer Mehrzahl
von Übertragungssteuervorrichtungen
gesendet werden, wird ein Signalpegel des Busses dominant. Im allgemeinen wird
daher erwogen, daß ein
Logikwert eines dominanten Pegels gleich "0" ist,
wohingegen ein Logikwert eines rezessiven Pegels gleich "1" ist. SOF-Codes sind in allen Rahmen
dominant, woraufhin ID-Codes derart angewiesen werden, daß diese
ID-Codes nicht denselben Logikwerten aus der Mehrzahl von Übertragungssteuervorrichtungen
angehören
und ein MSB einem Kopf gesendet wird.
-
Beispielsweise
wird wie in 4 dargestellt der folgende Fall
berücksichtigt.
D. h., es wird ein ID-Code durch vier Bits gebildet (der ID-Code
eines aktuellen CAN-Protokolls wird aus 11 Bits zusammengesetzt).
Drei Sätze
der ersten bis dritten Übertragungssteuervorrichtungen
beginnen damit, Rahmen zur selben Zeit zu senden. Der für einen
Rahmen verwendete ID-Code, welcher von der ersten Übertragungssteuervorrichtung
gesendet wird, ist 0001B. Der für
einen Rahmen verwendete ID-Code, welcher von der zweiten Übertragungssteuervorrichtung
gesendet wird, ist 0010B. Der für
einen Rahmen verwendete ID-Code, welcher von der dritten Steuervorrichtung
gesendet wird, ist 0100B. Wenn in diesem Fall die ersten zweiten
Bits in den ID-Codes gesendet werden, ist der Ausgang (zweites Bit
des ID-Codes) der dritten Übertragungssteuervorrichtung rezessiv
(1). Da jedoch ein Signalpegel eines Busses dominant (0) ist, wird
daher zu dieser Zeit angenommen, daß die dritte Übertragungssteuervorrichtung bezüglich einer
Entscheidung ausfällt.
Somit stoppt diese dritte Übertragungssteuervorrichtung
das Senden des Rahmens. Der Betrieb dieser dritten Übertragungssteuervorrichtung
wird auf einen Empfangszustand umgestellt.
-
Wenn ähnlich das
erste dritte Bit in dem ID-Code folgend dem obigen zweiten Bit gesendet wird,
ist der Ausgang der zweiten Übertragungssteuervorrichtung
rezessiv. Da jedoch ein Signalpegel eines Busses dominant ist, wird
daher zu dieser Zeit angenommen, daß die zweite Übertragungssteuervorrichtung
bezüglich
einer Entscheidung ausfällt. Somit
stoppt diese zweite Übertragungssteuervorrichtung
damit, den Rahmen zu senden, und es wird der Betrieb dieser zweiten Übertragungssteuervorrichtung
auf einen Empfangszustand umgestellt. Als Ergebnis kann die erste Übertragungssteuervorrichtung
die Entscheidung gewinnen (diesbezüglich Erfolg haben) und sendet
somit bis zuletzt den Rahmen.
-
Somit
kann bei dem Übertragungssystem, welches
unter dem CAN-Protokoll arbeitet, in dem Fall, bei welchem eine Mehrzahl
von Rahmen einem Bus zur selben Zeit gesendet werden, eine Übertragungssteuervorrichtung,
welche einen Rahmen gesendet hat, der einen ID-Code besitzt, dessen
Logikwert der kleinste (geringste) Logikwert ist, ein Senderecht
erhalten. Danach wird normalerweise ein derartiger ID-Code, welcher
eine höhere
Priorität
besitzt, einem Rahmen zugewiesen, welchem eine für eine schnelle Ansprechzeit
benötigte
Nachricht zugewiesen worden ist, und sogar dann, wenn dieser Rahmen
mit anderen Rahmen kollidiert, kann dieser Rahmen mit einer Priorität gesendet
werden.
-
Demgegenüber ist
in jeder Übertragungsvorrichtung
eine Mehrzahl von Mailboxen vorgesehen. Jede dieser Mailboxen ist
mit einer Nachrichtenbox ausgestattet, um darin eine Nachricht zu
speichern, welche einem Rahmen überlagert
wird, um gesendet zu werden. Es versteht sich, daß, während Boxzahlen
für die
jeweiligen Mailboxen verwendet werden, ein ID-Code-Register, ein
Benutzungskennzeichnungsregister und ebenfalls ein Sendeanforderungsregister
in jeder der Nachrichtenboxen vorgesehen sind.
-
Das
ID-Code-Register wird dahingehend verwendet, daß darin Arten von Nachrichten
und Identifizierungscodes (ID-Codes) gespeichert werden, welche
die Reihenfolge der Priorität
dieser in dem Nachrichtenregister gespeicherten Nachrichten anzeigen.
Das Benutzungskennzeichnungsregister wird dazu verwendet, ein Benutzungsverfahren
(d. h. ein Benutzungsverfahren des Sendens/Empfangens) einer Nachrichtenbox
zu kennzeichnen. Das Sendeanforderungsregister wird dazu verwendet,
eine Sendeanforderung einer derartigen Nachricht festzulegen, welche
in einer Nachrichtenbox zum Zwecke des Sendens gespeichert ist ( 5).
-
Danach
empfängt
in dem Fall, bei welchem eine Nachrichtenbox vorhanden ist, welche
zum Zwecke eines Empfangs durch ein Benutzungskennzeichnungsregister
gekennzeichnet ist, eine Übertragungssteuervorrichtung
einen derartigen Rahmen, dessen ID-Code mit dem in dem ID-Code-Register dieser Nachrichtenbox
gespeicherten ID-Code übereinstimmend
gemacht wurde, und führt
danach eine Empfangssteueroperation aus, durch welche eine in dem
empfangenen Rahmen enthaltene Nachricht in dem Nachrichtenregister
davon gespeichert wird.
-
Demgegenüber führt in einem
Fall, bei welchem eine Nachrichtenbox vorhanden ist, die zum Zwecke
des Sendens durch ein Benutzungskennzeichnungsregister gekennzeichnet
ist, eine Übertragungssteuervorrichtung
eine Sendesteueroperation derart aus, daß ein Rahmen auf der Grundlage
eines Speicherwerts (ID-Code und Nachricht) einer Nachrichtenbox
eines Sendeanforderungsregisters gesendet wird, welcher eine Sendeanforderung
gestellt worden ist. Es versteht sich, daß, wenn eine Mehrzahl von Nachrichtenboxen
vorhanden ist, welchen Sendeanforderungen gestellt worden sind,
eine Sendesteueroperation bezüglich
dieser Nachrichtenboxen in der Reihenfolge der kleinsten Boxzahl
durchgeführt
wird.
-
Wenn
als Ergebnis bei der obigen Übertragungssteuervorrichtung
die Anzahl (Häufigkeit)
von Kollisionen von Rahmen auf einem Bus erhöht ist, wird die Sendewartezeit
einer Nachricht verlängert, welcher
ein ID-Code mit einer niedrigeren Priorität zugewiesen worden ist. Diese
Nachricht wird einfach als Nachricht mit niedrigem Prioritätsgrad bezeichnet.
Diese Art der Bezeichnung kann ähnlich
auf eine Nachricht mit hohem Prioritätsgrad angewandt werden. Als
Ergebnis kann eine derartige Nachricht, welche in einer Nachrichtenbox
gespeichert ist, welche eine größere Boxzahl
(d. h. die Prioritätsreihenfolge von Übertragungen
davon ist niedrig) als derjenigen der Nachrichtenbox aufweist, in
welcher diese Nachricht mit niedrigem Prioritätsgrad gespeichert worden ist,
nicht gesendet werden, wenn nicht das Senden der Nachricht mit dem
niedrigen Prioritätsgrad,
welche in der Nachrichtenbox gespeichert ist, deren Boxzahl klein
ist (d. h. die Prioritätsreihenfolge
der Übertragung
ist hoch) beendet ist, sogar dann, wenn ein derartiger ID-Code mit
der höchsten
Priorität
der zuerst erwähnten
Nachricht zugewiesen worden ist. Es gibt einige Möglichkeiten,
daß das
Senden der Nachricht mit dem hohen Prioritätsgrad, welche dringend gesendet
werden sollte, stark verzögert
wird.
-
Beispielsweise
wird wie in 5 dargestellt das folgende im
Fahrzeug befindliche LAN zum Ausführen einer Übertragungssteueroperation
auf der Grundlage des CAN-Protokolls
nun berücksichtigt, wobei
dieses im Fahrzeug befindliche LAN mit einer Sensor-ECU 30,
einer Steuerungs-ECU 32 und einer Betätigungs-ECU 34 ausgestattet
ist. Die Sensor-ECU 30 erzeugt ein Sensorsignal aus einem
Erfassungssignal eines Sensors und sendet dieses erzeugte Sensorsignal.
Die Steuerungs-ECU 32 erzeugt Betätigungsgliedsteuersignale A
und B auf der Grundlage des empfangenen Sensorsignals und sendet
diese erzeugten Betätigungsgliedsteuersignale
A und B. Die Betätigungsglied-ECU 34 betätigt Betätigungsglieder
auf der Grundlage der Betätigungsgliedsteuersignale
A und B.
-
Es
wird festgestellt, daß bei
der Übertragungsvorrichtung 32 der
Steuerungs-ECU, da das Sensorsignal entsprechend der von der Sensor-ECU zugeführten Nachricht
empfangen wird, ein Benutzungskennzeichnungsregister einer Nachrichtenbox mit
einer Boxzahl von "0" zum Zwecke eines
Empfangs festgelegt worden ist. Ein ID-Code (0100B) eines zu empfangenden
Sensorsignals ist in einem ID-Code-Register dieser Nachrichtenbox festgelegt worden.
Da ebenfalls bei der Übertragungssteuervorrichtung 34 der
Betätigungsglied-ECU
die Betätigungsgliedsteuersignale
A und B entsprechend der von der Steuerungs-ECU gesendeten Nachricht empfangen
werden, sind die Benutzungskennzeichnungsregister der Nachrichtenboxen
mit den Boxzahlen "0" und "1" zum Zwecke des Empfangs festgelegt
worden. ID-Codes
(0010B und 0011B) der zu empfangenden Betätigungsgliedsteuersignale A
und B sind auf die ID-Code-Register dieser Nachrichtenboxen festgelegt
worden. Somit sind die ID-Codes mit hohen Prioritätsgraden
den Betätigungsgliedsteuersignalen
A und B im Vergleich mit dem Sensorsignal zugewiesen worden.
-
Es
wird daher angenommen, daß bei
der Übertragungssteuervorrichtung 30 der
Sensor-ECU, nachdem eine Sendeanforderung eines Sensorsignals in
Bezug auf eine Nachrichtenbox festgelegt worden ist, welche eine
Boxzahl von "0" aufweist, eine Funktionsstörung des
Sensors erfaßt
wird, bevor dieses Sendesignal gesendet wird. Eine derartige Sendeanforderung
eines Sensorfunktionsstörungssignals
wird in Bezug auf eine Nachrichtenbox festgelegt, welche eine Boxzahl
von "1" besitzt. Es wird ebenfalls
festgestellt, daß ein
ID-Code (0000B) mit einem höchsten
Prioritätsgrad
dem Sensorfunktionsstörungssignal
zugewiesen worden ist, damit eine durch einen Verlust einer Entscheidung
hervorgerufene Sendeverzögerung
auf einem Bus nicht auftritt.
-
Da
bei der Übertragungssteuervorrichtung 30 der
Sensor-ECU in einem derartigen Zustand die Sendeprozeßoperationen
entsprechend der Boxzahlreihenfolge durchgeführt werden, wenn nicht das Senden
des in der Nachrichtenbox mit der Boxzahl von "0" gespeicherten
Sensorsignals beendet ist, kann das in der Nachrichtenbox mit der
Boxzahl von "1" gespeicherte Sensorfunktionsstörungssignal nicht
gesendet werden. Da die Sendeanforderung für die Betäti gungsgliedsteuersignale A
und B, welche den ID-Code mit dem höheren Prioritätsgrad als demjenigen
des Sensorsignals aufweisen, bezüglich der Übertragungssteuervorrichtung 32 der
Steuerungs-ECU erhoben wird, wenn nicht die Übertragung dieser Betätigungsgliedsteuersignale
beendet worden ist, kann das Senden des Sensorsignals nicht durchgeführt werden.
-
Als
Ergebnis wird das Senden des Sensorfunktionsstörungssignals weiter verzögert. D.
h., wie in 3B dargestellt wird das Sensorfehlfunktionssignal,
welches unmittelbar gesendet werden sollte, an einer Endstufe zusammen
mit diesen vier Signalen gesendet, so daß eine große Verzögerung erzeugt wird, bis dieses
Sensorfunktionsstörungssignal
die Steuerungs-ECU erreicht. In 3A und 3B wird
ein Mißerfolg
der Entscheidung schraffiert dargestellt.
-
Die
Veröffentlichungsschrift
der
japanischen Patentanmeldung
Nr. HEI-1-143537 offenbart eine Übertragungssteuervorrichtung.
D. h., wenn bei dem Übertragungssystem
eines CSMA/CD-Typs das obige Geschehnis auftritt, schreibt diese Übertragungssteuervorrichtung
die Codes, welche die Prioritätsgrade
anzeigen, derart um, daß bezüglich der
Nachricht, welche keine lange Wartezeit aufweist, der Prioritätsgrad dieser
Nachricht auf dem Bus hoch wird.
-
In
diesem Fall wird jedoch die Sendefolge dieser Nachricht in derselben Übertragungssteuervorrichtung
nicht verändert,
wenn nicht die Übertragung
aller derartiger Nachrichten beendet worden ist, welche im Voraus
erzeugt worden sind. Daher kann die Nachricht mit dem hohen Prioritätsgrad,
welche später
erzeugt wird, nicht gesendet werden, so daß die Wartezeit nicht hinreichend
verkürzt
werden kann.
-
Wenn
insbesondere ebenfalls bei dem CAN-Protokoll, bei welchem Identifizierungsoperationen
von Nachrichten und Festlegeoperationen von Prioritätsgraden
während
der Entscheidung unter Verwendung derselben ID-Codes durchgeführt werden,
ein Prioritätsgrad
(d. h. ein ID-Code) geändert wird,
kann die Art einer Nachricht nicht bestimmt werden, und es kann
ebenfalls eine an der Empfangsseite vorgesehene Übertragungssteuervorrichtung
diese Nachricht nicht empfangen. Als Ergebnis kann ein derartiges Änderungsverfahren
des Prioritätsgrads nicht
auf das Übertragungssystem
angewandt werden, welches das CAN-Protokoll verwendet.
-
Die
EP 1 085 721 A2 offenbart
eine CAN-Anordnung wie beispielsweise einen CAN-Mikrokontroller,
welcher eine Mehrzahl von Nachrichtenobjekten unterstützt, wobei
gleichzeitig zwei oder mehrere Sendenachrichten bereitstellt werden
und ein Vorentscheidungsprozeß durchgeführt wird,
um festzustellen, welche der gleichzeitig bereitgestellten Sendenachrichten
den Vorrang besitzt.
-
Aus
der
US 5 854 454 A ist
ein hierarchisches Aufzug-Steuersystem
bekannt, bei welchem standardmäßige CAN-Hardware und -Nachrichtenprotokolle
verwendet werden. Ein Sendenachrichtenformat enthält Prioritätsbits und
Sourceadreßbits
in Teilfeldern innerhalb des standardmäßigen CAN-Nachrichtenidentifizierungsfelds,
um Prioritätslevel
von Nachrichteninformationen zu trennen, während eine Kollisionsvermeidung
durch die Sourceadressen aufrechterhalten wird.
-
Die
US 5 323 385 A offenbart
schließlich noch
eine Zweiwege-Datenübertragung
zwischen einem zentralen Datenübertragungsknoten
und entfernt gelegenen Datenübertragungsknoten über einen
seriellen Datenbus unter Verwen dung eines CAN-Protokolls mit einem
festgelegten Nachrichtenrahmenformat, das ein kombiniertes Identifizierungs- und
Entscheidungsfeld sowie ein Datenfeld aufweist. Entsprechend dem
CAN-Protokoll wird den Nachrichten der jeweiligen Datenübertragungsknoten
eine Identifizierung zugewiesen, welche deren Dringlichkeitsstufe
anzeigt. Im Falle eines gleichzeitigen Zugriffs zweier Datenübertragungsknoten
auf den Datenbus wird zuerst die Nachricht mit der höheren Dringlichkeitsstufe übertragen.
-
Aufgabe
der vorliegenden Erfindung ist es, die obigen Schwierigkeiten zu überwinden
und insbesondere eine Übertragungssteuervorrichtung
zu schaffen, bei welcher sichergestellt ist, daß das Senden einer folgenden
Nachricht mit einem höheren
Prioritätsgrad
sogar dann nicht verzögert
wird, wenn eine vorausgehende Nachricht mit einem niedrigen Prioritätsgrad vorhanden
ist.
-
Die
Lösung
der Aufgabe erfolgt durch die Merkmale des Anspruchs 1.
-
Entsprechend
der vorliegenden Erfindung besitzt eine Übertragungssteuervorrichtung
zur Durchführung
einer Entscheidung, wenn eine Kollision von Rahmen auf einem Bus
auftritt, eine Mehrzahl von Nachrichtenboxen. Jede Nachrichtenbox
speichert wenigstens eine Nachricht zum Zwecke einer Übertragung
und einen Identifizierungscode, welcher sowohl einen Prioritätsgrad der
Nachricht als auch eine Art der Nachricht anzeigt. Die Vorrichtung
bestimmt, ob das Senden des Rahmens erfolgreich verläuft und
stoppt das Senden von Bits folgend dem vorliegenden Bit, wenn das
Senden des Rahmens fehlschlägt.
Die Vorrichtung erfaßt
des weiteren ein bestimmtes Geschehnis, bei welchem das Senden des
Rahmens verzögert
wird, und legt eine Folge der auf das bestimmte Geschehnis bezogenen
Nachrichtenbox als erste Folge durch Wählen einer der Nachrichtenboxen
mit niedriger Sendefolge anstelle der Nachrichtenbox mit hoher Sendefolge
fest.
-
Die
vorliegende Erfindung wird in der nachfolgenden Beschreibung unter
Bezugnahme auf die Zeichnung erläutert.
-
1A zeigt
ein Blockdiagramm, welches schematisch eine ECU darstellt, die ein
im Fahrzeug befindliches LAN bildet, das ein CAN-Protokoll verwendet;
-
1B zeigt
eine Tabelle, welche Details einer in 1A dargestellten
Nachrichtenboxeinheit darstellt;
-
2 zeigt
ein Flußdiagramm,
welches einen Wählprozeß einer
Nachrichtenbox darstellt, der von einer in 1A dargestellten
Zugriffssteuereinheit ausgeführt
wird;
-
3A zeigt
ein Zeitablaufsdiagramm, welches Wirkungen dargestellt, die von
einer in 1A dargestellten Übertragungssteuervorrichtung
erzielt werden;
-
3B zeigt
ein Zeitablaufsdiagramm, welches Schwierigkeiten bei einer Übertragungssteuervorrichtung
einer verwandten Technik darstellt;
-
3C zeigt
ein beispielhaftes Diagramm, welches eine Nachrichtenbox in einer
ECU_A darstellt;
-
3D zeigt
ein beispielhaftes Diagramm, welches eine Nachrichtenbox in einer
ECU_B darstellt;
-
4 zeigt
ein Zeitablaufsdiagramm, welches eine in der Übertragungssteuervorrichtung
der verwandten Technik ausgeführte
Entscheidungssteueroperation darstellt; und
-
5 zeigt
ein beispielhaftes Diagramm, welches Details der in der Übertragungssteuervorrichtung
der verwandten Technik verwendeten Nachrichtenboxen darstellt.
-
Entsprechend 1A ist
eine ECU (Electronic Control Unit) 2 mit einem im Fahrzeug
vorgesehenen LAN (Local Area Network) verbunden, welches ein CAN-(Controller
Area Network)Protokoll verwendet. Die ECU 2 ist mit einem
CAN-Transceiver 4, einem CAN-Kontroller 6 und
einer CPU (central Processing Unit) 8 verbunden. Dieser
CAN-Kontroller 6 wird
als Übertragungssteuervorrichtung
verwendet, die zum Steuern einer Übertragung mit einer anderen ECU
entsprechend dem LAN-Protokoll geeignet ist. Der CAN-Transceiver 4 sendet
und/oder empfängt von
dem CAN-Kontroller 6 erzeugte
Rahmen über
einen LAN-Bus. Die CPU 8 führt verschiedene Arten von
Prozeßoperationen
in Verbindung mit einer anderen ECU durch Austauschen von Nachrichten über den
CAN-Kontroller 6 aus.
-
Der
CAN-Transceiver 4 ist derart angeordnet, daß dieser
CAN-Transceiver 4 beständig
ein Signal senden/empfangen kann, welches geeignet ist, einen vorausgehend
definierten elektrischen Zustand des CAN-Busses zu erfüllen. Der
CAN-Kontroller 6 ist mit einer Datenspeichereinheit 10,
einer Protokollkerneinheit 12 und einer Zugriffssteuereinheit 14 versehen.
Die Datenspeichereinheit 10 ist mit einer Mehrzahl von
Nachrichtenboxen ausgestattet, welche verwendet werden, um darin
Nachrichten und dergleichen zu speichern, die zwischen den ECU's gesendet/empfangen
werden. Jene Nachrichtenboxen sind in 1B dargestellt.
-
Die
Protokollkerneinheit 12 arbeitet als Übertragungssteuereinrichtung.
Die Protokollkerneinheit 12 führt eine Sendesteueroperation
aus, wodurch eine Nachricht als Rahmen auf der Grundlage eines gespeicherten
Werts einer Nachrichtenbox gebildet wird, danach wird dieser Nachrichtenrahmen über den
CAN-Transceiver 4 gesendet. Die Protokollkerneinheit 12 führt eine
Signalempfangssteueroperation aus, wodurch ein Nachrichtenrahmen über den CAN-Transceiver 4 empfangen
wird, um eine Nachricht und dergleichen zu extrahieren. Die Protokollkerneinheit 12 führt eine
Entscheidungssteuerung (d. h. die Steuerung einer Bit-Einheit nichtzerstörenden Entscheidung
(bit-unit non-destruction arbitration)) eines Busrechtes in dem
Falle durch, daß Rahmen miteinander
auf dem CAN-Bus kollidieren. Ebenfalls führt die Protokollkerneinheit 12 eine Übertragungssteueroperation
entsprechend dem CAN-Protokoll beispielsweise durch, erfaßt und meldet
einen Fehler, welcher in Verbindung mit dem Senden/Empfangen eines
Rahmens auftritt. Danach steuert die Zugriffssteuereinheit 14 einen
Zugriff auf die Datenspeichereinheit 10, wenn die Protokollkerneinheit 12 sowohl
die Sendesteueroperation als auch die Empfangssteueroperation ausführt.
-
Es
versteht sich, daß ähnlich der
in 5 dargestellten Übertragungssteuervorrichtung
Boxzahlen für
die jeweiligen Nachrichtenboxen benutzt werden, welche in der Datenspeichereinheit 10,
einem Nachrichtenregister, einem ID-Code-Register, einem Benutzungskennzeichnungsregister
verwendet werden. Ein Sendeanforderungsregister wird in jeder der
Nachrichtenboxen bereitgestellt. Das Nachrichtenregister wird zur
Speicherung einer Nachricht darin verwendet, welche einem zu sendenden
Rahmen überlagert
ist. Das ID-Code-Register wird zur Speicherung von Arten von Nachrichten
und Identifizierungscodes (ID-Codes) darin verwendet, welche Prioritätsgrade
dieser in dem Nachrichtenregister gespeicherten Nachrichten anzeigen.
Das Benutzungskennzeichnungsregister wird zum Kennzeichnen eines
Benutzungsverfahrens (d. h. von Benutzungsverfahren des Sendens/Empfangs)
einer Nachrichtenbox verwendet. Das Sendeanforderungsregister wird
zum Festlegen einer Sendeanforderung einer Nachricht verwendet,
welche in einer Nachrichtenbox zum Zwecke des Sendens gespeichert
ist. Zusätzlich zu
diesen Registern ist bei dieser Ausführungsform ein Sendeprioritätsfestlegungsregister
zum Festlegen einer Sendepriorität
bezüglich
jeder dieser Nachrichtenboxen vorgesehen.
-
In
einem Fall, bei welchem eine Nachricht vorliegt, welche einer anderen
ECU zu senden ist, bestimmt die CPU 8 dann den ID-Code
entsprechend dieser Nachricht auf der Grundlage des Inhalts dieser Nachricht,
speichert diese Nachricht und den ID-Code in einem derartigen Nachrichtenregister
und einem ID-Code-Register einer nicht benutzten Nachrichtenbox,
legt ein Benutzungskennzeichnungsregister auf ein Benutzungskennzeichnungsregister zum
Zwecke des Sendens fest und legt des weiteren eine Sendeanforderung
auf ein Sendeanforderungsregister fest. Insbesondere in dem Fall,
bei welchem erfordert wird, daß diese
Nachricht dringend gesendet wird (beispielsweise Funktionsstörungsinformationen
und dergleichen), legt die CPU 8 ein Prioritätssendeanforderungsregister
auf einen Sendeanforderungszustand fest.
-
Ebenfalls
in einem Fall, bei welchem die CPU 8 eine Meldung des Empfangs
eines Rahmens von dem CAN-Kontroller 6 mittels einer Anzeige
einer Unterbrechung oder eines Flags empfängt, empfängt diese CPU 8 eine
Nachricht von einer anderen ECU durch Lesen eines Inhalts eines
Nachrichtenregisters wie einer Nachrichtenbox, in welcher ein Benutzungskennzeichnungsregister
für das
Register zum Zwecke eines Empfangs festgelegt worden ist.
-
Demgegenüber bildet
in der Protokollkerneinheit 12 als der Sendesteueroperation
in dem Fall, daß dort
eine Nachrichtenbox vorhanden ist, welche zum Zwecke des Sendens
von einem Benutzungskennzeichnungsregister gekennzeichnet ist, die
Zugriffssteuereinheit 14 einen Rahmen auf der Grundlage
eines gespeicherten Werts (d. h. ID-Code und Nachricht) einer Nachrichtenbox,
welche durch eine Nachrichtenboxwählsteueroperation (wird später erörtert) gewählt wird.
Danach wird dieser gebildete Rahmen über den CAN-Transceiver 4 gesendet.
Der zu dieser Zeit gebildete Rahmen besitzt ähnlich wie in dem Fall der
verwandten Technik einen SOF (Start Of Frame), welcher den Beginn
dieses Rahmens an einem Kopfabschnitt anzeigt, und einen ID-Code, welcher
diesem SOF-Code folgt.
-
Ebenfalls
wird als Empfangssteueroperation in dem Fall, bei welchem eine derartige
Nachrichtenbox vorhanden ist, welche zum Zwecke des Empfangs durch
ein Benutzungskennzeichnungsregister gekennzeichnet ist, ein derartiger
Rahmen empfangen, welcher mit einem ID-Code übereinstimmend gemacht worden
ist, der in einem ID-Code-Register dieser Nachrichtenbox gespeichert
ist, und eine aus dem empfangenen Rahmen extrahierte Nachricht wird über die
Zugriffssteuereinheit 14 in einem derartigen Nachrichtenregister
der Nachrichtenbox gespeichert, deren ID-Code damit übereinstimmend
gemacht wird.
-
Für diesen
Fall wird die Nachrichtenboxwählsteueroperation,
welche von der Zugriffssteuereinheit 14 ausgeführt wird,
wenn die Protokollkerneinheit 12 die Sendesteueroperation
ausführt,
unter Bezugnahme auf ein in 2 dargestelltes
Flußdiagramm
erläutert.
Es wird angenommen, daß während der
Sendesteueroperation die Proto kollkerneinheit 12 bestimmt,
ob das Senden des Rahmens erfolgreich war oder nicht, und ebenfalls
bestimmt, daß dann,
wenn das Senden des Rahmens fehlgeschlagen ist, ein Entscheidungsausfall
vorlag oder nicht. Danach gibt die Einheit 12 ein entsprechendes
Zustandssignal der Zugriffssteuereinheit 14 aus.
-
Wie
in 2 dargestellt bestimmt bei dieser Nachrichtenboxwählsteueroperation
zuerst die Zugriffssteuereinheit 14, ob eine Nachrichtenbox
vorhanden ist, in welcher ein Sendeanforderungsregister auf einen
Sendeanforderungszustand festgelegt worden ist (Schritt S110). Wenn
keine Nachrichtenbox vorhanden ist, wartet die Zugriffssteuereinheit 14,
bis eine Sendeanforderung erhoben wird. Danach legt in dem Fall,
bei welchem gerade eine Nachrichtenbox vorhanden ist, in welcher
eine Sendeanforderung auf ein Sendeanforderungsregister erhoben
worden ist, die Zugriffssteuereinheit 14 eine Nachrichtenbox
mit einer minimalen (geringsten) Boxzahl als Nachrichtenbox mit
einem obersten Prioritätsgrad
(einem höchsten
Prioritätsgrad)
unter den Nachrichtenboxen fest, denen die Sendeanforderungen erhoben
worden sind.
-
Die
Zugriffssteuereinheit 14 wählt diese Nachrichtenbox mit
dem höchsten
Prioritätsgrad
als zu steuernde Nachrichtenbox (Schritt S120). Danach löscht die
Zugriffssteuereinheit 14 einen Zählinhalt eines Wiedersendezählers (resend
counter), welcher verwendet wird, um eine Anzahl von Malen eines Wiedersendens
zu zählen
(Schritt S130). Als Folge führt
die Protokollkerneinheit 12 die obige Sendesteueroperation
entsprechend einem gespeicherten Wert der zu steuernden Nachrichtenbox
aus, welche in dem Schritt S120 gewählt wird.
-
Als
nächstes
bestimmt die Zugriffssteuereinheit 14, ob die Protokollkerneinheit 12 beim
Senden eines Rahmens erfolgreich war, durch Überwachen eines von der Protokollkerneinheit 12 ausgegebenen Zustandssignals
(Schritt S140). In dem Fall, daß bestätigt wurde,
daß die
Protokollkerneinheit 12 beim Senden des Rahmens erfolgreich
war, löscht
die Zugriffssteuereinheit 14 den Inhalt einer in dem vorausgehenden
Schritt S130 (oder Schritt S190) gewählten Nachrichtenbox (MB) in
einem Schritt S150. Danach kehrt diese Sendesteueroperation zu dem
vorausgehenden Schritt S110 zurück.
-
Wenn
demgegenüber
bestätigt
wird, daß die Protokollkerneinheit 12 bei
dem Senden des Rahmens wegen eines Ausfalls einer Entscheidung ausgefallen
ist, erhöht
die Zugriffssteuereinheit 14 den Inhalt des Wiedersendezählers (Schritt
S160) und bestimmt danach, ob dieser erhöhte Zählwert größer als ein voreingestellter
oberer Grenzwert ist (Schritt S170). Wenn dieser erhöhte Zählwert größer als
der voreingestellte obere Grenzwert ist, bestimmt die Zugriffssteuereinheit 14,
ob eine Nachrichtenbox vorhanden ist, bei welcher eine Sendeanforderung
auf ein Prioritätssendeanforderungsregister
erhoben worden ist (Schritt S180).
-
Demgegenüber kehrt
in einem Fall, bei welchem der erhöhte Zählwert nicht diesen voreingestellten
oberen Grenzwert erreicht hat ("NEIN" in Schritt S170)
oder keine Nachrichtenbox vorhanden ist, bei welcher die Sendeanforderung
dem Prioritätssendeanforderungsregister
gegenüber
festgelegt worden ist ("NEIN" in dem Schritt S180),
die Sendesteueroperation auf den vorausgehenden Schritt S140 zurück. Da in
diesem Fall die zu steuernde Nachrichtenbox nicht geändert wird,
sendet die Protokollkerneinheit 12 den Rahmen auf der Grundlage des
gesteuerten Werts derselben Nachrichtenbox, d. h. sendet dieselbe
Nachricht zurück.
-
In
einem Fall, bei welchem die Zugriffssteuereinheit 14 bestimmt,
daß der
Zählwert
des Wiedersendezählers
größer oder
gleich dem oberen Grenzwert ist ("JA" in
dem Schritt 170) und des weiteren eine Nachrichtenbox vorhanden
ist, bei welcher die Sendeanforderung gegenüber dem Prioritätssendeanforderungsregister
festgelegt worden ist ("JA" in dem Schritt S180),
wählt die
Zugriffssteuereinheit 14 eine Nachrichtenbox, welche eine
minimale (geringste) Boxzahl besitzt, als unter Nachrichtenboxen
zu steuernde Nachrichtenbox, bezüglich
derer Prioritätssendeanforderungen
erhoben worden sind (Schritt S190). Die Zugriffssteuereinheit 14 löscht den
Zählwert
des Wiedersendezählers
(Schritt S200). Danach kehrt die Sendesteueroperation auf den vorausgehenden
Schritt S140 zurück.
-
Als
Folge führt
die Protokollkerneinheit 12 die obige Sendesteueroperation
entsprechend dem gespeicherten Wert der zu steuernden Nachrichtenbox
aus, welche in dem Schritt S190 gewählt wird. Als Ergebnis kann
das Senden einer derartigen Nachricht, bezüglich derer die Prioritätssendeanforderung
erhoben worden ist, vor einer Nachricht durchgeführt werden, deren Sendung gescheitert
ist.
-
Wie
oben beschrieben wird bei dem CAN-Kontroller 6 entsprechend
der Betriebsart dieser Ausführungsform
eine gesamte Anzahl von Malen in dem Fall gezählt, bei welchem das Senden
des Rahmens infolge des Ausfalls der Entscheidung scheitert. Wenn
dieser Zählwert
den oberen Grenzwert überschreitet,
kann das Senden einer derartigen Nachricht, bezüglich derer die Prioritätssendeanforderung
erhoben worden ist, anstelle der Nachricht durchgeführt werden,
deren Sendung gescheitert ist.
-
Als
Folge wird bei dem CAN-Kontroller 6 dieser Ausführungsform
sogar in einem Fall, bei welchem die Nach richt, welcher der ID-Code
des niedrigen Prioritätsgrads
zugewiesen worden ist (d. h., die Nachricht mit niedrigem Prioritätsgrad)
in der Nachrichtenbox, deren Boxzahl klein ist, gespeichert ist und
ebenfalls die Nachricht, welcher der ID-Code des hohen Prioritätsgrads
zugewiesen worden ist (d. h. die Nachricht mit hohem Prioritätsgrad)
in der Speicherbox gespeichert ist, deren Boxzahl größer als
die oben beschriebene kleine Boxzahl ist, dann, wenn die Nachricht
mit dem niedrigen Prioritätsgrad wiederholt
bezüglich
der Entscheidung scheitert, die Sendefolge geändert. Diese Möglichkeit
kann gegeben werden, wodurch die in der Nachrichtenbox gespeicherte
Nachricht, bezüglich
derer die Prioritätssendeanforderung
erhoben worden ist, gesendet werden kann. Als Ergebnis kann eine
derartige Nachricht mit einer dringenden Sendeanforderung, bezüglich der
das Prioritätssenden
festgelegt worden ist, ohne große
Verzögerung
gesendet werden.
-
In
diesem Fall zeigt 3A ein Sendebeispiel eines Rahmens
unter der Steuerung des auf der ECU 2 angebrachten CAN-Kontrollers 6 der
Betriebsart dieser Ausführungsform
an. In 3A ist das Scheitern der Entscheidung
schraffiert angezeigt. Bei diesem Sendebeispiel wird ein Fall angenommen,
bei welchem zwei Sätze
von ECU's (A und B)
Rahmen zur selben Zeit senden. D. h., es wird angenommen, daß in einer
ECU (ECU_A) eine Nachricht A0, deren ID-Code 0100B ist, in der Nachrichtenbox
mit einer Boxzahl "0" gespeichert ist,
und eine andere Nachricht A1, deren ID-Code 0000B ist, in einer
Nachrichtenbox gespeichert ist, deren Boxzahl "1" ist.
In der anderen ECU (ECU_B) ist eine Nachricht 30, deren
ID-Code 0010B ist, in einer Nachrichtenbox mit einer Boxzahl "0" gespeichert, und es ist eine andere
Nachricht 31, deren ID-Code 0011B ist, in einer Nachrichtenbox
gespeichert ist, deren Boxzahl "1" ist.
-
D.
h., es werden die Prioritätsgrade
auf dem Bus definiert als Nachricht A1 > Nachricht B0 > Nachricht B1 > Nachricht A0. Es wird ebenfalls angenommen,
daß die
Nachricht A1 mit dem höchsten
Prioritätsgrad
einer derartigen Nachricht entspricht, welche dringend gesendet
werden sollte und bezüglich derer
die Prioritätssendeanforderung
erhoben worden ist. Ebenfalls wird in diesem Sendebeispiel angenommen,
daß der
obere Grenzwert des Rücksetzzählers auf "0" gewählt
worden ist, und wenn ein Senden eines Rahmens gerade einmal (in
Folge eines Versagens der Entscheidung) scheitert, werden Sendefolgen
der Rahmen neu geordnet.
-
Wie
in 3A dargestellt werden zuerst beide Nachrichten
A0 und B0 zur selben Zeit gesendet, die in den Nachrichtenboxen
mit den Boxzahlen "0" sowohl der ECU_A
als auch der ECU_B gespeichert sind. Als Ergebnis kann die Nachricht
mit dem höheren
Prioritätsgrad
die Entscheidung gewinnen und wird somit bis zuletzt gesendet. Wenn
das Senden dieser Nachricht B0 vollendet worden ist, werden sowohl
die Nachricht B1 von der ECU_B als auch die Nachricht A1 von der
ECU_A zur selben Zeit gesendet. Diese Nachricht 31 ist
in der Nachrichtenbox mit der nächsten
Boxzahl gespeichert. Die Nachricht A1 ist in der Nachrichtenbox
gespeichert, bezüglich
derer die Prioritätssendeanforderung
erhoben worden ist, und wird von der ECU_A gesendet, welche bezüglich der
Entscheidung ausgefallen ist und deren Sendefolge neu geordnet worden
ist. Als Ergebnis kann die Nachricht A1 mit dem höheren Prioritätsgrad die
Entscheidung gewinnen und wird bis zuletzt gesendet. Wenn das Senden
dieser Nachricht A1 beendet worden ist, werden sowohl die verbleibenden Nachrichten
A0 als auch B1 von der ECU_A und der ECU_B zur selben Zeit gesendet.
Danach kann die Nachricht 31 mit dem höheren Prioritätsgrad die
Entscheidung gewinnen. Nachdem das Senden dieser Nachricht 31 beendet
worden ist, wird die Nachricht A0 schließlich gesendet.
-
Wie
oben beschrieben wird bei der Sendesteuervorrichtung der verwandten
Technik, bei welcher die Sendefolge wie in 3B dargestellt
nicht neu geordnet wird, die Nachricht A1 mit dem höchsten Prioritätsgrad an
der letzten Stufe von den vier Nachrichten gesendet. Jedoch kann
bei der Sendesteuervorrichtung dieser Ausführungsform, bei welcher die
Sendefolge neu geordnet wird, die Nachricht A1 mit dem höchsten Prioritätsgrad zur
zweiten Folge gesendet werden, wodurch vermieden werden kann, daß das Senden
dieser Nachricht A1 stark verzögert wird.
-
Es
wird festgestellt, daß die
Nachrichtenboxen, bei welchen beabsichtigt wird, daß die Sendefolgen
der Nachrichten neu geordnet werden, auf derartige Nachrichtenboxen
begrenzt sind, bei welchen die Sendeanforderungen auf die Prioritätssendeanforderungsregister
in der Betriebsart dieser Ausführungsform
gesetzt worden sind. Alternativ kann in einem Fall, bei welchem
keine Nachrichtenbox vorhanden ist, bezüglich derer eine Sendeanforderung
auf ein Prioritätssendeanforderungsregister
gesetzt worden ist, eine Nachrichtenbox, welche einen ID-Code mit
einem höheren
Prioritätsgrad
als demjenigen eines ID-Codes, welcher in der Nachrichtenbox des höchsten Prioritätsgrads
gespeichert worden ist, als Nachrichtenbox gewählt werden, deren Sendefolge zu ändern beabsichtigt
wird.
-
Während ein
Prioritätssendeanforderungsregister
einfach ausgelassen wird, kann eine Nachrichtenbox, welche einen
ID-Code mit einem höheren Prioritätsgrad als
demjenigen eines ID-Codes besitzt, welcher in der Nachrichtenbox
mit dem höchsten
Prioritätsgrad
gespeichert ist, alternativ als Nachrichtenbox gebildet werden,
deren Sendefolge zu ändern beabsichtigt
wird.
-
Des
weiteren kann die vorliegende Erfindung auf verschiedene Weisen
ohne vom Rahmen der Erfindung abzuweichen ausgeführt werden.
-
Vorstehend
wurde eine Übertragungssteuervorrichtung
offenbart, welche ein CAN-Protokoll verwendet. Eine Übertragungssteuervorrichtung
(6) zum Durchführen
einer Entscheidung, wenn eine Kollision von Rahmen auf einem Bus
auftritt, besitzt eine Mehrzahl von Nachrichtenboxen (10).
Jede Nachrichtenbox (10) speichert wenigstens eine Nachricht zum
Zwecke des Sendens und einen Identifizierungscode, welcher sowohl
einen Prioritätsgrad
als auch eine Art davon anzeigt. Die Vorrichtung (6) bestimmt, ob
das Senden eines Rahmens erfolgreich gewesen ist und beendet das
Senden von Bits, wenn das Senden des Rahmens gescheitert ist. Die
Vorrichtung (6) erfaßt
ein bestimmtes Geschehnis, welches das Senden des Rahmens verzögert, und
legt eine Folge der Nachrichtenbox (10) bezogen auf das
bestimmte Geschehnis als erste Folge durch Wählen einer von Nachrichtenboxen
einer niedrigen Sendefolge (10) anstelle der Nachrichtenbox
einer höchsten
Sendefolge fest.