07 - CAN (Controller Area Network) Flashcards
Wofür steht CAN?
Controller Area Network.
Was sind Schlüssel Eigenschaften von CAN? (6)
- benötigt mindestens zwei Nodes
- Event basiert, also kein Schedule nötig
- Robust Serial Communication Protocol
- Message-based Communication
- Distributed Control
- Broadcast Communication
Was sind Stärken von CAN? (5)
- akzeptierter Standard
- Robust
- Hoher Grad an Flexibilität
- Einfach neue receiving Nodes hinzuzufügen
- Viel Soft- und Hardware Support verfügbar
Was ist ein Propagation Delay (Ausbreitungsverzögerung)?
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.
Wodurch wird ein Propagation Delay bestimmt?
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.
Was ist die Bandbreite?
Ist die Anzahl der Bits, die einen Kanal in einer Sekunde durchlaufen können.
Was ist die Bitlength eines Channels?
Ist die Anzahl der Bits, die einen Kanal während des Propagation Delays durchlaufen können.
Was ist Bitwise Arbitration (Schlichtung)?
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.
Wie funktioniert Bit Encoding bei CAN?
- 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
Welche Error Typen (auf Messagefelder bezogen) gibt es bei CAN? (5)
- 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
Wie läuft Error Signaling ab?
- 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
Woraus besteht eine Error Signaling Sequence?
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.
Was sind Probleme von CAN in sicherheitsrelevanten verteilten Echtzeitsystemen? (5)
- Large variability in transmission latencies
- Diagnosic deficiencies (bsp. masquerading)
- No consistent atomic multicast
- No handling of babbling idiot failures
- Arbitration logic limits throughput
Welche Broadcasts gibt es? (3)
- Reliable Broadcast
- Atomic Broadcast
- Timely Broadcast
Was sind CAN Failure Assumptions (Annahmen, Welche Fehler können auftreten)? (3)
- 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)