Cuprins: Avantaje ↓ Format pachet de date ↓ Priorități ↓ Exemplu ↓ Recunoașterea erorilor ↓ Mecanisme la nivel de cadru de date ↓ Mecanisme la nivel de biți ↓ Depanare ↓ Tipuri de bus CAN ↓
Vehiculul folosește mai multe magistrale de rețea de schimb de date CAN (Controller Area Network) între unitățile de comandă (module) ale diverselor sisteme și controlerele actuatoarelor vehiculelor.
Unitățile de control individuale sunt conectate între ele într-o rețea comună și pot face schimb de date.
Autobuzul este bidirecțional, adică Orice dispozitiv conectat la acesta poate primi și transmite mesaje.
Semnalul de la elementul sensibil (senzor) este trimis la cea mai apropiată unitate de control, care îl prelucrează și îl transmite către magistrala de date CAN.
Orice unitate de control conectată la magistrala de date CAN poate citi acest semnal, poate calcula valoarea acțiunii de control pe baza acestuia și poate controla servomotorul.
Schimb de date prin bus CAN

- B — Senzorul 1
- CAN - Bus de date
- M - Elemente executive I-III (servomecanismele)
- N — Unități de control (controlorii) I-V
Avantaje
Cu o conexiune convențională prin cablu a dispozitivelor electrice și electronice, se realizează o conexiune directă între fiecare unitate de control și toți senzorii și actuatoarele de la care primește rezultatele măsurătorilor sau pe care îi controlează.
Complicația sistemului de control duce la o lungime sau un număr excesiv de linii de cablu.
În comparație cu cablarea standard, magistrala de date oferă:
- Reducerea numărului de cabluri. Firele de la senzori sunt extinse doar la cea mai apropiată unitate de control, care convertește valorile măsurate într-un pachet de date și le transmite către magistrala CAN.
- Servomotorul poate fi controlat de orice unitate de control care primește pachetul de date corespunzător prin magistrala CAN și, pe baza acestuia, calculează valoarea acțiunii de control asupra servomecanismului.
- Îmbunătățirea compatibilității electromagnetice.
- Reducerea numărului de conexiuni la priză și reducerea numărului de terminale de contact pe unitățile de control.
- Pierdere în greutate.
- Reducerea numărului de senzori, deoarece semnale de la un senzor (de exemplu, de la senzorul de temperatură a lichidului de răcire) poate fi utilizat de diferite sisteme.
- Îmbunătățirea capacităților de diagnosticare. Deoarece semnale de la un senzor (de exemplu, semnal de viteză) sunt utilizate de diferite sisteme, atunci dacă un mesaj de eroare este generat de toate sistemele care utilizează acest semnal, cel defect este de obicei senzorul sau unitatea de control care prelucrează semnalele acestuia. Dacă mesajul de eroare vine de la un singur sistem, deși acest semnal este folosit și de alte sisteme, atunci cauza defecțiunii se află cel mai adesea în unitatea de control al procesării sau mecanismul servo.
- Rată mare de transfer de date - este posibilă până la 1 Mbit/s cu o lungime maximă a liniei de 40 m. În prezent, rata de transfer de date pe o mașină este de la 83 Kbit/s la 500 Kbit/s.
- Mai multe mesaje pot fi transmise succesiv pe aceeași linie.
Busul de date CAN este format dintr-un cablu cu două fire realizat sub forma unei perechi răsucite. Toate dispozitivele sunt conectate la această linie (unități de control al dispozitivului).
Transmiterea datelor se realizează cu duplicare pe ambele fire, iar nivelurile logice ale magistralei de date au o imagine în oglindă (adică, dacă un nivel logic zero este transmis de-a lungul unui fir, atunci un nivel logic este transmis de-a lungul celuilalt fir și invers).
Schema de transmisie cu două fire este utilizată din două motive: pentru a detecta erorile și ca bază pentru fiabilitate.
Dacă apare un vârf de tensiune pe un singur fir (de exemplu, din cauza problemelor EMC (compatibilitate electromagnetică)), atunci unitățile de recepție pot identifica aceasta ca o eroare și pot ignora acest vârf de tensiune.
Dacă apare un scurtcircuit sau o întrerupere la unul dintre cele două fire de magistrală de date CAN, atunci datorită sistemului de fiabilitate software și hardware integrat, va avea loc o trecere la modul de funcționare cu un singur fir. Linia de transmisie deteriorată nu va fi utilizată.
Ordinea și formatul datelor transmise și primite de utilizatori (abonati) mesajele sunt definite în protocolul de schimb de date.
O caracteristică distinctivă esențială a magistralei de date CAN în comparație cu alte sisteme de magistrală bazate pe principiul adresei abonaților este adresarea legată de mesaj.
Aceasta înseamnă că fiecărui mesaj de pe magistrala de date CAN îi este atribuită propria adresă permanentă (identificator), marcarea conținutului acestui mesaj (de exemplu: temperatura lichidului de răcire). Protocolul de magistrală de date CAN permite transmiterea a până la 2048 de mesaje diferite, adresele de la 3 la 2048 fiind alocate permanent.
Volumul de date dintr-un mesaj pe magistrala de date CAN este de 8 octeți.
Blocul receptor procesează doar acele mesaje (pachete de date), care sunt stocate în lista sa de mesaje CAN primite prin intermediul magistralei de date (controlul de acceptabilitate).
Pachetele de date pot fi transmise numai dacă magistrala de date CAN este liberă (adică dacă după ultimul pachet de date a existat un interval de 3 biți și niciuna dintre unitățile de control nu începe să transmită un mesaj).
În acest caz, nivelul logic al magistralei de date trebuie să fie recesiv (logic "1").
Dacă mai multe unități de control încep să transmită mesaje în același timp, intră în vigoare principiul priorității, conform căruia mesajul magistralei de date CAN cu cea mai mare prioritate va fi transmis mai întâi fără pierderi de timp sau de biți (arbitrajul cererilor de acces la magistrala de date partajată).
Fiecare unitate de control care își pierde dreptul de arbitrare trece automat la recepție și încearcă să-și trimită mesajul din nou de îndată ce magistrala de date CAN este din nou liberă.
Pe lângă pachetele de date, există și un pachet de solicitare pentru un anumit mesaj pe magistrala de date CAN.
În acest caz, unitatea de control care poate furniza pachetul de date solicitat răspunde acestei solicitări.
Format pachet de date

În modul normal de transmisie, pachetele de date au următoarele configurații de bloc (cadre):
- Data Frame (cadru de mesaj) pentru transmiterea mesajelor prin magistrala de date CAN (de exemplu: temperatura lichidului de răcire).
- Remote Frame (cadru de cerere) pentru a solicita mesaje prin magistrala de date CAN de la o altă unitate de control.
- Error Frame (cadru de eroare) toate unitățile de control conectate sunt notificate că a apărut o eroare și ultimul mesaj de pe magistrala de date CAN este invalid.
Protocolul de magistrală de date CAN acceptă două formate diferite de cadre de mesaje de magistrală de date CAN, care diferă doar prin lungimea identificatorului:
- format standard;
- format extins.
Formatul standard este utilizat în prezent.
Pachetul de date pentru transmiterea mesajelor prin magistrala de date CAN este format din șapte câmpuri consecutive:
- Start of Frame (start bit): marchează începutul unui mesaj și sincronizează toate modulele.
- Arbitration Field (identificator și cerere): Acest câmp constă dintr-un identificator de 11 biți (adresă) și 1 bit de control (Remote Transmission Request-Bit). Acest bit de control marchează pachetul ca un cadru de date (cadru de mesaj) sau ca cadru de la distanță (cadru de cerere) fără octeți de date.
- Control Field (biți de control): Câmpul de control (6 biți) conține bitul IDE (Identifier Extension Bit) să recunoască formatul standard și extins, un bit de rezervă pentru extensiile ulterioare și - în ultimii 4 biți - numărul de octeți de date conținute în câmpul de date (câmp de date).
- Data Field (date): câmpul de date poate conține de la 0 la 8 octeți de date. Un mesaj de magistrală de date CAN de 0 octeți este utilizat pentru a sincroniza procesele distribuite.
- CRC Field (câmpul de control): câmp CRC (Cyclic-Redundancy-Check Field) conține 16 biți și este utilizat pentru controlul recunoașterii erorilor în timpul transmisiei.
- ACK Field (confirmarea acceptării): câmp ACK (Acknowledgement Field) conține un semnal care confirmă primirea tuturor unităților receptor care au primit mesajul prin magistrala CAN fără erori.
- End of Frame (capătul cadrului): marchează sfârşitul unui pachet de date.
- Intermission (interval): intervalul dintre două pachete de date. Intervalul trebuie să fie de cel puțin 3 biți. După aceasta, orice unitate de control poate transmite următorul pachet de date.
- IDLE (modul de odihnă): Dacă nicio unitate de control nu transmite mesaje, magistrala CAN rămâne în modul inactiv până când este transmis următorul pachet de date.
Priorități
Pentru a procesa datele în timp real, trebuie să fie posibilă transmiterea lor rapidă.
Acest lucru necesită nu numai o linie cu viteză fizică mare de date, dar necesită și acces rapid la magistrala CAN comună dacă mai multe unități de control trebuie să transmită mesaje simultan.
Pentru a diferenția mesajele transmise prin magistrala de date CAN în funcție de gradul lor de urgență, sunt prevăzute diferite priorități pentru mesajele individuale.
Timpul de aprindere, de exemplu, are cea mai mare prioritate, valorile de alunecare au prioritate medie, iar temperatura aerului exterior are cea mai mică prioritate.
Prioritatea cu care este transmis un mesaj prin magistrala CAN este determinată de identificatorul (adresa) mesajului corespunzător.
Identificatorul corespunzător numărului binar mai mic are o prioritate mai mare și invers.
Protocolul magistralei de date CAN se bazează pe două stări logice: biții sunt fie "recesivi" ("1 logic"), fie "dominanți" ("0" logic). Dacă un bit dominant este transmis de cel puțin un modul, atunci biții recesivi transmiși de alte module sunt suprascriși.
Exemplu

Dacă mai multe unități de control încep simultan să transmită date, conflictul de acces la magistrala de date comună este rezolvat prin "arbitraj pe biți a cererilor de resurse comune" folosind identificatorii corespunzători.
La transmiterea câmpului de identificare, unitatea emițător verifică după fiecare bit dacă mai are dreptul de a transmite sau dacă o altă unitate de control transmite deja un mesaj cu o prioritate mai mare prin magistrala de date CAN.
Dacă bitul recesiv transmis de primul bloc emițător este suprascris de bitul dominant al altui bloc emițător, atunci primul bloc emițător își pierde dreptul de a transmite (arbitraj) și devine blocul de recepție.
Primul bloc de control (NI) pierde arbitrajul din bitul 3.
Al treilea bloc de control (N III) pierde arbitrajul din al 7-lea bit.
A doua unitate de control (N II) păstrează drepturile de acces la magistrala de date CAN și își poate transmite mesajul.
Alte unități de control vor încerca să-și transmită mesajele prin magistrala de date CAN numai după ce aceasta este din nou liberă. În acest caz, dreptul de transfer va fi din nou acordat în conformitate cu prioritatea mesajului pe magistrala de date CAN.
Recunoașterea erorilor
Interferența poate cauza erori în transmisia datelor. Astfel de erori care apar în timpul transmiterii trebuie recunoscute și corectate. Protocolul magistralei de date CAN face distincție între două niveluri de recunoaștere a erorilor:
- mecanisme la nivel de cadru de date (cadru de mesaj);
- mecanisme la nivel de biți.
Mecanisme la nivel de cadru de date
Cyclic-Redundancy-Check:
Pe baza mesajului transmis prin magistrala de date CAN, unitatea de transmisie calculează biții de control, care sunt transmisi împreună cu pachetul de date în câmpul "CRC Field" (sume de control). Unitatea de recepție recalculează acești biți de control pe baza mesajului primit prin magistrala de date CAN și îi compară cu biții de control primiți cu acest mesaj.
Frame Check:
Acest mecanism verifică structura blocului transmis (cadru), adică câmpurile de biți cu un format fix dat și lungimea cadrului sunt din nou verificate.
Erorile detectate de funcția Frame Check sunt marcate ca erori de format.
Mecanisme la nivel de biți
Monitorizare:
Fiecare modul monitorizează nivelul logic al magistralei de date CAN atunci când transmite un mesaj și determină diferențele dintre biții transmisi și recepționați. Acest lucru asigură recunoașterea fiabilă a erorilor globale și locale de biți care apar în unitatea transmițător.
Bit Stuffing:
În fiecare pachet de date între câmp "Start of Frame" iar sfârșitul câmpului "CRC Field" nu trebuie să fie mai mare de 5 biți consecutivi cu aceeași polaritate.
După fiecare secvență de 5 biți identici, transmițătorul bloc adaugă un bit cu polaritatea opusă fluxului de biți.
Unitățile de recepție șterg acești biți după ce primesc un mesaj pe magistrala de date CAN.
Depanare
Dacă orice modul magistrală de date CAN detectează o eroare, acesta întrerupe procesul curent de transfer de date prin trimiterea unui mesaj de eroare. Mesajul de eroare este format din 6 biți dominanti.
Datorită mesajului de eroare, toate unitățile de control conectate la magistrala de date CAN sunt notificate despre eroarea locală care a apărut și, în consecință, ignoră mesajul transmis anterior.
După o scurtă pauză, toate unitățile de control vor putea din nou să transmită mesaje prin magistrala de date CAN, mesajul cu cea mai mare prioritate fiind din nou trimis primul.
Unitatea de control al cărei mesaj magistrala de date CAN a cauzat eroarea începe, de asemenea, să își retransmită mesajul (funcția de cerere de repetare automată).
Tipuri de bus CAN
Diferite magistrale CAN sunt utilizate pentru diferite zone de control. Ele diferă unele de altele prin viteza de transfer de date.
Rata de transmisie a magistralei de date CAN în zona "motor și șasiu" (CAN-C) este de 125 kbit/s, în timp ce magistrala de date CAN "Interior" (CAN-B) este proiectată pentru o rată de transmisie a datelor de doar 83 kbit/s datorită numărului mai mic de mesaje deosebit de urgente.
Schimbul de date între două sisteme de magistrală se realizează prin așa-numitele "gateway-uri de internetwork", adică. unități de control conectate la ambele magistrale de date.
Autobuz de fibră optică D2B (Digital Daten-Bus) date aplicate zonei "Audio/Comunicații/Navigație". Cablul de fibră optică poate transmite semnificativ mai multe informații decât o magistrală de cablu de cupru.
