Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt...
Transcript of Feldbusse - Institut für Informatik€¦ · Zeit-Dom ane { Jeder Verstoˇ gegen die MEDL f uhrt...
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
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
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
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
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
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
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
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
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
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101CAN: Arbitrierung II
9 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101CAN: Arbitrierung III
10 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101CAN: Arbitrierung IV
11 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101CAN: Arbitrierung V
12 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101CAN: Arbitrierung VI
13 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101CAN: Fault Confinement IV
30 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
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
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
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
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
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
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
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Byteflight: Systemuberblick
37 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
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
00101
1110100100111010010101011000
101111
0100100111010010101011000101
11101001001110100101010110
00101111010010011101001010
10110
00101111
010010011101001010101100010111101001001110100
101010110 0010111101001001110100
10101011000101111010010011101001010101Byteflight: Nachrichtenformat
39 EMES: Eigenschaften mobiler und eingebetteter Systeme c© ROK
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
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
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