DE102009054961A1 - Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung innerhalb eines Steuergeräte-Verbundes - Google Patents
Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung innerhalb eines Steuergeräte-Verbundes Download PDFInfo
- Publication number
- DE102009054961A1 DE102009054961A1 DE200910054961 DE102009054961A DE102009054961A1 DE 102009054961 A1 DE102009054961 A1 DE 102009054961A1 DE 200910054961 DE200910054961 DE 200910054961 DE 102009054961 A DE102009054961 A DE 102009054961A DE 102009054961 A1 DE102009054961 A1 DE 102009054961A1
- Authority
- DE
- Germany
- Prior art keywords
- time
- cycle
- message
- latency
- computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000005540 biological transmission Effects 0.000 title claims description 5
- 238000004590 computer program Methods 0.000 claims abstract description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004904 shortening Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
- H04L12/4035—Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
- H04J3/0655—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung über ein Bus-System (100) innerhalb eines aus einer Master-Einheit (10) und wenigstens einer Slave-Einheit (20, 30) bestehenden Steuergeräte-Verbundes, bei dem – die Master-Einheit (10) wiederholt in vorgegebenen, zeitlichen Abstand eine Synchronisierungsbotschaft (D1) über das Bus-System (100) überträgt, – die Slave-Einheit (20, 30) zur Durchführung einer vorgegebenen Programmsequenz aufeinanderfolgende Rechenzyklen (L1, L2, L3) ausführt, wobei ein eine vorgegebene Zykluszeit aufweisender Rechenzyklus in Taktzyklen vorgegebener Länge unterteilt ist, – innerhalb dieser Zykluszeit ein Empfangszeitschlitz (Z) zum Empfang einer Botschaft (D1), insbesondere der Synchronisierungsbotschaft vorgesehen ist, so dass die in diesem Empfangszeitschlitz (Z) empfangene Botschaft (D1) aktuellen Rechenzyklus verarbeitbar ist. Erfindungsgemäß ist es vorgesehen, dass – mittels einer Zeitbasis der Slave-Einheit die Zeitdauer (dtCAN) als Latenzzeit zwischen dem Empfangszeitschlitz (Z) und dem Zeitpunkt (t1) der eingehenden Synchronisierungsbotschaft (D1) bestimmt wird, und – zur Synchronisierung der Rechenzyklen (L1, L2, L3) mit der Master-Einheit (10) in Abhängigkeit der Latenzzeit (dtCAN) die Zykluszeit des nächsten Rechenzyklus (L1, L2, L3) verlängert oder verkürzt wird. Die Erfindung betrifft ferner ein Steuergeräte-Verbund zur Durchführung des erfindungsgemäßen Verfahrens.
Description
- Die Erfindung betrifft ein Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung über ein Bus-System innerhalb eines aus einer Master-Einheit und wenigstens einer Slawe-Einheit bestehenden Steuergeräte-Verbundes gemäß Oberbegriff des Patentanspruchs 1. Ferner betrifft die Erfindung einen Steuergeräte-Verbund zur Durchführung des erfindungsgemäßen Verfahrens.
- Die Vernetzung von Steuergeräten (Steuergeräte-Verbund), Sensoren und Aktoren mit Hilfe eines Bussystems hat in den letzten Jahren im Bereich des Kraftfahrzeugbaus stark zugenommen. Die Kommunikation zwischen den Teilnehmern bzw. den Steuergeräten des Steuergeräte-Verbundes findet über das Bussystem statt, wobei die Zugriffs- und Empfangsmechanismen sowie die Fehlerbehandlung über ein Protokoll geregelt werden, wobei sich als Protokoll das CAN-Protokoll durchgesetzt hat.
- Es ist auch möglich, mehrere Teilnehmer oder Steuergeräte zu einer Gruppe zusammenzufassen, die dann über eine Master-Einheit angesprochen werden und als Master-Slawe-Systeme bezeichnet werden. Im Kraftfahrzeugbereich werden solche Master-Slawe-Systeme vor allem für Sensor- oder Aktorbusse eingesetzt.
- Zur Ausführung von Steuer- und Regelfunktionen werden entsprechende Algorithmen in den Steuergeräten ausgeführt, die schleifenweise in sogenannte äquidistante Rechenzyklen, auch Loops genannt, durchlaufen werden. Insbesondere wenn es sich bei den Steuer- und Regelfunktionen um sicherheitskritische Echtzeitanwendungen, wie bspw. Fahrdynamikregelungen (ESP) oder adaptive Geschwindigkeitsregelungen (ACC) handelt, ist es erforderlich, dass Master-Einheiten Regel- bzw. Steuersignale so auf den Datenbus senden, dass solche Botschaften von den Slave-Einheiten direkt für den nächsten Arbeitszyklus bzw. Loop genutzt werden können, ohne dass unnötige Wartezeiten bzw. Latenzzeiten auftreten.
- In herkömmlichen Steuergeräte-Verbundsystemen hat sowohl eine Master-Einheit als auch eine Slave-Einheit eine feste Rechen- bzw. Loopzeit, die untereinander ganzzahlige Vielfache von einander sein können; aber aufgrund der Oszillatortoleranzen der einzelnen Steuergeräte kommt es zum Wegdriften (Jitter) der Loopstarts, so dass Botschaften nicht mehr unmittelbar verarbeitet werden können und sich dadurch die Latenzzeit verlängert, auch wenn diese Botschaften im Interrupt schon empfangen wurden.
- Daher besteht die Aufgabe der Erfindung darin, eine Datenkommunikation zwischen einer Master-Einheit und wenigstens einer Slave-Einheit in einem Steuergeräte-Verbund mit einer möglichst geringen Latenzzeit durchzuführen.
- Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 sowie durch einen Steuergeräte-Verbund mit den Merkmalen des Patentanspruchs 12.
- Demgemäß ist es erfindungsgemäß vorgesehen, mittels einer Zeitbasis der Slave-Einheit die Zeitdauer als Latenzzeit zwischen dem Empfangszeitschlitz und dem Zeitpunkt der eingehenden Synchronisierungsbotschaft zu bestimmen und zur Synchronisierung der Rechenzyklen mit der Master-Einheit in Abhängigkeit der Latenzzeit die Zykluszeit des nächsten Rechenzyklus der Slave-Einheit zu verlängern oder zu verkürzen.
- Mit einer solchen Synchronisierungsbotschaft, die von der Master-Einheit regelmäßig gesendet wird und die auch eine reguläre Datenbotschaft sein kann, kann sich die Slave-Einheit mit der Master-Einheit, d. h. mit der Synchronisierungsbotschaft synchronisieren, d. h. die Loopzeit so lange verkürzen oder verlängern, bis die empfangene Botschaft als Synchronisierungs- oder Datenbotschaft auf der Slave-Einheit in dem aktuellen Rechenzyklus bzw. Loop verarbeitet werden kann, ohne dass ein auf dem Interrupt-Level vorgegebener Synchronisierungszeitpunkt zwischen Interrupt-Level und der Loop der Slave-Einheit verpasst wird. Dadurch kann die Latenzzeit auf ein Minimum reduziert werden.
- Besonders einfach kann das Verfahren gemäß einer Weiterbildung dadurch realisiert werden, dass zur Verlängerung oder Verkürzung des Rechenzyklus bzw. der Loop ein Taktzyklus verlängert oder verkürzt wird, nämlich vorzugsweise der letzte Taktzyklus eines Rechenzyklus bzw. eines Loops.
- Vorteilhaft ist es auch, wenn gemäß einer Weiterbildung der Erfindung der auf die eingegangene Botschaft folgende Taktzyklus eines Rechenzyklus verlängert oder verkürzt wird.
- Gemäß einer Weiterbildung der Erfindung wird ein Loop bzw. ein Rechenzyklus nur mit einem vorgegebenen Bruchteil der Zykluszeit verlängert oder verkürzt, um die Systemstabilität und die Äquidistanz in dem Steuergeräte-Verbund zu erhalten. Hierzu wird vorzugsweise die Anzahl der einer bestimmten Verlängerung oder Verkürzung entsprechenden Bruchteile bestimmt und die dieser Anzahl entsprechenden aufeinanderfolgenden Loops bzw. Rechenzyklen um diesen Bruchteil der Loopzeit bzw. Zykluszeit verlängert oder verkürzt.
- In vorteilhafter Weise wird gemäß einer Weiterbildung der Erfindung ein Grenzwert festgelegt, der mit der Latenzzeit verglichen wird, wobei entweder die Zykluszeit verkürzt wird, falls die Latenzzeit kleiner oder gleich diesem Grenzwert ist, oder verlängert wird, falls die Latenzzeit größer als dieser Grenzwert ist.
- Vorzugsweise kann dieser Grenzwert so festgelegt werden, dass die Hälfte des Wertes der Zeitdifferenz zwischen Empfangszeitschlitzen von aufeinanderfolgenden Rechenzyklen als Grenzwert bestimmt wird.
- Auch kann es aus Systemsicht vorteilhaft sein, hiervon abzuweichen und den Grenzwert so zu wählen, dass dessen Wert kleiner ist als die Hälfte des Wertes der Zeitdifferenz zwischen den Empfangszeitschlitzen aufeinanderfolgenden Rechenzyklen. Damit wird der Wertebereich größer, der zu einer Loopverkürzung führt, als derjenige, bei dem die Loopzeit verlängert wird. Dies bietet den Vorteil, dass eine Art der Loopzeitvariation bevorzugt werden kann, falls diese aus Systemsicht weniger Nachteile mit sich bringt.
- Besonders vorteilhaft ist es gemäß einer Weiterbildung der Erfindung, wenn die Zeitdauer zwischen einem Mittelpunkt des Empfangszeitschlitzes und dem Zeitpunkt der eingehenden Synchronisierungsbotschaft als Latenzzeit bestimmt wird. Damit führen kleine Abweichungen von diesem mittleren, aber noch im Zielkorridor Z liegenden Zeitpunkte nicht unmittelbar zu Loopzeitvariation, wodurch eine ständige Neusynchronisation bei kleinstem Zeitjitter vermieden wird.
- Ferner wird ein Computerprogrammprodukt bereitgestellt, das Sofwarecodeabschnitte umfasst, mit denen ein Verfahren nach einem der vorhergehenden Verfahrensschritte ausführbar ist, wenn die Softwarecodeabschnitte auf einem Prozessor ausgeführt werden.
- Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren ausführlich beschrieben. Es zeigen:
-
1 ein Blockdiagramm eines Steuergeräte-Verbundes zur Durchführung des erfindungsgemäßen Verfahrens, -
2 ein Zeit-Diagramm zur Darstellung einer erfindungsgemäßen Übertragung einer Synchronisierungsbotschaft zur Darstellung eines Ausführungsbeispiels eines Synchronisierungsvorganges gemäß des erfindungsgemäßen Verfahrens, und -
3 ein Zeit-Diagramm zur Darstellung einer erfindungsgemäßen Übertragung einer Synchronisierungsbotschaft zur Darstellung eines weiteren Ausführungsbeispiels eines Synchronisierungsvorganges gemäß des erfindungsgemäßen Verfahrens. -
1 zeigt in schematischer Darstellung einen Steuergeräte-Verbund, der aus einer Master-Einheit10 sowie zwei Slawe-Einheiten20 und30 aufgebaut ist und die über einen Daten-Bus100 , hier ein CAN-Datenbus miteinander kommunizieren. - Diese Master-Einheit
10 , im Folgenden ECU genannt, stellt bspw. eine Steuereinheit eines Kraftfahrzeugs für eine ESP-Regelung dar, während die Slawe-Einheit20 als Steuergerät zur Steuerung einer die Aktoren darstellende Bremsanlage25 des Kraftfahrzeugs dient, im Folgenden WCU (Wheel Control Unit) genannt. Die weitere Slawe-Einheit30 stellt typischerweise eine weitere WCU dar oder dient zur Steuerung anderer Aktoren, bspw. zur Antriebsregelung im Rahmen einer Antriebsschlupfregelung (ASR). An den CAN-Bus100 können natürlich weitere Steuereinheiten sowie Aktoren und Sensor-Einheiten angeschlossen werden. - Die als Master-Einheit arbeitende ECU
10 , die WCU20 als Slawe-Einheit als auch die weitere Slawe-Einheit30 verfügen jeweils über einen Mikroprozessor11 ,21 und31 zur Durchführung eines Steuer- und/oder Regelalgorithmus, einen CAN-Controller12 ,22 und32 sowie einen Transceiver13 ,23 und33 zur Anbindung an den CAN-Bus100 . - Mit Bezug auf die
2 und3 wird die Datenkommunikation zwischen der ECU10 und der WCU20 sowie die damit verbundene Synchronisierung der WCU20 auf die ECU10 für zwei Situationen beschrieben. Entsprechendes würde für die weitere Slave-Einheit30 gelten. - Die
2a und3a zeigen den zeitlichen Ablauf eines Arbeitszyklus des Mikroprozessors11 , im Folgenden Mainloop oder Loop genannt, die eine Looptime (Zykluszeit) von 10 ms aufweist und den korrespondierenden Interrupt Level des CAN-Controllers12 mit einer Taktung von 1 ms. Die Mainloop wird aufgeteilt in einen Empfangsabschnitt E zu Loopbeginn und einen Sendeabschnitt S zu Loopende. Das Senden einer Botschaft D1 durch die ECU10 an die WCU20 erfolgt mittels eines Datencontainers D für die SPI-Schnittstelle des CAN-Controllers12 , der das eigentliche Senden der Botschaft D1 auf den CAN-Bus100 im nächstfolgenden Taskinterrupt durchführt. Neben der Botschaft D1 können noch weitere Botschaften in dem Datencontainer D enthalten sein. - Zur Synchronisierung der WCU
20 auf die bei dieser WCU20 eingehenden ECU-Botschaften werden sogenannte von dem Mikroprozessor11 erzeugte Synchronisierungsbotschaften verwendet, die auch eine reguläre Botschaft entsprechend der ECU-Botschaft D1 „Kraftsollwert an WCU” sein kann. Hiervon soll im Folgenden ausgegangen werden. - Nachfolgend wird anhand der
2a und2b ein erstes Ausführungsbeispiel eines Synchronisierungsvorganges beschrieben. - Der Mikroprozessor
21 der WCU20 läuft in einem 5 ms Raster, die Looptime eines Rechenzyklus bzw. einer Loop beträgt damit 5 ms, wobei eine Loop aus 4 Taktzyklen mit 1,25 ms besteht, die von dem korrespondierenden Interrupt-Level des CAN-Controllers22 der WCU20 erzeugt wird. In2b sind zwei aufeinander folgende Loops L1 und L2 dargestellt. Auf dem Interrupt-Level stellt der Zeitpunkt der Task-Nr. T0 bzw. T4 ein Synchronisierungszeitpunkt Ts zwischen dem Interrupt-Level und der Loop der WCU20 dar. Dieser Synchronisierungszeitpunkt Ts ist systemseitig festgelegt. - Würde die Botschaft D1 innerhalb eines Empfangszeitschlitzes Z, das den gewünschten Zielkorridor des CAN-Botschaft D1 darstellt, empfangen, könnte die Botschaft D1 in der darauffolgenden Loop L2 unmittelbar verarbeitet werden, da der Synchronisationszeitpunkt Ts nicht verpasst wurde. In diesem Fall würde kein Loop-Versatz bei der Nutzung der empfangenen Daten auftreten und die Loops der WCU
20 würden synchron mit denjenigen der ECU10 verlaufen. - Wird dagegen entsprechend der Darstellung in den
2b oder3b die Botschaft D1 außerhalb des Empfangszeitschlitzes Z empfangen, würde diese Botschaft D1 erst im darauffolgenden Loop L3 bearbeitet werden, wodurch eine unerwünschte Latenzzeit entstehen würde. Zur Synchronisierung der WCU20 auf diese Botschaft D1 wird die Loopzeit sukzessive in aufeinanderfolgenden Loops jeweils so lange verkürzt oder verlängert, bis die Botschaften D1 wieder in dem Zeitschlitz Z empfangen würden. Ob eine Verlängerung oder Verkürzung der Loopzeit vorgenommen wird, hängt von dem Alter der eingegangenen Botschaft D1 ab, also von der Zeitdauer dtCAN zwischen einem mittleren Zeitpunkt tm des Empfangszeitschlitzes Z und dem Zeitpunkt t1 der eingegangenen Botschaft D1 (Zeitstempel der empfangen CAN-Botschaft). Diese Zeitdauer dtCAN wird mit einem Grenzwert g verglichen. Die Loopzeit wird verlängert, falls die Zeitdauer dtCAN kleiner oder gleich diesem Grenzwert g ist und verkürzt, falls die Loopzeit dtCAN größer als dieser Grenzwert g ist. Der mittlere Zeitpunkt tm vom Zielkorridor Z wird benutzt, damit kleine Abweichungen von tm, die aber noch im Zielkorridor Z liegen, nicht unmittelbar eine Loopzeitvariation auslösen. Damit wird eine ständige Neusynchronisation bei kleinstem Zeitjitter vermieden. - Ein Balken B der
2b zeigt die entsprechenden Zeitbereiche, die zu einer Verlängerung oder einer Verkürzung der Loops führen. Hieraus ist zu erkennen, dass die Loop verlängert bzw. verkürzt wird, wenn die Botschaft in dem Zeitbereich B1 bzw. B2 empfangen wird. Der Zeitbereich B3 entspricht dem Empfangszeitschlitz Z, der dem gewünschten Zielkorridor der CAN-Botschaft entspricht und daher zu einer unveränderten Loop führt. - Die Zeitbereiche B1 und B2 sind in den
2b und3b gleich lang, jedoch können diese Bereiche auch unterschiedlich lang ausgebildet werden. So kann bspw. der Zeitbereich B2 länger gewählt werden als der Zeitbereich B1, wenn dies Systemvorteile bietet. - In der Situation gemäß
2b werden somit aufgrund des Empfangs der Botschaft D1 in der Task-Nr. T2 die Loop L2 und die darauffolgenden Loops in Schritten von jeweils 50 μs so lange verkürzt, bis eine Botschaft wieder im Empfangszeitschlitz Z empfangen wird. Die Anzahl der erforderlichen Schritte bis zu diesem Zustand ergibt sich aus der Formel dtCAN/50. Die Verkürzung um 50 μs erfolgt dadurch, dass der letzte Taktzyklus um 50 μs auf 1,245 ms verkürzt wird. Es ist auch möglich einen beliebig anderen Taktzyklus zur Verkürzung der Loop zu verwenden. - Im Vergleich zur
2b wird die Botschaft D1 in3b in der Task-Nr. T1 empfangen. Dies hat zur Folge, dass mit Blick auf den Balken B die Loopzeit der folgenden Loops jeweils um 50 μs so lange verlängert werden, bis eine Botschaft wieder im Empfangszeitschlitz Z empfangen wird. Auch in dieser Situation wird der letzte Taktzyklus benutzt, um die Loopzeit zu verlängern, nämlich auf 1,255 ms. Auch in diesem Fall kann zur Verlängerung der Loop ein anderer Taktzyklus, bspw. die folgende Task-Nr. T2 zur Loopzeitverlängerung genutzt werden.
Claims (12)
- Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung über ein Bus-System (
100 ) innerhalb eines aus einer Master-Einheit (10 ) und wenigstens einer Slave-Einheit (20 ,30 ) bestehenden Steuergeräte-Verbundes, bei dem – die Master-Einheit (10 ) wiederholt in vorgegebenen, zeitlichen Abstand eine Synchronisierungsbotschaft (D1) über das Bus-System (100 ) überträgt, – die Slave-Einheit (20 ,30 ) zur Durchführung einer vorgegebenen Programmsequenz aufeinanderfolgende Rechenzyklen (L1, L2, L3) ausführt, wobei ein eine vorgegebene Zykluszeit aufweisender Rechenzyklus in Taktzyklen vorgegebener Länge unterteilt ist, – innerhalb dieser Zykluszeit ein Empfangszeitschlitz (Z) zum Empfang einer Botschaft (D1), insbesondere der Synchronisierungsbotschaft vorgesehen ist, so dass die in diesem Empfangszeitschlitz (Z) empfangene Botschaft (D1) folgenden Rechenzyklus verarbeitbar ist, dadurch gekennzeichnet, dass – mittels einer Zeitbasis der Slave-Einheit die Zeitdauer (dtCAN) als Latenzzeit zwischen dem Empfangszeitschlitz (Z) und dem Zeitpunkt (t1) der eingehenden Synchronisierungsbotschaft (D1) bestimmt wird, und – zur Synchronisierung der Rechenzyklen (L1, L2, L3) mit der Master-Einheit (10 ) in Abhängigkeit der Latenzzeit (dtCAN) die Zykluszeit des aktuellen und/oder des nächsten Rechenzyklus (L1, L2, L3) verlängert oder verkürzt wird. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass zur Verlängerung oder Verkürzung des Rechenzyklus (L1, L2, L3) ein Taktzyklus verlängert oder verkürzt wird.
- Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der letzte Taktzyklus eines Rechenzyklus (L1, L2, L3) verlängert oder verkürzt wird.
- Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der auf die eingegangene Botschaft (D1) folgende Taktzyklus eines Rechenzyklus (L1, L2, L3) verlängert oder verkürzt wird.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Rechenzyklus (L1, L2, L3) nur mit einem vorgegebenen Bruchteil der Zykluszeit verlängerbar oder verkürzbar ist.
- Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass – die Anzahl der einer bestimmten Verlängerung oder Verkürzung entsprechenden Bruchteile bestimmt wird, und – die dieser Anzahl entsprechenden aufeinanderfolgenden Rechenzyklen (L1, L2, L3) um diesen Bruchteil der Zykluszeit verlängert oder verkürzt werden.
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass – ein Grenzwert festgelegt wird, der mit der Latenzzeit verglichen wird, und – entweder die Zykluszeit verkürzt wird, falls die Latenzzeit kleiner oder gleich diesem Grenzwert ist, oder verlängert wird, falls die Latenzzeit größer als dieser Grenzwert ist.
- Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Hälfte des Wertes der Zeitdifferenz zwischen Empfangszeitschlitzen (Z) aufeinanderfolgenden Rechenzyklen als Grenzwert bestimmt wird.
- Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass ein Grenzwert gewählt wird, dessen Wert kleiner ist als die Hälfte des Wertes der Zeitdifferenz zwischen den Empfangszeitschlitzen (Z) aufeinanderfolgenden Rechenzyklen (L1, L2, L3).
- Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Zeitdauer zwischen einem Mittelpunkt (tm) des Empfangszeitschlitzes (Z) und dem Zeitpunkt (t1) der eingehenden Synchronisierungsbotschaft (D1) als Latenzzeit (dtCAN) bestimmt wird.
- Computerprogrammprodukt, umfassend Sofwarecodeabschnitte, mit denen ein Verfahren nach einem der vorhergehenden Ansprüche ausführbar ist, wenn die Softwarecodeabschnitte auf einem Prozessor ausgeführt werden.
- Steuergeräte-Verbund, umfassend eine Master-Einheit (
10 ) und mehreren Slave-Einheiten (20 ,30 ), die über ein Bus-System (100 ) miteinander kommunizieren, bei dem – die Master-Einheit (10 ) wiederholt in vorgegebenen, zeitlichen Abstand eine Synchronisierungsbotschaft (D1) über das Bus-System (100 ) überträgt, – die Slave-Einheit (20 ,30 ) zur Durchführung einer vorgegebenen Programmsequenz aufeinanderfolgende Rechenzyklen (L1, L2, L3) ausführt, wobei ein eine vorgegebene Zykluszeit aufweisender Rechenzyklus (Loop) in Taktzyklen vorgegebener Länge unterteilt ist, – innerhalb dieser Zykluszeit ein Empfangszeitschlitz (Z) zum Empfang einer Botschaft (D1), insbesondere der Synchronisierungsbotschaft vorgesehen ist, so dass die in diesem Empfangszeitschlitz (Z) empfangene Botschaft (D1) in einem darauffolgenden Rechenzyklus (L1, L2, L3) verarbeitbar ist, dadurch gekennzeichnet, dass die Slave-Einheit (20 ,30 ) dazu ausgebildet ist, mittels einer Zeitbasis der Slave-Einheit (20 ,30 ) die Zeitdauer (dtCAN) als Latenzzeit zwischen dem Empfangszeitschlitz (z) und dem Zeitpunkt (t1) der eingehenden Synchronisierungsbotschaft (D1) zu bestimmen, wobei zur Synchronisierung der Rechenzyklen (L1, L2, L3) mit der Master-Einheit (10 ) in Abhängigkeit der Latenzzeit (dtCAN) die Zykluszeit des nächsten Rechenzyklus (L1, L2, L3) verlängert oder verkürzt wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009054961.7A DE102009054961B4 (de) | 2009-12-18 | 2009-12-18 | Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung innerhalb eines Steuergeräte-Verbundes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102009054961.7A DE102009054961B4 (de) | 2009-12-18 | 2009-12-18 | Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung innerhalb eines Steuergeräte-Verbundes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102009054961A1 true DE102009054961A1 (de) | 2011-06-22 |
DE102009054961B4 DE102009054961B4 (de) | 2017-10-12 |
Family
ID=44311014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102009054961.7A Active DE102009054961B4 (de) | 2009-12-18 | 2009-12-18 | Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung innerhalb eines Steuergeräte-Verbundes |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102009054961B4 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011003345A1 (de) * | 2011-01-28 | 2012-08-02 | Continental Teves Ag & Co. Ohg | Netzwerkverbundsystem für Fahrzeugsteuergeräte und/oder für Fahrzeugregelgeräte und Synchronisationsverfahren zum Betrieb des Netzwerkverbundsystems |
EP3231670A4 (de) * | 2014-12-10 | 2018-07-11 | Hitachi Automotive Systems, Ltd. | Elektronische steuerungsvorrichtung |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581748A (en) * | 1992-05-12 | 1996-12-03 | Apple Computer, Inc. | Phase register for synchronization of multiple signal processors |
DE10000303A1 (de) * | 2000-01-05 | 2001-07-12 | Bosch Gmbh Robert | Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern |
US20030014679A1 (en) * | 2001-06-15 | 2003-01-16 | Nec Corporation | Network synchronization technique |
US20060197476A1 (en) * | 2005-03-04 | 2006-09-07 | Fanuc Ltd | Control system |
-
2009
- 2009-12-18 DE DE102009054961.7A patent/DE102009054961B4/de active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581748A (en) * | 1992-05-12 | 1996-12-03 | Apple Computer, Inc. | Phase register for synchronization of multiple signal processors |
DE10000303A1 (de) * | 2000-01-05 | 2001-07-12 | Bosch Gmbh Robert | Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens zwei mit einem Bussystem verbundenen Teilnehmern |
US20030014679A1 (en) * | 2001-06-15 | 2003-01-16 | Nec Corporation | Network synchronization technique |
US20060197476A1 (en) * | 2005-03-04 | 2006-09-07 | Fanuc Ltd | Control system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011003345A1 (de) * | 2011-01-28 | 2012-08-02 | Continental Teves Ag & Co. Ohg | Netzwerkverbundsystem für Fahrzeugsteuergeräte und/oder für Fahrzeugregelgeräte und Synchronisationsverfahren zum Betrieb des Netzwerkverbundsystems |
EP3231670A4 (de) * | 2014-12-10 | 2018-07-11 | Hitachi Automotive Systems, Ltd. | Elektronische steuerungsvorrichtung |
US10044494B2 (en) | 2014-12-10 | 2018-08-07 | Hitachi Automotive Systems, Ltd. | Electronic control device |
Also Published As
Publication number | Publication date |
---|---|
DE102009054961B4 (de) | 2017-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3661131B1 (de) | Verfahren zur übertragung von daten über einen seriellen kommunikationsbus, entsprechend ausgelegte busschnittstelle sowie entsprechend ausgelegtes computerprogramm | |
EP1814263B1 (de) | Verfahren und Vorrichtung zum Austausch von Daten zwischen wenigstens Zwei mit einem Bussystem verbundenen Teilnehmern | |
EP1298849B1 (de) | Verfahren und Vorrichtung zur Übertragung von Informationen auf einem Bussystem und Bussystem | |
EP2283616B1 (de) | Kommunikationssystem mit einem can-bus und verfahren zum betreiben eines solchen kommunikationssystems | |
EP2695073B1 (de) | Verfahren und vorrichtung zur anpassung der datenübertragungssicherheit in einem seriellen bussystem | |
EP2695076B1 (de) | Verfahren und vorrichtung zur erhöhung der datenübertragungskapazität in einem seriellen bussystem | |
EP1471433B1 (de) | Verfahren und Vorrichtung zur Synchronisation der globalen Zeit von mehreren Bussen sowie entsprechendes Bussystem | |
DE102011080476A1 (de) | Verfahren und Vorrichtung zur Verbesserung der Datenübertragungssicherheit in einer seriellen Datenübertragung mit flexibler Nachrichtengröße | |
EP2090031B1 (de) | Verfahren und anordnung zur kommunikation auf einem lin-bus | |
DE102019113804A1 (de) | Fahrzeugsteuerungssystem | |
EP2466803A1 (de) | Verfahren zur Datenübertragung in einem Automatisierungssystem unter Verwendung von Dynamic Frame Packing | |
DE102010029349A1 (de) | Steuereinheit zum Austausch von Daten mit einer Peripherieeinheit, Peripherieeinheit, und Verfahren zum Datenaustausch | |
EP1461910B1 (de) | Zyklusbasiertes zeitgesteuertes kommunkationssystem, teilnehmer eines solchen systems und übertragungsverfahren | |
DE102006010400A1 (de) | Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem | |
DE102017121026A1 (de) | Fahrzeuginternes Kommunikationsnetz | |
WO2012101229A1 (de) | Netzwerkverbundsystem für fahrzeugeräte und synchronisationsverfahren zum betrieb des netzwerkverbundsystems | |
EP3417373A1 (de) | Verfahren und vorrichtung zum betreiben eines steuergeräts | |
DE102006001692A1 (de) | Kommunikationssystem, Kommunikationsschaltkreis und Kommunikationsverfahren | |
DE102009054961B4 (de) | Verfahren zur Verringerung der Latenzzeit bei der Datenübertragung innerhalb eines Steuergeräte-Verbundes | |
EP2299614B1 (de) | Vorrichtung und Verfahren zur Zeitsynchronisation in einem Kommunikationsnetz | |
EP4026276A1 (de) | Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk | |
DE102011006884A1 (de) | Verfahren und Vorrichtung zur Erhöhung der Datenübertragungskapazität in einem seriellen Bussystem | |
EP3292699A1 (de) | Betreiben einer detektionseinrichtung eines kraftfahrzeugs zum erfassen eines umgebungsbereiches nebst einer solchen detektionseinrichtung | |
WO2021239298A1 (de) | Lin-bus über backbone-bus tunneln | |
DE102011122801A1 (de) | Verfahren und Vorrichtung zur Anpassung der Datenübertragungssicherheit in einem seriellen Bussystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R081 | Change of applicant/patentee |
Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: CONTINENTAL TEVES AG & CO. OHG, 60488 FRANKFURT, DE |
|
R081 | Change of applicant/patentee |
Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE |