Bussysteme im Kfz Klausur im Sommersemester 2014 Seite 1 von 1 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Aufgabe 1 ( 40 % ) In einem Versuchsaufbau für einen neu in Entwicklung befindlich Lkw-Auflieger ist die Anbindung der Sensor-Aktor-Einheiten an Steuergeräte über CAN vorgesehen. Die max. Busausdehnung liegt bei 40 m. 1.1 Welche max. Bitrate ergibt sich nach Faustregel? 1.2 Welche max. Bitrate ergibt sich für das Bit-Timing mit TProgSeg = 7 TQ, TPhaseSeg1 = 2 TQ unter der Annahme, dass die Zeit bis zum Ende des Propagation Segment nicht kleiner sein soll als die doppelten Laufzeit Sender-Empfänger? Aufgabe 2 ( 60 % ) Die Kommunikation in dem CAN der Aufgabe 1 gliedert sich in je 6 Botschaften für Funktionen der Bremse, der Außenbeleuchtung und des Laderaums. Die Zykluszeit-Obergrenzen für die Bremsbotschaften liegen bei 20 ms, die für das Außenlicht bei 300 ms und die für den Laderaum bei 600 ms. 2.1 Definieren Sie Bereiche des 11-Bit-Identifiers entsprechend. 2.2 Sind die Zykluszeiten der 3 Funktionen überhaupt mit einem Bus realisierbar? 2.3 Der Datenaustausch mit der Zugmaschine, den wir bisher nicht beachtet haben, sieht pro Funktion je 3 Botschaften an Steuergeräte der Zugmaschine und je 3 Botschaften von diesen notwendig. Ergänzen Sie die Liste der Identifier und zeichnen Sie ein Sequenzdiagramm, das die Übertragung einer solchen Botschaft von der Zugmaschine zum Auflieger zeigt. Bussysteme im Kfz Klausur im Wintersemester 2013/14 Seite 1 von 1 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Aufgabe 1 ( 40 % ) Ein CAN 2.0A wird mit R=250 Bit/s ( 250 kBit/s) über eine maximale Buslänge von d=22 m betrieben. 1.1 Welche Dauer vergeht im ungünstigsten Fall zwischen dem Senden eines Start-Of-Frame und dem Empfang des End-Of-Frame? (Signalausbreitung VProp = 2/3 c) 1.2 Warum benötigt CAN im Gegensatz zu vielen anderen Busprotokollen ein spezielles Bit-Timing? 1.3 Eine ISO-Empfehlung für das Bit-Timing schlägt vor: Tbit = 16 TQ, TSeg1 = 12 TQ , TPhaseSeg2 = 3 TQ . Ist mit hier betriebener Bitrate und Buslänge die Forderung TSyncSeg + TProgSeg ≥ 2 * Signallaufzeit erfüllbar? Aufgabe 2 ( 40 % ) Die Steuergeräte ECU-A und ECU-B sind mit den AktorSensor-Geräte AS-A1 bis AS-B2 wie rechts im Bild über CAN mit denselben Einstellungen wie in Aufgabe 1 verbunden. ECU-A AS-A1 AS-A2 ECU-B AS-AB1 AS-B1 AS-B2 Es gelten folgende Kommunikationsbeziehungen: ECU-A sendet an AS-A1 und AS-A2 je ein Datentelegramm (64 Bit) zyklisch mit T = 10 ms. AS-A1 und AS-A2 senden an ECU-A je ein Datentelegramm (64 Bit) zyklisch mit T = 5 ms. ECU-B sendet AS-B1, AS-B2 und AS-AB1 je ein Datentelegramm (64 Bit) zyklisch mit T = 12 ms. AS-B1 und AS-B2 senden ECU-B je ein Datentelegramm (64 Bit) zyklisch mit T = 6 ms. AS-AB1 sendet sowohl an ECU-A und ECU-B ein gemeinsames Datentelegramm (64 Bit) azyklisch, das nach Auftragserteilung von der höheren Schicht max. 800 µs später auf dem Bus sein muss. 2.1 Legen Sie für die Geräte eine Liste der Sende-Identifier aller CAN-Botschaften an. 2.2 Legen Sie eine Liste der Empfangs-Identifier aller empfangenden Geräte an. ( 40 % ) Aufgabe 3 Eine Anwendung auf ECU-A aus Aufgabe 2 soll bei Werkstattaufenthalt Messwerte aufbereiten und ca. alle 1000 ms als 512 Byte großes Datenpaket an einen Diagnoserechner D senden. Dieser ist an ein Ethernet angeschlossen und über TCP/IP erreichbar. Eine Verbindung zum CAN-Bus aus Aufgabe 2 soll eingerichtet werden. 3.1 Ergänzen Sie dazu das Bild mit dem Netzwerk aus Aufgabe 2 möglichst einfach. 3.2 Ergänzen Sie die Identifierlisten aus Aufgabe 2. 3.3 Zeichnen Sie ein Sequenzdiagramm, das im ergänzten Netzwerk alle beteiligten Schichten bei der Übertragung eines Fragments aus dem Datenpaket zeigt. Bussysteme im Kfz Klausur im Wintersemester 2013/14 Seite 1 von 2 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: 1.2 Bit-Timing: wegen der bitweisen Arbitrierung (CSMA/CA). 1.3 Rechnung mit 250 kBit/s: Mit TPhaseSeg2 = 3 TQ und TSeg1 = 12 TQ wird TProgSeg = 9 TQ. Also gilt: 10 TQ ≥ 2 * Signallaufzeit 10 TQ = 10 * 1/R * 1/16 = 40 µs / 16 = 2,5 µs Signallaufzeit ts = 0,11 µs Forderung erfüllt: 10 TQ = 2,5 µs ≥ 0,22 µs = 2 * Signallaufzeit g Aufgabe 1 ( 40 % ) 1.1 Sendedauer = 135 / R = 135/250 = 0,54 s = 540 ms ( mit R = 250 kBit/s: 0,54 ms = 540 µs ) Signallaufzeit ts = d / V = 22 / ( 2/3 * 3 * 108 ) = 0,11 µs Dauer im ungünstigsten Fall = 540000,11 µs = 520,00011 ms ( mit 250 kBit/s: 520,11 µs ) un (Rechnung mit 250 Bit/s: 10 TQ = 10 * 1/R * 1/16 = 40 ms / 16 = 2,5 ms ≥ 0,22 µs = 2 * Signallaufzeit) Aufgabe 2 2.2 empfängt AS-AB1 0x010 AS-A1 0x0A0 0x0D0 0x0C0 0x0C1 ECU-A 0x0C0 0x0C1 0x010 0x0A0 0x0A1 0x0D1 0x0D2 ECU-B 0x0D0 0x0D1 0x0D2 0x010 0x0B0 0x0B1 ( 40 % ) AS-AB1 AS-B1 Gateway CAN-Ethernet AS-B2 D M AS-A2 AS-B2 0x0B1 ECU-B us ECU-A AS-A1 AS-B1 0x0B0 te r Aufgabe 3 3.1 AS-A2 0x0A1 lö s 2.1 sendet ( 40 % ) 3.2 Neue CAN Botschaften: Identifier 0x700, Fragment F(i) der Diagnosedaten von ECU-A an Gateway Identifier 0x701, L3-Quittung von Gateway an ECU-A Identifier 0x702, L4-Quittung von Host D an ECU-A sendet Gateway 0x701 0x702 AS-AB1 0x010 AS-A1 0x0a0 AS-A2 0x0a1 AS-B1 0x0b0 AS-B2 0x0b1 empfängt 0x700 0x0d0 0x0c0 0x0c1 0x0d1 0x0d2 ECU-A 0x0c0 0x0c1 0x700 0x010 0x0a0 0x0a1 0x701 0x702 ECU-B 0x0d0 0x0d1 0x0d2 0x010 0x0b0 0x0b1 Bussysteme im Kfz Klausur im Wintersemester 2013/14 Seite 2 von 2 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: 3.3 ECU-A L4 L3 Gateway L2 L3 L2 L7 D L3 L7 L2 L2 L3 L4 F(i) F(i) F(i) F(i) QF(i) F(i) F(i) QF(i) un F(i) g F(i) QF(i) READY F(i) F(i) QF(i) lö s QF(i) M us te r CAN Ethernet QF(i) Bussystem me im Kfz Klausur im Sommersem S mester 2013 Seite 1 von 1 Ostfalia Hochschu ule für angew wandte Wisssenschaften Fakultät Elektrotechni E k Prrof. Dr.-Ing. M. M Haas Name: Matrikelnu ummer: ( 50 % ) Aufgabe 1 Ein seriellerr Bus verbind det ein Steue ergerät (Master) mit mehreren Senso oren und Akto oren (Slaves). Jeder Frame beginnt mit einem m Startbit (lo ogisch 0), geffolgt von derr Slave-Adressse (6 Bit), e einer 6-Bit-Na achricht an die Slave-P Protokollinstanz, dem optiionalen Informationsteil mit m max. 64 Bit B Nutzdaten n, einem CRC-16Prüfwort, einem Quittungsbit (positivv: log. 0) und d 2 Stopbits (log. ( 1). Die 6-Bit-Nachric 6 cht kann u.a a. bedeuten: Ausgabe an n Aktor, Eingabe von Sen nsor, beides in einem, Se ensor-Aktor-S Selbstdiagno ose, Program mmupdate. Die Bits sind d NRZ-codie ert mit Selbstttaktung durcch Stuffing na ach 5 gleiche en Bits inkl. S Stuffbit. 1.1 Besstimmen Sie die Dauer eiines Buszykllus unter folg genden Anna ahmen: Bitrrate R = 500 kBit/s maxx. mögliche Anzahl A von Slaves S der Master send det jedem Slave eine Nachricht zur kombinierten Aktorausgab be und Sensoreingabe er Slave beh herbergt 2 Akktoren + 2 Se ensoren, jede er davon verrbraucht bzw w. erzeugt pro o Buszyklus jede ein Word Anttwort von Sla ave an Maste er kommt soffort kein ne Datenverffälschungen Lau ufzeit ≤ 1 Bitd dauer Aufgabe 2 ( 50 % ) Das Protoko oll aus Aufga abe 1 wird errsetzt durch CAN. C Die Au usstattung (S Steuergerät, S Sensoren, Aktoren) A bleibt sonst gleich. In möglichst kurzzer Zeit soll CAN C dieselbe en Daten übe ertragen wie e oben. 2.1 2.2 2.3 Wie e lange dauert jetzt die Übertragung aller a Frames vom Steuerg gerät an diesselbe Anzahl SensorAkto oreinheiten bei b unveränd dert R = 500 kBit/s? Sch hlagen Sie Wertebereiche W e der Identifier für die beiiden Frame-Klassen Steu uergerät an SensorS Akto or und Senso or-Aktor an Steuergerät S v so dass erst das Ste vor, euergerät seiin Ausgabeabbild an die Perripherie send det und dann aus der Perripherie sein Eingabeabb bild empfängtt. Ist ein e zu Maste er-Slave ähnlicher Betrieb b mit festen Buszyklen B m dem CAN--Protokoll rea mit alisierbar? Beg gründen Sie Ihre Antwort. Aufgabe 3 ( 30 % ) Zur Verbessserung des Informationsrrücklaufs in die d Produktentwicklung plant p ein Herssteller die miitlaufende Speicherung entwicklun ngsrelevanterr Diagnoseda aten in Steue ergeräten un nd ihre quasi automatisch he Übertragung auff einen zentra alen Server bei b sich biete enden Geleg genheiten. Da azu gehören Werkstattau ufenthalte der Kfz, abe er auch quassi zufällige Vo orbeifahrten an Vertragsw werkstätten bei hinreiche ender Signalq qualität dortiger WL LAN, oder Vo orbeifahrten an a Transpon ndern für Mau utgebührene erhebung. An ndere Kfz des sselben Herstellers sollen dabei mit ihrer Aussstattung ggf. als Routerr funktioniere en, um die Me enge erreich hbarer Kfz zu vergröße ern. 3.1 Zeicchnen Sie ein Sequenzdiagramm mitt den beteilig gten Protokollschichten fü ür folgende rä äumliche Situ uation: Bussysteme im Kfz Klausur im Sommersemester 2013 Seite 1 von 1 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Aufgabe 1 ( 30 % ) 1.1 Bitdauer B = 2 µs Framelänge Master an Slave: 1+6+6+64+16+1+2 = 96 Datenbits + 23 Stuffbits = 119 Bits Anforderung Master am 1 Slave: 119*2 µs + 2µs = 240 µs, an 64 Slaves = 0,01536 s = 15,36 ms Antwort von 64 Slaves an Master: dieselbe Zeit Zykluszeit = 30,72 ms Aufgabe 2 ( 30 % ) 2.1 Ausgabe je Sensor-Aktor-Einheit = 1 DWord max. Information im CAN-Frame = 2 DWord also genügt 1 Ausgabeframe (1 Sende-Identifier des ECU) für je 2 Empfänger (Sensor-Aktor-Einheiten) so, dass Sensor-Aktor (a) das 1. DWord, Sensor-Aktor (b) das 2. DWord annimmt. Also genügen 32 Frames für die Ausgabe. Im "Worst Case" (max,. Anzahl Stuffbits) hat jeder Frame 135 Bit; also T = 135 x 32 x 2µs = 8,64 ms. 2.2 Sende-ID: Reserviert: Steuergerät: Sensoren: Reserviert: 000 0000 0000 - 000 0001 1111 000 0010 0000 - 000 0011 1111 000 0100 0000 - 000 0111 1111 000 1000 0000 - 111 1111 1111 ( 0 - 31 ) ( 32 - 63 ) ( 64 - 127 ) (128 - 2047 ) nicht verwenden! für 32 Ausgabeframes für 64 Eingabeframes frei für spätere Verwendung 2.3 Mit den oben gewählten Identifiern gleicht der Datenverkehr einem Master-Slave-Betrieb mit ECU=Master, wenn man voraussetzt, dass die Anwendungen der Sensor-Aktor-Einheiten genau dann den Bus anfordern, wenn sie einen Frame des ECU empfangen haben. Diese Voraussetzung ist laut Aufgabe erfüllt. Aufgabe 3 keine Musterlösung vorhanden ( 30 % ) Bussysteme im Kfz Klausur im Wintersemester 2012/13 Seite 1 von 1 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Aufgabe 1 ( 30 % ) Über CAN sollen mehrere ECU einer Anwendung vernetzt werden. Dabei gilt für die größte Leitungslänge D ≤ 30m. Für das Bit-Timing soll gelten: TPropSeg = 3 TQ und TPhaseSeg1 = 4 TQ . Welche max. Bitrate wäre theoretisch möglich, wenn man dazu geltende Protokollfestlegungen und die Bandbreite außer Acht ließe? Aufgabe 2 ( 30 % ) Das Telegramm des CAN-Bus in Aufgabe 1 ist nach Standard 2.0A aufgebaut, die Bitrate soll B = 500 kBit/s sein. Eine Anzahl zyklisch ablaufender Anwendungen soll auf die ECU verteilt werden. Man schätzt die mittlere Dauer zwischen zwei Buszugriffen jeder Anwendung auf 10 ms. Wie viele Anwendungen können höchstens über den Bus verbunden werden? Aufgabe 3 ( 30 % ) 5 ECU (symbol. Bezeichner: A, B, C, D, E) werden über CAN verbunden. Auf jedem hat ein Anwendungsprogramm zwei zu sendende CAN-Botschaften. Die Anwendungen auf A und B haben die doppelte Zugriffsrate wie in Aufgabe 2 angenommen, die anderen Anwendungen haben die halbe Zugriffsrate wie in Aufgabe 2 angenommen. Vergeben Sie die Identifier dazu passend. Aufgabe 4 ( 30 % ) Die Steuergeräte sollen im eingebauten Zustand über CAN neu programmierbar sein. Dazu ist es möglich, über eine CAN-Botschaft vom Programmiergerät einen neuen Prozess zu starten, der den Datensatz mit dem neuen Programm empfängt, speichert und lädt. Parallel dazu soll das bisherige Anwendungsprogramm weiter funktionieren (beim nächsten Ausschalten der Motorzündung wird es durch das neue ersetzt). - Der Datensatz mit dem neuen Programm ist groß und muss daher fragmentiert, d.h. auf mehrere Frames verteilt, übertragen werden. 4.1 4.2 4.3 Schlagen Sie einen oder mehrere Identifier der Botschaft für die Programmfragmente vor. Schlagen Sie ein Format für den Informationsteil eines Frame mit Programm vor Stellen Sie die Übertragung eines kompletten Programms von der Quelle zum Ziel in einem Zeitausschnitt als Sequenzdiagramm dar. Bussysteme im Kfz Klausur im Wintersemester 2012/13 Seite 1 von 1 Aufgabe 1 CAN fordert: mit ⇒ ⇒ Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas ( 30 % ) TPropSeg = 3 TQ ≥ Signallaufzeit TD TD = 3D / 2c und c = 3 . 10-8 m/s Lichtgeschwindigkeit 3 TQ ≥ 3D / 2c = 0,15 µs TQ ≥ 0,05 µs Bitrate B = 1/T mit TBit = Bitdauer TBit = TSyncSeg + TPropSeg + TPhaseSeg1 + TPhaseSeg2 = 1 TQ + 3 TQ + 4 TQ + 4 TQ = 12 TQ = 0,6 µs B = 1,667 MBit/s ( 30 % ) NA = Tzyk / TFrame ⇒ un Zyklusdauer TZyk = 10ms Bitdauer TBit = 1/500k s = 2 µs TFrame = N Frame * TBit N Frame = 135 Bit im "Worst Case" bei CAN 2.0A g Aufgabe 2 Max. Anzahl Anwendungen NA = 10ms / ( 135 * 2 µs ) = 37 Anwendungen können sich den Bus teilen. 200/s hohe Priorität, Zugriffsrate C, D, E: 50/ s niedrige Priorität ( 30 % ) ID(A1) = 0x007, ID(B1) = 0x00F ID(A2) = 0x006, ID(B2) = 0x00E ID(C1) = 0x030, ID(D1) = 0x070, ID(E1) = 0x0F0 ID(C2) = 0x010, ID(D2) = 0x060, ID(E2) = 0x0E0 lö s Aufgabe 3 Zugriffsrate A, B: te r Auch andere ID sind möglich, solange die Prioritäten von {A1 … B2} höher sind als von {C1 … E2 }. ( 30 % ) Aufgabe 4 4.1 Schlagen Sie einen oder mehrere Identifier der Botschaft für die Programmfragmente vor. us Eine ID würd für jedes Fragment i aus n genügen, mit niedrigere Priorität als die niedrigste von {A, B, C, D, E}, damit der laufende Betrieb nicht verzögert wird, z.B. 0x00F. Die Kennzeichnung der Fragmentnr und der Gesamtzahl der Fragmente muss in der Payload jedes Frame codiert werden. Eleganter ist, zuerst eine Botschaft zu senden, deren Payload die Gesamtzahl der Fragmente und evtl. Statusinformation zum Programm enthält, und dann alle Programmfragmente in einer weiteren Botschaft. . ⇒ 1 Botschaft mit "Fragment-Header" des Programms: 0x007 ⇒ n Botschaften mit Fragmenten des Programms: 0x00F Schlagen Sie ein Format für den Informationsteil eines Frame mit Programm vor. M 4.2 Informationsteil [8 Byte] = { Nummer des Fragments + Inhalt des Fragments } Mit 1 oder 2 Byte für die Nummerierung der Fragmente wird es knapp für die max. Programmgröße, z.B. ergibt Nummerierung über 2 Byte max. 64ki = 65536 Fragmente à 6 Byte, also max 393210 Byte Programmgröße. Daher 3 Byte für die Fragmentnummer und 5 Byte Programmcode, womit immerhin bis 80 MiByte große Programme übertragen werden können. 4.3 (…) Stellen Sie die Übertragung eines kompletten Programms von der Quelle zum Ziel in einem Zeitausschnitt als Sequenzdiagramm dar. Bussysteme im Kfz Klausur im Sommersemester 2011 Seite 1 von 1 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Für die Regelung des Karosserieniveaus mit einem aktiven Pkw-Fahrwerk wird ein geeignetes Kommunikationsprotokoll gesucht. Pro Regelzyklus erhält das Steuergerät von jeder Aktor-Sensor-Einheit den aktuellen Messwert und jede Sensor-Aktor-Einheit vom Steuergerät den aktuellen Wert der Stellgröße. Die Zyklusdauer einer Regelung darf 10 ms nicht überschreiten. Messgrößen, Status ECU Stellgrößen AktorSensor 1 AktorSensor 2 AktorSensor 3 Aufgabe 1 AktorSensor 4 ( 35 % ) Die Wahl fällt zunächst auf ein Protokoll mit Master-Slave-Buszugriff und fester Busadresse für jedes Gerät. Alle Telegramme haben ein einheitliches Format mit 2 Byte Header, 8 Byte Daten und 2 Byte Prüfwort. Die Bitrate beträgt 125 kBit/s. Erklären Sie anhand eines (ggf. beispielhaft vereinfachten) Sequenzdiagramms: wie viel Zeit wird für einen Regelzyklus mindestens benötigt, um die Informationen zwischen den Geräten im Bus auszutauschen? Aufgabe 2 ( 30 % ) Bei dem Entwicklungsvorhaben der Aufgabe 1 stellen die Beteiligten bald fest, dass die Niveauregelung viel besser mit einem Algorithmus funktioniert, der auch fahrdynamische Daten einbezieht. Dazu ist es aber nötig, entweder (a) mindestens 8 weitere Sensor-Aktor-Einheiten in den Bus zu integrieren, oder (b) alternativ 2 weitere ECU für Brems- und Schlupfregelung. 2.1 Erweitern Sie die Bustopologie entsprechend (a) bzw. (b). 2.2 Welches Hauptproblem bringt Variante (a) mit sich? 2.3 Welches Hauptproblem bringt Variante (b) mit sich? Aufgabe 3 ( 35 % ) Man entscheidet sich dafür, anstelle des bisherigen nun das CAN-Protokoll in Verbindung mit Variante (b) zu verwenden. Im CAN-Bus sind nun je 4 Regelkreise für Niveau, Bremskraft und Schlupf Rad/Fahrbahn zu führen. Jede über den Bus ausgetauschte Größe ist mit 2 Byte (WORD) hinreichend genau darstellbar. Der Der Bremsprozess hat oberste Priorität, dann folgt der Schlupf, und danach das Niveau. 3.1 Definieren Sie die notwendigen CAN-Botschaften, indem Sie ihren Sinn (Klartext), Identifier (11 Bit) und die Aufteilung des Datenfelds festlegen. 3.2 Wie lange muss die Niveauregelung im ungünstigsten Fall auf den Bus warten? Bussysteme im Kfz Klausur im Sommersemester 2011 Seite 1 von 3 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Aufgabe 1 ( 35 % ) Erklären Sie anhand eines (ggf. beispielhaft vereinfachten) Sequenzdiagramms: wie viel Zeit wird für einen Regelzyklus mindestens benötigt, um die Informationen zwischen den Geräten im Bus auszutauschen? ECU Aktor-Sensor i 96 Bit / (125 kBit/s) = 4 x ergibt 6,144 ms Stellgröße senden te r 0,768 ms g Messwert senden un 0,768 ms Messwert anfordern lö s 0,768 ms M us 4 x ergibt 3,072 6,144 ms + 3,072 ms ----------------9,216 ms Bussysteme im Kfz Klausur im Sommersemester 2011 Seite 2 von 3 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Aufgabe 2 ( 30 % ) Bei dem Entwicklungsvorhaben der Aufgabe 1 stellen die Beteiligten bald fest, dass die Niveauregelung viel besser mit einem Algorithmus funktioniert, der auch fahrdynamische Daten einbezieht. Dazu ist es aber nötig, entweder (a) mindestens 8 weitere Sensor-Aktor-Einheiten in den Bus zu integrieren, oder (b) alternativ 2 weitere ECU für Brems- und Schlupfregelung. 2.1 Erweitern Sie die Bustopologie entsprechend (a) bzw. (b). ECU 1 Niveau AktorSensor 3 AktorSensor 4 AktorSensor 5 AktorSensor 6 AktorSensor 7 AktorSensor 8 AktorSensor 9 AktorSensor 10 lö s AktorSensor 2 us AktorSensor 1 M Variante (b) 2.2 un AktorSensor 2 AktorSensor 11 AktorSensor 12 te r Variante (a) AktorSensor 1 g ECU AktorSensor 3 AktorSensor 4 ... ECU 2 Schlupf ... ECU 3 Bremsen Welches Hauptproblem bringt Variante (a) mit sich? Im Master/Slave-Zugriff verlängert sich die Zykluszeit um den Faktor 3. Damit ist es nicht mehr möglich, die Echtzeitforderung einzuhalten. 2.3 Welches Hauptproblem bringt Variante (b) mit sich? Es gibt nun 2 weitere Teilnehmer mit Sendeinitiative, die ECU 2 und 3. Diese sollten Masterrechte haben. Im momentanen Protokoll kann es aber nur einen permanenten Master geben. Bussysteme im Kfz Klausur im Sommersemester 2011 Seite 3 von 3 Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik Prof. Dr.-Ing. M. Haas Name: Matrikelnummer: Aufgabe 3 ( 35 % ) Man entscheidet sich dafür, anstelle des bisherigen nun das CAN-Protokoll in Verbindung mit Variante (b) zu verwenden. Im CAN-Bus sind nun je 4 Regelkreise für Niveau, Bremskraft und Schlupf Rad/Fahrbahn zu führen. Jede über den Bus ausgetauschte Größe ist mit 2 Byte (WORD) hinreichend genau darstellbar. Der Der Bremsprozess hat oberste Priorität, dann folgt der Schlupf, und danach das Niveau. 3.1 Definieren Sie die notwendigen CAN-Botschaften, indem Sie ihren Sinn (Klartext), Identifier (11 Bit) und die Aufteilung des Datenfelds festlegen. Bedeutung Identifier Sender Empfänger 1. Stellgrößen Niveau Rad 1 - Rad 4 (4 WORDs im Datenfeld) 0x006 ECU 1 Aktor-Sensor 1 … 4 2. 3. 4. 5 Messgröße Niveau Rad 1 Messgröße Niveau Rad 2 Messgröße Niveau Rad 3 Messgröße Niveau Rad 4 je 1 WORD im Datenfeld Messgröße Schlupf Rad 1 … Rad 4 (4 WORDs im Datenfeld) 0x002 0x003 0x004 0x005 Aktor-Sensor 1 Aktor-Sensor 2 Aktor-Sensor 3 Aktor-Sensor 4 ECU 1 ECU 1 ECU 1 ECU 1 0x001 ECU 2 ECU 1, ECU 3 Messgröße Bremskraft Rad 1 … Rad 4 4 WORDs im Datenfeld) 0x000 7. 3.2 un lö s 6. g Nr. ECU 3 ECU 1, ECU 2 Wie lange muss die Niveauregelung im ungünstigsten Fall auf den Bus warten? te r Unter der Annahme, dass alle Regelzyklen länger dauern als die hier zu berechnende Latenzzeit, d.h. es kommt nicht vor, dass vor der Niveau-Stellgrößenübertragung ein anderer Identifier mehrmals gesendet wird, werden im ungünstigsten Fall die 6 Frames mit den Nrn. 2. - 7. gesendet, bevor der Identifier 0x006 den Bus gewinnt: us 6 Header à 21 Bit + 12 WORDs Datenfelder + 6 Trailer = ( 6 x 21 + 12 x 16 + 6 x 27 ) Bit = 480 Bit ohne Stuffbits. Bei einer Bitrate von 500 kBit/s ergibt das eine Latenzzeit von 0,96 ms. M Falls die Regelzyklen für Bremse und Schlupf kleiner sind als diese Zeit, wird die Latenzzeit unendlich groß.