Stemkoppler für ein Bussystem, Bussystem mit einem solchen Stemkoppler sowie Verfahren zum Austauschen von Signalen in einem Bussystem
BESCHREIBUNG:
Die Erfindung betrifft einen Stemkoppler für ein Bussystem sowie ein Bussystem, in dem ein solcher Stemkoppler eingesetzt ist. Sie betrifft auch ein Verfahren zum Austauschen von Signalen in einem Bussystem, in dem eine Mehrzahl von Buszweigen über einen Stemkoppler gekoppelt ist.
Ein Stemkoppler ist das zentrale Element einer Sternschaltung. An einen solchen Stemkoppler 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, bevor- zugt 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 Stemkoppler 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 Kommunikati- onssystem mit Stemtopologie 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 Steuerge- rä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 Stemkoppler integriert werden. Bei zeitgesteuerten Systemen besteht ein solcher Stemkoppler üblicherweise aus kaskadierten Transcei- vern für jeden Zweig. Aus Sicht des Sternkopplers ist an eine Mehrzahl von Anschlüssen, an die Buszweige anschließbar sind, jeweils ein solcher Tran- ceiver, 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 Sig- nale in digitale Signale gewandelt sind und noch nicht in analoge Signale zurückgewandelt sind, kann die Buswächterfunktion eingesetzt werden. Typischerweise umfasst der Stemkoppler 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 unterschliedli- chen 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.
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 Merk- malen gemäß Patentanspruch 1 , durch ein Bussystem gemäß Patentanspruch 8 mit einem solchen Stemkoppler und ein Verfahren zum Austauschen von Signalen in einem Bussystem gemäß Patentanspruch 10 gelöst.
Die Aufgabe wird somit gelöst durch einen Stemkoppler 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 FoI- ge 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 An- Schluss definierten Zeitschlitz 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 die- ser 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 Stern- koppler 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 ange- schlossene 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 weiter-
geleitet 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 weite- ren 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 weiterge- leitet 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.
Es ist möglich, 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 dem zweiten Anschluss im selben Zeitschlitz ein- treffende Signal an zumindest einem zweiten weiteren Anschluss weiterzuleiten. Dies ist genau die Situation, dass das Bussystem in zwei Teilsysteme aufgeteilt wird, zumindest für die Dauer des betreffenden Zeitschlitzes.
Bevorzugt arbeitet die Datenverarbeitungseinheit so schnell, dass die Signa- Ie 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 An- Schlüssen) angeschlossen sind. Bei drei Buszweigen kann die Kommunika- ton 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 ge- sandt 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 Stern- koppler gekoppelt ist, wobei zu jedem Buszweig eine Folge von Zeitschlitzen definiert ist, wird in zumindest einem ersten Buszweig (von einem dort ange- schlossenen 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.
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 Datenver- arbeitungseinheit 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 Zeit- schlitze 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 stattfin- den.
Der Sternkoppler kann Nachrichten dekodieren, um entscheiden zu können, ob er sie für die Uhrensynchronisation benutzt oder nicht. Dazu muss er auch deren zeitliches Eintreffen beachten.
Der Sternkoppler ist vorzugsweise in analogen und digitalen Halbleiterprozessen gefertigt. Im bevorzugten Fall in einem gemischten Prozess in einem Die oder mit zwei Dies in einem Gehäuse
Auf dem Bussytem sind vorzugsweise zumindest drei Zustände definiert: IDLE, 0 und 1. Dazu gibt es zwei Leitungen, Bus-Plus (BP) und Bus-Minus (BM). Die Spannungen ergeben sich beispielsweise wie folgt:
BP = BM = 2,5V = IDLE (wenn niemand sendet)
BP - (150 bis zu 1000 mV) = BM + (150 bis zu 1000 mV) = "1" BP + (150 bis zu 1000 mV) = BM - (150 bis zu 1000 mV) = 11O"
Der Sternkoppler verfügt insbesondere über einen Clock-Eingang (Quarz), da die Digitallogik einen Takt benötigt.
Der Sternkoppler betreibt ein vorgegebenes Routing nach einer vorgegebenen Switch-Matrix. Er kann jedes Mal beim Anlegen der Spannung konfiguriert werden. Dazu ist die Switch-Matrix dann in einem internen RAM abge- legt. Oder die Konfiguration liegt in einem internen Flash-Speicher. Diese Konfiguration sollte änderbar sein, wenn z.B. im Rahmen der Fahrzeugpflege neue Steuergeräte hinzukommen.
Nachfolgend wird eine bevorzugte Ausführungsform der Erfindung unter Be- zug auf die Zeichnung beschrieben, wobei
Fig. 1 schematisch einen erfindungsgemäßen Sternkoppler veranschaulicht und
Fig. 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 Pro- grammable 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 um- fasst ferner eine Buswächtereinheit 18. Die Buswächtereinheit 18 kann auf- grund 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 wer- den, ü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 Fig. 2 erläutert. Fig. 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 FR 1 die Nachricht b und in FR2 die Nachricht c. Der Sternkoppler 10 leitet die Nachricht b aus FR1 an FR3 wei- ter, 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äh- rend 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, aller- dings 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.