-
Die Erfindung betrifft einen Sternkoppler für ein Bussystem sowie ein Bussystem, in dem ein solcher Sternkoppler eingesetzt ist. Sie betrifft auch ein Verfahren zum Austauschen von Signalen in einem Bussystem, in dem eine Mehrzahl von Buszweigen über einen Sternkoppler gekoppelt ist.
-
Ein Sternkoppler ist das zentrale Element einer Sternschaltung. An einen solchen Sternkoppler sind mehrere Buszweige angeschlossen. Jeder Buszweig umfasst zumindest ein Steuergerät, wobei zumindest ein Teil der Steuergeräte senden und ein Teil der Steuergeräte empfangen kann, bevorzugt zumindest ein Teil der Steuergeräte sowohl senden als auch empfangen kann. Aufgabe eines Sternkopplers ist es, die von einem Zweig eintreffenden Signale an die anderen Zweige weiterzuleiten. Ein aktiver Sternkoppler verstärkt hierbei die Signale. So ist beispielsweise aus der
DE 10 2005 061 395 A1 ein aktiver Sternpunkt für den Einsatz in einem Kommunikationssystem mit Sterntopologie bekannt, der eingehende analoge Signale mit Hilfe eines Operationsverstärkers verstärkt und weiterleitet. Es ist hierbei erwähnt, dass ein eingehendes Datensignal auf einen oder mehrere der übrigen Zweige verteilt werden kann. Wegen der rein analogen Betriebsweise des aktiven Sternpunkts aus der
DE 10 2005 061 395 A1 ist dieser jedoch nicht zur Verwendung in zeitgesteuerten Systemen geeignet.
-
In zeitgesteuerten Bussystemen wie etwa in in Kraftfahrzeugen eingesetzten FlexRay-Systemen oder TTP/C-Systemen wird eine Zykluszeit in mehrere Zeitschlitze eingeteilt. In jedem Zeitschlitz darf nur ein bestimmtes Steuergerät senden, damit es nicht zu Signalinterferenzen mit den Signalen eines anderen Steuergeräts kommt. In solchen zeitgesteuerten Systemen gibt es sogenannte Buswächter (Englisch: bus guardians), die überprüfen, ob ein Teilnehmer (Steuergerät) des Bussystems zum jeweiligen Zeitpunkt, also in einem aktuellen Zeitschlitz, überhaupt senden darf. Der Buswächter bestimmt auch, ob die Botschaft weiterverbreitet werden darf. Ein solcher Buswächter kann in einen Sternkoppler integriert werden. Bei zeitgesteuerten Systemen besteht ein solcher Sternkoppler üblicherweise aus kaskadierten Transceivern für jeden Zweig. Aus Sicht des Sternkopplers ist an eine Mehrzahl von Anschlüssen, an die Buszweige anschließbar sind, jeweils ein solcher Tranceiver, also ein Sender-Empfänger zugeordnet. Transceiver wandeln über den jeweiligen zugehörigen Anschluss einlaufende analoge Signale in digitale Signale und zu dem jeweiligen zugehörigen Anschluss hinlaufende Signale von digitalen Signalen in analoge Signale um. In der Phase, in der die Signale in digitale Signale gewandelt sind und noch nicht in analoge Signale zurückgewandelt sind, kann die Buswächterfunktion eingesetzt werden. Typischerweise umfasst der Sternkoppler dann einen Zeitgeber, um einzelne Zeitschlitze voneinander unterscheiden zu können. Mit steigender Zahl von Busteilnehmern stoßen Busse an Grenzen, was ihre Übertragungskapazität angeht. Beispielsweise hat ein FlexRay-Bus eine Busbandbreite von 10 MBit. Man wünscht, diese Bandbreite möglichst optimal auszunutzen. Hierzu ist man dazu übergegangen, das Bussystem in einzelne Cluster aufzuteilen, wobei die Busteilnehmer eines Clusters in zu dem Cluster definierten Zeitschlitzen senden dürfen. Der Austausch von Daten zwischen unterschliedlichen Clustern ist nur möglich, wenn ein sogenanntes Gateway eingesetzt wird. Bei zeitgesteuerten Systemen müssen in jedem Clustersystem zumindest zwei Synchronisationsknoten vorhanden sein. Zur Absicherung der Kommunikation muss in jedem Cluster ein eigener Buswächter eingesetzt werden.
-
Die
DE 10 2007 059 554 A1 beschreibt einen aktiven Sternkoppler, der so ausgestaltet ist, dass den Teilnehmern eines Bussystems bzw. den zu übertragenden Botschaften feste Zeitschlitze zugewiesen werden, in denen sie einen exklusiven Zugriff auf die Kommunikationsverbindung haben. Der Sternkoppler kann weiterhin einen Kommunikations-Controller umfassen, um eine Routerfunktion zu realisieren. Dieser kann die eingehenden Daten inhaltlich analysieren, um zu ermitteln, für welchen der an den Sternkoppler angeschlossenen Zeige die eingegangenen Daten bestimmt sind.
-
Es ist Aufgabe der Erfindung, die Effizienz der Datenübertragung in zeitgesteuerten Bussystemen zu verbessern.
-
Die Aufgabe wird durch das Bereitstellen eines Sternkopplers mit den Merkmalen gemäß Patentanspruch 1, durch ein Bussystem gemäß Patentanspruch 7 mit einem solchen Sternkoppler und ein Verfahren zum Austauschen von Signalen in einem Bussystem gemäß Patentanspruch 9 gelöst.
-
Die Aufgabe wird somit gelöst durch einen Sternkoppler für ein Bussystem mit einer Mehrzahl von Anschlüssen, an die Buszweige anschließbar sind, wobei die Anschlüsse über einen jeweiligen Sender-Empfänger mit einer digitalen Datenverarbeitungseinheit gekoppelt sind, wobei die Sender-Empfänger über den jeweils zugehörigen Anschluss einlaufende analoge Signale in zur Datenverarbeitungseinheit weiterlaufende digitale Signale wandeln und von der Datenverarbeitungseinheit ausgesandte digitale Signale in zu dem jeweiligen zugehörigen Anschluss weiterlaufende analoge Signale wandeln, wobei die Datenverarbeitungseinheit einen Zeitgeber umfasst, so dass für jeden Anschluss die Zeit in eine sich zyklisch wiederholende Folge von Zeitschlitzen einteilbar ist, und wobei die Datenverarbeitungseinheit dazu ausgelegt ist, ein von einem Anschluss in einen vorbestimmten zu dem Anschluss definierten Zeitschlitz erhaltenes Signal an zumindest einen gemäß einer vorbestimmten Zuordnung festgelegten weiteren Anschluss in einem durch die vorbestimmte Zuordnung festgelegten zu dem weiteren Anschluss definierten Zeitschlitz weiterzuleiten. Dabei ist der Sternkoppler dazu ausgelegt, in zumindest einem Zeitschlitz Signale über zumindest zwei unterschiedliche Anschlüsse zu empfangen und das von einem ersten Anschluss eintreffende Signal an zumindest einen ersten weiteren Anschluss weiterzuleiten und das von einem zweiten Anschluss im selben Zeitschlitz eintreffende Signal an zumindest einen zweiten weiteren Anschluss weiterzuleiten.
-
Dadurch, dass in dem erfindungsgemäßen Sternkoppler ein Weiterleiten von Signalen nicht, automatisch erfolgt, sondern definiert aufgrund der vorbestimmten Zuordnung, kann das Bussystem durch geeignete Gestaltung dieser vorbestimmten Zuordnung optimal für die jeweiligen Zwecke ausgelegt werden. Die Zuordnung kann insbesondere so aussehen, dass anders als bisher nicht in jedem Zeitschlitz sämtliche Signale, die von einem ersten Anschluss empfangen werden, an sämtliche weiteren Anschlüsse weitergeleitet werden. So ist es in zumindest einem Zeitschlitz möglich, dass der Sternkoppler das Bussystem (das Netz) virtuell in mehrere Teilsysteme (Teilnetze) teilt, in dem er nur innerhalb der Teilsysteme Botschaften weiterleitet. Es ist insbesondere möglich, dass der Sternkoppler mit zeitlicher Überschneidung, z. B. bei globaler Definition der Zeitschlitzfolge in demselben Zeitschlitz über zwei Anschlüsse Signale empfängt, wobei er von dem ersten Anschluss das Signal an einen ersten weiteren Anschluss weiterleitet und von dem zweiten Anschluss das Signal an einen zweiten weiteren Anschluss weiterleitet. Der an dem ersten Anschluss angeschlossene Buszweig bildet dann mit dem an dem ersten weiteren Anschluss angeschlossenen Buszweig für die Dauer des Zeitschlitzes ein Teilnetz und der an dem zweiten Anschluss angeschlossene Buszweig bildet mit dem zweiten weiteren Anschluss angeschlossenen Buszweig dann ebenfalls ein Teilnetz. Der Sternkoppler hat durch die Beobachtung der Zeitschlitze gleichzeitig die Funktion eines Buswächters. Auch wenn virtuell mehrere Teilnetze gebildet werden, genügt ein einziger Sternkoppler als Teil beider Teilnetze, und dieser hat gleichzeitig die Funktion des Buswächters für sämtliche Teilnetze. Somit wird die Bandbreite, die das FlexRay-Bus-System bietet, optimal ausnutzbar. Es ist nicht in einzelnen Teilsystemen jeweils eine gesonderte Uhrensynchronisation erforderlich, denn weil aufgrund der Zuordnung vorgesehen sein kann, dass ein Signal in einem oder mehreren Zeitschlitzen an sämtliche Buszweige weitergeleitet wird, kann über diese Signal eine Uhrensynchronisation erfolgen. Somit sind keinerlei Änderungen am Protokoll notwendig. Es kann auf ein Gateway verzichtet werden. Dadurch ist die Lösung besonders preisgünstig.
-
Die Zuordnung ist bei einer Ausführungsform insbesondere vom Zeitschlitz abhängig und für unterschiedliche Zeitschlitze verschieden, auch wenn das Signal über denselben Anschluss eintrifft. Mit anderen Worten kann die Zuordnung für über zumindest einen Anschluss eintreffende Signale für zwei unterschiedliche zu dem Anschluss definierte Zeitschlitze unterschiedlich sein. Ein Busteilnehmer in dem an genau diesem Anschluss angeschlossenen Buszweig kann also einmal Signale für ein Teilnetz aussenden und ein anderes Mal für das gesamte Netz. Dies lässt sich so ausdrücken, dass für zumindest einen der Anschlüsse gilt, dass ein in einem ersten zu diesem Anschluss definierten Zeitschlitz eintreffendes Signal an einen ersten weiteren Anschluss weitergeleitet wird und ein in einem zweiten zu diesem Anschluss definierten Zeitschlitz eintreffendes Signal nicht an den ersten weiteren Anschluss weitergeleitet wird. Der erste weitere Anschluss kann einfach entfallen. Das letztere Signal kann z. B. statt dessen an einen zweiten weiteren Anschluss weitergeleitet werden, an den das erste Signal nicht weitergeleitet wird.
-
Bei einer bevorzugten Ausführungsform sind die Zeitschlitze global definiert, für jeden Anschluss ist also die gleiche Folge von Zeitschlitzen definiert. Dies erleichtert die Handhabung und Zuordnung.
-
Bevorzugt arbeitet die Datenverarbeitungseinheit so schnell, dass die Signale im selben Zeitschlitz weitergegeben werden können wie sie empfangen wurden. Es ist möglich, bewusst die Signale in einem anderen (insbesondere späteren) Zeitschlitz weiterzugeben als sie eintreffen. Dadurch wird die Flexibilität in der Kommunikation erhöht.
-
Die Zeitschlitze müssen bei dem erfindungsgemäßen Sternkoppler nicht global definiert sein. Es ist auch eine Ausführungsform denkbar, bei dem unterschiedliche Zeitschlitzfolgen zu unterschiedlichen Anschlüssen definiert sind. Bevorzugt ist dann aber die Zykluszeit, die in unterschiedliche Zeitschlitze eingeteilt wird, dieselbe. Das Verwenden unterschiedlicher Zeitschlitze kann hilfreich sein, wenn in verschiedenen Buszweigen unterschiedliche Steuergeräte mit möglicherweise unterschiedlichen Grundeinstellungen verwandt werden sollen. Dann wird eine aufwendige Anpassung vermieden. Eine Zuordnung kann dennoch möglich sein. Beispielsweise kann die Zykluszeit bei einem ersten Anschluss in vier Zeitschlitze eingeteilt und bei einem zweiten Anschluss in sechs Zeitschlitze eingeteilt sein. Dann beginnen der erste Zeitschlitz bei beiden Anschlüssen gleichzeitig und der dritte Zeitschlitz bei dem Anschluss mit den vier Zeitschlitzen sowie der vierte Anschluss bei dem Anschluss mit den sechs Zeitschlitzen gleichzeitig. Es können insbesondere Signale, die in kürzeren Zeitschlitzen empfangen wurden, in den längeren Zeitschlitzen weitergeleitet werden.
-
Der erfindungsgemäße Sternkoppler findet bevorzugt Einsatz in einem Bussystem, wenn an ihn zumindest drei Buszweige (an verschiedenen Anschlüssen) angeschlossen sind. Bei drei Buszweigen kann die Kommunikaton global erfolgen, also ein Signal, das über einen ersten Buszweig eintritt, kann an die zwei weiteren Buszweige weitergesandt werden. Es ist die Bildung einer Untergruppe aus zwei Buszweigen möglich, bei dem die Signale des einen der beiden Buszweige zum zweiten der beiden Buszweige gesandt wird, der dritte Buszweig aber von der Kommunikation ausgeschlossen wird. Bei vier Buszweigen sind sogar zwei Teilnetze definierbar.
-
So kann die Datenverarbeitungseinheit des Sternkopplers dazu ausgelegt sein, ein von einem Buszweig an einem Anschluss eintreffendes Signal nur an einen Teil der weiteren Buszweige weiterzuleiten, zumindest in einem vorbestimmten Zeitschlitz. Überschneidet sich bei Verwendung von vier Buszweigen die Zeitdauer des Empfangs von Signalen, was insbesondere der Fall ist, wenn eine Zeitschlitzfolge global definiert ist und in ein- und demselben Zeitschlitz Signale von zwei unterschiedlichen Buszweigen empfangen werden, so lässt sich ein von einem ersten Buszweig eintreffendes Signal an einen ersten weiteren Buszweig weiterleiten und ein von einem zweiten Buszweig eintreffendes Signal an einen zweiten weiteren Buszweig weiterleiten.
-
Bei dem erfindungsgemäßen Verfahren zum Austauschen von Signalen in einem Bussystem, in dem eine Mehrzahl von Buszweigen über einen Sternkoppler gekoppelt ist, wobei zu jedem Buszweig eine Folge von Zeitschlitzen definiert ist, wird in zumindest einem ersten Buszweig (von einem dort angeschlossenen Steuergerät als Busteilnehmer) in zumindest einem zu diesem ersten Buszweig definierten Zeitschlitz ein Signal ausgesandt, und der Sternkoppler leitet das Signal an zumindest einen in Abhängigkeit von dem ersten Buszweig und dem Zeitschlitz, in den das Signal ausgesandt wurde, festgelegten weiteren Buszweig weiter. Dabei sind in zumindest einem Zeitschlitz von zumindest zwei unterschiedlichen Buszweigen ausgesendete Signale empfangbar, und wenn in dem zumindest einen Zeitschlitz von den zumindest zwei unterschiedlichen Buszweigen ausgesendete Signale empfangen werden, wird das von einem ersten Buszweig der zumindest zwei unterschiedlichen Buszweige ausgesandte Signal an zumindest einen ersten weiteren Buszweig weitergeleitet und das von einem zweiten Buszweig der zumindest zwei unterschiedlichen Buszweige im selben Zeitschlitz gesandte Signal an zumindest einen zweiten weiteren Buszweig weitergeleitet.
-
Wesentlich ist, dass der Sternkoppler bei der Festlegung des weiteren Buszweigs eine Abhängigkeit von dem Buszweig, über den das Signal eintrifft und dem Zeitschlitz, in welchem es eintrifft, hat. Ein solcher Sternkoppler muss die Signale in digitaler Form vorliegen haben und über eine Datenverarbeitungseinheit verfügen, über die die Festlegung des weiteren Buszweiges erfolgt.
-
Es ist insbesondere möglich, dass sich zeitlich überschneidende Signale in zwei Buszweigen ausgesandt werden, von dem Sternkoppler empfangen werden und zu unterschiedlichen weiteren Buszweigen weitergeleitet werden. Bevorzugt geschieht dies bei globaler Definition der Zeitschlitze oder teilglobaler Definition: Bei zumindest einer Teilmenge von Buszweigen ist dieselbe Folge von Zeitschlitzen definiert. In einem ersten dieser Zeitschlitze wird in zumindest zwei Buszweigen der Teilmenge ein Signal ausgesandt, und die beiden Signale werden an unterschiedliche Buszweige (insbesondere der Teilmenge) weitergeleitet.
-
Diese Aufteilung des Bussystems in zwei Teilsysteme geschieht vorzugsweise nur in dem ersten der Zeitschlitze, während in einem zweiten der Zeitschlitze in nur einem Buszweig der Teilmenge ein Signal ausgesandt wird und an alle weiteren Buszweige (insbesondere der Teilmenge), bevorzugt aber überhaupt an alle Buszweige, weitergeleitet wird. Während des zweiten der Zeitschlitze ist dann das gesamte Bussystem als einheitliches Bussystem anzusehen, und es kann insbesondere eine Uhrensynchronisation stattfinden.
-
Nachfolgend wird eine bevorzugte Ausführungsform der Erfindung unter Bezug auf die Zeichnung beschrieben, wobei
-
1 schematisch einen erfindungsgemäßen Sternkoppler veranschaulicht und
-
2 eine Zuordnung von gesendeten und empfangenen Nachrichten veranschaulicht, die durch den erfindungsgemäßen Sternkoppler möglich ist.
-
Ein im Ganzen mit 10 bezeichneter Sternkoppler weist eine Mehrzahl von Anschlüssen 11 auf. An die Anschlüsse sind insbesondere FlexRay-Busse FR1, FR2, FR3, ..., FRn anschließbar. Aus Sicht des gesamten Bussystems handelt es sich hierbei um einzelne Buszweige. Jeder Anschluss 11 ist mit einem Sender-Empfänger 12 (der auch als Bustreiber bezeichenbar ist) gekoppelt. Der Sender-Empfänger wandelt über den Anschluss 11 eintreffende analoge Signale in digitale Signale um und sendet sie an eine Datenverarbeitungseinrichtung 13 weiter, der Sender-Empfänger 12 empfängt auch digitale Daten von der Datenverarbeitungseinrichtung 13 und wandelt sie in analoge Signale zum Anschluss 11 hin um.
-
Die digitale Datenverarbeitungseinrichtung 13 kann als FPGA („Field Programmable Gate Array”, kundenprogrammierbares Gate-Array), oder auch als Mikrocontroller oder digitaler Signalprozessor ausgelegt sein. Funktionelle Teileinheiten der Datenverarbeitungseinheit 13 sind gezeigt und mit 14, 16 und 18 bezeichnet. Eine Zuordnungseinheit 14 empfängt Signale von den Anschlüssen 11 und damit den zugehörigen Buszweigen FR1 bis FRn und sendet umgekehrt auch Signale an diese. Die Zuordnungseinheit ist mit einem Zeitgeber („Clock”) 16 gekoppelt. Die Datenverarbeitungseinheit 13 umfasst ferner eine Buswächtereinheit 18. Die Buswächtereinheit 18 kann aufgrund des Zeitsignals beurteilen, ob von den Anschlüssen 11 eintreffende Signale zulässig sind oder nicht. In dem gesamten Bussystem ist nämlich in dem Buszweig FR1, FR2, FR3 bis FRn zugeteilt, in welchem Zeitschlitz Signale gesandt werden dürfen. Aus Sicht des Sternkopplers 10 ist es unerheblich, welcher Busteilnehmer in dem jeweiligen Buszweig FR1 bis FRn sendet. Alle zulässig ausgesandten und von dem Sternkoppler 10 empfangenen Signale werden von der Zuteilungseinheit weitergeleitet, und zwar nach einer vorbestimmten Zuordnung. Die Zuteilungseinheit 14 ordnet die Signale in Abhängigkeit von dem Zeitschlitz, in dem sie eintreffen, zu. Die Signale können an sämtliche weiteren Anschlüsse der Anschlüsse 11 weitergeleitet werden, über die sie nicht empfangen wurden. Die Signale können auch nur an einen Teil der Anschlüsse 11 weitergeleitet werden. Es ist insbesondere möglich, dass in ein- und demselben Zeitschlitz von zweien der Anschlüsse 11 Signale empfangen werden, wobei diese zu unterschiedlichen der weiteren Anschlüsse weitergeleitet werden.
-
Dies ist in 2 erläutert. 2 zeigt für vier FlexRay-Zweige FR1 bis FR4 eine zeitliche Abfolge mit dem Zeitstrahl als Abszisse, welche Nachrichten (Signale) empfangen und ausgesendet werden.
-
In einem ersten Zeitschlitz 20 wird im Buszweig FR1 die Nachricht a gesendet. Der Sternkoppler 10 leitet diese Nachricht an sämtliche weiteren Buszweige weiter, sie wird also von den Buszweigen FR2, FR3 und FR4 empfangen. Im Zeitschlitz 20 arbeitet der Sternkoppler 10 wie ein herkömmlicher aktiver Sternkoppler.
-
Im Zeitschlitz 22 nun wird in gleich zwei Buszweigen, nämlich FR1 und FR2 eine Nachricht ausgesandt, und zwar in FR1 die Nachricht b und in FR2 die Nachricht c. Der Sternkoppler 10 leitet die Nachricht b aus FR1 an FR3 weiter, wo sie empfangen wird. Die Nachricht c aus FR2 wird von dem Sternkoppler 10 an FR4 weitergeleitet, wo sie empfangen wird. Der Sternkoppler 10 teilt somit das Bussystem für die Dauer von Zeitschlitz 22 in zwei Teilsysteme auf, nämlich in das aus FR1 und FR3 bestehende Teilsystem und das aus FR2 und FR4 bestehende Teilsystem. Diese Aufteilung gilt auch während des Zeitschlitzes 24. Hier wird in FR1 die Nachricht d ausgesandt und an FR3 weitergeleitet. In FR4 wird die Nachricht e und an FR2 weitergeleitet.
-
Im Zeitschlitz 26 werden ebenfalls zwei Teilsysteme definiert, aber andere Teilsysteme als in den Zeitschlitzen 22 und 24: In FR4 wird die Nachricht f ausgesandt, und sie wird von dem Sternkoppler 10 an FR1 weitergeleitet und dort empfangen. In FR3 wird die Nachricht g ausgesandt, und sie wird von dem Sternkoppler 10 an FR2 weitergeleitet und empfangen. Für die Dauer des Zeitschlitzes 26 gibt es somit virtuell ein Teilsystem aus FR1 und FR4 und ein Teilsystem aus FR2 und FR3.
-
Im Zeitsystem 28 arbeitet der Sternkoppler 10 dann wieder wie ein herkömmlicher Sternkoppler: Nur in einem Buszweig, vorliegend in FR4, wird eine Nachricht ausgesandt, nämlich die Nachricht h, und sie wird an sämtliche andere Buszweige FR1, FR2, FR3 weitergeleitet und dort empfangen.
-
Der Sternkoppler 10 macht in besonders effizienter Weise von der zur Verfügung stehenden Bandbreite eines FlexRay-Systems Gebrauch. Dieses System wird in den Zeitschlitzen 20 und 28 als ein ganzes System behandelt und zerfällt in den Zeitschlitzen 22 und 24 sowie 26 in Teilsysteme, allerdings lediglich virtuell. Es sind keine Gateways erforderlich. Es ist nicht notwendig, dass in einzelnen Teilsystemen jeweils eine eigene Uhrensynchronisation stattfindet, denn dies kann in den Zeitschlitzen 20 und 28 erfolgen. Somit sind keinerlei Änderungen am Protokoll notwendig. Im Sternkoppler 10 ist gleichzeitig die Funktion eines Buswächters 18 bereitgestellt.