Unitățile de control individuale sunt conectate în rețea între ele și pot face schimb de date.
Autobuzul este bidirecțional, adică orice dispozitiv conectat la acesta poate primi și transmite mesaje.
Semnal senzor (senzor) intră în cea mai apropiată unitate de control, care o prelucrează și o transferă pe 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.
Comunicare CAN
- B - Senzor 1
- CAN - Bus de date
- M - Elemente executive I-III (servomecanisme)
- N - Unități de control (controlorii) I-V
Avantaje
Cu conexiunea obișnuită prin cablu a dispozitivelor electrice și electronice, fiecare unitate de control este conectată direct la toți senzorii și actuatoarele de la care primește măsurători sau pe care le controlează.
Complicația sistemului de control duce la o lungime excesivă sau la mai multe linii de cablu.
În comparație cu cablarea standard, magistrala de date oferă:
- Reducerea numărului de cabluri. Firele de la senzori sunt trase numai la cea mai apropiată unitate de control, care convertește valorile măsurate într-un pachet de date și le transferă pe magistrala CAN.
- Orice unitate de control poate controla actuatorul, care primește pachetul de date corespunzător prin magistrala CAN și, pe baza acestuia, calculează valoarea acțiunii de control asupra servomecanismului.
- Compatibilitate electromagnetică îmbunătățită.
- Reducerea numărului de conexiuni la priză și reducerea numărului de ieșiri de contact pe unitățile de control.
- Pierdere în greutate.
- Reducerea numărului de senzori, deoarece semnale cu un singur 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 cu un singur senzor (de exemplu, semnal de viteză) sunt utilizate de sisteme diferite, atunci dacă un mesaj de eroare este emis de către toate sistemele care utilizează acest semnal, senzorul sau unitatea de control care procesează semnalele sale este de obicei defect. Dacă mesajul de eroare vine de la un singur sistem, deși acest semnal este utilizat și de alte sisteme, atunci cauza defecțiunii se află cel mai adesea în unitatea de control al procesării sau servomecanismul.
- Rată de date ridicată - posibilă până la 1 Mbps cu o lungime maximă a liniei de 40 m. În prezent, ratele de date ale vehiculelor variază de la 83 Kbps la 500 Kbps.
- Pe aceeași linie pot fi transmise pe rând mai multe mesaje.
Busul de date CAN este format dintr-un fir cu două fire realizat sub forma unei perechi răsucite. Toate dispozitivele conectate la această linie (unități de control al dispozitivului).
Transferul de date se realizează cu duplicare pe ambele fire, iar nivelurile logice ale magistralei de date sunt oglindite (adică dacă un nivel logic zero este transmis pe un fir, atunci un nivel logic este transmis pe celălalt fir și invers).
Schema de transmisie cu două fire este utilizată din două motive: pentru a detecta erorile și ca bază pentru fiabilitate.
Dacă vârful de tensiune apare pe un singur fir (de exemplu, din cauza problemelor EMC (compatibilitate electromagnetica)), unitățile receptor pot identifica aceasta ca o eroare și pot ignora acest vârf de tensiune.
Dacă există un scurtcircuit sau o întrerupere a unuia dintre cele două fire ale magistralei de date CAN, atunci datorită sistemului de fiabilitate hardware și software integrat, va exista o trecere la modul de funcționare cu un singur fir. O linie de transmisie deteriorată nu va fi utilizată.
Comanda și formatul transmis și primit de utilizatori (abonati) mesajele sunt definite în protocolul de comunicare.
O caracteristică distinctivă semnificativă 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 se atribuie adresa permanentă (identificator), marcând conținutul acestui mesaj (ex.: temperatura lichidului de răcire). Protocolul CAN data bus permite transmiterea a până la 2048 de mesaje diferite, adresele de la 3 la 2048 fiind permanent fixate.
Cantitatea de date dintr-un mesaj pe magistrala de date CAN este de 8 octeți.
Blocul receptor procesează numai acele mesaje (pachete de date), care sunt stocate în lista sa de mesaje CAN primite pe magistrala de date (controlul acceptării).
Pachetele de date pot fi transmise numai dacă magistrala de date CAN este liberă (adică dacă după ultimul pachet de date a urmat un interval de 3 biți și nicio unitate de control nu începe să trimită 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, atunci intră în vigoare principiul priorității, conform căruia mesajul de pe magistrala de date CAN cu cea mai mare prioritate va fi transmis mai întâi fără a pierde timp sau biți (arbitrajul cererilor de acces la magistrala comună de date).
Fiecare unitate de control care își pierde dreptul de a arbitra va trece automat pentru a primi și va încerca din nou să-și trimită mesajul 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 (rame):
- Data Frame (cadru de mesaj) pentru transmiterea mesajelor pe magistrala de date CAN (ex.: temperatura lichidului de răcire).
- Remote Frame (cadru de cerere) pentru a solicita mesaje pe 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.
Formatul standard este utilizat în prezent.
Pachetul de date pentru transmiterea mesajelor pe magistrala de date CAN este format din șapte câmpuri consecutive:
- Start of Frame (start bit): marchează începutul mesajului și sincronizează toate modulele.
- Arbitration Field (id și cerere): Acest câmp este format dintr-un identificator (adrese) 11 biți și 1 bit de verificare (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âmp de control (6 biți) conține bit IDE (Identifier Extension Bit) pentru a recunoaște formatul standard și extins, un bit de rezervă pentru extensiile ulterioare și - în ultimii 4 biți - numărul de octeți de date încorporați î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 pe magistrala de date CAN cu o lungime 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 servește pentru controlul recunoașterii erorilor în timpul transmisiei.
- ACK Field (confirmare de acceptare): câmp ACK (Acknowledgement Field) conține un semnal de confirmare pentru toate unitățile receptor care au primit un mesaj prin magistrala CAN fără erori.
- End of Frame (capătul cadrului): marchează sfârşitul pachetului de date.
- Intermission (interval): Interval între două pachete de date. Intervalul trebuie să fie de cel puțin 3 biți. După aceea, orice unitate de control poate transmite următorul pachet de date.
- IDLE (modul de odihnă): Dacă nicio unitate de control nu trimite mesaje, atunci 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ă transferul rapid al acestora.
Acest lucru necesită nu numai o legătură cu o rată fizică mare de date, dar necesită și furnizarea rapidă a unei magistrale CAN comună dacă mai multe unități de control trebuie să trimită mesaje în același timp.
Pentru a distinge mesajele transmise pe magistrala de date CAN în funcție de gradul 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 medie, iar temperatura exterioară are cea mai mică prioritate.
Prioritatea cu care este transmis un mesaj pe magistrala CAN este determinată de identificator (abordare) mesajul corespunzător.
Un identificator care corespunde unui număr 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 «recesiv» (logic «1»), sau «dominant» (logic «0»). 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 transferul de date în același timp, atunci conflictul de acces la magistrala de date comună este rezolvat de «arbitrajul pe biți a cererilor de resurse partajate» cu identificatorii corespunzători.
La transmiterea câmpului de identificare, transmițătorul 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 magistrala de date CAN.
Dacă bitul recesiv transmis de prima unitate emițător este suprascris de bitul dominant al altei unități transmițătoare, atunci prima unitate emițător își pierde dreptul de a transmite (arbitraj) și devine un bloc receptor.
Prima unitate de control (N I) pierde arbitrajul din al 3-lea bit.
A treia unitate de control (N III) pierde arbitrajul din al 7-lea bit.
A doua unitate de control (N II) își păstrează dreptul de a accesa magistrala de date CAN și își poate transmite mesajul.
Alte unități de control vor încerca să-și transmită mesajele pe magistrala de date CAN numai atunci când aceasta este din nou liberă. În acest caz, dreptul de a transmite va fi din nou acordat în conformitate cu prioritatea mesajului pe magistrala de date CAN.
Recunoașterea erorilor
Interferența poate duce la erori în transmiterea datelor. Astfel de erori de transmisie ar trebui 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 nivelul cadrului de date
Cyclic-Redundancy-Check:
Pe baza mesajului transmis prin magistrala de date CAN, transmițătorul calculează biții de control care sunt transmisi împreună cu pachetul de date în câmp «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 Frame Check sunt marcate ca erori de format.
Mecanisme la nivel de biți
Monitorizarea:
Fiecare modul, atunci când transmite un mesaj, monitorizează nivelul logic al magistralei de date CAN ș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» și capătul câmpului «CRC Field» nu ar trebui să existe mai mult 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 va anula 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 cu privire la o eroare 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 pe magistrala de date CAN, mesajul cu cea mai mare prioritate fiind din nou trimis primul.
Unitatea de control al cărei mesaj de pe magistrala de date CAN a cauzat eroarea începe și ea să-și retransmită mesajul (funcția de solicitare 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.
Zona de viteză de transmisie CAN «motor și mecanism de rulare» (CAN-C) este de 125 Kbps și magistrala de date CAN «Salon» (CAN-B) datorită numărului mai mic de mesaje deosebit de urgente, este conceput pentru o rată de transfer de date de doar 83 Kbps.
Schimbul de date între cele două sisteme de magistrală are loc prin așa-numitul «gateway-uri», adică unități de control conectate la ambele magistrale de date.
Fibră optică D2B (Digital Daten-Bus) date aplicate zonei «Audio/Comunicare/Navigație». Un cablu de fibră optică poate transmite o cantitate semnificativ mai mare de informații decât un magistral cu un cablu de cupru.
Comentariile vizitatorilor