Te-ai urcat în mașină, ai apăsat butonul de pornire și motorul a prins viață în cel mai scurt timp, dar cum a decis mașina ta dacă ar trebui să pornească sau nu?

Ei bine, pentru ca mașina să pornească, mai multe antene și unități de control electronic au comunicat cu cheia. Protocolul Controller Area Network (CAN) asigură că comunicarea între chei, antene și ECU-uri se desfășoară în mod corespunzător în interiorul mașinii.

Deci, ce este protocolul CAN și cum ajută dispozitivele de pe sistemele vehiculului dvs. să funcționeze împreună? Ei bine, hai să aflăm.

Ce este protocolul CAN și de ce este necesar?

Pe vremuri, mașinile nu aveau prea multă electronică. De fapt, dacă doreai să pornești vehiculul la începutul anilor 1900, trebuia să ieși din vehicul și să pornești motorul manual.

Mașinile de astăzi, dimpotrivă, au mai mulți senzori electronici, iar dispozitivele electronice monitorizează totul, de la temperatura cabinei până la rotațiile arborelui cotit.

Acestea fiind spuse, datele primite de la acești senzori nu au nicio valoare până când nu sunt procesate. Această prelucrare a datelor este realizată de dispozitive de calcul cunoscute sub numele de Unități de control electronice (ECU).

instagram viewer

Credite imagine: SenseiAlan/Flickr

Spre deosebire de un computer cu un singur procesor, o mașină are mai multe ECU, fiecare dintre ele fiind responsabilă pentru îndeplinirea unei anumite sarcini. Deși aceste ECU-uri pot îndeplini eficient o singură sarcină, ele trebuie să lucreze împreună pentru a asigura funcții precum ABS și ESC functioneaza corect.

Din acest motiv, toate ECU-urile de pe o mașină trebuie conectate. S-ar putea folosi o topologie punct la punct pentru a realiza aceste conexiuni, în care fiecare ECU este conectat direct la fiecare alt ECU. Cu toate acestea, această arhitectură ar face sistemul complex. De fapt, un vehicul modern are peste 70 de ECU, iar conectarea acestora într-un mod unu-la-unu ar crește exponențial greutatea cablajului.

Pentru a rezolva această problemă, Bosch, împreună cu Mercedes-Benz și Intel, au creat protocolul Controller Area Network în 1986. Acest protocol a permis ECU-urilor să comunice între ele folosind o magistrală de date partajată cunoscută sub numele de magistrală CAN.

Cum funcționează CAN?

Protocolul CAN este o metodologie de comunicare bazată pe mesaje care se bazează pe un set de cabluri torsadate pentru transmiterea datelor. Aceste fire sunt cunoscute ca CAN high și CAN low.

Pentru a permite transmisia de date pe aceste fire, nivelurile de tensiune ale acestora sunt modificate. Aceste modificări ale nivelurilor de tensiune sunt apoi traduse în niveluri logice care permit ECU-urilor de pe o mașină să comunice între ele.

Credit imagine: Spinningspark/Wikimedia

Pentru transmiterea uneia logice pe magistrala CAN, tensiunea ambelor linii este setată la 2,5 volți. Această stare este cunoscută și ca stare recesivă, ceea ce înseamnă că magistrala CAN este disponibilă pentru utilizare de către orice ECU.

Dimpotrivă, 0 logic este transmis pe magistrala CAN atunci când linia CAN înaltă este la o tensiune de 3,5 volți și linia CAN low este la 1,5 volți. Această stare a magistralei este cunoscută și ca starea dominantă, care spune fiecărui ECU din sistem că un alt ECU transmite, așa că ar trebui să aștepte până când transmisia se termină înainte de a începe să transmită mesajul lor.

Pentru a permite aceste schimbări de tensiune, ECU-urile mașinii sunt conectate la magistrala CAN printr-un transceiver CAN și un controler CAN. Transceiver-ul este responsabil pentru convertirea nivelurilor de tensiune de pe magistrala CAN la niveluri pe care ECU le poate înțelege. Controlorul, pe de altă parte, este folosit pentru a gestiona datele primite și pentru a se asigura că cerințele protocolului sunt îndeplinite.

Toate aceste ECU conectate la magistrala CAN pot transmite date pe cablul răsucit, dar există o captură, doar mesajul cu cea mai mare prioritate poate fi transmis pe magistrala CAN. Pentru a înțelege modul în care un ECU transmite date pe magistrala CAN, trebuie să înțelegem structura mesajului a protocolului CAN.

Înțelegerea structurii mesajului a protocolului CAN

Ori de câte ori două ECU-uri doresc să comunice, mesajele cu structura de mai jos sunt transmise pe magistrala CAN.

Aceste mesaje sunt transferate prin schimbarea nivelurilor de tensiune pe magistrala CAN, iar designul perechii răsucite a firelor CAN previne coruperea datelor în timpul transmisiei.

  • SOF: Prescurtare pentru Start Of Frame, bitul SOF este un cadru de date pe un singur bit dominant. Acest bit este transmis de un nod atunci când dorește să trimită date pe magistrala CAN.
  • Identificator: Identificatorul de pe protocolul CAN poate fi de 11 biți sau 29 de biți. Mărimea identificatorului se bazează pe versiunea protocolului CAN utilizat. Dacă se utilizează versiunea extinsă a CAN, atunci dimensiunea identificatorului este de 29 de biți, iar în alte cazuri, dimensiunea identificatorului este de 11 biți. Scopul principal al identificatorului este de a identifica prioritatea mesajului.
  • RTR: Cererea de transmisie la distanță sau RTR este utilizată de un nod atunci când datele trebuie solicitate de la un alt nod. Pentru a face acest lucru, nodul care dorește datele trimite un mesaj cu un bit recesiv în cadrul RTR către nodul dorit.
  • DLC: Codul de lungime a datelor definește dimensiunea datelor transmise în câmpul de date.
  • Câmp de date: Acest câmp conține încărcarea utilă a datelor. Dimensiunea acestei sarcini utile este de 8 octeți, dar protocoalele mai noi precum CAN FD măresc dimensiunea acestei sarcini utile la 64 de octeți.
  • CRC: Prescurtare de la Cyclic Redundancy Check, câmpul CRC este un cadru de verificare a erorilor. Același lucru are o dimensiune de 15 biți și este calculat atât de receptor, cât și de transmițător. Nodul de transmisie creează un CRC pentru datele atunci când sunt transmise. La primirea datelor, receptorul calculează CRC pentru datele primite. Dacă ambele CRC se potrivesc, integritatea datelor este confirmată. Dacă nu, datele au erori.
  • Câmp de confirmare: Odată ce datele sunt primite și sunt lipsite de erori, nodul receptor alimentează un bit dominant în cadrul de confirmare și îl trimite înapoi la transmițător. Aceasta îi spune transmițătorului că datele au fost primite și că nu prezintă erori.
  • Sfârșitul cadrului: Odată ce transmiterea datelor este finalizată, sunt transmisi șapte biți recesivi consecutivi. Acest lucru asigură că toate nodurile știu că un nod a finalizat transmisia de date și că pot transmite date pe magistrală.

În plus față de biții de mai sus, protocolul CAN are câțiva biți rezervați pentru utilizare ulterioară.

Simplificarea CAN printr-un exemplu

Acum că avem o înțelegere de bază despre cum arată un mesaj pe magistrala CAN, putem înțelege cum sunt transmise datele între diferite ECU.

Pentru simplitate, să presupunem că mașina noastră are 3 ECU: Nodul 1, Nodul 2 și Nodul 3. Din cele 3 ECU, Nodul 1 și Nodul 2 doresc să comunice cu Nodul 3.

Să vedem cum protocolul CAN ajută la asigurarea comunicării într-un astfel de scenariu.

  • Detectarea stării autobuzului: Toate ECU-urile de pe mașină sunt conectate la magistrala CAN. În cazul exemplului nostru, Nodul 1 și Nodul 2 doresc să trimită date către un alt ECU; înainte de a face asta, ambele ECU-uri trebuie să verifice starea magistralei CAN. Dacă magistrala este într-o stare dominantă, atunci ECU-urile nu pot transmite date deoarece magistrala este în uz. Pe de altă parte, dacă magistrala este într-o stare recesivă, ECU-urile pot transmite date.
  • Trimiterea începutului cadrului: Dacă tensiunea diferențială pe magistrala CAN este zero, atât Nodul 1, cât și Nodul 2 schimbă starea magistralei la dominantă. Pentru a face acest lucru, tensiunea CAN high este crescută la 3,5 volți, iar tensiunea CAN low este redusă la 1,5 volți.
  • Decizia care nod poate accesa autobuzul: Odată ce SOF este trimis, ambele noduri concurează pentru a accesa magistrala CAN. Autobuzul CAN folosește protocolul Carrier Sense Multiple Access/Collision Detection (CSMA/CD) pentru a decide ce nod primește acces. Acest protocol compară identificatorii transmisi de ambele noduri și oferă acces celui cu prioritate mai mare.
  • Trimiterea datelor: Odată ce nodul are acces la magistrală, câmpul de date, împreună cu CRC, este trimis către receptor.
  • Verificarea și încheierea comunicării: La primirea datelor, Nodul 3 verifică CRC-ul datelor primite. Dacă nu există erori, Nodul 3 trimite un mesaj CAN către nodul de transmisie cu un bit dominant pe cadrul de confirmare împreună cu EOF pentru a termina comunicarea.

Diferite tipuri de CAN

Deși structura mesajului utilizată de protocolul CAN rămâne aceeași, viteza de transmisie a datelor și dimensiunea biților de date sunt modificate pentru a transfera lățimi de bandă mai mari de date.

Datorită acestor diferențe, protocolul CAN are versiuni diferite și o prezentare generală a acestuia este prezentată mai jos:

  • CAN de mare viteză: Datele de pe firele CAN sunt transmise în serie, iar această transmisie se poate face la rate diferite. Pentru CAN de mare viteză, această viteză este de 1 Mbps. Datorită acestei viteze mari de transmisie a datelor, cutia de viteză mare este utilizată pentru ECU, care controlează sistemul de propulsie și sistemele de siguranță.
  • CAN cu viteză mică: În cazul CAN cu viteză mică, viteza la care sunt transmise datele este redusă la 125 kbps. Deoarece viteza redusă poate oferi rate de date mai mici, este folosită pentru a conecta ECU-uri care gestionează confortul pasagerului, cum ar fi aerul condiționat sau sistemul de infotainment.
  • Poate FD: Prescurtare pentru rata de date flexibilă CAN, CAN FD este cea mai nouă versiune a protocolului CAN. Mărește dimensiunea cadrului de date la 64 de octeți și permite ECU-urilor să transmită date la viteze cuprinse între 1 Mbps și 8 Mbps. Această viteză de transmisie a datelor poate fi gestionată de ECU în timp real pe baza cerințelor sistemului, permițând transferul datelor la viteze mai mari.

Care este viitorul comunicării auto?

Protocolul CAN permite mai multor ECU să comunice între ele. Această comunicare permite funcții de siguranță, cum ar fi controlul electronic al stabilității și sistemele avansate de asistență pentru șofer, cum ar fi detectarea punctului mort și controlul adaptiv al vitezei de croazieră.

Acestea fiind spuse, odată cu apariția funcțiilor avansate, cum ar fi conducerea autonomă, cantitatea de date transmisă de magistrala CAN crește exponențial. Pentru a activa aceste funcții, versiuni mai noi ale protocolului CAN, cum ar fi CAN FD, intră pe piață.