CAN bus de date
În mașină, mai multe magistrale de comunicație CAN (Controller Area Network) sunt aplicate între unitățile de comandă (module) diferitelor sisteme și controlori de acționare a vehiculelor.
Unitățile individuale de control sunt integrate î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 trimite mesaje.
Semnalul senzorului (senzorul) este trimis la cea mai apropiată unitate de control, care o procesează și o transmite către magistrala de date CAN.
Orice unitate de comandă conectată la magistrala de date CAN poate citi acest semnal, poate calcula valoarea de comandă bazată pe acesta și poate controla servomecanismul executiv.
Comunicare prin magistrala CAN
B - senzor 1
CAN - magistrala de date
M - Actuatori I-III (servomecanisme)
N - Unități de control (controlere) I - V
Cu o conexiune convențională prin cablu a dispozitivelor electrice și electronice, fiecare unitate de comandă este conectată direct la toți senzorii și servomotoarele de la care primește rezultatele măsurătorilor sau le controlează.
Complicarea sistemului de control conduce la o lungime excesivă sau la o multitudine de linii de cablu.
În comparație cu cablarea standard, magistrala de date oferă:- Reducerea numărului de cabluri. Firele de la senzori ajung la cea mai apropiată unitate de control, care convertește valorile măsurate într-un pachet de date și le trimite la magistrala CAN.
- Unitatea de comandă poate fi controlată de orice unitate de control care primește un pachet de date corespunzător pe magistrală CAN și calculează efectul de control asupra servomotorului bazat pe acesta.
- Îmbunătățirea compatibilității electromagnetice.
- Reducerea numărului de racorduri și reducerea numărului de pinii de pe unitățile de control.
- Reducerea greutății.
- Reducerea numărului de senzori, deoarece semnalele de la un senzor (de exemplu, de la un senzor de temperatură lichid de răcire) pot fi utilizate de diferite sisteme.
- Capacități îmbunătățite de diagnosticare. pentru că semnalele unui senzor (de exemplu, un semnal de viteză) sunt utilizate de sisteme diferite, în cazul în care un mesaj de eroare este emis de către toți utilizatorii acestui semnal de sistem, senzorul sau unitatea de comandă care procesează semnalele sale este, de obicei, defectă. Dacă mesajul de eroare provine de la un singur sistem, deși acest semnal este utilizat de alte sisteme, cauza defecțiunii este cel mai adesea inclusă în unitatea de comandă a procesării sau în servomecanism.
- Viteza mare de transfer de date este posibilă până la 1 Mbit / s cu o lungime maximă de 40 m. În prezent, rata de transfer a datelor este de la 83 Kbps la 500 Kbps.
- Mai multe mesaje pot fi transmise alternativ pe aceeași linie.
Magistrala de date CAN este alcătuită dintr-un fir răsucite, realizat sub forma unei perechi răsucite. Toate dispozitivele (unitățile de control ale dispozitivelor) sunt conectate la această linie.
Transmisia de date se realizează în dublu exemplar pentru ambele fire, cu nivelele logice ale magistralei de date sunt o imagine în oglindă (adică, atunci când un fir este trecut la nivel logic zero, atunci celălalt fir este trecut logic-un singur nivel, și vice-versa).
Schema de transmisie cu două fire este folosită din două motive: pentru a identifica erorile și pentru a se baza la fiabilitate.
Dacă vârful de tensiune apare numai pe un fir (de exemplu, din cauza problemelor EMC (compatibilitate electromagnetică)), unitățile receptor pot identifica aceasta ca o eroare și pot ignora acest vârf de tensiune.
Dacă există un scurtcircuit sau o deschidere a unuia dintre cele două fire ale magistralei de date CAN, atunci datorită sistemului integrat de firmware și hardware, comutarea la modul de operare se efectuează cu ajutorul unui circuit cu o singură fire. O linie de transmisie deteriorată nu va fi utilizată.
Ordinea și formatul mesajelor transmise și primite de utilizatori (abonați) sunt definite în protocolul de schimb de date.
Cantitatea de date dintr-un singur mesaj pe magistrala de date CAN este de 8 octeți.
Unitatea de recepție procesează numai acele mesaje (pachete de date) care sunt stocate în lista sa de mesaje recepționate prin magistrala de date CAN (controlul acceptabilității).
Pachetele de date pot fi transmise numai dacă magistrala de date CAN este liberă (adică dacă un interval de 3 biți urmat de ultimul pachet de date și nici o unitate de control nu începe să transmită mesajul).
În acest caz, nivelul logic al magistralei de date trebuie să fie recesiv (logic "1").
În cazul în care mai multe unități de control începe să transmită mesaje simultan, este nevoie de principiu prioritar efect faptul că 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 de date partajat).
Fiecare unitate de control care pierde dreptul de arbitraj trece automat la recepție și reia încercarea de a trimite mesajul imediat ce autobuzul de date CAN este eliberat din nou.
În plus față de pachetele de date, există și un pachet de solicitare pentru un mesaj specific pe magistrala de date CAN.
În acest caz, unitatea de control care poate furniza pachetul de date solicitat răspunde acestei solicitări.
Formatul pachetului de date
În modul de transmisie normală, pachetele de date au următoarele configurații bloc (cadre):
• Cadru de date pentru trimiterea mesajelor prin magistrala de date CAN (de exemplu: temperatura lichidului de răcire).
• Cadru de la distanță (cadru de solicitare) pentru a solicita mesaje pe magistrala CAN de la o altă unitate de comandă.
• Eroare Cadru toate unitățile de control conectate sunt notificate că a apărut o eroare, iar ultimul mesaj din magistrala de date CAN este nevalid.
Protocolul de magistrală CAN de date suportă două tipuri diferite de cadre de mesaje pe magistrala de date CAN, care diferă numai în lungimea identificatorului:- format standard;
- format extins.
În prezent, se utilizează formatul standard.
Pachetul de date pentru trimiterea de mesaje prin magistrala CAN conține șapte câmpuri consecutive:
• Începerea cadrului: indică începutul mesajului și sincronizează toate modulele.
• Controlul de câmp (biți de control): câmp de control (6 biți) conține IDE-bit (bit de identificare Extension) pentru identificarea standard și formate extinse, biții de rezervă pentru extinderi viitoare, și - în ultimii 4 biți - numărul de octeți de date inerente în Câmpul datelor (câmp de date).
• Câmp de date: Câmpul de date poate conține între 0 și 8 octeți de date. O magistrală de date CAN cu o lungime de 0 octeți este utilizată pentru sincronizarea proceselor distribuite.
• Câmpul CRC: Câmpul CRC (câmp cronologic de verificare a redundanței) conține 16 biți și servește pentru recunoașterea erorilor de control în timpul transmisiei.
• Câmpul ACK: Câmpul ACK (câmpul de confirmare) conține un semnal de confirmare a recepției pentru toate unitățile receptor care au primit un mesaj CAN fără erori.
• Sfârșitul cadrului: indică sfârșitul pachetului de date.
• Intermitere: intervalul dintre 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 inactiv): Dacă nici o unitate de control nu transmite mesaje, magistrala CAN rămâne în modul inactiv până când se transmite următorul pachet de date.
Pentru a procesa date în timp real, ar trebui să le poată fi transferate rapid.
Aceasta implică nu numai prezența unei linii cu o rată ridicată a datelor fizice, dar necesită, de asemenea, furnizarea promptă a accesului la magistrala comună CAN, în cazul în care mai multe unități de control trebuie să transmită simultan mesaje.
Pentru a distinge mesajele transmise prin magistrala de date CAN în termeni de urgență, există diferite priorități pentru mesajele individuale.
Timpul de aprindere, de exemplu, are cea mai mare prioritate, valorile alunecării sunt medii, iar temperatura exterioară este cea mai mică prioritate.
Identificatorul corespunzător numărului binar mai mic are o prioritate mai mare și invers.
Protocolul pentru magistrala de date CAN se bazează pe două stări logice: biții sunt fie "recesivi" (logici "1"), fie "dominant" (logic "0"). Dacă bitul dominant este transmis de cel puțin un modul, biții recesivi transmiși de celelalte module sunt suprascrise.
Dacă mai multe unități de control inițiază simultan transferul de date, conflictul de acces la magistrala de date comună este rezolvat prin intermediul "arbitrajului bitar al cererilor de resurse partajate" utilizând identificatorii corespunzători.
Când se transmite câmpul de identificare, blocul emițătorului după fiecare bit verifică dacă acesta are încă dreptul de transfer, altfel un alt unitate de control transmite un mesaj cu o prioritate mai mare pe magistrala de date CAN.
În cazul în care a transmis transmițătorului primul bloc de biți recesive suprascrise biți dominantă a unei alte unități transmițător, primul bloc emițător pierde dreptul de a transfera (arbitraj), și devine un bloc-receptor.
Prima unitate de control (N I) pierde arbitrajul de la cel de-al treilea bit.
A treia unitate de control (N III) pierde arbitrajul de la cel de-al șaptelea bit.
A doua unitate de control (N II) păstrează dreptul de acces la magistrala de date CAN și poate transmite mesajul său.
Alte unități de control încearcă să transmită mesajele pe magistrala de date CAN numai după ce sunt eliberate din nou. În acest caz, dreptul de transmisie va fi dat din nou în conformitate cu prioritatea mesajului din magistrala de date CAN.
Interferențele pot duce la erori în transmiterea datelor. Astfel de erori care apar în timpul transmisiei trebuie să fie recunoscute și eliminate. Protocolul CAN bus de date distinge între două niveluri de recunoaștere a erorilor:- mecanisme la nivelul cadrului de date (cadru mesaj);
- mecanisme la nivel de biți.
Mecanismele din cadrul de date
Bazat pe CAN transmise pe transmițător flux de mesaje de date de autobuz calculează biții de control, care sunt transmise împreună cu pachetul de date în «CRC câmp» câmp (suma de control). receptor Bloc recalculează biții de control pe baza mesajelor date de autobuz CAN recepționate și le compară cu controlul de biți primit împreună cu acest mesaj.
Acest mecanism verifică o structură a unei unități de transmisie (cadru), adică reverificate câmpuri de biți, cu o lungime de format și cadru fix predeterminat.
Erori recunoscute de funcția Frame Check sunt marcate ca erori de format.
Mecanisme de nivel mic
Fiecare modul, atunci când transmite un mesaj, urmărește nivelul logic al magistralei CAN și determină diferențele dintre biții transmiși și primiți. Acest lucru asigură o recunoaștere fiabilă a erorilor globale și locale care apar în unitatea de transmițător-emițător de biți.
Fiecare pachet de date între câmpul «Start Frame» și câmpul de capăt «CRC Domeniul» nu trebuie să fie mai mult de 5 biți consecutivi de aceeași polaritate.
După fiecare secvență de 5 biți identici, transmițătorul bloc adaugă un bit cu polaritatea opusă bitului.
Receptoarele elimină acești biți după ce primesc un mesaj pe magistrala de date CAN.
Dacă un modul de magistrală de date CAN detectează o eroare, întrerupe procesul curent de transfer de date prin trimiterea unui mesaj de eroare. Mesajul de eroare este format din 6 biți dominanți.
Din cauza unui mesaj de eroare toate conectate la magistrala de date CAN unitățile de control sunt notificate cu privire la eroarea a apărut locală și, în consecință transferate ignoram la acest mesaj.
După o scurtă pauză, toate unitățile de control vor fi din nou posibilitatea de a transmite mesajul magistralei de date CAN, cu prima de a fi din nou a trimis un mesaj cu cea mai mare prioritate.
Unitatea de control, al cărui mesaj pe magistrala CAN a dus la apariția erorilor începe, de asemenea, retransmiterea mesajelor lor (funcția de repetare automată cerere).
Pentru zone de control diferite, sunt utilizate diferite magistrale CAN. Ele diferă în viteza de transmitere a datelor.
Rata de transmitere a regiunii magistralei de date CAN „motor și șasiu» (CAN-C) este de 125 kbit / s, iar anvelopa CAN de date „Magazin» (CAN-B), datorită cantității mai mici în special mesaje urgente destinate pentru rata de date este de doar 83 kbit / s.
Schimbul de date între cele două sisteme de magistrală se realizează prin așa-numitele "gateway-uri", adică unități de control conectate la ambele magistrale de date.
Busul de fibră optică D2B (Digital Daten-Bus) este utilizat pentru zona "Audio / Comunicare / Navigare". Cablul cu fibră optică poate transmite mult mai multe informații decât un autobuz cu un cablu de cupru.