0 Daumen
573 Aufrufe

Aufgabe:

1. Skizzieren Sie in einem Spannungs-Zeit-Diagramm eine CAN-Nachricht bei einer Geschwindigkeit von \( 500 \mathrm{kBit} / \mathrm{s} \) (High-Speed) und den Datenbytes 0xBF, 0xAA (ID=0xB5, Standard-Frame). Aufzutragen sind die Spannungen \( U_{C A N-H}- \) Masse, \( U_{C A N-L}- \) Masse und \( U_{C A N-H}-U_{C A N-L} \). Benutzen Sie dazu das vorbereitete Diagramm (siehe Anhang A). Die CRC - Prüfsumme beträgt: 1010111001000011.

2. Ein zweites SG möchte zeitgleich auf den Bus zugreifen und folgende Nachricht übertragen: ID=0xA8, Datenbytes \( 0 x B 0,0 x F F \). Welche der beiden Nachrichten gewinnt den Arbitrierungsprozess bei gleichzeitigem Buszugriff?

Bildschirmfoto 2018-05-24 um 22.12.44.png

Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Skizzieren des Spannungs-Zeit-Diagramms für CAN-Nachricht

Aufgrund des Formats dieser Antwort kann ich nicht direkt ein Diagramm skizzieren oder ein Bild anhängen. Jedoch kann ich beschreiben, wie das Spannungs-Zeit-Diagramm aussehen würde und welche Konzepte beteiligt sind.

CAN (Controller Area Network) nutzt ein differentielles Signal zum Kommunizieren, was bedeutet, dass die Signale auf den Leitungen CAN-High (CAN-H) und CAN-Low (CAN-L) verglichen werden. Bei High-Speed-CAN, wie im Beispiel mit 500 kBit/s, werden die dominanten Bits (logisch "0") und rezessiven Bits (logisch "1") durch unterschiedliche Spannungsdifferenzen zwischen CAN-H und CAN-L repräsentiert:

- Dominante Bits (0): \(U_{CAN-H}\) ist höher als \(U_{CAN-L}\). Typischerweise wäre \(U_{CAN-H} = 2.5V + 1V = 3.5V\) und \(U_{CAN-L} = 2.5V - 1V = 1.5V\), was eine Differenz von \(2V\) ergibt.
- Rezessive Bits (1): \(U_{CAN-H}\) und \(U_{CAN-L}\) liegen beide nahe \(2.5V\), und die Differenz ist nahe \(0V\).

Beim Zeichnen des Diagramms für einen CAN-Standardrahmen würden Sie beginnen, indem Sie das Startbit (dominant), gefolgt von der Arbitrierungsfeld-ID (hier 0xB5), danach Steuerbits, Daten (0xBF, 0xAA), die CRC-Prüfsumme (1010111001000011), ein CRC-Delimiter (rezessiv), ACK-Slot (dominant), ACK-Delimiter (rezessiv) und schließlich die End-of-Frame-Bits zeichnen. Leider ist das genaue Zeichnen sehr spezifisch und ohne grafische Tools nur schwer genau zu beschreiben.

Bestimmung der gewinnenden Nachricht im Arbitrierungsprozess

CAN nutzt ein CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)-Verfahren für die Arbitrierung. Dabei wird das Bit-weises Vergleichen genutzt, um bei Kollisionen zu entscheiden, welche Nachricht Vorrang hat, ohne dass Daten verloren gehen. Bei einer Kollision gewinnt die Nachricht mit der niedrigeren ID, da dominante Bits (0) die rezessiven Bits (1) "überschreiben".

Um die Frage zu beantworten, welche Nachricht den Arbitrierungsprozess gewinnt:

- ID der ersten Nachricht: 0xB5 (\(10110101\) im Binärformat)
- ID der zweiten Nachricht: 0xA8 (\(10101000\) im Binärformat)

Da die Übertragung bitweise erfolgt und von links nach rechts (das erste Bit 1 ist rezessiv für beide IDs), und das erste unterschiedliche Bit bei 0xB5 dominant (1) und bei 0xA8 rezessiv (0) ist, würde die Nachricht mit der ID 0xA8 diskriminiert werden, da das erste unterschiedliche Bit bei dieser ID niedriger (rezessiv) ist. Daher gewinnt die Nachricht mit der ID 0xB5 den Arbitrierungsprozess und hat somit den Zugriff auf den Bus.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community