07 - CAN (Controller Area Network) Flashcards

1
Q

Wofür steht CAN?

A

Controller Area Network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind Schlüssel Eigenschaften von CAN? (6)

A
  • benötigt mindestens zwei Nodes
  • Event basiert, also kein Schedule nötig
  • Robust Serial Communication Protocol
  • Message-based Communication
  • Distributed Control
  • Broadcast Communication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind Stärken von CAN? (5)

A
  • akzeptierter Standard
  • Robust
  • Hoher Grad an Flexibilität
  • Einfach neue receiving Nodes hinzuzufügen
  • Viel Soft- und Hardware Support verfügbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Propagation Delay (Ausbreitungsverzögerung)?

A

Propagation Delay eines Kanals ist die Zeit, die ein Bit benötigt, um von einem Ende des Kanals zum anderen Ende des Kanals zu gelangen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wodurch wird ein Propagation Delay bestimmt?

A

Es wird durch die Übertragungsgeschwindigkeit eines elektromagnetischen km/sec bestimmt. Bei einem Kanal von etwa 1 km Länge beträgt der Propagation Delay etwa 5µsec.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist die Bandbreite?

A

Ist die Anzahl der Bits, die einen Kanal in einer Sekunde durchlaufen können.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist die Bitlength eines Channels?

A

Ist die Anzahl der Bits, die einen Kanal während des Propagation Delays durchlaufen können.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist Bitwise Arbitration (Schlichtung)?

A

Es gibt zwei Zustände im Kommunikationskanal, dominant und rezessiv. Wenn zwei Stationen eine Übertragung zum selben Zeitpunkt beginnen, dann wird die Station mit dem dominanten Bit im arbitration field gewinnen und die Station mit dem rezessiven Bit stoppt seine Übertragung. Die Annahme dabei ist, dass der Propagation Delay des Busses sehr viel kleiner ist als die Länge einer Bitcell, da sich jedes Bit stabilisieren muss, bevor es arbitriert werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie funktioniert Bit Encoding bei CAN?

A
  • Non Return to Zero (NRZ) bit encoding
  • Bit Stuffing: nach 5 Bits mit identischem Wert (entweder dominant oder rezessiv), führt der Sender ein zusätzliches Bit mit dem entgegengesetzten Wert ein
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Error Typen (auf Messagefelder bezogen) gibt es bei CAN? (5)

A
  • Bit error
  • Stuff error: entdeckt beim sechsten aufeinanderfolgenden Auftreten desselben Bits in einem Nachrichtenfeld, das dem Bitstuffing unterliegt
  • CRC error: der vom Empfänger berechnete CRC-Wert weicht von dem in der Nachricht gespeicherten Wert ab
  • Form error: Bitfeld in fester Form enthält ein oder mehrere unzulässige Bits
  • Acknowledgment error: von einem Sender erkannt, wenn ein rezessives Bit auf dem ACK-Slot gefunden wird
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie läuft Error Signaling ab?

A
  • wenn ein Error von mind. einer Node erkannt wird, unterbricht die Node (die den Error erkannt hat) die Übertragung durch Senden eines Error Flags
  • ein Error Flag besteht aus 6 dominanten Bits → das verletzt die Bit Stuffing Regel und alle anderen Nodes reagieren, indem sie auch Error Flags senden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Woraus besteht eine Error Signaling Sequence?

A

Die Error Signaling Sequence (Fehlersignalisierungssequenz) besteht aus der Überlagerung von Error Flags, die von verschiedenen Nodes, möglicherweise zu verschiedenen Zeiten, gesendet werden, gefolgt von einem Error Delimiter Field (Fehlerbegrenzungsfeld). Die Länge der Sequenz variiert zwischen mind. 6 und maximal 12 Bits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind Probleme von CAN in sicherheitsrelevanten verteilten Echtzeitsystemen? (5)

A
  • Large variability in transmission latencies
  • Diagnosic deficiencies (bsp. masquerading)
  • No consistent atomic multicast
  • No handling of babbling idiot failures
  • Arbitration logic limits throughput
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Broadcasts gibt es? (3)

A
  • Reliable Broadcast
  • Atomic Broadcast
  • Timely Broadcast
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind CAN Failure Assumptions (Annahmen, Welche Fehler können auftreten)? (3)

A
  • Crash Failures: Node tut vorzeitig ab diesem Zeitpunkt nichts mehr
  • Omission Failures: Node sendet/empfängt gelegentlich keine Nachrichten, die sie eigentlich senden/empfangen sollte
  • Timing Failures: local clock drift der Node überschreitet die angegebene Grenze (clock failure), Node überschreitet die Grenzen der für die Ausführung eines Schritts erforderlichen Zeit (performance failure)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind CAN Protokoll Mechanismen für Konsistenz?

A
  • die Globalisierung lokaler Fehler zielt auf eine systemweite Konsistenz ab: Knoten, der einen Fehler in einer Nachricht entdeckt, sendet ein Fehlerflag mit sechs aufeinanderfolgenden dominanten Bits → Verletzt Bit Stuffing Regel
  • Last Bit Rule: spezielles Error Handling für das letzte Bit des EOF, Empfänger der einen Error erkennt muss den Frame als korrekt akzeptieren
17
Q

Welche Inkonsistenz Szenarien gibt es bei CAN? (2)

A
  • Double Reception of Messages

* Inconsistent Message Omission

18
Q

Welche Higher CAN-based Protocols gibt es? (3)

A
  • Eager-Diffusion Based CAN (EDCAN)
  • Lazy Message Diffusion (RELCAN)
  • Totally Ordered CAN (TOTCAN)
19
Q

Was sind CAN-based Higher Protocols?

A

CAN Protokolle mit zusätzlicher Funktionalität (z.B. Message Fragmentation).

20
Q

Was ist Time-Triggered CAN (TT CAN)?

A
  • TT CAN ist eine Erweiterung von CAN, die Clock Synchronisation und time-triggered Kommunikation unterstützt
  • eine “Time-Master” Node sendet zyklisch einen Synchronisations-Frame, der von den anderen Nodes des Clusters verwendet wird, um ihre lokale Zeit einzustellen und die Übertragung zu initiieren.
  • für den Fall, dass der Zeitmaster ausfällt, ist in jeder Node eine lokales time-out vorgesehen, um die Übertragung zu initiieren.
  • Rahmenstruktur und CRC sind die gleichen wie bei CAN.