Sunteți pe pagina 1din 13

PC

CURS

CAN - BUS

CE ESTE CAN - BUS


CAN - BUS sau Controller Area Network (CAN), este o magistrala seriala care a fost proiectat iniial pentru industria de automobile, dar a devenit un bus popular in automatizari industriale, precum i alte aplicaii. Magistrala CAN este utilizata n principal n domeniul sistemelor integrate, i cum sugereaz i numele, este o reea stabilit ntre microcontrolere. Este un bus cu dou fire, half duplex, de mare vitez i este foarte potrivit pentru aplicatii de mare viteza prin intermediul unor mesaje scurte.

CE ESTE CAN - BUS

Cteva dintre beneficiile utilizarii CAN BUS sunt: robusteea, fiabilitatea i suportul industriei. CAN poate lega teoretic de pn la 2032 dispozitive (presupunnd un nod cu un identificator) pe o singur reea. Cu toate acestea, din cauza limitarilor practice ale hardware-ului (transceivere), se pot lega doar pn la 110 noduri pe o singur reea. Acesta ofer rata de transfer mare, de pn la 1 Mbits/sec, permitand astfel control n timp real. Rata de eroare mica i caracteristica de detectare a erorilor face CAN BUS un bus de ncredere n mediul unde zgomotul este critic.
3

ISTORIA CAN - BUS

CAN a fost dezvoltat pentru prima dat de Robert Bosch GmbH, Germania n 1986, cnd a fost solicitata pentru a dezvolta un sistem de comunicare ntre trei ECU (uniti electronice de control) n vehicule de ctre Mercedes. Ei au descoperit c un UART nu mai este adecvat n aceast situaie, deoarece este utilizat n comunicare de la punct-la-punct. Nevoia unui sistem de comunicare multi-master a devenit imperativa. Primul cip specializat CAN a fost apoi fabricat n 1987 de ctre Intel

STANDARDE CAN - BUS

Specificaia original este data in specificatia Bosch. Versiunea 2.0 a specificaiei este mprita n dou pri:
Standard CAN (ver 2.0A). Utilizeaz 11 bii de identificare Extended CAN (ver 2.0B). Utilizeaz 29 bii de identificare

Cele doua parti definesc formate diferite ale cadrului mesajului, principala diferen fiind lungimea identificatorului. Exist dou standarde ISO pentru CAN. Diferena este n nivelul fizic,
ISO 11898 se ocup de aplicaii de nalt vitez de pn la 1Mbit/second. ISO 11519 are o limit superioar de 125kbit/second.
5

STANDARDE CAN - BUS

Exist trei tipuri de controlere CAN:


Tip A, Tip B pasiv, Tip B.

Cele mai multe controllere 2.0A pot transmite i primi mesaje numai in format standard Controllerele 2.0B pasiv, vor primi mesaje in format extins, dar le ignora. controllorele de 2.0B pot trimite i primi mesaje n ambele formate. Dac 29 de bii de identificare sunt folositi pe un bus care conine controller A, busul nu va funciona! 6

FUNCTIONARE CAN - BUS


CAN este o retea multi master. Acesta utilizeaz CSMA / CD + AMP (Carrier Sense Multiple Access / Collision Detection +Arbitration on Message Priority).
nainte de a trimite un mesaj verific dac nodul CAN bus este ocupat. CAN utilizeaza detectarea coliziunilor. (similar cu Ethernet). Cu toate acestea, atunci cnd o reea Ethernet detecteaz coliziune ambele noduri opresc transmisia, si apoi atepta un timp aleator nainte de a ncerca s trimit din nou. Acest lucru face reelele Ethernet foarte sensibile la incarcari mari de bus.

CAN rezolv aceast problem cu un principiu foarte inteligent de arbitraj.


7

ARBITRAJ CAN - BUS

Datele transmise mesaje de la orice nod pe o magistrala CAN nu conin adresele nodului care transmite, sau a orice nod de destinatie. n schimb, coninutul mesajului este etichetat de ctre un identificator care este unic n ntreaga reea. Toate celelalte noduri din reea primesc mesajul i fiecare efectueaz un test de acceptare a identificatorului pentru a stabili dac mesajul i astfel, coninutul su, este relevant pentru acel nod particular. Dac mesajul este relevant, datele vor fi prelucrate altfel mesajul este ignorat.
8

IDENTIFICATORI SI ARBITRARE CAN

Identificatorul unic determin i prioritatea mesajului. Cu cat este mai mic valoarea numeric a identificatorului, cu atat are cea mai mare prioritate. Acest lucru permite arbitrajul n cazul n care dou (sau mai multe) noduri intra n competiie pentru accesul la bus, n acelai timp. Mesajul cu prioritate mai mare are garantat accesul la bus, ca si cand ar fi fost singurul mesaj transmis. Mesajele cu prioritate mai mica sunt automat retransmise n urmtorul ciclu de bus, sau ntr-un ciclu de bus ulterioar n cazul n care exist si alte mesaje cu prioritate mai mare care ateapt s fie expediate. 9

IDENTIFICATORI SI ARBITRARE CAN

Fiecare mesaj poate are un identificator care este de 11 bii (specificatie CAN partea A) sau 29 bii (partea B). Acest identificator este parte principala din arbitrajul CAN, si se afl la nceputul fiecrui mesaj CAN. Identificatorul identific tipul de mesaj dar si prioritatea mesajului. Pe un CAN- bus, daca apare o coliziune, bus-ul starea dominanta este 0. Un nod CAN asculta bus-ul intotdeauna inainte de a face o transmisie
10

IDENTIFICATORI SI ARBITRARE CAN

Un nod CAN care transmite un 1 in campul de arbitrare si citeste un 0, va sti ca a pierdut arbitrarea de bus. Acesta isi va opri transmisia si va da astfel prioritate nodului care ba castigat arbitrarea, nod care va continua transmisia. Doua noduri de retea nu au permisiunea de a transmite mesaje cu acelasi identificator.

11

CADRE CAN

Intr-un CAN-bus exista doua tipuri de cadre transmise:


1. REMOTE FRAME (cadre de distanta) 2. DATA FRAME (cadre de date)

REMOTE FRAME pot fi descrise ca fiind cadre speciale utilizate pentru cereri de informatie DATA FRAMES sunt cadrele normale care se vehiculeaza pe bus si sunt utilizate de noduri pentru a transmite date pe bus

12

FORMATUL MESAJELOR CAN

In

13

S-ar putea să vă placă și