43
EMES: Eigenschaften mobiler und eingebetteter Systeme 00 1 0 1 1 1 1 0 1 0 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 10 0 1 0 0 1 11 0 1 0 0 1 0 1 0 1 0 11 0 0 0 1 0 1 1 1 1 0 10 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 11 0 0 0 1 0 1 1 1 1 0 10 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 10 0 1 0 0 1 11 0 1 0 0 1 0 10 1 0 11 0 0 0 1 0 1 1 1 1 0 10 0 1 0 01 11 0 1 0 0 1 0 1 0 1 0 11 0 0 0 1 0 11 1 1 0 10 0 1 0 0 111 0 1 0 0 1 0 1 0 1 0 1 1 0 00101111010010011101001010101 Feldbusse Dr. Siegmar Sommer, Dr. Peter Tr¨ oger Wintersemester 2009/2010

Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

EMES: Eigenschaften mobiler und eingebetteter Systeme

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Feldbusse

Dr. Siegmar Sommer, Dr. Peter Troger

Wintersemester 2009/2010

Page 2: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Uberblick

• Architektur eines Echtzeitsystems

• Was sind Feldbusse?

• Beispiel: CAN

• Beispiel: TTP/A

• Beispiel: ByteFlight

1 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 3: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Architektur eines Echtzeitsystems

Knoten Knoten Gateway

Gateway Knoten

Echtzeitkommunikation

Standard−Netzwerk

Feldbusse mitSensoren undAktuatoren

2 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 4: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Feldbusse

• Anbindung von Sensoren und Aktuatoren an das Echtzeitsystem (oder

einen Knoten eines verteilten Systems)

• In großen Systemen spezieller Gatewayknoten

• Architektur durch physikalische Begebenheiten beinflußt

• Kurze Daten von und zu Sensoren

• Oft periodische Nutzung

• Hohe Datenrate selten erforderlich

• Fehlertoleranz nicht bedeutsam auf Feldbus-Ebene, da Senso-

ren/Aktuatoren Fehlerschwerpunkt sind

• Redundanz besser durch zweiten Feldbus mit zweitem Sensorsystem

• Kostenminimierung ist Ziel fur Knoten und Kabel

• Oft ungeschirmte Zweidrahtleitung

3 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 5: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Beispiel: CAN

Controller Area Network

• Entwickelt von Bosch Ende der 80er fur Automobil-Industrie

• Benutzt in vielen europaischen Autos

– VAG-Fahrzeuge (VW, Audi, Seat, Skoda)

– Volvo, Saab

– Ford

– in-House-Standard bei GM

• Broadcast-Bus

• Datenrate: 1MBit/s (maximal)

• Kleine Nachrichten (0...8 Byte)

• Relativ hoher Overhead (47 Bits + Bitstuffing-Bits)

4 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 6: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 CAN: Funktion

• CAN ist wie Ethernet:

– Stationen mit Sendewunsch warten, bis der Bus frei ist, und senden

dann.

– Wenn eine Kollision festgestellt wird, wird Sendung abgebrochen

und spater wiederholt

• ... aber systematischer:

– Bus hat elektrische Eigenschaften, die die Kollisionsbehandlung

verbessern

– Kollisionen werden nicht nur erkannt, sondern so vermieden, daß

eine Station trotz Kollision senden kann

5 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 7: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 CAN: Protokoll I

• Nachrichten werden “frames” genannt

• Nachrichten sind durch einen Nachrichtentyp gekennzeichnet

– bedeutet Inhalt der Nachricht (benutzt fur Adressierung)

– Benutzt in der Arbitrierung (niedrigster Typ bedeutet hochste Prio-

ritat bei Konflikten)

• Physikalische Schicht von CAN verhalt sich wie ein verdrahtetes AND

(d.h. sobald einer Null sendet, empfangen alle Null)

!"#$%&&'$()*+,-./0.12,-.$!3-..45*"06$789:.+)4*:824-"08*;$*+$<.)949)0.=->?$@ AA$%&&'$@ BC$D-.,*8# EF

!"

#

$

%

&

'

(

%

&

)

*

+

,

-

,

%./.0+!.12

7G-84*9*-. (H/ ()4) I*-,G /J/ KLI 7BM%

&

'

NN$D*42 N N N N N NE$D*42 &@O$$D14-2 N'$D*42 F$D*42 P$D*42N

345

0

(672

()4)@I.)+-

Q.R*4.)4*:8@I*-,G /:84.:,@I*-,G ()4)@I*-,G /J/@I*-,G Q/<@I*-,G

D*424>99*[email protected]*"0

)*+ A4).4$L9$I.)+-6$A18"0.:8*2)4*:82=-*"0-8$!G:+*8)84#

,-, J-+:4- B.)82+*22*:8$J-S>-246$C84-.2"0-*G>8?$()4)@ >8G$J-+:4-@I.)+-

(%& 7G-84*9*-. KT4-82*:86$C84-.2"0-*G>8?$=5*2"0-8$NN@D*4@ >8G$%U@D*4@7G-84*9*-.

! J-2-.V-

%'# ()4) H-8?40 /:G-6$Q8=)0,$()4-8R14-2$*+$()4)@I*-,G

#,# /1",*" J-G>8G)8"1 /0-";2>+6$J)0+-82*"0-.>8?25:.4$=>.$I-0,-.-.;-88>8?

%&' /J/@(-,*+*4-. !.-=-22*V#

"#$ Q";8:5,-G?-+-846$D-24W4*?>8?

%&' Q/<@(-,*+*4-. !.-=-22*V#

&*+ K8G$L9$I.)+-6$K8G-=-*"0-8 !F$.-=-22*V-$D*42#

(-8 784-.+*22*:8$I*-,G !P$.-=-22*V-$D*42#

! XR-.4.W?4$()4-8$V:+$A-8G-.$=>+$K+Y9W8?-.

6 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 8: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Protokoll II

• Alle Knoten empfangen alle Frames

• Spezieller CAN-Controller (Chip) realisiert CAN-Kommunikation fur

einen Knoten

• CAN-Controller filtert ankommende Nachrichten fur Knoten anhand

der Nachrichtentypen

• Zu sendende Nachrichten werden vom Controller nach Prioritaten

sortiert gepuffert (lokale Behandlung der Prioritaten)

• Semantik der Kommunikation: Publisher/Subscriber

7 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 9: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Arbitrierung I

• Frames beginnen mit der Sendung des hochstwertigsten Bits des

Nachrichtentyps

• Wahrend der Sendung des Typs findet die Arbitrierung statt:

– Andere Knoten durfen auch senden

– Ziel: Feststellung des Frames mit der hochsten Prioritat (= nied-

rigster Typ)

• Wenn ein Knoten eine 1 (rezessives Bit) sendet, aber eine 0 (domi-

nantes Bit) empfangt, wird Sendung abgebrochen (und spater neu

versucht bei Ruhe auf dem Bus)

8 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 10: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Arbitrierung II

9 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 11: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Arbitrierung III

10 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 12: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Arbitrierung IV

11 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 13: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Arbitrierung V

12 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 14: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Arbitrierung VI

13 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 15: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Bitstuffing I

• Problem:

– Stille auf dem Medium muß erkennbar sein (eine lange Folge von

1-Bits (elektrisch null) kann als Stille fehlinterpretiert werden)

– Lange Folgen gleicher Bits erschweren Synchronisation der Statio-

nen, da es keine Bitflanken gibt

– Mehr als 5 mal 0 in Folge wird als Errorframe benutzt - Unterschei-

dung ist notwendig

• Losung:

– Bitstuffing

– Nach 5 gleichen Bits fugt das Protokoll ein Bit des anderen Wertes

ein

– Dekodierung analog

14 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 16: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Bitstuffing II

!"#$%&&'$()*+,-./0.12,-.$!3-..45*"06$789:.+)4*:824-"08*;$*+$<.)949)0.=->?$@ AA$%&&'$@ BC$D-.,*8# EF

!"#$%&'()

! G:8@H-4>.8@B:@I-.:@<:J*-.>8? !GHI#K$JL0L$8*"04$M-J-2$D*4$N-2*4=4$-*8-$O,)8;-

! (>."0$GHI@<:J*-.>8? >LCL$;-*8-$O,)8;-8$=>.$A18"0.:8*2)4*:8$"D*4$A4>99*8?

P % P % Q E ' R P % P P % Q E ' P %

P % P % Q E ' P P % P P % Q E ' P %

P % P % Q E ' R P % P P % Q E ' P %

*%(#%&

2-8J-8J-$D*49:,?-

S:.$J-+$D*424>99*8?

+,-./'0

?-2-8J-4-$D*49:,?-

8)"0$J-+$D*424>99*8?

12345()%&

-+T9)8?-8-$D*49:,?-

8)"0$J-+$(-24>99*8?

A4>99N*4

A4>99N*4

15 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 17: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Harte Echtzeit

• Erforderlich: Worst Case Zeiten fur Frame Latency (end-to-end-delay)

• Durch Testen:

• Durch Analyse: Anwendung der Fixed Priority Scheduling Theorie

– Bus = geteilte Ressource (entspricht CPU im klassischen Schedu-

ling)

– Frame = Job (entspricht Task-Invokation)

16 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 18: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Fixed Priority Scheduling

Periodische Tasks

Berechnung der Response-Time:

Ri = Ci + Bi + ∑∀j∈hp(i)

⌈RiTj

⌉Cj

• Ci — Ausfuhrungszeit einer Task

• Bi — Blocking Time (Zeit, die die Task durch niederpriore Tasks

blockiert werden kann)

• ∑ . . . — Zeit, die die Task durch hoherpriore Tasks unterbrochen

werden kann

17 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 19: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Scheduling

• Berechnung von Worst Case Frame Latencies

• Deadlines werden relativ zur Zeit der Erzeugung eines Frames gemes-

sen

• Periode ist der kurzeste Abstand zwischen der Erzeugung zweier

Frames gleichen Typs

• Typ des Frames entspricht der Prioritat

• Unterschied zu “normalem” Scheduling: Ubertragung von Frames ist

nonpreemptiv

18 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 20: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Langste Ubertragungszeiten

• Ubertragungszeit ist abhangig von der Große des Frames (0..8 Daten-

bytes)

• Framegroße: 47 Bit Header + 8 Datenbytes + Stuffbits

Ci =(

47 + 8si +⌊

8si + 344

⌋)Tbit

• Tbit — Zeit zum Ubertragen eines Bits (1µs bei 1MBit/s)

• si — Anzahl der Datenbytes

19 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 21: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101

CAN: Langste Wartezeit (QueuingTime)

Wie lange dauert es, bis ein Frame die Arbitrierung gewinnen kann?

Frame wird “behindert” durch:

• Gerade ubertragenen Frame mit niedrigerer Prioritat (Blockierung, da

Senden nonpreemptiv ist)

• Alle Frames mit hoherer Prioritat (Preemption im Sinne des

Scheduling-Modells)

20 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 22: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Blocking Time

• Bi ist die Zeit, die der großtmogliche Frame niedrigerer Prioritat zur

Ubertragung benotigt

• Nie mehr als 135 Bitzeiten

Bi = max∀k∈lp(i)

(Ci) ≤ 135Tbit

21 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 23: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101

CAN: Langste Queuing Time undLatency

• Langste Queuing Time

qi = Bi + ∑∀j∈hp(i)

⌈qi + Tbit

Tj

⌉Cj

qi wird durch Iteration berechnet

• Latency

Ri = qi + Ci

22 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 24: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 CAN: Beispiel I

Frame ID Period Size WCET

A 572 9.0 ms 8 1.350ms

B 347 5.0 ms 2 0.750ms

C 115 2.5 ms 8 1.350ms

23 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 25: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 CAN: Beispiel II

qB = CA +⌈

qB+TbitTC

⌉CC

q0B = 0

q1B = 1.35 +

⌈0+Tbit

2.5

⌉1.35 = 2.7

q2B = 1.35 +

⌈2.7+Tbit

2.5

⌉1.35 = 4.05

q3B = 1.35 +

⌈4.05+Tbit

2.5

⌉1.35 = 4.05

RB = qB + CB = 4.05 + 0.75 = 4.8

24 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 26: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fehlererkennung

Erkennbare Fehler:• Bit Error

Empfangsteil liest anderes Bit als Sendeteil gesendet hat (Ausnahme:

Arbitrierung oder Ack-Slot)

• Stuff Error

Auftreten von 6 gleichen Bits in einem Datenfeld, in dem Bitstuffing

benutzt wird

• CRC Error

Berechneter CRC-Wert weicht von empfangenen Wert ab

• Form Error

Ein Feld fester Form enthalt ungultige Bits

• Acknowledgment Error

Nachricht wurde nicht mit einem dominanten Bit im ACK-Slot

bestatigt

25 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 27: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fehlerbehandlung

• Erkennung eines Fehlers fuhrt zum Senden eines Fehlerflags

• Wenn Station error active ist, dann aktives Errorflag (6 dominante

Bits), sonst passives Errorflag (6 rezessive Bits)

• Aktives Errorflag fuhrt zu Fehler in ALLEN Stationen

• Andere Stationen senden ebenfalls Errorflag

• Nach Errorflags startet Retransmission

26 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 28: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fault Confinement I

• Problem: Fehlerhafte Station kann durch haufiges Senden von aktiven

Errorflags den Bus storen

• Losung: Einfuhrung von drei Zustanden

– error active

Nimmt normal am Busverkehr teil

– error passive

Darf keine aktiven Errorflags senden, muß vor Senden von Nach-

richten warten

– bus off

Darf keinen elektrischen Einfluß auf den Bus nehmen

• Gesteuert durch zwei Zahler:

– Transmit error count (TEC)

– Receive error count (REC)

27 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 29: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fault Confinement II

Regeln (vereinfacht, Ausnahmen weggelassen):

• Empfanger erkennt Fehler: REC=REC+1

• Empfanger liest dominantes Bit NACH dem Errorflag: REC=REC+8

(das betrifft die verursachende Station)

• Sender sendet Errorflag: TEC=TEC+8 (Ausnahmen wahrend Arbi-

trierung und ACK)

• Sender erkennt Bitfehler wahrend Sendung eines aktiven Errorflags:

TEC=TEC+8

• Empfanger erkennt Bitfehler wahrend Sendung eines aktiven Er-

rorflags: REC=REC+8

• Nach dem 14. dominanten Bit (8. nach einem Errorflag):

TEC=TEC+8 bzw. REC=REC+8

• Nach Senden einer Nachricht und positiver Bestatigung: TEC=TEC-1

(wenn nicht schon Null)

28 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 30: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fault Confinement III

Regeln (Fortsetzung):

• Nach erfolgreichem Empfang einer Nachricht: REC=REC-1, falls

0<REC<128, und REC=120...126, falls REC>127

• Wenn REC>127 oder TEC>127: Station wird error passive, Senden

eines aktiven Errorflags beim Wechsel

• TEC>255: bus off

• error passive Stationen werden wieder aktiv, wenn TEC und REC

unter 128 fallen

• bus off Stationen werden error active nach 128 Auftreten von 11

aufeinanderfolgenden rezessiven Bits

29 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 31: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fault Confinement IV

30 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 32: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101CAN: Fault Confinement V

Anmerkungen:

• Fehlerzahler großer 96 weisen auf einen stark gestorten Bus hin

• Startup:

– Einzelner Knoten sendet, aber es gibt keine Empfanger

– Kein positives ACK

– Knoten kann error passive werden, aber nicht bus off

31 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 33: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Beispiel TTP/A

TTP: Time Triggered Protocol

• Grundidee: Benutzung von TDMA (Time Division Multiple Access)

• Zugriff auf das Medium in statisch zugewiesenen Zeitschlitzen

• Sehr viel Vorabwissen

• Protokollvarianten

– TTP/C: vollstandiges Protokoll, Teil der TTA (Time Triggered

Architecture) — wird behandelt bei Architekturen

– TTP/A: abgerustete Version fur Feldbusse

32 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 34: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101TTP/A: Protokoll

• 1 Byte Nachrichten (Statusnachrichten)

• Rundenbasierte Arbeitsweise

• Zentraler Master (Gateway zum Backbone)

• Fur jede Runde ist die Folge der Nachrichten statisch in der MEDL

(Message Descriptor List) festgelegt

• Master sendet zu Beginn “Firework-Byte” mit der Nummer der fur

diese Runde aktuellen MEDL, ungerade Paritat

• Danach werden zu den in der MEDL definierten Zeiten die Nachrichten

mit gerader Paritat OHNE jeden Overhead gesendet (reine Daten)

• Firework-Byte synchronisiert Knoten

• Hardware: Mikrocontroller mit UART (Universal Asynchronous Recei-

ver Tranceiver)

• Bandbreite 10 KBit/s (auch 48 und 100)

33 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 35: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101TTP/A: Fehlerbehandlung

• Zeit-Domane

– Jeder Verstoß gegen die MEDL fuhrt zum Setzen eines Fehlerflags

(beispielsweise Nachricht zur falschen Zeit)

– Sehr kurze Fehlerpropagationszeit

– Fehler fuhren zum Ende der Runde fur betroffenen Knoten, Warten

auf neues Firework-Byte

– Master kann nach Timeout durch Backup-Master ersetzt werden

• Werte-Domane

– Protokoll sieht nur Paritatschecks vor

– Weitere Mechanismen in den UARTs (z.B. Noise-Reduction)

– Fehlererkennung daruber hinaus obliegt Anwendungslogik (wird vom

Controller uber erkannte Fehler informiert)

• Weitere Details:

– Vorlesung uber Architekturen in Zusammenhang mit TTA

34 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 36: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Beispiel: ByteFlight

• Idee und Konzept: BMW

• Spezifikation: BMW und Motorola

• Entwicklung ab 1996

• Partner:

– BMW Motorola, Elmos, Infineon, Siemens EC

– Weise GmbH

– Steinbeis Transferzentrum Prozessautomatisierung

– TUV Bayern, TUV Rheinland

• Mittlerweile in Zusammenarbeit mit anderen Autoherstellern in Flex-

Ray eingeflossen (Vereinigung u.a. mit TTP-Ideen)

35 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 37: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Byteflight: Ideen

• Zentraler Master generiert Sync-Impulse

• Zwischen Sync-Impulsen konnen Nachrichten gesendet werden

• Zugriff im Flexible Time Division Multiple Access (FTDMA)

– Ahnlich Minislotting (ARINC 620)

– Wartezeit indirekt proportional Prioritat

– Garantierte Ubertragung fur eine bestimmte Anzahl (z.B. 10) hoch-

priorer Nachrichten

• Physikalisch: optischer Sternkoppler (logischer Bus)

• Strategien fur Fehlerbehandlung und Vermeidung von Babbling Idiot

36 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 38: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Byteflight: Systemuberblick

37 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 39: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Byteflight: Protokoll

• Buszugriff

– Logisches Token wird von ID zu ID weitergegeben nach Wartezeit

t wx

– Wartezeit ist abhangig von der Prioritat der Nachricht

• Kombination von Vorteilen synchroner und asynchroner Protokolle

– Garantierte Latenz fur definierte Anzahl hochpriorer Nachrichten

– Flexibler Zugriff fur alle ubrigen Nachrichten (asynchron)

– Separater logischer Kanal fur Alarmmeldungen

38 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 40: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Byteflight: Nachrichtenformat

39 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 41: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Flexray

• FlexRay-Konsortium 1999 von BMW, DaimlerChrysler, Motorola und

Philips gegrundet.

• (Redundante) Bus-, Stern- oder Multi-Stern-Topologie

• Design-Ziel: Flexibilitat

• Kombination aus TTP/C und ByteFlight

• Fehlertolerante Uhrensynchronisation (ahnlich TTP)

• Entkopplung des Kommunikationskontrollers (ahnlich TTP)

• Kommunikationszyklus besteht aus zwei Teilen:

– Statischer Teil: TDMA

– Dynamischer Teil: ByteFlight FTDMA

40 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 42: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101 Flexray: FrameLehrstuhl für

Datenverarbeitung

UNIVERSITÄT

MÜNCHEN

TECHNISCHE

Folie 20

CRC CRC

24 bits

DataFrame ID

7 bits

0 ... 254 Bytes

Cycle CRC

FlexRay Frame 5 + (0 ... 254) + 3 Bytes

Length

12 bits 6 bits

Syn

c B

it

11 bits 16 bits

Message IDHeader

CRC

Nu

ll F

ram

e I

nd

ica

tio

n

Header Segment Payload Segment Trailer Segment

Data Data

Header CRC

Covered Area

NM

in

dic

ati

on

Re

se

rve

d

1111

Data

NM

FlexRay – Nachrichtenformat

41 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK

Page 43: Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt zum Setzen eines Fehler ags (beispielsweise Nachricht zur falschen Zeit) { Sehr kurze

00101

1110100100111010010101011000

101111

0100100111010010101011000101

11101001001110100101010110

00101111010010011101001010

10110

00101111

010010011101001010101100010111101001001110100

101010110 0010111101001001110100

10101011000101111010010011101001010101Flexray: Kommunikationszyklus

Lehrstuhl fürDatenverarbeitung

UNIVERSITÄT

MÜNCHEN

TECHNISCHE

Folie 21

FlexRay - Datenübertragung• Zugriffsverfahren: Time Division Multiple Access (TDMA)

42 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK