Începutul secolului XXI în industria auto este o perioadă în care protocolul CAN nu mai este suficient ca sistem de control și coordonare pentru toate sistemele din autoturisme. Lansând cea de-a treia și ultima versiune în 2009 sub numele FlexRay, producătorul său a deschis un nou drum în lumea protocoalelor de comunicație utilizate la vehicule. În articolul de mai jos, vă prezentăm acest sistem relativ recent, dar acum indispensabil.
Definiție
FlexRay este o magistrală de comunicații de mare viteză, care este tolerantă la erori și la standarde ISO, care poate fi utilizată în direcția prin cablu, condus prin cablu, frână cu fir, control adaptiv al vitezei de croazieră, suspensie activă și alte tipuri de siguranță.
Este rezultatul dezvoltării comune a unor companii precum BMW, VW, Daimler AG, GM, Bosch, NXP Semiconductors și Freescale. În 2009, a fost introdus 3.0 și a devenit protocolul final FlexRay.
Sistemul a debutat la mașini precum:
- Audi A8 (2011)
- BMW X5
- BMW X6
- BMW 7
- BMW 5
- BMW 5 GT
- Rolls Royce Ghost
Care au fost cerințele pentru inginerii care lucrează la FlexRay?
Cerința de bază pentru protocolul FlexRay a fost ca acesta să fie capabil de rate de transfer de date mari – mai mari decât CAN.
FlexRay are două canale separate, complet independente, cu o rată de transfer de date de 10 Mbit pe secundă pe canal.
Îndeplinește cerințele de control critic pentru siguranță – acest lucru aparține și caracteristicilor sale de bază. Acest lucru ne permite să încredințăm sisteme precum brake-by-wire sau steer-by-wire, unde cantități relativ mari de date trebuie să circule rapid și fiabil.
Nu există un consens clar cu privire la aplicarea lor astăzi, dar adevărul este că FlexRay a făcut posibilă utilizarea lor.
Ce face protocolul FlexRay diferit?
Dacă ar trebui să descriem protocolul în trei cuvinte, am putea spune: rapid, determinist și tolerant la erori. Ultimul este important pentru că nu există arbitraj, ca în cazul CAN.
Deși industria auto a generat crearea rețelei, de fapt, FlexRay a avut atât de mult succes încât nu a rămas doar în mediul vehiculului.
Rata de transfer de date de 10 Mbit/s pe canal, așa că de obicei cele două canale sunt utilizate în același scop, astfel încât realizează redundanță hardware.
Ciclul de comunicare poate fi împărțit în intervale de timp statice și dinamice. Partea statică este alocată unităților de control, în timp ce partea dinamică poate satisface chiar și scopuri multimedia cu lățimea de bandă rămasă. Funcționează pe un principiu controlat în timp care asigură integritatea informațiilor trimise și primite.
Cum funcționează sistemul FlexRay
Ceas
Sistemul FlexRay constă dintr-o magistrală și ECU (unități de control electronice). Fiecare ECU are un ceas independent . Compensarea ceasului nu poate fi mai mare de 0,15% în comparație cu ceasul de referință, astfel încât diferența dintre cel mai lent și cel mai rapid ceas al sistemului nu poate fi mai mare de 0,3%.
Aceasta înseamnă că dacă ECU are un emițător și ECU are un receptor, atunci pentru fiecare 300 de cicluri ale emițătorului există 299 și 301 cicluri de receptor. Ceasurile sunt resincronizate suficient de des, astfel se asigură că nu aceasta este o problemă.
Magistrală
Doar un ECU scrie de fiecare dată în BUS. Fiecare bit care trebuie trimis pe magistrală necesită până la 8 cicluri de probă de ceas. Receptorul introduce ultimele 5 mostre în memoria buffer și folosește majoritatea ultimelor 5 eșantioane ca semnal de intrare.
Biți
Valoarea bitului este eșantionată în mijlocul regiunii de 8 biți. Erorile sunt mutate în cicluri extreme, iar ceasul este sincronizat suficient de des încât derivă să fie mic. Derivarea este mai mică de 1 ciclu la 300 de cicluri și în timpul transmisiei ceasul este sincronizat de mai multe ori la 300 de cicluri.
Cadru
Toate comunicările sunt trimise sub formă de cadre. Mesajul este format din octeți, după cum urmează:
- Semnal de pornire a transmisiei (TSS) – Bit 0
- Semnal de pornire a cadrului (FSS) – primul bit
- de m ori:
o Semnal de pornire octet 0 (BSS0) – primul bit
o Semnal de pornire octet 1 (BSS1) – bit 0
o Bit 0 al octetului i
o Bit 1 al octetului i
o Bit 2 al octetului i
o...
o Bit 7 al octetului i - Semnal de sfârșit de cadru (FES) – bit 0
- Semnal de sfârșit de transmisie (TES) – primul bit
Dacă nimic nu comunică, magistrala este în starea 1, astfel încât toți receptorii știu că comunicarea a început când tensiunea scade la 0.
Receptorul știe că mesajul este complet verificând dacă BSS0 (1) sau FES (0) a fost primit.
Rețineți că 8 cicluri pe bit nu au nimic de-a face cu octeții. Transferul fiecărui octet durează 80 de cicluri. 16 pentru BSS0 și BSS1 și 64 pentru biții săi.
Sincronizarea ceasului
Ceasurile sunt sincronizate atunci când semnalul selectat se schimbă de la 1 la 0 dacă receptorul era inactiv sau aștepta BSS1.
Deoarece sincronizarea are loc la semnalul ales, micile erori de transmisie în timpul sincronizării care afectează biții de limită pot distorsiona sincronizarea cu până la 1 ciclu. Deoarece există maxim 88 de cicluri între sincronizări (BSS1, 8 biți din ultimul octet, FES și TES - 11 biți din 8 cicluri) și offset-ul ceasului nu este mai mare de 1 la 300 de cicluri, offset-ul poate distorsiona ceasul. Micile erori de transmisie care apar în timpul recepției pot afecta doar biții limită. În cel mai rău caz cei doi biți din mijloc sunt corecți, iar valoarea din eșantion este corectă.
Comentarii