-
TECHNISCHES GEBIET
-
Die vorliegende Beschreibung betrifft das Gebiet der Datenbusse, insbesondere Busknoten und Bus-Treiberschaltungen.
-
HINTERGRUND
-
Datenbusse werden zur digitalen Kommunikation zwischen zwei oder mehreren elektronischen Geräten genutzt. Ein an einen Bus angeschlossenes Gerät wird häufig als Busknoten bezeichnet. Im Allgemeinen bezeichnet der Ausdruck „Bus“ üblicherweise ein Kommunikationssystem, das sowohl die Spezifikation der Bus-Hardware, als auch ein Kommunikationsprotokoll umfasst, gemäß dem die Busknoten kommunizieren. Viele Datenbusse sind standardisiert, wobei unterschiedliche Busstandards in unterschiedlichen Gebieten der Industrie vorherrschen. Beispielsweise wird in der Automobilindustrie häufig CAN (Controller Area Network), LIN (Local Interconnect Network) und FlexRay verwendet. Im Bereich der Consumer-Elektronik ist USB (Universell Serial Bus) weit verbreitet. Exemplarisch zeigt die Publikation
JP 2005-236915 A eine Businterfaceschaltung, welche ein Sendesignal empfängt und dieses in ein korrespondierendes differenzielles Bussignal (für Low Voltage Differential Signalling, LVDS) umsetzt, indem nach Maßgabe des Sendesignals eine Ausgangsstufe mit mehreren Transistoren angesteuert wird. Am Ausgang der Ausgangsstufe ist eine Impedanzkomponente angeordnet, die abhängig von vorgegebenen Parametern (Verzögerungszeiten) eine Impedanz am differenziellen Ausgang der Ausgangsstufe variiert, wodurch das Schaltverhalten der Ausgangsstufe bzw. die Eigenschaften des differenziellen Bussignals beeinflusst wird.
-
Ein Busknoten (d.h. ein elektronisches Gerät, welches mit dem Bus verbunden ist) beinhaltet üblicherweise ein Bus-Interface (z.B. eine elektronische Schaltung), das die tatsächliche Übertragung von Daten zum Bus, sowie den Empfang von Daten vom Bus gemäß dem jeweiligen Busstandard bewerkstelligt. Ein Bus-Interface kann eine Bus-Treiberschaltung beinhalten, die zur Implementierung der Datenübertragung auf physikalischer Ebene (z.B. Schicht 1 des bekannten OSI-Modells) verwendet wird. Dabei muss der Bustreiber definierte Zustände an den physikalischen Verbindungen zu der Busleitung (oder den Busleitungen) bereitstellen. Beispielsweise erzeugt der Bustreiber einen definierten ersten Spannungspegel (z.B. 0 Volt), um eine binäre „0“ über den Bus zu übertragen und einen definierten zweiten Spannungspegel (z.B. 12 Volt), um eine binäre „1“ über den Bus zu übertragen.
-
Bei vielen standardisierten Bussen kann der Bustreiber zumindest einen „hochohmigen“ Zustand annehmen, um Probleme zu vermeiden, wenn unterschiedliche Busknoten widersprüchliche Spannungspegel auf den Busleitungen erzeugen. Manchmal werden Tri-State-Bustreiber verwendet. Jedoch verwenden viele standardisierte Busse nur zwei Zustände (um eine binäre „0“ und eine „1“ darzustellen), wobei in einem Zustand (z.B. die binäre „1“) der Spannungspegel (z.B. 12 Volt) an die Busleitung (oder die Busleitungen) über einen Widerstand angelegt wird. Dieser Zustand wird als „rezessiv“ oder „idle“ bezeichnet. Ein zweiter Zustand (z.B. die binäre „0“) wird „dominant“ oder „aktiv“ genannt, weil in diesem Zustand der Spannungspegel (z.B. 0 Volt) an die Busleitung über einen niederohmigen Strompfad angelegt wird, zum Beispiel mittels eines geschlossen Halbleiterschalter. In einem Fall, in dem ein Busknoten einen „dominanten“ („aktiven“) Zustand dadurch erzeugt, dass auf der Busleitung ein Spannungspegel von 0 Volt erzwungen wird, werden alle anderen Busknoten, welche gleichzeitig einen „rezessiven“ („idle“) Zustand erzeugen übersteuert (overridden). Ihr Ausgang wird durch den erwähnten Widerstand geschützt. Im Folgenden werden nur mehr die Begriffen „rezessiv“ und „dominant“ verwendet, um die Zustände am Ausgang eines Bustreibers zu beschreiben.
-
In allen Bussystemen müssen die Busknoten (d.h. deren Bus-Treiberschaltungen) einen rezessiven Zustand und einen dominanten Zustand erzeugen können, um eine kollisionsfreie Kommunikation zu ermöglichen. Beispielsweise repräsentiert in LIN- oder CAN-Systemen der rezessive Zustand eine binäre „1“, wobei der dominante Zustand eine binäre „0“ repräsentiert. In FlexRay- oder USB-Systemen wird der rezessive Zustand üblicherweise als „idle“ bezeichnet und repräsentiert eine Periode ohne Kommunikation. Obwohl dieser rezessive Idle-Zustand nicht einem Datenbit zugeordnet ist (in FlexRay- und USB-Systemen sind sowohl „1“ als auch „0“ dominante Zustände) sind die Übergänge von einem dominanten in den rezessiven Zustand in dem jeweiligen Bus-Standard spezifiziert. Zum Beispiel müssen die Übergänge den im Standard spezifizierten Timing-Anforderungen entsprechen.
-
Bus-Treiberschaltungen beinhalten üblicherweise einen oder mehrere Halbleiterschalter, welche dazu ausgebildet sind, die Busleitung (oder Busleitungen) mit einem Versorgungspotential oder Massepotential (entweder über einen Widerstand oder niederohmig) zu verbinden und zu trennen. Die Busleitung (Busleitungen) kann (können) jedoch auch einen signifikanten Widerstand und, insbesondere, eine Kapazität aufweisen, welche einen Einfluss auf die Schaltzeit zwischen einem dominanten und einem rezessiven Zustand hat. Folglich hängt die Schaltzeit nicht nur von den Charakteristika der Treiberschaltung ab, sondern auch von den Eigenschaften der angeschlossenen Busleitung. Langsame Übergänge in einen rezessiven Zustand können problematisch, wenn hohe Datenraten erwünscht sind. Des Weiteren können an den einzelnen Busknoten Reflexionen auftreten, die mit dem Ausgangssignal an einem anderen Busknoten interferieren. Auch unerwünschte Oszillationen können bei einem Übergang von einem dominanten in einen rezessiven Zustand auftreten.
-
ZUSAMMENFASSUNG
-
Es wird ein Verfahren beschrieben, das gemäß einem Ausführungsbeispiel folgendes umfasst: das Empfangen eines Sendesignals und das Konvertieren des Sendesignals in ein korrespondierendes Bussignal, indem eine Ausgangsstufe eines Transmitters mit mehreren Schaltern angesteuert wird. Dabei erfolgt das Ansteuern der Ausgangsstufe abhängig von einem Parametersatz, der das Schaltverhalten der Schalter der Ausgangsstufe beeinflusst. Das Verfahren umfasst weiter: das Konvertieren des Bussignals in ein korrespondierendes Empfangssignal, wobei eine Flanke in dem Empfangssignal gegenüber einer korrespondierenden Flanke in dem Sendesignal um eine Schleifenverzögerung verzögert ist, das Bestimmen eines Messwerts für die Schleifenverzögerung; und das Verändern des Parametersatzes, um die Schleifenverzögerung anzupassen.
-
Des Weiteren wird ein Bustreiber beschrieben. Gemäß einem Ausführungsbeispiel weist der Bustreiber folgendes auf: mindestens einen ersten Schaltungsknoten zum Anschluss an mindestens eine Busleitung und einen Transmitter mit einer Ausgangsstufe mit mehreren Schaltern. Der Transmitter ist dazu ausgebildet, ein Sendesignal zu empfangen, dieses durch Ansteuern der Ausgangsstufe in ein korrespondierendes Bussignal zu konvertieren, und das Bussignal an dem mindestens einen ersten Schaltungsknoten auszugeben. Das Ansteuern der Ausgangsstufe erfolgt abhängig von einem Parametersatz, der das Schaltverhalten der Schalter der Ausgangsstufe beeinflusst. Der Bustreiber weist weiter einen Empfänger auf, der dazu ausgebildet ist, das Bussignal in ein Empfangssignal zu konvertieren, wobei eine Flanke in dem Empfangssignal gegenüber einer korrespondierenden Flanke in dem Sendesignal um eine Schleifenverzögerung verzögert ist. Mit dem Transmitter und dem Empfänger ist eine Steuerschaltung gekoppelt, die dazu ausgebildet ist, einen Messwert für die Schleifenverzögerung zu bestimmen und den Parametersatz zu verändern, um die Schleifenverzögerung anzupassen.
-
Figurenliste
-
Nachfolgend werden Ausführungsbeispiele anhand von Abbildungen näher erläutert. Die Darstellungen sind nicht zwangsläufig maßstabsgetreu und die Ausführungsbeispiele sind nicht nur auf die dargestellten Aspekte beschränkt. Vielmehr wird Wert darauf gelegt, die den Ausführungsbeispielen zugrunde liegenden Prinzipien darzustellen. In den Abbildungen zeigt:
- 1 zeigt vereinfachte Beispiele von Bus-Treiberschaltungen für ein LIN-Bussystem (Diagramm a), für ein CAN-Bussystem (Diagramm b) und für ein FlexRay-Bussystem (Diagramm c)
- 2 zeigt für die in 1 dargestellten Beispiele die jeweiligen Signalverläufe von Sendesignal und korrespondierender Busspannung .
- 3 zeigt ein Beispiel einer verbesserten Bus-Treiberschaltung (Diagramm (a)) und zugehörige Signalverläufe (Diagramm (b)) für einen LIN-Bus.
- 4 zeigt ein Beispiel einer verbesserten Bus-Treiberschaltung (Diagramm (a)) und zugehörige Signalverläufe (Diagramm (b)) für einen CAN-Bus.
- 5 zeigt ein Beispiel einer Implementierung eines elektronischen Schalters durch mehrere parallel geschaltete Transistorzellen (Diagramm (a)) und die zugehörigen Signalverläufe (Diagramm (b)) zur Ansteuerung der einzelnen Transistorzellen.
- 6 zeigt ein Beispiel eines Bussystems mit mehreren Busknoten.
- 7 zeigt ein Beispiel einer einfachen Implementierung einer Bustreiberschaltung mit Transmitter und Empfänger.
- 8 beinhaltet mehrere Timing-Diagramme zur Erläuterung der Funktion der Bustreiberschaltung aus 7.
- 9 beinhaltet Timing-Diagramme zur Illustration zweier Effekte (Oszillationen und Reflexionen) welche die Schleifenverzögerung (Loop-Delay) eines Bustreibers negativ beeinflussen können.
- 10 ist ein Diagramm zur Erläuterung eines Übergangs von einem dominanten in einen rezessiven Zustand bei einer Treiberschaltung gemäß 4.
- 11 zeigt ein Ausführungsbeispiel eines verbesserten Bustreibers.
- 12 ist ein Flussdiagram zur Darstellung eines Beispiels eines Verfahrens für einen Bustreiber.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt unterschiedliche Beispiele von Bus-Treiberschaltungen, welche mit den zugehörigen Busleitungen gekoppelt sind. In 1 zeigt Diagramm (a) einen LIN-Bustreiber, Diagramm (b) einen CAN-Bustreiber und Diagramm (c) einen FlexRay-Bustreiber. Der LIN-Bustreiber gemäß Diagramm (a) der 1 umfasst im Wesentlichen einen Transistor T1 und einen Widerstand Ro (Ausgangswiderstand). Der Laststrompfad (z.B. der Drain-Source-Pfad im Falle eines MOSFETs) des Transistors T1 und der Widerstand RO sind in Reihe geschaltet. Der Laststrompfad des Transistors T1 ist zwischen einen Schaltungsknoten GND, der auf einem Referenzpotential (z.B. Massepotential) liegt, und einen Ausgangsknoten LIN, welcher mit der Busleitung verbunden ist, geschaltet. Der Widerstand RO arbeitet als Pull-up-Widerstand und ist zwischen den Ausgangsknoten LIN und einen Versorgungsknoten SUP geschaltet, an welchem eine Versorgungsspannung VDD anliegt. Eine Diode (nicht dargestellt) oder ein anderer Schaltkreis kann in Reihe zu dem Widerstand RO zwischen den Ausgangsknoten LIN und den Versorgungsknoten SUP geschaltet sein. Die Busleitung kann eine (parasitäre) Kapazität aufweisen, welche durch den in Diagramm (a) der 1 dargestellten Kondensator CBUS repräsentiert wird. Die Steuerelektrode (z.B. die Gate-Elektrode im Falle eines MOSFETs) wird mit Hilfe einer Gate-Treiberschaltung X1 angesteuert, welche dazu ausgebildet ist, ein binäres (ein/aus) Steuersignal in ein korrespondierendes, für die Ansteuerung des Transistors geeignetes Gate-Signal zu konvertieren, um den Transistor ein- und auszuschalten.
-
Wie in Diagramm (a) der 1 dargestellt ist der an der Busleitung anliegende Spannungspegel VBUS (bezogen auf das Referenzpotential) entweder ungefähr 0 Volt (d.h. das Referenzpotential, wenn man den Spannungsabfall über dem Transistor T1 bei eingeschaltetem Transistor vernachlässigt) oder gleich der Versorgungsspannung VDD (z.B. 12 Volt). Während der Transistor T1 eingeschaltet ist, zieht er die Busspannung VBUS aktiv auf Massepotential (0 Volt) durch Bereitstellen eines niederohmigen Strompfads zwischen dem Ausgangsknoten LIN und dem Referenzpotential (Massepotential GND). Folglich ist eine Busspannung VBUS von ungefähr 0 Volt ein dominanter Zustand, der einem „0“-Bit zugeordnet ist. Der gegenwärtige LIN-Standard fordert einen Bus-Spannungspegel von weniger als 20% der Versorgungsspannung, um ein „0“-Bit zu signalisieren und eine Busspannung von höher als 80% der Versorgungsspannung VDD, um ein „1“-Bit zu signalisieren. Während der Transistor T1 ausgeschaltet ist, wird die Busspannung VBUS durch den Widerstand RO auf die Versorgungsspannung VDD gezogen. Dieser Zustand, in dem der Bustreiber (genau genommen die Ausgangsstufe des Bustreibers) eine hohe AusgangsImpedanz aufweist, ist ein rezessiver Zustand. Der Ausgangsspannungspegel des Bustreibers kann durch andere Busknoten übersteuert (overridden) werden.
-
Das Diagramm (a) der 2 umfasst Zeitdiagramme für das binäre Steuersignal STX und die resultierende Busspannung VBUS für das Beispiel aus Diagramm (a) der 1. In dem dargestellten Beispiel wechselt zum Zeitpunkt t0 das Steuersignal von einem High-Pegel (binäre „1“) auf einen Low-Pegel (binäre „0“). Der Gate-Treiber erzeugt ein Gate-Signal, um den Transistor T1 einzuschalten, und folglich fällt die Busspannung VBUS schnell auf ungefähr 0 Volt (das Referenzpotential). Die Abfallzeit (fall time) der Busspannung wird im Wesentlichen bestimmt durch die Schaltzeit des Transistors T1 . Zum Zeitpunkt t1 kehrt das Steuersignal STX zurück auf den High-Pegel, und der Gate-Treiber X1 erzeugt ein Gate-Signal, das den Transistor T1 ausschaltet. In der Folge steigt die Busspannung VBUS auf ungefähr VDD (die Versorgungsspannung) an. Die Anstiegszeit (rise time) wird hauptsächlich bestimmt durch den Widerstand des Widerstands RO und die Kapazität CBUS , welche über den Widerstand RO geladen werden muss. Da die Busleitung auch eine parasitäre Induktivität aufweisen kann, kann - abhängig von der tatsächlichen Implementierung - die Bus-Kapazität CBUS zu einem (parasitären) Schwingkreis (resonance circuit) beitragen und transiente Oszillationen (ringing) können auftreten (siehe gestrichelte Linie in Diagramm (a) der 2). Die Übergangszeit vom dominanten (Low-Pegel) in den rezessiven (High-Pegel) Zustand wird hauptsächlich bestimmt durch externe Parameter und unabhängig von der Schaltzeit des Transistors T1 .
-
Diagramm (b) der 1 zeigt einen Der CAN-Bustreiber. Dieser arbeitet ähnlich wie der LIN-Bustreiber aus Diagramm (a) der 1, jedoch wird in CAN-Systemen die Busspannung durch ein differentielles Signal dargestellt. Demnach werden zwei Busleitungen verwendet, welche mit den Ausgangsknoten CANH und CANL des CAN-Bustreibers verbunden sind. Eine Masseleitung wird für die Datenübertragung nicht unbedingt benötigt. Die Bus-Treiberschaltung umfasst im Wesentlichen zwei Transistoren T1 und T2 , sowie einen Widerstand RO (Ausgangswiderstand). Der Widerstand RO ist zwischen die Ausgangsknoten CANL und CANH geschaltet. Der Laststrompfad des Transistors T1 ist zwischen den Masseknoten GND (Referenzpotential) und den Ausgangsknoten CANL geschaltet, wohingegen der Laststrompfad des Transistors T2 zwischen den Ausgangsknoten CANH und den Versorgungsknoten SUP geschaltet ist, an dem die Versorgungsspannung VDD anliegt. Eine Diode (nicht dargestellt) oder andere Schaltkreise können in Serie zu dem Widerstand zwischen den Ausgangsknoten CANH und den Versorgungsknoten SUP geschaltet sein. Die Busleitung hat eine (parasitäre) Kapazität, die in Diagramm (b) der 1 durch den Kondensator CBUS repräsentiert wird.
-
Die Steuerelektroden (z.B. Gate-Elektroden im Falle von MOSFETs) werden mit Hilfe der Gate-Steuerschaltungen X1 und X2 angesteuert. Diese sind dazu ausgebildet, ein binäres Steuersignal in für die Ansteuerung der Transistoren T1 und T2 geeignete Gate-Signale zu konvertieren, um die Transistoren T1 bzw. T2 ein- und auszuschalten. Alternativ kann abhängig von der jeweiligen Implementierung eine gemeinsame Gate-Treiberschaltung für beide Transistoren T1 und T2 verwendet werden. Die zwischen den Busleitungen anliegende (differentielle) Spannung VBUS beträgt entweder ungefähr 0 Volt, wenn beide Transistoren T1 und T2 ausgeschaltet sind, oder ist gleich der Versorgungsspannung VDD (z.B. 5 Volt oder 12 Volt), wenn beide Transistoren T1 und T2 eingeschaltet sind. Beide Transistoren T1 T2 können im Wesentlichen synchron schalten.
-
Wenn der Transistor T2 eingeschaltet ist, zieht er das Potential des Ausgangsknotens CANH aktiv auf das Versorgungspotential VDD , indem ein niederohmiger Strompfad zwischen dem Ausgangsknoten CANH und dem Knoten, an dem die Versorgungsspannung VDD anliegt, bereitgestellt wird. Des Weiteren zieht der Transistor T1 wenn er eingeschaltet ist, das Potential des Ausgangsknotens CANL aktiv auf das Referenzpotential (0 Volt), indem ein niederohmiger Strompfad zwischen dem Ausgangsknoten CANL und dem Masseknoten GND bereitgestellt wird. Im Ergebnis ist die Busspannung VBUS - theoretisch - ungefähr gleich der Versorgungsspannung VDD . In der Praxis ist die Busspannung VBUS aufgrund von Spannungsabfällen an Verpolschutzdioden (nicht dargestellt) und den Transistoren der H-Brücke oft niedriger als die Versorgungsspannung VDD und liegt ungefähr zwischen zwei und fünf Volt. Dieser Zustand ist ein dominanter Zustand und repräsentiert eine binäre (logische) „0“. Wenn die Transistoren T1 und T2 ausgeschaltet sind, sind die Ausgangsknoten CANL und CANH gegen den Masseknoten GND und den Versorgungsknoten isoliert, und die Kapazität CBUS entlädt über dem Widerstand Ro. Im eingeschwungenen Zustand ist die Kapazität CBUS entladen, was eine Busspannung VBUS von im Wesentlichen 0 Volt zur Folge hat. Dieser Zustand ist ein rezessiver Zustand und repräsentiert eine binäre (logische) „1“.
-
In 2 beinhaltet Diagramm (b) Zeitdiagramme für das binäre Steuersignal STX und die resultierende Busspannung VBUS für einen CAN-Bus. Zum Zeitpunkt t0 wechselt das Steuersignal von einem High-Pegel (binäre „1“) auf einen Low-Pegel (binäre „0“). Der Gate-Treiber erzeugt Gate-Signale, um die Transistoren T1 und T2 einzuschalten, und folglich steigt die Busspannung VBUS vergleichsweise rasch auf (theoretisch) die Versorgungsspannung VDD . Die Anstiegszeit der Busspannung VBUS wird im Wesentlichen durch die Schaltgeschwindigkeit der Transistoren T1 und T2 bestimmt. Zum Zeitpunkt t1 wechselt das Steuersignal STX zurück auf den High-Pegel und der Gate-Treiber erzeugt Gate-Signale, um die Transistoren T1 und T2 auszuschalten. Folglich fällt die Busspannung VBUS auf ungefähr 0 Volt (d.h. das Referenz-/Massepotential). Die Abfallzeit wird im Wesentlichen durch den Widerstand des Widerstands RO und die Kapazität CBUS bestimmt, welche über den Widerstand RO entladen werden muss. Abhängig von der tatsächlichen Implementierung kann die Bus-Kapazität zu einem (parasitären) Schwingkreis beitragen (z.B. zusammen mit Leitungsinduktivitäten), und transiente Oszillationen (ringing) können auftreten (siehe gestrichelte Linie in Diagramm (b) der 2). Die Übergangszeit vom dominanten (Low-Pegel des Steuersignals STX ) in den rezessiven (High-Pegel des Steuersignals STX ) Zustand wird also im Wesentlichen durch externe Parameter bestimmt und hängt nicht nur von den Schaltzeiten der Transistoren T0 und T1 ab.
-
Im Diagramm (c) der 1 ist ein FlexRay-Bustreiber dargestellt, der ähnlich arbeitet wie der CAN-Bustreiber aus Diagramm (b) der 1. Die Busspannung VBUS ist auch in FlexRay-Systemen ein differentielles Signal. Anders als der CAN-Bustreiber aus Diagramm (b) der 1 ist der FlexRay-Bustreiber als Transistor-H-Brücke implementiert, die von den vier Transistoren T1 T2 , T3 und T4 gebildet wird. Die Transistoren T1 und T2 bilden eine erste Transistorhalbbrücke, wobei der gemeinsame Schaltungsknoten der Transistoren T1 und T2 als Ausgangsknoten BP bezeichnet wird. Die Transistoren T3 und T4 bilden eine zweite Transistorhalbbrücke, wobei der gemeinsame Schaltungsknoten der Transistoren T1 und T2 als Ausgangsknoten BM bezeichnet wird. Beide Halbbrücken sind zwischen den Versorgungsknoten, welcher mit einer Versorgungsspannung VDD versorgt wird, und einen Masseknoten GND geschaltet. Die Transistoren T2 und T4 sind High-Side-Schalter und die Transistoren T1 und T3 sind Low-Side-Schalter, und die beiden Ausgangsknoten BP und BM sind über einen Ausgangswiderstand Ro verbunden. Der Bustreiber ist in einem rezessiven (Idle-) Zustand, wenn alle Transistoren T1 bis T4 ausgeschaltet sind. In einem ersten dominanten (aktiven) Zustand sind der Low-Side-Transistor T1 und der High-Side-Transistor T4 eingeschaltet, während die anderen beiden Transistoren ausgeschaltet sind, sodass im Ergebnis die Busspannung VBUS positiv und (theoretisch) gleich der Versorgungsspannung +VDD ist. In einem zweiten dominanten (aktiven) Zustand sind der Low-Side-Transistor T3 und der High-Side-Transistor T2 eingeschaltet, während die anderen beiden Transistoren ausgeschaltet sind, sodass im Ergebnis ist die Busspannung VBUS negativ und (theoretisch) gleich der inversen Versorgungsspannung -VDD ist Der erste dominante Zustand repräsentiert eine binäre „1“, wohingegen der zweite dominante Zustand eine binäre „0“ repräsentiert. In der Praxis ist der Betrag der Busspannung VBUS aufgrund von Spannungsabfällen an Verpolschutzdioden (nicht dargestellt) und den Transistoren der H-Brücke niedriger als die Versorgungsspannung VDD ; bei einer Versorgungsspannung von 5V kann die Busspannung VBUS in den dominanten Zuständen bei ungefähr ±1,2V liegen.
-
Mit den Ausgangsknoten BP und BM sind zwei Busleitungen verbunden. Diese weisen eine (parasitäre) Kapazität, welche durch den Kondensator CBUS (ähnlich wie in Diagramm (b) der 1, jedoch in Diagramm (c) nicht dargestellt) repräsentiert wird. Im vorliegenden Beispiel sind den vier Transistoren T1 bis T4 vier Gate-Treiberschaltungen X1 bis X4 zugeordnet, wobei jede Gate-Treiberschaltung das Steuersignal STX (oder eine invertierte Version davon) empfängt. Die Eingänge der Gate-Treiberschaltungen X1 bis X4 können ausgetastet werden, z.B. durch Verwendung eines Enable-Signals SEN wie in Diagramm (c) der 2. 2 illustriert in Diagramm (c) Zeitdiagramme des Steuersignals STX und des Enable-Signals SEN . Während das Enable-Signal SEN auf einem High-Pegel ist, sind alle Transistoren T1 bis T4 ausgeschaltet, und die Busspannung über dem Ausgangswiderstand RO beträgt ungefähr null Volt. Folglich ist der Bustreiber in einem rezessiven (Idle-) Zustand. Wenn das Enable-Signal SEN auf einen Low-Pegel wechselt, dann wechselt der Bustreiber in einen dominanten (aktiven) Zustand. Abhängig von dem Wert des Steuersignals STX werden entweder die Transistoren T2 und T3 eingeschaltet (während T1 und T4 aus sind) oder die Transistoren T1 und T4 sind eingeschaltet (während T2 und T3 aus sind).
-
Beim Wechsel von einem dominanten Zustand in den anderen dominanten Zustand (z.B. wenn STX von „0“ auf „1“ wechselt (oder umgekehrt) während SEN „0“ ist) hängt die Übergangszeit im Wesentlichen von der Schaltzeit der Transistoren der H-Brücke ab. Jedoch beim Wechsel von einem dominanten Zustand in den rezessiven Zustand (siehe Zeitpunkt t1 in Diagramm (c) der 2) wird die Bus-Kapazität CBUS über den Ausgangswiderstand RO entladen. Der Übergang ist vergleichsweise langsam und hängt von externen Parametern und nicht nur von Parametern (Schaltzeit) der H-Brücke selbst ab. Abhängig von der tatsächlichen Implementierung kann die Bus-Kapazität CBUS zu einem (parasitären) Schwingkreis beitragen, und - ähnlich wie in den vorhergehenden Beispielen (LIN- und CAN-Bus) - können transiente Oszillationen (ringing) auftreten (siehe gestrichelte Linie in Diagramm (c) der 2).
-
Nachdem einige unterschiedlichen Bus-Treiberschaltungen für verschiedene Busstandards (LIN, CAN, FlexRay) beschrieben wurden, werden einige allgemeine Aspekte dieser Bus-Treiberschaltungen zusammengefasst. Eine Bus-Treiberschaltung hat (zumindest) zwei Schaltungsknoten. Ein erster Schaltungsknoten (vgl. 1, Ausgangsknoten LIN in Diagramm (a), Ausgangsknoten CANL in Diagramm (b) und Ausgangsknoten BP in Diagramm (c)) ist dazu ausgebildet, mit einer Busleitung gekoppelt zu werden (z.B. eine CAN-Busleitung). Die Busleitung verursacht eine Bus-Kapazität CBUS zwischen dem ersten und dem zweiten Schaltungsknoten (vgl. 1, der Versorgungsknoten SUP in Diagramm (a), der Ausgangsknoten CANH in Diagramm (b) und der Ausgangsknoten BM in Diagramm (c)). Es sei angemerkt, dass, obwohl in Diagramm (a) die Bus-Kapazität CBUS zwischen dem Ausgangsknoten LIN und dem Masseknoten dargestellt ist, eine äquivalente Bus-Kapazität zwischen dem Ausgangsknoten LIN und dem Versorgungsknoten SUP existiert.
-
Der Bustreiber umfasst des Weiteren eine Schaltung mit elektronischen Schaltern (switching circuit), die mit dem ersten Schaltungsknoten gekoppelt und dazu ausgebildet ist, eine Ausgangsspannung VBUS zwischen dem ersten und dem zweiten Schaltungsknoten anzulegen und folglich die Bus-Kapazität CBUS zu laden, wenn ein Steuersignal einen dominanten Zustand anzeigt. Dieses Steuersignal wird in Diagramm (a) (LIN) und Diagramm (b) (CAN) der 2 als STX und in Diagramm (c) (FlexRay) der 2 als SEN bezeichnet. Die Ausgangsspannung ist in den Diagrammen (b) und (c) (CAN bzw. FlexRay) als VBUS bezeichnet. In Diagramm (a) der 1 (LIN) wäre die Ausgangsspannung zwischen dem ersten Knoten (Ausgangsknoten LIN) und dem zweiten Knoten (Versorgungsknoten SUP) gleich VDD -VBUS . Des Weiteren umfassen die Bustreiber eine Entlade-Schaltung (discharge circuit), welche zumindest einem Widerstand RO (und optional weitere Schaltungskomponenten) beinhaltet. Die Entladeschaltung ist zwischen den ersten und den zweiten Schaltungsknotengeschaltet und dazu ausgebildet, eine Entladung der Bus-Kapazität CBUS über den Widerstand RO zu ermöglichen, wenn das Steuersignal einen rezessiven Zustand anzeigt. Die Entladeschaltung (oder Teile davon) können auch als elektrische Terminierung (Bus-Terminierung) dienen. In den vorliegenden Beispielen kann der Widerstand RO auch als Widerstand zur Bus-Terminierung angesehen werden.
-
In anderen Worten: Ein Bustreiber hat zwei Schaltungsknoten, zwischen denen in einem dominanten Zustand mit Hilfe von elektronischen Schaltern (z.B. Transistoren T1 T2 ) eine definierte Ausgangsspannung angelegt wird, wodurch die (parasitäre) Kapazität zwischen den beiden Schaltungsknoten geladen wird. In einem rezessiven Zustand kann die erwähnte Kapazität über die Entladeschaltung (z.B. den Widerstand RO ) entladen werden. Als eine weitere allgemeine Bemerkung kann festgehalten werden, dass die Übergangszeit von einem dominanten Zustand in einen rezessiven Zustand durch die Bus-Kapazität und die Parameter des Entlade-Netzwerks wesentlich mitbestimmt wird und nicht lediglich durch die Charakteristika der elektronischen Schalter (und deren Ansteuerung) festgelegt ist. Die Bus-Kapazität, sowie der Ausgangswiderstands Ro sind Parameter, welche gegeben sind (z.B. durch die Länge der Busleitungen und die Anzahl der Busteilnehmer) und nicht einfach geändert werden können. Die Übergangszeit von einem dominanten in einen rezessiven Zustand hängt folglich beispielswese von Parametern außerhalb der Bustreiberschaltung ab und beispielsweise bei langen Busleitungen kann die Übergangszeit in den rezessiven Zustand vergleichsweise lang sein, und es können Oszillationen auftreten.
-
3 enthält in Diagramm (a) ein Beispiel einer verbesserten Bus-Treiberschaltung zur Verwendung in einem LIN-Busknoten. Die Schaltung ist identisch mit der korrespondierenden Schaltung aus 1, Diagramm (a), jedoch weist sie einen zusätzlichen Transistor T2 auf, dessen Laststrompfad (z.B. Drain-Source-Strompfad im Falle eines MOSFETs) parallel zu dem Widerstand Ro (Entladenetzwerk) geschaltet ist. Durch Einschalten des Low-Side-Transistors T1 (während der Transistor T2 aus ist), wird der Ausgangsknoten LIN aktiv auf ungefähr das Massepotential heruntergezogen, und folglich die Spannung zwischen dem Versorgungsknoten SUP und dem Ausgangsknoten LIN auf eine Spannung von ungefähr gleich der Versorgungsspannung VDD gesetzt. Da die Spannung VDD -VBUS zwischen den Knoten SUP und LIN aktiv angelegt wird, ist dieser Zustand der dominante Zustand. Um in den rezessiven Zustand zu wechseln, wird der Transistor T1 ausgeschaltet, und folglich die Ausgangsspannung nicht weiter aktiv an den Ausgangsknoten LIN angelegt. Die in der Bus-Kapazität CBUS gespeicherte Ladung kann sich folglich über den Widerstand Ro entladen. Während dieser Zeitperiode des Entladens (Übergangszeitperiode) wird der Transistor T2 temporär so angesteuert, dass er (zumindest teilweise) leitend ist. Der Transistor T2 stellt also temporär einen Strompfad parallel zum Widerstand Ro bereit, was den Entladevorgang signifikant beschleunigen kann. Der Transistor T2 kann als steuerbarer Widerstand angesehen werden, welcher während der Übergangszeitperiode (vom dominanten in den rezessiven Zustand) kontinuierlich variiert werden kann.
-
Diagramm (b) der 3 enthält Zeitdiagramme des Ausgangssignals VDD -VBUS , des zugehörigen binären Steuersignals STX , entsprechend dem der Transistor T1 mittels des Gate-Treibers X1 angesteuert wird, und des Hilfssteuersignals SA , entsprechend dem der Transistor T2 mittels des Gate-Treibers X2 angesteuert wird. Zum Zeitpunkt t0 wechselt das binäre Steuersignal STX von einem hohen Pegel auf einen niedrigen Pegel und zeigt folglich einen Übergang in den dominanten Zustand an. Der Gate-Treiber X1 erzeugt ein Gate-Signal, um den Transistor T1 einzuschalten, und folglich wird die Spannung VDD zwischen den Versorgungsknoten SUP und den Ausgangsknoten LIN angelegt (d.h. Spannung VDD fällt über dem Widerstand RO ab). Zum Zeitpunkt t1 wechselt das binäre Steuersignal STX von einem niedrigen Pegel auf einen hohen Pegel und zeigt folglich einen Übergang in den rezessiven Zustand an. Folglich erzeugt der Gate-Treiber X1 ein Gate-Signal, um den Transistor T1 auszuschalten, und die Kapazität CBUS wird über den Widerstand RO entladen. Zur gleichen Zeit t1 wechselt das Hilfssteuersignal SA von einem hohen Pegel auf einen niedrigen Pegel, um temporär (mittels Gate-Treiber X2 ) den Transistor T2 zu aktivieren. Transistor T2 stellt parallel zum Widerstand RO temporär einen zusätzlichen Strompfad bereit, über den die Kapazität CBUS entladen werden kann. Nach einem kurzen Zeitintervall t2 -t1 (d.h. zum Zeitpunkt t2 ) wechselt das Signal SA zurück auf einen High-Pegel und der Transistor T2 wird wieder ausgeschaltet. Die Kapazität CBUS kann sich weiter über den Widerstand RO entladen, bis zum Zeitpunkt t3 ein stationärer Zustand erreicht wird. Der Gate-Treiber X2 kann dazu ausgebildet sein, den Transistor T2 z.B. in einen mittel (d.h. teilweise) leitenden Zustand zu steuern (d.h. einen definierten Widerstand) ohne den Transistor T2 voll einzuschalten. Der zusätzliche Strompfad reduziert allerdings temporär (d.h. zwischen den Zeitpunkten t1 und t2 ) den effektiven Widerstand, erhöht den Strom zum Entladen der Bus-Kapazität CBUS , was eine signifikant kürzere Übergangszeit (t3 -t1 ) von dem dominanten Zustand in den rezessiven Zustand zur Folge hat. Das Zeitintervall t2 -t1 kann eine feste Zeitperiode sein. Alternativ kann das Abschalten des Transistors T2 zum Zeitpunkt t2 auch durch eine im Busknoten vorhandene Empfängerschaltung ausgelöst werden (in den Figuren nicht dargestellt, jedoch in den Bus-Transceiver-Schaltungen vorhanden), wenn ein Bus-Spannungspegel detektiert wird, der den rezessiven Zustand anzeigt.
-
Die Diagramme (a) und (b) der 4 zeigen weitere Beispiele eines verbesserten Bus-Treibers zur Verwendung in einem CAN-Busknoten. Die Schaltungstopologie ist die gleiche wie in 1, Diagramm (c), jedoch ist die Ansteuerung der Transistoren der H-Brücke im CAN-Betrieb anders. Die H-Brücke ist aus zwei Halbbrücken aufgebaut, wobei jede einen High-Side-Transistor T2 bzw. T4 und einem Low-Side-Transistor T1 bzw. T3 aufweist. Der Mittelabgriff der ersten Halbbrücke (T1 und T2 ) bildet den ersten Ausgangsknoten CANL, und der Mittelabgriff der zweiten Halbbrücke (T3 und T4 ) bildet den zweiten Ausgangsknoten CANH. Die Busspannung VBUS ist die Spannung zwischen den Knoten CANH und CANL. Im dominanten Zustand sind die Transistoren T1 und T4 eingeschaltet, wobei eine Spannung (ungefähr) gleich der Versorgungsspannung VDD als Busspannung VBUS zwischen den Knoten CANH und CANL angelegt wird. In dem rezessiven Zustand sind alle Transistoren T1 bis T4 ausgeschaltet. Jedem der Transistoren T1 bis T4 ist eine Gate-Treiberschaltung X1 bis X4 zum Erzeugen geeigneter Gate-Signale nach Maßgabe des Steuersignals STX zugeordnet. Die „Haupttransistoren“ T1 und T4 werden nach Maßgabe des binären Steuersignals STX geschaltet, wohingegen die „Hilfstransistoren“ T2 und T3 nach Maßgabe des Hilfssteuersignals SA gesteuert werden. Die Funktion und der Betrieb der Bus-Treiberschaltung wird nun unter Bezugnahme auf die Zeitdiagramme aus Diagramm (b) der 4 erläutert.
-
Diagramm (b) der 4 beinhaltet exemplarische Zeitdiagramme, welche die binären Steuersignale STX und SA illustrieren, die resultierenden Widerstände RT1 , RT2 , RT3 und RT4 der vier Transistor-Laststrompfade sowie die resultierende differentielle Ausgangsspannung VBUS . Zum Zeitpunkt t0 wechselt das binäre Steuersignal STX von einem High-Pegel auf einen Low-Pegel und zeigt folglich einen Übergang in den dominanten Zustand an. Entsprechend erzeugen die Gate-Treiber X1 und X4 Gate-Signale, um die Transistoren T1 und T4 einzuschalten, wodurch die Spannung VDD zwischen den Ausgangsknoten CANH und CANL angelegt wird (d.h. die Spannung VDD fällt über dem Widerstand Ro ab). Während des dominanten Zustands sind die Transistoren T2 und T3 aus. Der Widerstandswerte RT1 und RT4 fallen von einem Maximum (praktisch nicht leitender Aus-Zustand) auf ein Minimum (Ein-Zustand), während die Busspannung VBUS ansteigt.
-
Zum Zeitpunkt t1 wechselt das binäre Steuersignal STX von einem Low-Pegel auf einen High-Pegel und zeigt folglich einen Übergang in den rezessiven Zustand an. Entsprechend schalten die Treiber X1 und X4 die Transistoren T1 und T4 aus, und die Widerstandswerte RT1 und RT4 steigen wieder auf den maximalen Widerstand an (Aus-Zustand). Die Kapazität CBUS kann folglich über den Widerstand RO entladen werden. Zur gleichen Zeit t1 wechselt das Hilfssteuersignal SA von einem High-Pegel auf einen Low-Pegel, um die Transistoren T2 und T3 temporär (mittels der Gate-Treiber X2 und X3 ) zu aktivieren. Die Transistoren T2 und T3 stellen temporär einen zusätzlichen Strompfad bereit, über den sich die Kapazität CBUS entladen kann. Nach einem kurzen Zeitintervall t2 -t1 (d.h. zum Zeitpunkt t2 ) wechselt das Signal SA zurück auf einen High-Pegel und die Transistoren T2 und T3 werden wieder ausgeschaltet. Die Kapazität CBUS kann sich über den Widerstand RO weiter entladen, bis ein stationärer Zustand zum Zeitpunkt t3 erreicht wird. Die Gate-Treiber X2 und X3 können dazu ausgebildet sein, die zugehörigen Transistoren so anzusteuern, dass sie einen mittel (d.h. teilweise) leitenden Zustand (d.h. einen definierten Widerstand) annehmen, ohne auf die Transistoren voll einzuschalten. Die Widerstandswerte RT2 und RT3 der Transistoren T2 und T3 über der Zeit sind in Diagramm (b) der 4 ebenfalls dargestellt.
-
Der zusätzliche Strompfad reduziert temporär (d.h. zwischen den Zeitpunkten t1 und t2 ) den effektiven Widerstand und erhöht den Strom zum Entladen der Bus-Kapazität CBUS , was eine signifikant kürzere Übergangszeit (t3 -t1 ) von dem dominanten Zustand in den rezessiven Zustand zur Folge hat. Das Zeitintervall t2 -t1 kann eine feste Zeitperiode sein. Alternativ kann der Ausschaltzeitpunkt t2 auch durch eine Empfängerschaltung (in den Figuren nicht gezeigt, jedoch in Bus-Transceiver-Schaltungen vorhanden) detektiert werden, indem ein Busspannungspegel detektiert wird, der den rezessiven Zustand anzeigt.
-
Für ein FlexRay-System hat der Bustreiber die gleiche Topologie wie für ein CAN-System (siehe Diagramm (a) der 4), jedoch sind in einem FlexRay-System zwei unterschiedliche Übergänge möglich, nämlich von einem dominanten „0“-Zustand (VBUS = -VDD ) in einen rezessiven (Idle-) Zustand und von einem dominanten „1“-Zustand (VBUS = +VDD) in den rezessiven Zustand. Der zweite Fall ist gleich wie bei dem zuvor erläuterten CAN-Beispiel. Im ersten Fall arbeitet die Treiberschaltung analog, wobei die Transistorpaare T1 T4 und T2 , T3 die Rollen tauschen. Die weitere Beschreibung beschränkt sich auf CAN-Systeme, wobei sich die beschriebenen Konzepte problemlos auf andere Bussysteme wie LIN oder Flexray übertragen lassen.
-
Die in den Beispielen aus 1 bis 4 dargestellten Transistoren können jeweils aus einer Vielzahl von Transistorzellen aufgebaut sein, wobei jede Transistorzelle praktisch einen elementaren Transistor repräsentier. Die einzelnen Transistorzellen (d.h. die Laststrompfade der elementaren Transistoren) sind parallelgeschaltet, und diese Parallelschaltung bildet einen Transistor. Um das Schaltverhalten des Transistors beim Ein- und Ausschalten zu steuern, können beim Ein- und Ausschalten die einzelnen Transistorzellen sequenziell ein- bzw. ausgeschaltet werden. Auf diese Weise kann ein „sanftes“ Ein- bzw. ausschalten mit definierten Schaltflanken erreicht werden. Diese Situation ist in 5 dargestellt. Diagramm (a) der 5 illustriert exemplarisch den Transistor T1 als Parallelschaltung von N Transistorzellen T1,1 , T1,2 , T1,3 , ..., T1,N . Die Steuerelektroden der Transistorzellen T1,1 , T1,2 , T1,3 , ..., T1,N werden mit Steuersignalen G1,1 , G1,2 , G1,3 , ..., G1,N (z.B. Gate-Spannung) angesteuert.
-
Ein Beispiel eines Einschaltvorganges mit definierter Schaltflanke ist in Diagramm (b) der 5 dargestellt. Gemäß Diagramm (b) der 5 werden die einzelnen Transistorzellen T1,1 , T1,2 , T1,3 , ..., T1,N nicht gleichzeitig, sondern sequenziell angesteuert, um ein sanftes Einschalten mit definierter Steigung der Schaltflanke zu erreichen. Im dargestellten Beispiel wird die Transistorzelle T1,1 zum Zeitpunkt t1 eingeschaltet, die Transistorzelle T1,2 zum Zeitpunkt t2 , die Transistorzelle T1,3 zum Zeitpunkt t3 , etc. Zum Zeitpunkt tN wird die letzte Transistorzelle T1,N aktiviert und der Transistor T1 ist voll eingeschaltet. Der korrespondierende Widerstand RT1 des Laststrompfades des Transistors T1 ist ebenfalls dargestellt. Dieser sinkt von seinem Maximalwert (Transistor T1 ausgeschaltet) beginnend zum Zeitpunkt t1 (quasi-) kontinuierlich bis auf einen sehr niederohmigen Wert RT1,min (Transistor T1 eingeschaltet). Das Ausschalten kann in ähnlicher Weise erreicht werden, indem die Transistorzellen sequenziell abgeschaltet werden. Die Zeitversetzten Steuersignale G1,1 , G1,2 , G1,3 , ..., G1,N können z.B. durch eine in der Gate-Treiberschaltung X1 enthaltenen Logikschaltung erzeugt werden. Im Diagramm (b) der 5 sind die Zeitintervalle t2 -t1 , t3 -t2 , etc. gleich (d.h. die Schaltzeitpunkte der einzelnen Transistorzellen sind zeitlich äquidistant), was aber nicht notwendigerweise der Fall sein muss. Durch ein gezieltes Festlegen der Schaltzeitpunkte kann die Schaltflanke theoretisch beliebig geformt werden. Das Formen der Schaltflanken (edge shaping) der Schaltflanken durch sequenzielles Ein- bzw. Ausschalten einzelner Transistorzellen ist an sich bekannt und wird hier nicht weiter erläutert.
-
6 zeigt ein System mit drei Busknoten, die die Bustreiber 1, 1' und 1" enthalten. Die Anschlüsse CANH und CANL der einzelnen Bustreiber 1, 1' und 1" sind z.B. über ein Kabel mit verdrillten Leiterpaaren (twisted pair cable) verbunden. In den in 3 und 4 dargestellten Beispielen sind lediglich die Transmitterschaltungen der Bustreiber dargestellt, wohingegen die zugehörigen Empfängerschaltungen der Übersichtlichkeit halber weggelassen wurden. 7 illustriert ein Beispiel eines Bustreibers 1 mit einer Transmitterschaltung 11 und einer Empfängerschaltung 12. 7 zeigt auch einen Controller 2 (z.B. einen Mikrocontroller oder eine andere Datenquelle/-senke), der mit dem Bustreiber 1 verbunden ist. Der Controller 2 kann dazu ausgebildet sein, die über den Bus zu übertragenen Daten ein einen Bitstrom (Signal STX , Sendesignal) umzusetzen, der dem gewünschten Busprotokoll entspricht. Bei einem CAN-Bus erfolgt die Datenübertragung beispielsweise paketweise in Datenrahmen (data frames). Die im Bustreiber 1 enthaltene Transmitterschaltung 11 setzt den im Sendesignal STX enthaltenen Bitstrom in ein korrespondierendes Bussignal VBUS um.
-
Der im Bustreiber 1 enthaltene Empfängerschaltung setzt die Spannung am Bus (z.B. die Spannung zwischen den Knoten CANH und CANL im Falle eines CAN-Busses) in ein binäres Signal SRX (Empfangssignal) um, welches dem Controller 2 zugeführt sein kann. Der Controller 2 kann den im Empfangssignal SRX enthaltenen Bitstrom unter Berücksichtigung des Busprotokolls auswerten, beispielsweise die empfangenen Daten aus den empfangenen Datenrahmen extrahieren. In dem in 7 dargestellten Beispiel weist der Empfänger 12 einen Komparator 121 und einen dem Komparator 121 nachgeschalteten Filter 122 auf. Der Komparator 121 empfängt die Busspannung VBUS und vergleicht diese mit einer oder mehreren Schwellenwerten, die in dem verwendeten Busstandard definiert sein können. Im Falle eines CAN-Systems kann der Komparator 121 an seinem Ausgang (Ausgangsignal SRX0 ) einen (dominanten) Low-Pegel erzeugen, wenn die Busspannung VBUS einen ersten Schwellenwert von 0,9 V übersteigt, und einen (rezessiven) High-Pegel erzeugen, wenn die Busspannung VBUS einen zweiten Schwellenwert von 0,5V unterschreitet. Aufgrund der erwähnten Oszillationen und anderen Störungen kann es vorkommen, dass der vom Komparator detektierte Logikpegel nicht stabil ist. Ein 0-Bit oder ein 1-Bit soll jedoch nur detektiert werden, wenn die Busspannung VBUS einen stabilen (dominanten oder rezessiven) Zustand annimmt. Stabil bedeutet in diesem Zusammenhang, dass der jeweilige Zustand eine definierte Zeitdauer (z.B. mindestens 1 µs) ohne Unterbrechung andauert. Kürzere Zustandswechsel (Spikes, transiente Pulse) werden von dem Filter 122 eliminiert. In dem dargestellten Beispiel empfängt das Filter 122 das Ausgangssignal SRX0 des Komparators 121 und erzeugt ein korrespondierendes Signal SRX (Empfangssignal), wobei das Signal SRX erst dann einen Bitwert (1 oder 0) anzeigt, wenn im Signal SRX0 dieser Wert für die erwähnte definierte Zeitdauer stabil ist.
-
Der Empfänger 12 empfängt nicht nur Bussignale (Busspannung VBUS ) von anderen Bustreibern 1', 1", sondern auch vom Transmitter 11 desselben Bustreibers 1. Wenn Transmitter 11 und Empfänger 12 korrekt arbeiten, entspricht das empfangene Signal SRX dem ausgesendeten Signal STX , wobei das empfangene Signal SRX aufgrund der Laufzeit (insbesondere durch den Filter 122) verzögert ist. Die Verzögerung zwischen den Signalen SRX und STX wird als Schleifenverzögerung (Loop Delay) bezeichnet. Die Funktion von Transmitter 11 und Empfänger 12 wird anhand der Timing-Diagramme aus 8 genauer erläutert.
-
8 zeigt exemplarische Signalverläufe (waveforms) für die Signale STX (Eingangssignal des Transmitters 11), VBUS (Ausgangssignal des Transmitters 11/Eingangssignal des Komparators 121), SRX0 (Ausgangssignal des Komparators 121) sowie SRX (Ausgangssignal des Empfängers 12, gefiltert). Des Weiteren ist ein Taktsignal SCLK dargestellt, welches im Filter 122 verarbeitet wird, sowie die Zählerwerte CNTR und CNTL, welche die Anzahl der Oszillationen im Bussignal VBUS und die Schleifenverzögerung repräsentieren. Gemäß 8 wechselt das Signal STX zum Zeitpunkt t0 von einem rezessiven Zustand (High-Pegel) in einen dominanten Zustand (Low-Pegel) und zum Zeitpunkt t3 wieder zurück in den rezessiven Zustand. Nach dem Zeitpunkt t0 steuert der Transmitter 11 des Bustreibers 1 (siehe 7) seine Ausgangstransistoren an und die Spannung VBUS steigt an, wobei ein leichtes Überschwingen (overshoot) auftreten kann. Zum Zeitpunkt t1 überschreitet die Spannung VBUS den Schwellenwert VTH des Komparators 121 des Empfängers 12 und das Komparatorausgangssignal SRX0 wechselt von einem High-Pegel auf einen Low-Pegel. Am Ausgang des Filters 122 erscheint die Pegeländerung jedoch erst eine Filterzeitspanne TF später, d.h. zum Zeitpunkt t2 (t2=t1+TF) nachdem der Zustand des Signals SRX0 für die Zeitspanne TF stabil gewesen ist. Die Zeit zwischen der fallenden Flanke im Signals STX (zum Zeitpunkt t0 ) und der korrespondierenden fallenden Flanke im Signal SRX wird als Schleifenverzögerung TL1 bezeichnet (Schleifenverzögerung beim Übergang vom rezessiven in den dominanten Zustand).
-
Zum Zeitpunkt t3 beginnt die Spannung VBUS zu fallen und fällt zum Zeitpunkt t4 unter den Schwellenwert VTH , was eine steigende Flanke im Komparatorausgangssignal SRX0 bewirkt. Wie erwähnt, können bei einem Übergang in den rezessiven Zustand Oszillationen auftreten und der vom Komparator 121 detektierte Zustand wechselt rasch nach Maßgabe der Amplitude und der Dauer der Oszillationen. Im dargestellten Beispiel kreuzt die Spannung VBUS den Schwellenwert insgesamt fünf Mal (zu den Zeitpunkten t4 , t5 , t6 , t7 , t8 ) bevor ein stabiler Zustand des Signals SRX0 erreicht wird. Erst nach dem Zeitpunkt t8 bleibt die Spannung VBUS unter dem Schwellenwert VTH und das Komparatorausgangssignal SRX0 bleibt für mindestens eine Zeitspanne TF stabil auf einem High-Pegel. Nach Ablauf dieser Zeitspanne TF (d.h. zum Zeitpunkt t8+TF=t9) erscheint auch am Ausgang des Empfängers 12 (Filterausgangssignal SRX ) ein High-Pegel, der den rezessiven Zustand anzeigt. Die Zeitspanne t9 -t3 zwischen der steigenden Flanke im Signals STX (zum Zeitpunkt t3 ) und der korrespondierenden steigenden Flanke im Signal SRX wird als Schleifenverzögerung TL2 bezeichnet (Schleifenverzögerung beim Übergang vom dominanten in den rezessiven Zustand).
-
Wie erwähnt kann der Filter 122 transiente Übergänge (transitions) im Komparatorausgangssignal SRX0 eliminieren/filtern, wobei am Filterausgang ein Übergang erst dann erscheint, wenn am Filereingang für eine Filterzeit TF kein weiterer Übergang auftritt. Das heißt, der Übergang zum Zeitpunkt t4 erscheint am Filterausgang nicht, weil kurz darauf (zum Zeitpunkt t5 ) ein weiterer Übergang auftritt (t5-t4<TF), der Übergang zum Zeitpunkt t5 erscheint am Filterausgang nicht, weil kurz darauf (zum Zeitpunkt t6 ) ein weiterer Übergang auftritt (t6-t5<TF), etc. Der Übergang zum Zeitpunkt t8 erscheint am Filterausgang zum Zeitpunkt t9=t8+TF, weil am Filtereingang kein weiterer Übergang im Signal SRX0 detektiert wurde. Im Filter 12 kann die Filterzeitperiode TF mittels eines Zählers implementiert werden, der mit jedem Übergang zurückgesetzt wird und der bei einem Zählerstand F (d.h. nach F Taktzyklen des Taktsignals SCLK ohne Zurücksetzen) der Eingangspegel an den Ausgang des Filters durchschaltet. Mittels weiterer Zähler können die Schleifenverzögerungen TL1 und TL2 (Zählerwert CNTL) sowie die Anzahl der gefilterten Oszillationen im Signal SRX0 bzw. VBUS (Zählerwert CNTR) ermittelt werden.
-
Je nach Applikation kann eine möglichst kurze Schleifenverzögerung wünschenswert oder notwendig sein (z.B. bei Systemen mit hohen Datenraten wie z.B. CAN FD (Flexible Datarate) Systemen). Eine vergleichsweise hohe Schleifenverzögerung kann insbesondere bei Übergängen von einem dominanten in einen rezessiven Zustand auftreten. Da der rezessive Zustand nicht aktiv von dem im Bustreiber enthaltenen Transmitter erzwungen wird, sondern - wie bereits beschrieben - aufgrund der Entladung der Buskapazität CBUS (vgl. 1) entsteht, neigt dieser Übergang zu Oszillationen und anderen störenden Effekten, die die Schleifenverzögerung verlängern können. Die beschriebene Ungleichheit der Schleifenverzögerungen der beiden Übergänge (dominant-rezessive und rezessiv-dominant) kann zu einer Bitverzerrung führen, die im Protokoll-Handler (auch Protokoll-Engine) zu Problemen bei der Abtastung und der Frame-Erkennung führen können. In den in 9 enthaltenen Timing-Diagrammen sind zwei verschiedene Effekte beim Übergang in einen rezessiven Zustand dargestellt, welche zu einer vergleichsweise langen Schleifenverzögerung führen können.
-
Das erste Timing-Diagramm in 9 zeigt das Sendesignal STX , das zum Zeitpunkt to einen Übergang vom dominanten in den rezessiven Zustand anzeigt. Das zweite Timing-Diagramm in 9 zeigt die korrespondierende Busspannung VBUS , wobei wie im vorhereigen Beispiel Oszillationen auftreten, welche die Schleifenverzögerung vergrößern. Das dritte Timing-Diagramm in 9 zeigt einen anderen Effekt, der alternativ zu den erwähnten Oszillationen auftreten kann. Demnach fällt die Spannung VBUS nicht direkt auf null ab, sondern stufenweise. Das heißt, die Spannung verweist für eine gewissen Zeitdauer auf einem Wert VX (Plateau), der größer sein kann als der Schwellenwert VTH für die Detektion des rezessiven Zustandes. Dieser Effekt kommt durch Reflexionen an anderen Busknoten zustande und kann ebenfalls die Schleifenverzögerung verlängern.
-
Die in 9 dargestellten unerwünschten Effekte (Oszillationen und die Stufe beim Übergang in den rezessiven Zustand) können reduziert werden, indem die Busspannung VBUS - temporär während einer Übergangsphase aktiv - auf einen niedrigen Pegel gezogen wird. Diese Vorgehensweise wurde bereits unter Bezugnahme auf die 3 und 4 erläutert. Durch das temporäre Aktivieren eines oder mehrerer „Hilfstransistoren“ (vgl. 4, Transistoren T2 und T3 ) wird parallel zu dem Ausgangswiderstand RO ein niederohmiger Strompfad durch die Hilfstransistoren bereitgestellt, was das Entladen der Buskapazität CBUS beschleunigt, Oszillationen dämpft und die „Stufenhöhe“ der Reflexionen (siehe Spannung VX in 9) unter den Schwellenwert VTH reduziert.
-
Das Diagramm aus 10 illustriert einen Schaltvorgang während des Umschaltens in einen rezessiven Zustand für eine Transistor-H-Brücke gemäß 4, Diagramm (a). Die Ordinate repräsentiert die Leitfähigkeit (reziproker Widerstand) der Laststrompfade der Transistoren T1 bis T4 . Die Abszisse ist die Zeitachse. Beim Übergang in den rezessiven Zustand werden die (Haupt-) Transistoren T1 und T4 (siehe Diagramm (a) der 4) mit definierter Schaltflanke abgeschaltet. Die Leitfähigkeiten 1/RT1 und 1/RT4 sinken - beginnend zum Zeitpunkt t0 - kontinuierlich bis auf annähernd null (Zeitpunkt t4 ). Die Form der Schaltflanke kann z.B. durch sequentielles Ansteuern der einzelnen Transistorzellen erfolgen (vgl. 5). Während dieser Übergangszeitperiode (t0 bis t4 ) werden z.B. zum Zeitpunkt t1 die (Hilfs-) Transistoren T2 und T3 temporär aktiviert und deren Leitfähigkeiten 1/RT2 und 1/RT3 steigen bis auf einen Maximalwert an und fallen dann bis zum Zeitpunkt t4 wieder auf ungefähr null. Wie in 10 dargestellt ist im Zeitintervall Δt vom Zeitpunkt t2 bis zum Zeitpunkt t3 die Leitfähigkeit der Transistoren T2 und T3 höher als die Leitfähigkeit der Transistoren T1 und T4 (Differenz ca. Δσ) was eine negative Ausgangsspannung VBUS der Transistor-H-Brücke zur Folge haben kann (siehe gestrichelte Linie im dritten Diagramm der 9).
-
Der in 10 dargestellte gepunktete Bereich ist jener Bereich in dem die Leitfähigkeit der Haupttransistoren kleiner ist als die der Hilfstransistoren. Parameter wie die Größe (in Bezug auf Δt und Δσ) und die zeitliche Lage dieses Bereichs beeinflussen den Signalverlauf (z.B. Anzahl und Amplitude der Oszillationen) der tatsächlichen Busspannung VBUS beim Übergang in den rezessiven Zustand und damit auch die Schleifenverzögerung. Um eine bestimmte, angestrebte Busspannung VBUS zu erzeugen können viele verschiedene Kombinationen von Arbeitspunkten der Transistoren T1 bis T4 (vgl. 4, Diagramm (a)) verwendet werden, die sich jeweils durch die Ausgangsimpedanz der H-Brücke (Brückenimpedanz) unterscheiden. Dabei ergibt sich bei einer geringen Brückenimpedanz in den Strompfaden Versorgung (VCC)-T2-T1-Masse (GND) und Versorgung (VCC)-T4-T3-Masse (GND) ein höherer Querstrom als im Fall einer hohen Brückenimpedanz. Es zeigt sich, dass die Dämpfung von Oszillationen (vgl. 9, mittleres Diagramm) im Netzwerk umso besser gelingt, je niedriger die Brückenimpedanz ist.
-
11 zeigt ein weiteres Beispiel einer Bustreiberschaltung, die im Wesentlichen eine Erweiterung der Schaltung aus 7 ist. Der Bustreiber gemäß 11 weist einen Transmitter 11 und einen Empfänger 12 auf. Der Transmitter 11 empfängt das über den Bus zu sendende (binäre) Signal STX und ist dazu ausgebildet ein korrespondierendes Spannungssignal VBUS am Bus zu erzeugen, die im Falle eines CAN-Busses zwischen den Knoten CANH und CANL bereitgestellt wird. Der Transmitter 11 umfasst ein Schaltnetz 112 (combinational logic) und eine dem Schaltnetz 112 nachgeschaltete Ausgangsstufe 111, die z.B. eine Transistorhalbbrücke, eine Transistor-H-Brücke, oder eine andere Schalteinheit (switching circuit) mit mehreren elektronischen Schaltern beinhalten kann. In dem dargestellten Beispiel einer CAN-Treiberschaltung kann eine Transistor-H-Brücke verwendet werden, wobei jeder Transistor der H-Brücke aus mehreren Transistorzellen aufgebaut sein kann. Statt des Schaltnetzes 112 kann auch ein Schaltwerk (sequential logic) vorgesehen sein. Das Schaltnetz 112 empfängt das Signal STX und ist dazu ausgebildet abhängig davon die Steuersignale für die einzelnen Transistorzellen zu erzeugen (vgl. 5). Wie erwähnt kann durch sequentielles Ansteuern der Transistorzellen die Form der Flanken beim Ein- und Ausschalten beeinflusst werden.
-
Der Empfänger 12 ist im Wesentlichen gleich aufgebaut wie in dem Beispiel aus 7 und es wird auf obige Beschreibung Bezug genommen. Die Treiberschaltung gemäß 11 weist weiter eine Messschaltung 114 auf, die dazu ausgebildet ist, die Schleifenverzögerung zu messen (vgl. 8, Schleifenverzögerungen TL1 und TL2 ). In dem dargestellten Beispiel beinhaltet die Messschaltung 114 einen Zähler, der die Taktzyklen eines Taktsignals SCLK (mit Taktfrequenz fCLK ) zwischen einer Flanke im Signal STX und einer korrespondierenden Flanke im Signal SRX zählt. Die Schleifenverzögerung ist dann proportional zum Zählerstand CNTL und ist gleich CNTL · fCLK -1.
-
Des Weiteren kann die Treiberschaltung eine Zählerschaltung 115 aufweisen, die dazu ausgebildet ist, die von dem Filter 122 im Empfänger ausgeblendeten Oszillationen zu zählen. Wie bereits in Bezug auf 8 erläutert, kann der Filter 122 kurze Pulse (kürzer als eine Filterzeit TF ) im Komparatorausgangssignal SRX0 ausblenden. Beispielsweise kann der Filter 122 intern einen Zähler aufweisen, der mit jeder (steigenden oder fallenden) Flanke im Signal SRX0 zurückgesetzt wird. Wenn der Zähler ohne Zurücksetzung nach einer Zeit TF überläuft, wird der Pegel des Signals SRX0 am Filterausgang ausgegeben. Der Zähler 115 kann die Anzahl der Zurücksetzungen und damit die Anzahl der Oszillationen zählen. Die Zählerstände CNTL und CNTR sind einer Parameterauswahleinheit 113 zugeführt, die dazu ausgebildet ist, abhängig von den Zählerwerten CNTL und CNTR einen Parametersatz PAR (mit einem oder mehreren Parametern) für das Schaltnetz 112 auszuwählen. Die Parameterauswahleinheit 113, die Messschaltung 114 und die Zählerschaltung 115 werden zusammen als Steuerschaltung 13 bezeichnet.
-
Der Parametersatz PAR kann z.B. vom Schaltnetz 112 für die Erzeugung der Ansteuersignale für die H-Brücke 111 genutzt werden. Der Parametersatz PAR kann also als Vektor von Steuerparametern betrachtet werden, und der aktuelle Parametersatz PAR bestimmt das Schaltverhalten der Transistoren der H-Brücke in der Übergangsphase von einem leitenden in einen nicht-leitenden Zustand und umgekehrt (siehe 10). In dem in 10 dargestellten Beispiel würde durch den Parametersatz PAR die Form der Leitfähigkeitskurven und damit auch die Größe (Δσ und Δt) und die zeitliche Lage des gepunkteten Bereichs bestimmt. Wie bereits erläutert bestimmen die Größe (Δσ und Δt) und die zeitliche Lage dieses Bereichs die Dauer und den Betrag der negativen Leerlauf-Brückenausgangsspannung, was wiederum die Schleifenverzögerung und die Oszillationen beeinflusst.
-
Durch Veränderung des Parametersatzes PAR kann die Erzeugung der Steuersignale (Gate-Signale) für die Transistorzellen der Transistoren der H-Brücke so angepasst werden, dass die Schleifenverzögerung verringert wird. Mit einer vergleichsweise komplexen Parameterauswahleinheit 113 kann der Parametersatzes PAR so variiert werden, dass die Schleifenverzögerung minimiert (optimiert) wird. Eine Optimierung kann jedoch eine sehr komplexe Parameterauswahleinheit 113 und ein ebenfalls komplexes Schaltnetz 112 notwendig machen. Bei einfacheren Ansätzen kann z.B. aus einer vorgegebenen Anzahl von vordefinierten Parametersetzen jener Parametersatz PAR ausgewählt werden, der die kleinste Schleifenverzögerung zur Folge hat. Dieses Auswahl kann z.B. mittels Ausprobieren (try and error) durchgeführt werden.
-
Die Funktion des in 11 dargestellten Bustreibers und das von dem Bustreiber implementierte Verfahren wird im Folgenden anhand des Flussdiagramms aus 12 zusammengefasst. Der Bustreiber empfängt zunächst ein über den Bus zu übertragendes Signal (Sendesignal STX ), beispielsweise von einem Mikrocontroller (vgl. 7, µC 2), und konvertiert (siehe 12, Schritt S1) dieses Sendesignal STX in ein korrespondierendes Bussignal VBUS (z.B. bei CAN-Systemen differenzielle Spannung zwischen Knoten CANH und CANL) durch Ansteuern einer Ausgangsstufe eines Transmitters mit mehreren Schaltern. Die Ausgangsstufe kann eine Transistor-Halbbrücke oder eine Transistor-H-Brücke (z.B. bei CAN- oder Flexray-Systemen) beinhalten (siehe z.B. 4), und das Ansteuern der Ausgangsstufe erfolgt abhängig von einem Parametersatz PAR, der das Schaltverhalten der Schalter der Ausgangsstufe beeinflusst. Das Bussignal VBUS kann über den Bus übertragen und von einem anderen Busknoten empfangen werden. Jedoch wird das Bussignal VBUS auch in dem Empfänger des Bustreibers, in dem sich auch der Transmitter befindet, verarbeitet und das Bussignal VBUS wird von der Empfängerschaltung in ein korrespondierendes Empfangssignal SRX konvertiert (siehe 12, Schritt S2). Das Empfangssignal SRX entspricht dabei im Wesentlichen dem Sendesignal STX . Jedoch sind Übergänge (Flanken) in dem Empfangssignal SRX gegenüber korrespondierenden Übergängen (Flanken) in dem Sendesignal STX um eine Schleifenverzögerung TL1 oder TL2 (Loop-Delay) verzögert.
-
Gemäß dem in 12 dargestellten Beispiel wird die genannte Schleifenverzögerung TL1 bzw. TL2 gemessen (siehe 12, Schritt S3). Dazu kann z.B. eine getaktete Zählerschaltung verwendet werden (siehe 11, Loop-Delay-Messschaltung 114), wobei der Zählerstand die aktuelle Schleifenverzögerung repräsentiert. Schließlich kann der Parametersatz PAR, der im Transmitter die Ansteuerung der Ausgangsstufe beeinflusst, verändert werden (siehe 12, Schritt S4), was eine Veränderung der Schleifenverzögerung zur Folge haben kann. Die in 12 dargestellten Schritte können wiederholt werden, bis ein Parametersatz PAR gefunden wurde (z.B. aus einer vordefinierten Menge von Parametersätzen), für den die resultierende Schleifenverzögerung minimal ist.
-
Die Variation des Parametersatzes PAR kann auf verschiedene Weise erfolgen. Beispielsweise können aus einer vordefinierten Menge von Parametersätzen verschiedene Parametersätze „ausprobiert“ werden, um zu ermitteln, für welchen Parametersatz die resultierende Schleifenverzögerung am kleinsten ist. Jedoch können auch komplexere Algorithmen eingesetzt werden, um die Schleifenverzögerung zu minimieren. Es sind verschiedene Optimierungsverfahren an sich bekannt (z.B. Gradientenverfahren, steepest descent method, etc) und werden daher hier nicht näher erläutert. Ganz allgemein ermöglicht die „Rückkopplung“ der gemessenen Schleifenverzögerung eine Anpassung des Parametersatzes PAR für den Transmitter und ermöglicht somit eine flexible Anpassung des Bustreibers an den Bus (Länge/Kapazität der Leitungen, Anzahl der Busknoten, etc.).
-
Die Optimierung/Minimierung der Schleifenverzögerung (unter vorgegebenen Nebenbedingungen) kann geeignet sein, die in 9 (mittleres und unteres Timing-Diagramm) dargestellten unerwünschten Effekte zu reduzieren. Zusätzlich oder alternativ zu der Schleifenverzögerung kann die Anzahl der Oszillationen (vgl. 8, Signal CNTR) ausgewertet werden. Durch Variation/Optimierung des Parametersatzes PAR kann versucht werden, die Anzahl der Oszillationen zu reduzieren. In einem Beispiel wird die Schleifenverzögerung direkt gemessen (Zählerwert CNTL, vgl. 11, Loop-Delay-Messung 114), wobei bei der Veränderung/Optimierung des Parametersatzes PAR die gemessene Anzahl der Oszillationen (Zählerstand CNTR) berücksichtigt werden kann. In einem modifizierten Ausführungsbeispiel kann die Optimierung des Parametersatzes PAR darauf abzielen eine kombinierte Maßzahl, in die Schleifenverzögerung und Anzahl der Oszillationen einfließen, zu minimieren (unter vorgegebenen Nebenbedingungen). diese kombinierte Maßzahl könnte z.B. eine gewichtete Summe oder ein gewichtetes Mittel der Werte CNTL und CNTR sein. Gemäß einem anderen Beispiel können beide Ansätze getestet werden (Minimierung der Schleifenverzögerung und Minimierung der Oszillationen), und dann jener „optimale“ Parametersatz PAR verwendet werden, der zu den besseren Ergebnissen führt. Dies trägt der Tatsache Rechnung, dass bei Oszillationen andere Parameterwerte ein Optimum liefern können als bei den „Plateaueffekten“ (vgl. 9, unteres Diagramm).