Jste zde

Použití komunikace FlexRay a integrované řadiče Freescale

Komunikační sběrnice FlexRay se začíná pomalu, ale jistě prosazovat, uplatňovat
a používat ve stále více elektronikou řízených automobilech. Její výhodou proti
dosud používaným CAN a LIN je velká přenosový rychlost, velmi dobrá ochrana
přenášených dat, dvoukanálová struktura a zároveň statický i dynamický přístup
na sběrnici. Pro FlexRay komunikaci a přístup na sběrnici je však nutné vytvořit
konkrétní hardwarově-softwarové rozhraní, tzv. uzel, který propojuje nadřazený
systém (CPU) s vodiči sběrnice. Ty jsou však dnes již výrobci, jako je například
Freescale, nabízeny v podobě různých integrovaných obvodů.

Hlavním a typickým praktickým "šířitelem" protokolu FlexRay je již několik let automobilka BMW, která jej postupně nasazuje do nově vyvíjených a vyráběných automobilech všech řad. Ta je také jedním z lídrů vývoje v konsorciu FlexRay. FlexRay však není využíván na všech úrovních datového přenosu v automobilech, ale je vhodně doplňován již dlouho používanými standardy CAN a LIN. Jak můžeme vidět níže na obrázku 2, FlexRay je díky svým vlastnostem využíván jako hlavní páteřní síť, zatímco CAN a LIN vytváří propojení s méně náročnými částmi systému. K realizaci komunikace jsou v praxi využívány buď speciální verze mikroprocesorů a mikrokontrolérů určené právě pro automobilový průmysl, které již FlexRay mají implementován, nebo pro kterýkoliv jiné procesory lze použít speciální integrované FlexRay řadiče. Obě varianty nabízí například známý výrobce integrovaných obvodů, firmy Freescale.

Obr. 1. Automobily BMW již FlexRay několik let úspěšně využívají, hlavně když jde systémy jízdní stability, řízení a bezpečnosti

Použití FlexRay

Hlavní zaměření standardu FlexRay jsou automobily, dnes hlavně realizace následujících systémů:

  • Drive-by-Wire - plné elektrické ovládání auta
  • Brzdný systém
  • Systém trakční kontroly
  • Systém zabezpečení posádky - airbagy

I když je hlavní doménou FlexRay komunikace automobilový průmysl, lze ji samozřejmě použít i v jiných podobně náročných aplikacích jako například:

  • Ostatní dopravní prostředky (letadla, lodě, vlaky)
  • Automatizace a řízení budov
  • Požární zabezpečí a zajištění vstupu a ostrahy budov
  • Kompletní automatizace rozsáhlé výrobní linky - propojení senzorů, akčních členů a řídící logiky
  • Distribuované řízení a řídící logika
  • Zdravotnické systémy - komunikace lékařským přístrojů, podpora života
  • apod.

Obr. 2. V současných automobilech je FlexRay nasazován společně s CAN a LIN. FlexRay je hlavně nasazován na náročné systémy, u nichž musí být zajištěna 100% funkčnost téměř za všech okolností

Základní výhody a vlastnosti standardu FlexRay

Jak je možné vzhlédnout v podrobnějším více teoreticky laděném článku "Sběrnice a komunikace FlexRay nejen pro automobily" na serveru automatizace.hw.cz, FlexRay se vyznačuje zajímavými vlastnostmi a principem komunikace. Velká přenosová rychlost 500 kb/s až 10 Mb/s umožňuje stíhat v podobě páteřní sítě přenos velkého objemu dat, které produkují dnešní sofistikované automobilové systémy, jako např. telemetrie, řízení prokluzu kol, tvrdosti tlumičů, ABS, různé systémy jízdné stability apod. Navíc tím, že zároveň poskytuje všem komunikujícím jednotkám možnost tzv. statického i dynamického přístupu na sběrnici, je vhodná pro zpracování dat v reálném čase, kde se vyžaduje okamžitý bezodkladný přenos.

Obr. 3. 7 uzlů/jednotek (node) je připojeno ve 2 topologiích hvězda - některé uzly jsou připojené do obou hvězd

Dvoukanálová struktura zase umožňuje lépe zabezpečit komunikaci kritických systémů a funkcí, které musí pracovat za každé okolnosti. Těmi mohou být v automobilech například systémy jízdní stability, brzdné systémy (ABS) a záchranné systémy (airbagy), kde každý problém a každá chybička může způsobit havárii nebo třeba i ztráty na životech. Proto FlexRay dále v sobě implementuje jak softwarové, tak i hardwarové zabezpečí přenosu dat, tvořené CRC cyklickým součtem aplikovaný na celý přenášený rámec a Bus Guardian obvody kontrolující reálný stav přenosu - napěťové úrovně na vodičích sběrnice. Dle zjištěných výsledků chybovosti je pak koordinována i celá další funkce postižených FlexRay uzlů zásahem nadřazeného systému. Proti chybovosti je dost imunní i použitý způsob adresace pomocí uzlům komun. jednotek pevně přiděleného čísla rámce, tzv. frame ID. Podle něho pak má každý uzel pevně přidělené místo v komunikačním cyklu pro vložení svého rámce. Filtrování zpráv na straně přijímače lze pak provádět tzv. message ID přenášeného v rámci jako součást dat a generovaného nadřazeným systémem (host) připojený k danému uzlu.

Obr. 4. Komunikační cyklus (základní jednotka ve FlexRay pro přenos dat) kanálu 1 přenáší rámce (frames) statickým i dynamickým přístupem na sběrnici

Z pohledu propojení lze využít topologie typu sběrnice, hvězda (komunikace typu point-to-point), nebo libovolné vzájemné kombinace, kdy je na jednu větev hvězdy připojeno několik uzlů. Mezi sousedními jednotkami může být vzdálenost až 24 m, přičemž v topologii hvězda je její střed tvořen aktivním FlexRay oddělovačem. Ten umožňuje i vzájemné propojení dalším oddělovačem, tzn. vytváří vzájemné propojení struktur typu hvězda či kombinací hvězda-sběrnice (označované jako cluster).

Obr. 5. Příklad kombinace sběrnice FlexRay se "tradičními" sběrnicemi CAN a LIN v automobilu

Integrované řadiče FlexRay od Freescale

V nabídce Freescalu lze již nalézt několik mikrokontrolérů a procesorů, které již v sobě obsahují podporu komunikace po FlexRay, jde MCU řady S12XFxx a MPC55xx. Pokud je však z nějakého důvodu použit procesor bez integrovaného FlexRay řadiče, lze ho doplnit v podobě samostatné součástky. V tomto směru může Freescale poskytnout následující integrované obvody:

  • MFR4200
  • MFR4300 a MFR4310

Oba samozřejmě podporují plnou dvoukanálovou strukturu a všechny bloky a funkční hladiny tvořící typický FlexRay uzel. Tedy přesněji realizují rozhraní FlexRay řadič - nadřazený systém (Controller Host Interface), na který již přímo připojují datové vstupy/výstupy komunikujícího procesoru, provozní vrstvu uzlu (Protocol execution layer) a kódování přenosu (Coding/decoding layer). Ve funkci řídícího prvku uvnitř pracuje 16bitový MCU Freescale HCS12. Protože však FlexRay je flexibilní z pohledu použití fyzického přenosového média, lze použít metalické vodiče či optická vlákna, již řadič neobsahuje prvky s tím spojené. Tím jsou budiče sběrnice a fyzické "hlídače" chybovosti přenosu Bus Guardians.

 

 

Obr. 6. Blokové schéma FlexRay uzlu s řadičem, budičem BD a obvody Bus Guardian BG (vlevo) a blokové schéma integrovaného řadiče (vpravo)

Obr. 7. Možná realizace FlexRay komunikace z procesoru ARM7 prostřednictvím integrovaného komunikačního řadiče MFR 4300 a budičů sběrnice TJA1080

I když je možnost použití optických vláken, resp. kabelů, možná a standard FlexRay tuto možnost zahrnuje, zatím pro něj neexistují vhodné budiče. Proto se zatím všeobecně využívá jen již zmíněné dvouvodičové metalické vedení. To by mělo být realizováno stíněným nebo nestíněným zkrouceným párem TP (Twisted Pair - STP nebo UTP). Pro tyto sběrnice jsou vhodné například budiče TJA1080, použité v zapojení na obrázku 7.

Obr. 8. Příklad napojení FlexRay Freescale řadiče MFR4200 na sběrnici prostřednictvím dvou budičů (Bus Driver) a hlídačů (Bus Gurdian)

Integrovaný FlexRay řadič MFR4200

Tento řadič je vhodný pro méně datově náročné přenosy, protože podporuje pouze 32 bajtový přenos dat místo 254 bajtů, které podporuje samotný protokol FlexRay. Pro ně však obsahuje dostatek bufferů (pro 59 zpráv). Veškeré časování si obvod vytváří sám a navíc poskytuje přesný hodinový signál i pro další aplikace na externích pinech. Pro zjednodušení života nadřazenému procesoru pak poskytuje možnost filtrace zpráv dle čísla rámce (frame ID), kanálu, čísla zprávy (message ID) a přijímacího FIFO zásobníku. Samozřejmostí je pak nastavení parametrů vyžadované protokolem FlexRay, jako je délka komunikačního cyklu, délka statického segmentu apod. Zajímavostí je použití jako fyzické přenosové vrstvy klasickou sběrnici RS-485 - viz obrázek 10.

Vlastnosti:

  • Přenosová rychlost až 10 Mb/s pro každý z kanálů
  • Buffer pro 59 zpráv, každý až pro 32 bajtů dat
  • Jeden FIFO buffer
  • Každý buffer zprávy lze nakonfigurovat jako přijímací, vysílací (jednoduchý či duální) nebo jako část přijímacího FIFO
  • Flexibilní mechanismus chybová signalizace poskytující 8 čítačů a slot pro stavový indikátor a přerušení
  • Interní měření časového rozdílu pro synchronizaci hodin. signálu, které lze číst nadřazeným CPU
  • Nadřazené CPU může přistupovat ke všem bufferům
  • Filtrování zpráv dle frame ID, kanálu, message ID, přijímacího FIFO
  • Nastavitelná délka komunikačního cyklu v počtu mikroticks.
  • Dva volitelné Controller Host Interface:
    • HCS12 rozhraní pro přímé připojení Freescale MCU řady HCS12 s max. taktováním 8 MHz
    • Asynchronní paměťové rozhraní AMI pro asynchronní připojení jiných MCU
  • Interní 40 MHz krystalový oscilátor
  • Interní napěťový stabilizátor pro logiku a oscilátor
  • Nastavitelný výstup hod. signálu: 4/10/40 MHz
  • Výstup na fyzickou vrstvu odpovídající fyzické vrstvě FlexRay, může být použito však i RS-485
 

Obr. 9. Provedení integrovaného řadiče MFR4200

Obr. 10. FlexRay řadič podporuje i komunikaci pro fyzické vrstvě tvořené RS-485

Integrovaný FlexRay řadič Freescale MFR43xx

Mimo obvodu MFR4200 jsou v nabídce i MFR4300 a jeho novější verze MFR4310. Oba jsou pak optimalizovány pro přímé připojení na 16bitové MCU Freescale S12X a 32bitové procesory řady PowerPC MPC5xx a MPC55xx (viz obrázek 12.), ale mohou být připojeni na libovolný MCU a CPU i jiných výrobců než Freescale. Jedním z výrazných rozdílů od MFR4200 je již plná podpora 254 bajtových zpráv, filtrace i podle stavu čítače cyklů, volitelná frekvence rozhraní řadič-nadřazený systém atd.

Vlastnosti:

  • Možnost jednokanálového i dvoukanálového připojení
  • FlexRay port A může být nakonfigurován jako kanál A nebo i jako kanál B
  • Přenosová rychlost: 2.5, 5, 8, nebo 10 Mb/s
  • 128 konfigurovatelných bufferů až pro 254 bajtové zprávy
  • široká možnost filtrování zpráv podle:
    • čísla rámce (frame ID)
    • čísla kanálu (channel ID)
    • čítače cyklů (cycle counter)
  • Hlavička, přenášená data jsou uložená přímo v paměti řadiče
  • Konfigurovatelná velikost datového bufferu zprávy od 0 do 254 bajtů
  • Možnost oddělených bufferů zpráv pro statické i dynamické segmenty
  • Buffery zpráv lze volitelně konfigurovat jako přijímací či vysílací
  • Dva nezávislé přijímací FIFO zásobníky
  • Jeden absolutní a jeden relativní časovač
  • Dva volitelné Controller Host Interface:
    • HCS12 rozhraní pro přímé připojení Freescale MCU řady HCS12
    • Asynchronní paměťové rozhraní AMI pro asynchronní připojení jiných MCU
  • Interní 40 MHz krystalový oscilátor
  • Volitelná frekvence hodin Controller Host Interface: 20/40/80 MHz
  • Interní napěťový stabilizátor
  • Nastavitelný výstup hod. signálu: 4/10/40 MHz
  • Výstup na fyzickou vrstvu odpovídající fyzické vrstvě FlexRay
 

Obr. 11. Provedení integrovaného řadiče MFR4310

 

Obr. 12. Realizace připojení FlexRay řadiče Freescale MFR4310 k DSP řady 56F83xx

Závěr

Protokol FlexRay se bude dále vyvíjet a s tím se bude jistě rozšiřovat i jeho použití, podobně jako tomu bylo dříve u sběrnice CAN. Ta se postupně velmi rozšířila i mimo oblast automobilového průmyslu. Podobný vývoj do budoucna by mohl být u i FlexRay. Rozhodně k tomu poskytuje zajímavé vlastnosti a z komerčního a ekonomického hlediska za jeho vývojem a produkcí stojí velké a významné firmy jako BWM, Volkwagen, Philips, Freescale a mnoho dalších. Bližší podrobnosti o integrovaných řadičích Freescale lze pak nalézt na firemní stránkách www.freescale.com. Existují i české stránky české pobočky Freescalu na www.freescale.com/webapp/sps/site/homepage.jsp.

Antonín Vojáček

DOWNLOAD & Odkazy

Hodnocení článku: