Protocolul de comunicație CAN utilizat la automobile

    CAN (Controller Area Network) este un protocol de comunicație de tip magistrală (bus) utilizat pe scară largă în industria  automobilelor. Prin intermediul protocolului CAN calculatoarele automobilului (ECM, TCU, ESP, etc.) schimbă informații între ele pentru a facilita sau optimiza funcțiile de control ale diverselor sisteme (injecție, ambreiaj, sistem de frânare, etc.).

Logo CAN

Istoricul protocolului CAN

    Protocolul CAN este un sistem de comunicație serial, în timp real, utilizat pentru sisteme distribuite. Dezvoltarea acestuia a fost inițiată de compania Bosch Gmbh în anul 1983. Motivul utilizării unui sistem de comunicație tip magistrală a fost determinat de numărul tot mai mare de calculatoare și componente electronice utilizate la automobile.

    Etape importante din istoria dezvoltării protocolului CAN:

1983 – demararea dezvoltării de către Bosch Gmbh
1985 – prima versiune de specificație a protocolului
1986 – începerea standardizării protocolului de către ISO
1987 – introducerea primului circuit integrat CAN (Intel & Philips)
1991 – publicarea versiunii a doua a specificației protocolului
1992 – apariția primului automobil de serie ce utilizează protocolul CAN (Mercedes Benz, clasa S)
1993 – publicarea primului standard al protocolului (ISO 11898)
2007 – producția anuală de module CAN atinge valoarea de aproximativ 600 de milioane de module

Avantajele utilizării comunicației multiplexate (magistrală) comparativ cu o comunicație filară (pe fir)

    În cazul unei comunicări filare, fiecare calculator are o legătură electrică separată pentru fiecare canal de comunicație. Astfel dacă, de exemplu, avem 3 calculatoare care comunică fiecare cu fiecare, utilizînd 2 fire, vom avea în total 12 fire (4 fire pe calculator)! Dezavantajul acestui tip de comunicație este reprezentată de masa mare a firelor și a conectorilor precum și de complexitatea mare a rețelei de comunicație. Pentru mai multe detalii vezi articolul Protocoale de comunicaţie pentru automobile.

    În cazul utilizării unui sistem de comunicație tip magistrală, comparativ cu un sistem filar, se elimină cantități importante de conectori și cabluri. De asemenea sistemul de comunicație este simplificat și se poate diagnostica mai ușor.

    Principalele motive pentru care se utilizează un sistem de comunicație multiplexat (magistrală):

  • facilitează partajarea de parametrii între calculatoarele automobilului;
  • îmbunătățește securitatea și modul de diagnosticare
  • reduce costul total al sistemului datorită reducerii numărului de fire și conectori
  • cerință prevăzută în standardele de diagnoză EOBD

    Un automobil de clasă medie din anii 90 conținea aproximativ 2 km de cabluri care cântăreau în jur de 70-90 de kg! De asemenea un automobil Mercedes Benz, clasa S, din anul 2002, avea în jur de 50 de calculatoare. Creșterea numărului și a complexității sistemelor electronice de pe automobile a impus utilizarea sistemelor de comunicație multiplexate (CAN).

Domenii de utilizare al protocolului CAN

    Scopul inițial al protocolului CAN a fost de a fi utilizat în industria automobilelor. Datorită avantajelor pe care le aduce, în ceea ce privește comunicarea între modulele electronice, acest protocol este utilizat și în alte industrii/domenii:

  • vehicule grele, camioane, vehicule agricole
  • industria roboților, automatizări
  • industria aeronautică, aeronave
  • vehicule militare
  • echipamente medicale
  • electrocasnice

Tipuri de rețele CAN

    Protocolul CAN, în funcție de viteza de transfer a datelor, este de două feluri:

  • CAN HS (High Speed) – viteză mare
  • CAN LS (Low Speed) – viteză mică

    CAN HS poate avea viteza de transfer a datelor de 125, 250, 500 sau 1000 kb/s. Datorită vitezei mari de transfer a datelor este utilizat cu precădere pentru motor, cutie de viteze și sistemele de siguranță activă (ABS, ESP).

    CAN LS are viteza de transfer între 40 și 125 kb/s. Protocolul CAN LS are avantajul că este tolerant la erori (fault tolerant). În cazul în care unul din cele două fire este întrerupt comunicația se realizează pe un singur fir. Acest tip de protocol CAN este utilizat cu precădere la închiderea centralizată și la imobilizator, datorită funcționării și în regim de avarie.

Nivelul fizic al protocolului CAN

    Din punct de vedere fizic, protocolul CAN conține o magistrală, formată din două fire răsucite, și calculatoare care conțin fiecare câte un circuit integrat de emisie-recepție (CAN transceiver). Firele pe care se transmite informația sunt răsucite pentru a elimina eventualele perturbații electromagnetice.

Modul emisie-recepție CAN Fire răsucite CAN Modul emisie-recepție CAN

Foto: Componentele fizice ale unei rețele CAN

    Circuitele integrate de emisie-recepție combină funcția de primire a mesajelor cu cea de trimitere, în aceeași componentă. CAN transceiver-ul este alimentat la o tensiune de 3...5 V și are rolul de a face conversia tensiunilor electrice, de pe magistrală, în semnale digitale și invers.

Nivelul fizic al protocolului CAN

Foto: Nivelul fizic al protocolului CAN.
Sursa: e-automobile.ro

    Lungimea maximă a magistralei poate să fie de 250 m (CAN HS) sau de 50 m (CAN LS). Numărul de calculatoare care pot fi conectate la magistrală variază în funcție de viteza și de numărul parametrilor ce trebuie transmiși. O rețea CAN poate suporta până la 50 de calculatoare interconectate. În capetele magistralei sunt prevăzute rezistențe electrice de aproximativ 120 Ω care au rolul de a crește impedanța rețelei, în scopul eliminării fenomenului de „reflexie” a semnalelor.

Exemplu de rețea CAN

Foto: Exemplu de rețea CAN
Sursa: e-automobile.ro

ECM (Engine Control Module) – calculatorul de injecție (motor)
TCU (Transmission Control Unit) – calculatorul transmisiei automate
ABS (Anti-lock Braking System) – calculatorul sistemului de frânare
BCM (Body Control Module) – calculatorul de habitaclu
Roof (Plafon) – calculatorul pentru controlul trapei
Seat (Scaun) – calculatorul pentru controlul scaunelor
Clim (climatizare) – calculatorul pentru controlul climatizării
Diag. (diagnostic) – conectorul de diagnosticare

    Exemplu dat de rețea CAN conține două sub-rețele, CAN motor și CAN vehicul, conectate printr-un „gateway” care este reprezentat de calculatorul de habitaclu (BCM). Această arhitectură are avantajul că un defect la una din cele două sub-rețele nu o va afecta pe cealaltă.

    Magistrala CAN conține două fire numite CAN_H (High voltage) și CAN_L (Low voltage). Pe firul CAN_H tensiunea electrică poate avea două nivele: 2.5 și 3.5 V. Pe firul CAN_L tensiunea electrică poate fi de 1.5 și 2.5 V.

Semnalul de tensiune de pe o rețea CAN

Foto: Semnalul de tensiune de pe o rețea CAN
Sursa: e-automobile.ro

    Semnalele de tensiune pe cele două fire au ambele valoarea 2.5 V sau 3.5 V pe CAN_H și 1.5 V pe CAN_L. Traducerea acestor valori de tensiune în semnal digital se face prin diferența celor două tensiuni. Când tensiunea pe cele două fire este de 2.5 V diferența este de 0 V, când cele două tensiuni au 3.5 și 1.5 V, diferența este de 2 V. Semnalul de tensiune ce are valori de 0 și 2 V reprezintă valori digitale de 1 și 0.

    Cele două valori digitale nu sunt reprezentata exact de valori fixe de tensiune. Datorită eventualelor perturbații aceste valori pot varia între anumite limite. Astfel, valoarea digitală de 0 poate fi reprezentată de o tensiune între -1.0 și 0.5 V iar valoarea digitală 1 înseamnă o tensiune între 0.9 și 5.0 V.

Atenție: Să nu se facă confuzie între CAN HS (High Speed) și CAN_H (High voltage). Primul reprezintă viteza de transfer a datelor iar a doua tensiune electrică din fir. Aceeași observație este valabilă și pentru CAN LS (Low Speed) și CAN_L (Low voltage). Ambele versiuni de viteză conțin cele două fire CAN_H și CAN_L!

Parametrii fizici transmiși cu protocolul CAN

    Cea mai uzuală configurație de rețea CAN este aceea care conține calculatorul de injecție, transmisie automată și ESP. Informațiile schimbate între acestea se referă la temperaturi, turații, cuplu și stări ale diferitelor componente.

  ECM TCU ESP
MesajParametriiMotor      
- turațieMotor Tx Rx  
- cupluMotor Tx Rx Rx
- temperaturăMotor Tx Rx  
MesajParametriiCutie      
- temperaturăUlei Rx Tx  
- treaptaCurentă Rx Tx  
- stareAmbreiaj Rx Tx Rx
MesajParametriiESP      
- activitateESP Rx Rx Tx
- vitezăAutomobil Rx Rx Tx

    Informațiile transmise pe magistrala CAN sunt grupate în mesaje care conțin unul sau mai mulți parametrii. Un calculator poate transmite mai multe mesaje și în același timp poate recepționa unul sau mai mulți parametrii. Parametrii transmiși sunt notați cu Tx (transmited) iar cei primiți cu Rx (received).

    De exemplu calculatorul de injecție (ECM) trimite pe CAN mesajul „MesajParametriiMotor” care conține trei parametrii: turația motorului, cuplul motor și temperatura motorului. Calculatorul transmisiei automate (TCU) primește toți acești parametrii pe care îi utilizează pentru controlul închiderii și deschiderii ambreiajului. De asemena calculatorul ESP utilizează informația de cuplu motor pentru a decide dacă-l reduce în cazul în care automobilul pierde din aderență.

    Viteza automobilului este un parametru emis de calculatorul ESP și este utilizat de motor de exemplu pentru controlul vitezei de croazieră (Cruise Control) iar de calculatorul transmisiei automate pentru legile de schimbare a treptelor de viteză.

    Protocolul de comunicație CAN este utilizat și de echipamentele de diagnoză pentru a primi date de la calculatoare (cod defecte, parametrii, etc.) și pentru a trimite comenzi de ștergere a anumitor parametrii. Utilizarea protocolului CAN pentru echipamentele de diagnoză este impusă de ultimele reglementări OBD în vigoare.

Diagnosticarea unei rețele CAN

    Codurile OBD stocate pentru un defect de comunicare pe rețea sunt afișate cu Uxxx. pentru a diagnostica o rețea CAN, pe lângă codul de eroare obținut, se poate utiliza și un osciloscop pentru vizualizarea tensiunilor electrice de pe cele două fire (CAN_L și CAN_H).

Formă corectă a tensiunilor electrice pe o magistrală CAN

Foto: Formă corectă a tensiunilor electrice pe o magistrală CAN (CAN_H – roșu, CAN_L – albastru)
Sursa: picoauto.com

    În cazul în care apare o problemă cu firele pe care se transmit cele două tensiuni, sau dacă modului de emisie-recepție este defect, nivelurile de tensiune de pe cele două canale CAN (High și Low) vor avea valori anormale.

Formă incorectă a tensiunilor electrice pe o magistrală CAN

Foto: Formă incorectă a tensiunilor electrice pe o magistrală CAN (CAN_H – roșu, CAN_L – albastru)
Sursa: picoauto.com

    Introducerea protocolului de comunicație CAN în industria automobilelor a reprezentat o „piatră de temelie” pentru dezvoltarea electronicii și a sistemelor de control complexe. Protocolul CAN este cel mai popular dar nu singurul utilizat la automobile. LIN, FlexRay sau MOST sunt de asemenea protocoale de comunicație dar despre acestea, pe larg, în articolele viitoare.

Pentru a comenta articolul trebuie să vă înregistrați!

Comentarii

Laurentiu
Luni, 25 Mai 2015 Votează 5 / 5Votează 5 / 5Votează 5 / 5Votează 5 / 5Votează 5 / 5
@Alexandru
Salut,
Scrie-mi un mesaj utilizand formularul de contact:
http://e-automobile.ro/contact-form.html

Raportează comentariul
Alexandru
Sâmbătă, 25 Aprilie 2015
As dori sa discut mai in detaliu si sa va cer sfaturi in legatura cu ce as putea sa fac dupa terminarea studiilor, avand in vedere ca studiez despre multiplexoare, dar si cunosc foarte bine partea mecanica a autovehiculelor. Mi-e greu sa fac asta intr-un comentariu. Cum as putea lua legatura cu dumneavoastra? Va multumesc anticipat si sper ca nu indraznesc prea mult.

Raportează comentariul

Login

Logo motorul anului