Standard FlexRay 2.1
Komunikační standard FlexRay
Jan Malinský
ČVUT Praha, FEL, katedra měření X38SSL
Str. 1
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Současná koncepce řízení
Mechanická vazba
Převodovka řízení X38SSL
Str. 2
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Budoucí koncepce řízení (steer-by-wire) Snímač úhlu
S
Zpětná vazba
M
FR stanice
FlexRay sběrnice Akční člen
FR stanice
M S
FR stanice
Senzory
Převodovka řízení X38SSL
Str. 3
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
SKATEBOARD
časopis automatizace 4/2006 X38SSL
Str. 4
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Proč FlexRay ? – porovnání s CAN standardem • CAN – CSMA/CR (Carrier Sense Multiple Access with Collision Resolution) kolize čas Stanice A
Stanice A
Stanice C
Stanice B
Stanice C
CAN sběrnice X38SSL
Str. 5
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Proč FlexRay ? – porovnání s CAN standardem • FlexRay –TDMA (Time Division Multiple Access) čas Slot A
Slot B
Slot C
Stanice A
Stanice B
Stanice C
FlexRay bus X38SSL
Str. 6
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Obsah přednášky: • • • •
Vznik standardu FlexRay Systémy X-by-wire FlexRay x CAN bus Fyzická vrstva – elektrické vlastnosti – sběrnicové topologie
• Linková vrstva – – – – – –
komunikační cyklus formát rámce kódování časová synchronizace probuzení sítě z režimu spánku nastartování sítě a integrace stanic
• Spolehlivost standardu • Průzkum trhu elektronických součástek a přístrojů podporujících FlexRay X38SSL
Str. 7
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Vznik (r.1999) Konsorcium FlexRay BMW Philips Daimler Chrystler General Motors Motorola Bosch
komunikační standard FlexRay
X38SSL
projekt In-Vehicle Networks
technologie X-by-wire
Vyřazení mechanických a hydraulických systémů (ovládání řízení, brzdění, akcelerace) a jejich nahrazení spolehlivými elektronickými systémy.
Str. 8
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
FlexRay stanice
STANICE A Linková vrstva Aplikační vrstva
Komunikační řadič
Communication Controller
Řídící procesor
Budič sběrnice (Bus Driver) + Hlídací člen (Bus Guardian)
Host
Fyzická vrstva Budič sběrnice (Bus Driver) + Hlídací člen (Bus Guardian)
STANICE
B
STANICE
C
Kanál A Kanál B
X38SSL
FlexRay sběrnice
Str. 9
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Fyzická vrstva
Budič Transmitter
U
BP
IDLE_LP
Kanál A Reciver
BM
UBM
1,8 – 3,2 V
U = 1,2 V
UBP
BP
Kanál B Reciver
Log.0
Log.1
UBP
GND Transmitter
IDLE
BM
UBM 0V
t
• diferenciální sběrnice (odolnost proti souhlasnému rušení) X38SSL
Str. 10
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Sběrnicové topologie I) Bod - bod
X38SSL
Str. 11
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Sběrnicové topologie II) Pasivní sběrnicová topologie
bez kruhů a aktivních prvků max. 22 stanic max. délka sběrnice 24m X38SSL
Str. 12
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Sběrnicové topologie III) Pasivní hvězda
max. 22 stanic max. délka mezi dvěma libovolnými uzly je 24m X38SSL
Str. 13
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Sběrnicové topologie IV) Aktivní hvězda
aktivní hvězda – více portový obousměrný opakovač max. délka mezi stanicí a hvězdou je 24m max. dvě hvězdy na cestě mezi stanicemi X38SSL
Str. 14
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Sběrnicové topologie IV) Aktivní hvězda
X38SSL
Str. 15
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Sběrnicové topologie V) Hybridní topologie
X38SSL
Str. 16
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Linková vrstva – komunikační řadič
Úkoly: • • • • • •
X38SSL
Sestavení rámce Kódování/dekódování Přístup na sběrnici (přístupová metoda - TDMA) Synchronizace časové základny Wakeup a startup proces Komunikace s řídícím procesorem – aplikační vrstva
Str. 17
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Komunikační cyklus (časování) Statický segment (2 až 1023 slotů)
Dynamický segment (0-7994 minislotů) Nedeterministické
Deterministické Statický slot 1
Symbolové okno Klidový stav (0-87 MT)
Statický slot n
5 - 2047 MT
Dynamický slot 1 Mini slot
Mini slot
Dynamický slot m Mini slot
Mini slot
2-63 MT M M T T
M M T T
u u T T
X38SSL
M T
M T
40 - 240 uT/MT M M M T T T
MT (makrotik) - globální časová jednotka sítě
u u u u T T T T uT (mikrotik) - nejmenší jednotka lokálního času odvozená od časové základny stanice (menší než trvání 1 bitu) T(1 bit) = 8* Tvz(clk)
Str. 18
Přenos symbolu MTS 0 - 87 MT
M T
8,4,2 uT/bit u u T T 1 uT = 12,5; 25; 50 ns 100; 200 ns
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Multiplexování slotů stanice P1
P2
P3
P4
Komunikační slot přiřazený stanici
Cyklus 1
• •
X38SSL
Cyklus 2
Cyklus 3
Cyklus 4
Cyklus 5
Komunikační cykly se periodicky opakují Číslování kom. cyklů (0 – 63 přenášeno v rámci) – využití pro multiplexování jednoho slotu více úlohám běžícím v rámci jedné stanice
Str. 19
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Komunikační cyklus • • • • • •
Rozčlenění cyklu lze nakonfigurovat před startem sítě (nelze měnit za běhu sítě) Komunikační cykly se periodicky opakují Číslování kom. cyklů (0 –63 přenášeno v rámci) – využití pro multiplexování jednoho slotu více úlohám běžícím v rámci jedné stanice Stanice uchovává číslo cyklu prostřednictvím čítače cyklů. Makrotik (MT) – globální časová jednotka na sběrnici (jeho nominální hodnota musí být shodná v celé síti) Miktotik (mT) – lokální nejmenší časová jednotka každé stanice odvozená od časové základny stanice (v úvahu přicházejí nominální časy 12,5; 25; 50ns)
X38SSL
Str. 20
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Statický segment komunikačního cyklu
• • • • • • • •
Povinný (nelze nakonfigurovat cyklus bez statického segmentu) Konstantní délka (udaná v počtu MT) Počet slotů a jejich délka jsou konstantami (nastaveno před spuštěním) Každá stanice má přidělený svůj statický slot pro vysílání (na obou komunikačních kanálech A,B ve stejnou dobu je přidělen stejný slot). V jednom statickém slotu je vysílán jeden rámec příslušné stanice. Pokud stanice chce vyslat na obou kanálech, musí vyslat totožný rámec na oba kanály (souvisí se synchronizačními rámci) Statické sloty jsou stejně dlouhé se staticky konfigurovatelnou dobou trvání (počet makrotiků). Pro uchování aktuálního čísla slotu má každá stanice dva čítače slotů (pro kanál A a B).
X38SSL
Str. 21
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Dynamický segment komunikačního cyklu • • • • • •
• •
X38SSL
Je volitelný (nemusí se vyskytovat v komunikačních cyklech) Proměnná délka komunikačního slotu (dle konkrétní délky rámce) v celistvém počtu minislotů Komunikace na kanálech A,B jedné stanice není na sobě závislá. Počítadla dyn. slotů pro oba kanály jsou na sobě nezávislé. Počet minislotů na dynamický segment je konstantou (0-7994) Dynamický slot se zkládá z – jednoho minislotu pokud stanice nemá žádná data k vyslání – více minislotů (podle délky rámce). Stanice může vysílat na kanál A a B v jiných časových okamžicích v rámci jednoho dynamického segmentu. Začátek vysílání konkrétní stanice od začátku dyn. segmentu není přesně znám – může dojít dokonce k přesunu do dalšího komunikačního cyklu (nedeterministické).
Str. 22
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Statický segment x dynamický segment
Statický segment (deterministické)
Dynamický segment (nedeterministické)
Kanál A
A
B
C
A
Prázdný slot
D
E
Kanál B
A
Prázdný slot
C
A
Prázdný slot
D
F
X38SSL
Str. 23
C
D
A
E
D
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
FlexRay rámec Hlavičkový segment
Datový segment
I I I I I 12345
ID rámce
Délka dat
Hlavičkové CRC
5 bitů
11 bitů
7 bitů
11 bitů
Číslo Data 0 Data 1 cyklu
6 bitů
Data n
0 .. 254 bytů
CRC segment
CRC
CRC
CRC
24 bitů
I1 - Reservovaný bit I2 - Indikátor preambule datového segmentu I3 - Indikátor nulového rámce I4 - Indikátor synchronizačního rámce I5 - Indikátor startovního rámce
X38SSL
Str. 24
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Převzorkování vstupního datového toku a výběr z většiny sběrnice
Posuvný Registr
Výběr z většiny
data k linkové vrstvě
Dekódování
(5 bitů)
CLK
log. 1
log. 0
glitch 0 0 0 0 0
1 0 0 0 0
1 1 0 0 0
zpoždění X38SSL
1 1 1 0 0
1 1 1 1 0
0 1 1 1 1
glitch 1 0 1 1 1
1 1 0 1 1
1 1 1 0 1
0 1 1 1 0
0 0 1 1 1
0 0 0 1 1
0 0 0 0 1
1 1 0 0 0
0 1 1 0 0
0 0 1 1 0
0 0 0 1 1
1 0 0 0 1
1 1 0 0 0
1 1 1 0 0
zpoždění Str. 25
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Kódování a dekódování
•
Kódování – finální operace linkové vrstvy před vysláním bitového toku fyzické vrstvě (vkládání bitových sekvencí mezi jednotlivé bajty)
•
Dekódování – první operace linkové vrstvy pro přijatý datový tok od fyzické vrstvy, odebrání přidaných bitových sekvencí
X38SSL
Str. 26
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Vkládání bitových sekvencí (statický segment) Statický slot n Klidový stav
Statický slot n+1
Statický rámec
CID
Klidový stav
Statický rámec
Action Point Offset
F S S
TSS (3 – 15 bitů)
• •
• • X38SSL
Byte 0
BSS
Byte 1
BSS
Poslední byte
BSS
FES
CID (11 bitů)
TSS (Transmission Start Sequence) 5-15 bitů 0 slouží k správnému nastavení spojení vstup-výstup aktivní hvězdy FSS (Frame Start Sequence) 1 bit v log.1 kompenzace možné kavantizační chyby prvního BSS po TSS BSS (Byte Start Sequence) – dvoubitová posloupnost 10 vložena před každý byte, synchronizace bitového kmitočtu přijímače. FES (Frame end sequence) – sekvence 01 označuje konec posledního byte Str. 27
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Vkládání bitových sekvencí (dynamický segment) Dynamický slot n Klidový stav
dynamický slot n+1
Dynamický rámec
CID
Klidový stav
Dynamický rámec
Action Point Offset
F S S
TSS (3 – 15 bitů)
•
Byte 0
BSS
Byte 1
BSS
Poslední byte
BSS
FES
CID
DTS
(11 bitů)
DTS (Dynamic Trailing Sequence) proměnná délka (log. 0) – doplnění zbytku v posledním minislotu
X38SSL
Str. 28
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Linková vrstva – synchronizační mechanismus Výrobní tolerance Stárnutí krystalu Kolísání teploty
FR stanice
FR stanice
FR stanice
Slot 2
Řadicí páka
FlexRay bus Volant Slot 1
X38SSL
Pedály
Str. 29
Slot 3 Porušení hranic slotů !! Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Problém synchronizace časových základen stanic
1.stanice (sync)
4.stanice
•
•
2.stanice (sync)
5.stanice
3.stanice (sync)
6.stanice
7.stanice
Synchronizační stanice mají přiřazeny svoje komunikační sloty + jeden synchronizační slot pro vysílání synchronizačního rámce Synchronizační rámec: – Sync frame indicator nastaven v log. 1 – Null frame indicator nastaven v log.0 – nepoužitelná data v payload segmentu rámce, log.1 – data jsou použitelná
X38SSL
Str. 30
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Problém synchronizace časových základen stanic - pravidla • • • • •
Vysílání synch. rámců pouze ve statickém segmentu komunikačního cyklu Každá synch. stanice je povinna vyslat ve svém synch. slotu synchronizační rámec v každém komunikačním cyklu Synch. stanice musí synch. rámec poslat na na oba kanály (A,B) Počet synch. stanic = 2 (bod – bod) až 15 Nesynchronizační stanice nesmí vyslat rámec s nastaveným indikátorem
sync frame
X38SSL
Str. 31
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Linková vrstva – synchronizační mechanismus
• Korekce ofsetu (OC) • Korekce rychlosti (RC) čas Cyklus 2n Měření Korekce rychlosti (RC)
X38SSL
Cyklus 2n + 1
Cyklus 2n + 2
Měření Korekce ofsetu (OC)
Str. 32
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Problém synchronizace časových základen stanic
Synchronizace rychlosti
A
ice B Stan Stanice C
Globální čas [s]
X38SSL
Stanice A Stanice B Stanice C
Globální čas [s]
Str. 33
Synchronizace rychlosti a ofsetu
Lokální čas [MT]
nice a t S
Lokální čas [MT]
Lokální čas [MT]
Bez synchronizace
C
B
A
Globální čas [s]
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Synchronizace časové základny – měření odchylek a výpočet korekce
Cyklus 2n
Stat. seg.
Dyn. seg.
Sym. okno
Měř.
Cyklus 2n + 1
Klid. stav
Stat. seg.
Měř.
Dyn. seg.
Sym. okno
Cyklus 2n + 2
Klid. stav
Korekce ofsetu
Stat. seg.
Dyn. Sym. seg. okno
Klid. stav
Měř.
Korekce rychlosti
Cyklus 2n + 3
Stat. seg.
Dyn. Sym. seg. okno
Měř.
Korekce ofsetu
Klid. stav
Korekce rychlosti Výpočet korekce rychlosti dle rozdílu změřených odchylek mezi sudým a lichým cyklem.
Výpočet korekce ofsetu dle změřené odchylky v lichém cyklu.
Měření odchylky předpokládaného času příchodu synchronizačního rámce od skutečného času příchodu. X38SSL
Str. 34
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Vzbuzení sítě (Wakeup) •
•
Budič sběrnice je schopen po příjmu speciálního symbolu WUS probudit z režimu spánku zbytek stanice Alespoň jednu stanici musí být možno vzbudit externí událostí Externí wakeup událost
zbytek stanice
zbytek stanice
zbytek stanice
budič sběrnice
budič sběrnice
budič sběrnice
Wakeup symboly
X38SSL
Str. 35
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Start sítě (Startup)
• • • •
V síti musí existovat dvě stanice se statusem STARTUJÍCÍ (coldstart node) Po procesu arbitráže se jedna z nich stává vůdčí stanicí (leading node) a započne komunikaci Startující stanice mezi sebou navážou spojení Ostatní stanice (non-coldstart node) se integrují k již běžícím stanicím
X38SSL
Str. 36
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Start sítě (Startup) Definice časového rozvrhu
1. stanice
2. stanice
status: startující
status: startující
Komunikační síť FlexRay (přístupová metoda TDMA)
X38SSL
3. stanice
4. stanice
5. stanice
status: nestartující
status: nestartující
status: nestartující
Str. 37
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1 nedetekovány st. rámce od podřízených st. Stanic (nejsou připravené)
rozdílné časování podřízené st. stanice nebo mnohonásobný přechod detekována kolize Stanice A status startující
STAV ČASOVÉ SCHÉMA
čekání na st.rámce od ostatních startovních stanic
hledání kolizí v kanále zachycení komunikace mimo A
odposlech komunikace
připraven
nedefinováno
Cyklus 0
Cyklus 1
Cyklus 2
Cyklus 3
Cyklus 4
Cyklus 5
normální aktivní stav Cyklus 6
Cyklus 7
Cyklus 8
- komunikace nedetekována - st. A se stává startujícím leaderem - st. A vyšle symbol CAS
- přijetí CAS symbolu od leadera - B se stává podřízenou startující stanicí
platný st. rámec nepřijat (rozdílné časování)
Stanice B status startující
STAV
inicializ. časového schematu
odposlech komunikace
připraven
st. B přijala 1. platný startovní rámec od leadera (stanice A)
čekání na 2. st. rámec od leadera (odhalení časového schématu leadera)
synchronizace s leaderem (přijetí dvou rámců leadera) synchronizace s leaderem se nezdařila
připojení (počátek vysílání st. B)
normální aktivní stav
st. rámce od leadera ustaly
st. B přijala 2. platný startovní rámec od leadera (stanice A) platný st. rámec nepřijat (rozdílné časování)
Stanice C status normální
STAV
připraven
odposlech komunikace
čekání na 2. st. rámec od leadera (odhalení časového schématu leadera)
inicializ. časového schematu
čekání na st. rámce od startovních stanic synchronizace dle přijatých startovních rámců
normální aktivní stav
nepřijat st. rámec od podřízené st. stanice (B) kanál
A
Symbol CAS (Collision Avoidance Symbol)
X38SSL
A
A
Startovní rámec od leadera (stanice A)
Str. 38
A
A B
A B
Startovní rámec od podřízené startující stanice (stanice B)
A B
A B
A B C
Normální rámec od nestartující stanice C
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Spolehlivost standardu FlexRay - shrnutí Deterministický přístup na sběrnici ve statickém segmentu Redundantní komunikační kanál Na úrovni budiče sběrnice (fyzická vrstva) -
je možná hardwarová detekce zkratu a přerušení sběrnice Člen bus guardian zakazující přístupu stanice na sběrnici mimo její vyhrazený slot
Na úrovni komunikačního řadiče (linková vrstva) -
Dvojnásobné zabezpečení cyklickým redundantním kódem – hlavička rámce a celý rámec Převzorkování vstupního signálu (eliminace rušivých zákmitů)
Na úrovni aplikačního host procesoru (aplikační vrstva) -
X38SSL
Aplikační vrstva přijímá oznámení chybách od fyzické a linkové vrstvy a rozhoduje o dalším postupu – snaha o zotavení z chyby příp. redukce funkce zařízení (Error management service)
Str. 39
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
SERVO motor
Node no.1
Node no.2
Node no.3
Bar graph
LEDs
Bar graph
Display
Bar graph
Naše reálná FlexRay síť
Display
Node no.4
Node no.5
Channel A,B
FlexRay analyzer
RS232
PC visualization
Active star
Node no.6
Node no.7
Node no.8
Node no.9
Node no.10
Gear lever
Steeringwheel
Switches
Pedals
Temperature sensor
External generators of time bases
X38SSL
Str. 40
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Naše reálná FlexRay síť
X38SSL
Str. 41
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Průzkum trhu •
PHILIPS – Budič sběrnice TJA1080 včetně hlídacího členu (dostupnost od listopadu 2005) – 32-bit procesor ARM9 SJA2510 s integrovaným řadičem standardu FlexRay verze 2.1 (dostupnost ??)
•
FREESCALE – MFR4200 integrovaný řadič standardu FlexRay verze 1.1 (plně dostupný včetně dokumentace) – MFR4300 integrovaný řadič standardu FlexRay verze 2.1 (plně dostupný včetně dokumentace) – Rodina 16-bit procesorů MC9S12XF s integrovaným řadičem standardu FlexRay verze 2.1 (dostupnost 1.čtvrtletí r. 2007)
•
BOSCH – IP funkce (E-Ray) řadiče standardu FlexRay verze 2.1
X38SSL
Str. 42
Jan Malinský, Katedra měření FEL ČVUT, Praha
Standard FlexRay 2.1
Děkuji za pozornost
X38SSL
Str. 43
Jan Malinský, Katedra měření FEL ČVUT, Praha