Cuprins: Informații generale ↓ 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 ↓
Informații generale
Ordinea schimbului de date prin magistrala CAN
B - Senzor 1
CAN — Bus de comunicații asistate de computer
M — Elemente executive I – III (servomecanismele)
N — Unități de control/controlere I – V
Vehiculele moderne folosesc mai multe magistrale de rețea de schimb de date CAN (Controller Area Network) între module/unități de control ale diverselor sisteme și controlere ale actuatoarelor vehiculelor (consultați ilustrația de mai sus).
Autobuzul este full duplex (sau doar duplex), aceste. Orice dispozitiv conectat la acesta poate primi și transmite simultan mesaje.
Semnalul de la elementul sensibil al informației corespunzătoare (senzorul) este trimis către cea mai apropiată unitate de control, care îl prelucrează și îl transmite către magistrala de schimb de date CAN.
Orice unitate de control conectată la magistrala de date CAN poate citi acest semnal, poate calcula parametrii de control pe baza acestuia și poate controla servomotorul.
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 – posibilă până la 1 Mbit/s cu o lungime maximă a liniei de 40 m.
- 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 sunt oglindite (adică dacă un nivel logic zero (0) este transmis pe un fir, atunci un nivel logic (1) este transmis pe celălalt fir și invers).
Schema de transmisie cu două fire este utilizată din două motive: pentru controlul erorilor și ca bază pentru fiabilitate.
Dacă un vârf de tensiune apare pe un singur fir, de exemplu din cauza problemelor de compatibilitate electromagnetică (EMC), atunci unitățile de recepție pot identifica aceasta ca o eroare și pot ignora vârful.
În cazul unui scurtcircuit sau întrerupere a unuia dintre cele două fire CAN bus, datorită sistemului integrat de fiabilitate software și hardware, se realizează trecerea la modul de funcționare cu un singur fir. Linia de transmisie deteriorată nu mai este 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 transmis prin magistrală i se atribuie propria adresă permanentă (identificator), marcarea conținutului acestui mesaj (de exemplu: temperatura lichidului de răcire). Protocolul CAN data bus permite transmiterea a până la 2048 de mesaje diferite, adresele de la 2033 la 2048 fiind alocate permanent.
Volumul de date dintr-un mesaj CAN bus este de 8 octeți.
Blocul receptor procesează numai acele mesaje (pachete de date), care sunt stocate în propria listă de identificare (controlul de acceptabilitate).
Pachetele de date pot fi transmise numai dacă magistrala CAN este liberă (adică dacă după ultimul pachet de date a urmat 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 simultan, intră în vigoare principiul priorității, conform căruia mesajul 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 devine din nou liberă.
Pe lângă pachetele de date, sunt utilizate și pachete pentru solicitarea unui anumit mesaj prin magistrala de date CAN, unitatea de control care poate furniza informațiile solicitate răspunde la o astfel de solicitare.
Format pachet de date
În modul normal de transmisie, pachetele de date au următoarele configurații de bloc (cadru):
- 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 cadru de mesaje de magistrală de date CAN care diferă doar prin lungimea identificatorului:
- Format standard;
- Format extins.
În prezent, numai formatul standard este utilizat în sistemele de schimb de date ale sistemului de control al vehiculului.
Format cadru

Fiecare cadru de mesaje transmis prin magistrala CAN este format din șapte câmpuri consecutive (consultați ilustrația de mai sus):
- 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ă cadrul ca un cadru de date (cadru de date) sau ca cadru de la distanță (cadru de solicitare de la distanță) 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; mesajul magistralei de date CAN cu lungimea 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 detectarea erorilor de control în timpul transmisiei;
- ACK Field (confirmarea acceptării): câmp ACK (Acknowledgement Field) conține un semnal care confirmă recepția tuturor unităților receptor care au primit un mesaj prin magistrala CAN fără erori;
- End of Frame (capătul cadrului): marchează sfârşitul unui pachet de date;
- Intermission (interval): Intervalul între două pachete de date. Interval ar trebui să fie nu mai puțin de 3 biți. După aceea, orice unitate de control poate transmite pachetul 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 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 de transmisie 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 pe magistrală.
Unități de control

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.
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 receptor (consultați ilustrația de mai sus).
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 date);
- 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 cadru de date dintre 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.
CAN C – Autobuz "Motor și șasiu"
[Vizualizați sursa originală pe site-ul web: TOYOTAMAN]
În unitatea de control finală, un așa-numit rezistor de terminare a magistralei de date cu o rezistență de 120 Ohm este instalat pe fiecare parte, conectat între ambele fire de magistrală de date.
Busul de date CAN al compartimentului motor este activat numai când contactul este pus.
Mai mult de 7 unități de control pot fi conectate la magistrala CAN-C.
CAN-B – Autobuz "Salon"
Unele unități de control conectate la magistrala de date CAN din habitaclu sunt activate indiferent dacă contactul este cuplat (ex.: sistem de blocare unică).
Prin urmare, magistrala de date CAN din habitaclu trebuie să fie în modul de pregătire funcțională chiar și atunci când contactul este oprit, ceea ce înseamnă că capacitatea de a transmite pachete de date trebuie asigurată chiar și atunci când contactul este oprit.
Pentru a reduce cât mai mult posibil consumul de curent în repaus, magistrala de date CAN, atunci când nu sunt necesare date pentru transmisie, intră în modul standby pasiv și este activată din nou abia la următoarea accesare.
Dacă vreo unitate de control se află în modul standby pasiv al magistralei de date CAN din habitaclu (de exemplu, un singur modul de control al blocării) transmite un mesaj prin el, apoi îl primește doar modulul principal de sistem (comutator electronic de aprindere, EZS/EIS). Modulul EZS păstrează acest mesaj în memorie și trimite un semnal de activare (Wake-up) de pe toate blocurile de control conectate la magistrala CAN-V.
Când este activat, EZS verifică prezența tuturor utilizatorilor magistralei de date CAN și apoi transmite mesajul stocat anterior.
Mai mult de 20 de unități de control pot fi conectate la magistrala CAN-B.
