retea de control

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Rețeaua de control a zonei , cunoscută și sub numele de CAN-bus , este un standard serial multicast pentru fieldbus (în principal în mediul auto), introdus în anii 1980 de Robert Bosch GmbH , pentru a conecta diferite unități de control electronic (ECU). CAN-ul a fost conceput în mod expres pentru a funcționa fără probleme chiar și în medii puternic perturbate de prezența undelor electromagnetice și poate utiliza o linie diferențiată de potențial echilibrată, cum ar fi RS-485, ca mediu de transmisie. Imunitatea la zgomot EMC poate fi sporită și mai mult prin utilizarea cablurilor cu perechi răsucite .

Deși inițial aplicat în domeniul auto , cum ar fi autobuzul auto , acesta este utilizat în prezent în multe aplicații industriale de tip încorporat , unde este necesar un nivel ridicat de imunitate la perturbări. Rata de biți poate ajunge 1 Mbit / s pentru rețele lungi mai mici de 40 m . Vitezele mai mici vă permit să atingeți distanțe mai mari (de ex. 125 kbit / s pentru 500 m ). Protocolul de comunicare al CAN este standardizat ca ISO 11898-1 (2015). Acest standard descrie în principal stratul (stratul) schimbul de date (stratul de legătură de date), compus din stratul subiacent (substrat) „logică” (Logical Link Control, LLC) și stratul subiacent al Controlului accesului media (MAC) și unele aspecte ale stratul fizic descris de modelul ISO / OSI ( Modelul de referință ISO / OSI ). Protocoalele tuturor celorlalte straturi sunt lăsate la libera alegere a proiectantului de rețea.

Transmiterea datelor

CAN transmite date conform unui model bazat pe bitul „dominant” și „recesiv”, în care biții dominanți sunt 0 logici și biții recesivi sunt 1 logici . Dacă un nod transmite un bit dominant și altul un bit recesiv, atunci "bitul" dominant "câștigă" între cele două (făcând o combinație logică ȘI ).

Tabel de adevăr al biților dominanți / recesivi (AND logic):
Starea magistralei când transmit două noduri
dominant recesiv
dominant dominant dominant
recesiv dominant recesiv
Logic ȘI
0 1
0 0 0
1 0 1

Cu această tehnică, atunci când este transmis un bit recesiv și, în același timp, un alt dispozitiv transmite un bit dominant, există o coliziune și numai bitul dominant este vizibil în rețea (toate celelalte coliziuni sunt invizibile). În practică, se întâmplă ca un bit dominant să fie „afirmat” prin generarea unei tensiuni între conductori, în timp ce un bit recesiv este pur și simplu ignorat. Suntem atât de siguri că de fiecare dată când se impune o diferență de potențial, întreaga rețea o detectează și, prin urmare, „știe” că este un bit dominant.

De obicei, atunci când este utilizat într-o magistrală diferențială, se aplică schema CSMA / BA (Carrier Sense Multiple Access / Bitwise Arbitration) : dacă două sau mai multe dispozitive încep să transmită în același timp, se aplică un mecanism de arbitraj bazat pe priorități pentru a decide ce dispozitiv permite transmiterea să continue. În timpul transmisiei, fiecare nod de transmisie verifică starea magistralei și compară bitul primit cu bitul transmis. Dacă se primește un bit dominant în timp ce se transmite un bit recesiv, nodul oprește transmisia (adică pierde arbitrajul ). Arbitrajul se efectuează în timpul transmiterii pachetului de date de identificare a nodului. Nodurile care încep să transmită simultan trimit un ID 0 binar dominant, care începe cu bitul înalt. De îndată ce ID-ul lor este reprezentat de un număr mai mare (deci cu o prioritate mai mică), nodurile trimit ele însele un bit (recesiv) și așteaptă răspunsul unui 0 (dominant), apoi opresc transmisia. La sfârșitul trimiterii ID-urilor, toate nodurile au revenit la starea OFF, iar mesajul cu prioritatea maximă curentă poate tranzita liber.

Cadrele

Toate cadrele (numite și „mesaje”) încep cu un bit „start-of-frame” (SOF). Rama CAN poate fi de patru tipuri:

  • Cadru de date : cadru care conține datele pe care le transmite nodul.
  • Cadru la distanță : cadru care necesită transmiterea unui anumit identificator.
  • Cadru de eroare : cadru transmis de orice nod care a întâmpinat o eroare.
  • Supraîncărcare cadru: cadru care introduce o întârziere între cadrul de date și / sau cadrul de la distanță.

Cadru de date

Acestea sunt cadrele care efectuează transmiterea efectivă a datelor. Mesajele pot avea două formate:

  • Format cadru de bază : cu 11 biți de identificare.
  • Format cadru extins : cu 29 de biți de identificare.

Standardul CAN trebuie să recunoască în mod necesar formatul cadrului de bază și poate recunoaște opțional formatul cadrului extins (care, totuși, trebuie tolerat).

CAN-ul de bază permite 2 11 = 2 048 tipuri diferite de mesaje, dar conform specificațiilor Bosch pot fi utilizate doar 2 031. În versiunea extinsă puteți avea până la 2 29 = 536 870 912 tipuri de mesaje.

Format cadru de bază

Formatul cadrului de bază are următoarea structură:

Numele domeniului Lungime (număr de biți) Funcţie
Start-of-frame 1 Indică începutul secvenței de transmisie
Identificator 11 Identificator (unic) al datelor
Solicitare la distanță pentru transmisie (RTR) 1 Trebuie să fie un pic dominant
Bit de identificare suplimentar (IDE) 1 Trebuie să fie un pic dominant
Bit rezervat (r0) 1 Rezervat
Codul lungimii datelor (DLC) 4 Număr de octeți pentru a codifica fiecare dată (0-8 octeți)
Câmp de date 0-8 octeți Date de transmis (lungimea este specificată de câmpul DLC)
CRC 15 Verificare paritate cu redundanță
Delimitator CRC 1 Trebuie să fie un pic recesiv
Slot ACK 1 Transmițătorul trimite un bit recesiv și fiecare receptor poate confirma primirea cu un bit dominant
Delimitator ACK 1 Trebuie să fie un pic recesiv
Sfârșitul cadrului (EOF) 7 Trebuie să fie puțin recesivi

O constrângere pe câmpul identificator este că primii 7 biți nu pot fi recesivi.

Format cadru extins

Formatul cadrului extins are următoarea structură:

Numele domeniului Lungime (număr de biți) Funcţie
Start-of-frame 1 Indică începutul secvenței de transmisie
Identificatorul A 11 Prima parte a identificatorului (unic) al datelor
Solicitare la distanță de înlocuire (SRR) 1 Trebuie să fie un pic recesiv
Bit de identificare suplimentar (IDE) 1 Trebuie să fie un pic recesiv
Identificatorul B 18 A doua parte a identificatorului de date (unic)
Solicitare la distanță pentru transmisie (RTR) 1 Trebuie să fie un pic dominant
Biti rezervati (r1 & r0) 2 Rezervat
Codul lungimii datelor (DLC) 4 Număr de octeți de date (0-8 octeți)
Câmp de date 0-8 octeți Date de transmis (lungimea specificată de câmpul DLC)
CRC 15 Verificare paritate cu redundanță
Delimitator CRC 1 Trebuie să fie un pic recesiv
Slot ACK 1 Transmițătorul trimite un bit recesiv și fiecare receptor poate confirma primirea cu un bit dominant
Delimitator ACK 1 Trebuie să fie un pic recesiv
Sfârșitul cadrului (EOF) 7 Trebuie să fie puțin recesivi

Cele două identificatoare (A și B) combinate formează un singur identificator de 29 de biți.

Cadru la distanță

Cadrul la distanță este identic cu Cadrul de date, cu excepția faptului că:

  • bitul RTR setat la starea de bit recesiv,
  • câmpul de lungime a datelor conține numărul de octeți (referitor la sarcina utilă a pachetului) necesar pentru cadrul de date.

Cadru de eroare

Cadrul de eroare este format din două câmpuri:

  • primul este format din combinația steagurilor de eroare activate de unul dintre nodurile conectate la rețea;
  • al doilea este așa-numitul „ Delimitator de erori

Există două tipuri de semnalizări de eroare:

  • Indicator de eroare activ : transmis de un nod care a detectat o eroare de rețea și care se află în starea „eroare activă”;
  • Indicator de eroare pasiv : transmis de un nod care a detectat prezența în rețea a unui indicator de eroare activ și care se află în starea „eroare pasivă”.

Suprasarcină cadru

Cadrul de suprasarcină conține două câmpuri: Semnal de suprasarcină și Delimitator de suprasarcină. Există două condiții de suprasarcină care pot provoca o suprasarcină de semnalizare:

1. Starea receptorului, care necesită o întârziere de transmisie de la următorul cadru de date sau cadru la distanță,
2. Un bit dominant este detectat în timpul unui interval de transmisie.

Un cadru de suprasarcină caz ​​1 este permis să înceapă numai în momentul primului bit al unui interval așteptat, în timp ce un cadru de suprasarcină caz ​​2 începe un bit după detectarea bitului dominant. Semnalul de suprasarcină este format din șase biți dominanți (toți egali cu 0). Forma generală este ca cea a unui indicator de eroare activ, care șterge câmpurile de interval. În consecință, celelalte noduri din rețea detectează, de asemenea, o stare de suprasarcină și transmit un semnal de suprasarcină. Supraîncărcarea Delimiter constă din 8 biți recesivi (toți egali cu 1) și are aceeași formă de „ Delimitator de erori ”.

Umplutură de biți

Acesta constă în inserarea unui bit de valoare opusă după cinci biți consecutivi de aceeași valoare. Această practică se numește bit stuffing (literalmente umplerea de biți ) și este necesară datorită codării utilizate în cadru, de tip NRZ ( Non Return to Zero ), care în cazul valorilor egale consecutive menține aceeași valoare a tensiunii și nu generează tranziții utile pentru resincronizarea dispozitivelor de comunicare. Cadrele supuse acestei operații sunt apoi „decodate” de către receptor, care elimină biții introduși anterior. În consecință, atunci când sunt primiți șase biți egali consecutivi de aceeași valoare (111111 sau 000000), aceștia sunt considerați o eroare. Umplerea de biți implică faptul că cadrele de date transmise pot fi mai mari decât ceea ce s-ar putea aștepta din aplicarea tabelelor de mai sus.

Standarde ISO aplicabile

  • ISO 11898-2: 2003 : CAN de mare viteză
  • ISO 11898-3: 2006 : tolerant la erori CAN (viteză redusă)
  • ISO 11992-1: 2003 : CAN tolerant la erori pentru autovehicule
  • ISO 11898-5: 2007: CAN de mare viteză / trezire selectivă
  • SAE J2411 : CAN cu un singur fir CAN (SWC)

Standardul ISO 11898-2 utilizează o linie echilibrată cu două fire pentru semnale. Este cel mai utilizat strat fizic în aplicațiile de control auto și industrial.

Standardul ISO 11898-4 definește tipul de comunicare CAN numită time-triggered (TTCAN), pe baza unui protocol de strat prevăzut cu un ceas de sistem pentru a programa redirecționarea mesajelor.

Straturi de aplicare

Deoarece standardul CAN nu prevede în sine protocoale de nivel de aplicație, cum ar fi controlul fluxului , adresarea dispozitivelor conectate la magistrală și transmiterea blocurilor de date mai mari decât un singur mesaj, a necesitat implementarea unor protocoale specifice la nivel de aplicație. Acestea includ DeviceNet , CANopen , CANaerospace , SDS și CAN Kingdom .

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN (EN) sh99003725 · GND (DE) 4338572-2
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT