Onderwerpen:
Inleiding:
Flexray is een automotive communicatieprotocol dat is ontwikkeld voor voertuigen met systemen die zeer snel en betrouwbaar met elkaar moeten communiceren. Denk hierbij aan systemen van complexe veiligheidssystemen zoals drive-by-wire, steer-by-wire en brake-by-wire. Voor dit soort toepassingen kan de CAN-bus tekortschieten, met name op het gebied van snelheid en voorspelbaarheid. Flexray is daarom ontworpen als aanvulling op CAN en is vastgelegd als internationale ISO-norm (ISO 17458). FlexRay is:
- Zeer snel. Data kan met snelheden tot 10 Mbit/s per kanaal worden verzonden, wat aanzienlijk sneller is dan bij CAN-bus;
- Deterministisch en tijdgestuurd: communicatie verloopt volgens een vast schema waarin elk regelapparaat een vaste plaats in de tijd heeft. Hierdoor is het gedrag van het netwerk voorspelbaar en reproduceerbaar;
- Fouttolerant: mogelijke storingen in kabels of modules kunnen het netwerk nog steeds laten blijven communiceren (eventueel via redundant kanaal).
Op deze pagina worden de eigenschappen en voordelen van Flexray ten opzichte van CAN uitgelegd.
Topologie:
Flexray ondersteunt meerdere netwerkstructuren, ook wel topologieën genoemd. De meest gebruikte topologie is de busstructuur, die in opzet vergelijkbaar is met de CAN-bus. Hierbij zijn meerdere regeleenheden aangesloten op één gezamenlijke differentiële signaallijn. Deze opzet vereist relatief weinig draden en connectoren, waardoor de bedrading overzichtelijk blijft en de kosten beperkt blijven. Een nadeel van de busstructuur is dat een onderbreking in de bus, bijvoorbeeld door een draadbreuk of slechte verbinding, invloed kan hebben op meerdere regeleenheden tegelijk.
Daarnaast ondersteunt Flexray een stertopologie. In deze opstelling zijn regeleenheden via afzonderlijke verbindingen aangesloten op een centraal knooppunt, bijvoorbeeld een actieve sterkoppeling. Een belangrijk voordeel hiervan is dat een storing in één tak van het netwerk niet direct invloed heeft op de rest van het systeem. Dit verhoogt de fouttolerantie en de betrouwbaarheid van het netwerk.
Ook zijn hybride topologieën mogelijk. Hierbij worden bus- en sterstructuren gecombineerd. Deze opzet combineert de eenvoudige bekabeling van een busstructuur met de verhoogde betrouwbaarheid van een stertopologie. In voertuigen met veel regeleenheden en hoge veiligheidseisen wordt deze combinatie vaak toegepast.
Flexray kan werken met één of twee communicatiekanalen, genaamd “single channel” en “dual channel”.
- Bij een single-channel configuratie wordt één kanaal gebruikt voor communicatie. Dit is eenvoudiger en goedkoper, maar biedt geen redundantie;
- Bij een dual-channel configuratie zijn er twee mogelijkheden. Beide kanalen kunnen dezelfde informatie verzenden. Als één kanaal uitvalt, kan het andere kanaal de communicatie blijven verzorgen (redudantie). De tweede mogelijkheid is dat beide kanalen verschillende data verzenden. Hierdoor wordt de beschikbare bandbreedte vergroot.
Een dual-channel configuratie in combinatie met een ster- of hybride topologie resulteert in een zeer betrouwbaar netwerk. Dit is één van de redenen waarom Flexray wordt toegepast in veiligheidssystemen van voertuigen.
Snelheid:
Flexray is ontworpen voor hoge datasnelheden en ondersteunt communicatie tot 10 Mbit/s per kanaal. Dit is aanzienlijk sneller dan CAN-high speed netwerken. Omdat Flexray kan werken met twee kanalen, kan de totale datacapaciteit verder worden vergroot wanneer beide kanalen verschillende data verzenden.
De vaste tijdstructuur draagt bij aan een hoge datasnelheid. Omdat er geen arbitrage plaatsvindt, gaat er geen tijd verloren aan het wachten op busvrijgave. De uitleg over de vaste tijdstructuur wordt in de volgende paragraaf uitgelegd.
Communicatie volgens een vaste tijdscyclus:
Het Flexray-netwerk is deterministisch opgebouwd. Deterministisch houdt in dat vooraf vastligt wanneer elke regeleenheid mag zenden en wanneer zij berichten ontvangt. De communicatie verloopt in herhalende cycli die exact gesynchroniseerd zijn voor alle regeleenheden in het netwerk. Hierdoor weet elke regeleenheid precies op welk moment bepaalde informatie beschikbaar mag worden verzonden en wanneer de informatie wordt ontvangen.
Elke communicatiecyclus is opgedeeld in een statisch en een dynamisch segment:
- Het statische segment is volledig tijdgestuurd. In dit deel van de cyclus heeft elke regeleenheid één of meerdere vaste tijdslots toegewezen gekregen. Alleen in deze toegewezen tijdslots mag de betreffende regeleenheid een bericht verzenden. Omdat deze tijdslots elke cyclus op exact dezelfde positie terugkomen, is de gegevensoverdracht volledig voorspelbaar voor alle regelapparaten in het netwerk. Doordat er geen arbitrage wordt toegepast zoals bij CAN-bus, is er geen gevaar dat een regelapparaat moet wachten met het bericht omdat het bericht een lage prioriteit heeft;
- Het dynamische segment vormt een aanvulling op het statische segment: hier wordt de communicatie gebeurtenisgestuurd. Regeleenheden kunnen hier berichten verzenden wanneer daar behoefte aan is, zolang er ruimte beschikbaar is binnen het dynamische segment. Dit segment is bedoeld voor minder kritische informatie, zoals statusinformatie van sensoren die weinig invloed hebben op het veiligheidssysteem, of comfortfuncties waarbij vertragingen geen merkbare invloed hebben op de veiligheid.