Stratul de legătură de date poate rețea, do-it-meșterit

CAN algoritmi de control de protocol implementat de hardware speciale - CAN controlere. Aceste controllere sunt disponibile fie ca un circuit separat integrat (IC) sau elemente integrate sunt dispozitive mai complexe. Controler CAN livrat cu emisie-recepție CAN IP oferă o rețea de locuri de muncă de punere în aplicare funcțiile necesare accesului partajat la control al mediului de date (MAC - procedură) înainte de transmiterea semnalelor de legătură. Pentru protocoalele HLP sunt doar funcții Configureaza rețea: .. Selectarea automată și setarea vitezei de transmisie, suport pentru algoritmii de control al mesajului, transferul unui volum mare de mesaje, alocarea automată de ID-uri în rețea, etc. Aceste probleme pot fi rezolvate fără protocoale HLP, proiectare de rețea poate fi setați manual toți parametrii și modurile necesare și controlorii de ton CAN. Protocoalele HLP vă permit să automatizeze de configurare a rețelei și, în unele cazuri, modificați setarea în proces.

Când încercați să transmisia simultană a mecanismului de cadru multi-nod lucrări de arbitraj bitwise non-distructive, care oferă acces prioritar la rapoarte cu un nivel ridicat de prioritate (Carrier Sense Multiple Access cu detectarea coliziunilor și de arbitraj Mesaj prioritar - CSMA / CD + AMP).

Transmiterea de mesaje prioritare vor continua, iar nodurile rămase trebuie să întrerupă transmisia înainte de eliberarea anvelopei. Nivelul de prioritate determinată de poziția și numărul de biți dominante în domeniul arbitrajului, în care identificatorul mesajului transmis. identificator de valoare mai mică corespunde unui nivel de prioritate mai mare.

Fiecare nod de transmisie care formează semnale pe autobuz, controlează starea sa și continuă transmisia, atâta timp cât starea de autobuz, iar semnalele transmise sunt aceleași. Rezilierea de transmisie are loc numai când se transmite un pic recesivă, în cazul în care, în același timp, orice alt nod transmite un pic dominant. În acest ansamblu, formând un pic dominant, transmiterea mesajului de a continua.

CAN protocol prevede algoritm de transfer de două date:

• nod de transmisie transmite în mod independent, cadrul de date, celelalte noduri este recepționate și procesate;

• nod poate trimite o cerere pentru datele necesare pentru acest nod cerere sursă transmite un mesaj de date, care, la fel ca în primul caz este primită și procesată.

Datele sunt transmise în cadrul de date (cadru de date), un cadru de cerere (cadru de la distanță) este furnizat la solicitarea de date având o structură similară. Cadru pentru transmisia pe magistrala cuprinde șapte domenii principale (Fig. 4.2). CAN protocol suportă două formate de cadru (standard și avansat), care diferă doar în lungimea unui identificator (ID).

format standard Frame începe dominant (0) bitul de start "start frame" (FPS - Start Frame). Acesta este urmat de domeniul arbitrajului care cuprinde identificator de 11 biți și cererea de transmisie bit RTR (Remote Transmission Request). Acest bit indică dacă cadrul de date este transmis (bit RTR - 0) sau cerere cadru (bit RTR - 1), în care nu există date domeniu.

Fig. 4.2. CAN cadru

Câmpul de control conține un identificator de extensie bit (IDE - identificator de extensie), care indică tipul de format frame: Standard (0) sau extinse (1). În acest domeniu, există, de asemenea, patru biți de DLC pentru a indica câmpul de lungime a datelor și este rezervat pentru o utilizare viitoare biți R0. În bitul format extins IDE urmat după 18 biți de identificator suplimentar (câmpuri elongație arbitrare de câmp pentru 32 de biți). Pentru câmpul de control sunt câmpul de date (bytes 0-8) și ciclic câmp de control CRC lungime de 15 biți plus un bit delimitator recesiv acest domeniu. Generatorul CRC polinomial pentru controlul frame - (x 15 + x 14 + x 10 + x + 8 x 7 x + 4 + x 3 + 1).

câmpul Acknowledgement (ACK) cuprinde un câmp de lungime a ACK 1-bit ACK și un câmp de oprire. ACK bit este plasat pe autobuz de către transmițător ca recesivă (logic 1). Receptoare primi în mod corect datele, ao transforma într-o logică 0, făcându-l dominant. Astfel, nodul de transmisie primește o confirmare a faptului că cel puțin un receptor a primit corect mesajul său. Mesajele sunt recunoscute de către receptoarele, indiferent de rezultatul testului de date atunci când la recepție.

Sfârșitul mesajului indică EOF (7 biți recesive), urmată de o pauză. lungime pauză este egal cu numărul minim de biți (3 biți) separarea mesajelor consecutive.

Protocolul CAN nu utilizează mesaje de confirmare. In schimb, acesta semnalează A apărut o eroare de transmisie. Doar cinci protocol de pus în aplicare pentru mecanisme CAN de eroare de verificare. Eroare Flag - un mesaj care conține 6 biți dominante consecutive. Alte componente, adoptând o astfel de secvență poate trimite, de asemenea, un indicator de eroare.

Primul algoritm trei de control puse în aplicare la nivelul mesajului: • Controlul Cyclic. Controlat cadru câmp de FPS la CDC.

Când se folosește această metodă, la sfârșitul biți de transmisie sunt adăugate la un cod de redundanță ciclică. Când primiți un mesaj, există o recalculare și compararea cu codul de control ciclic a primit acestuia. Dacă aceste două valori nu se potrivesc, atunci detectat eroare CRC.

• Control cadru. Corespondența structurii transmise

cadru fix-l formatul și dimensiunea. Erori care pot apărea atunci când verificarea de cadru, au primit numele de „erori de format“.

• recunosc eroarea. Așa cum am menționat anterior, cadrele recepționate

sprijinit de toate receptoarele. Dacă transmițătorul nu a primit nici o confirmare, aceasta ar putea însemna că receptorul detectează o eroare (ASC câmp distorsionat) sau receptoare nu există în rețea.

Următoarele două erori algoritm de detectare implementat în protocolul CAN, bit-nivel:

• Monitorizarea anvelopei. Una dintre caracteristicile rețelei CAN este că

nodul de transmisie monitorizează semnalul pe autobuz în timpul transmisiei. Astfel, fiecare nod poate monitoriza nivelul semnalului pe autobuz, și de a determina bitul distincția transmise și primite. Semnalele divergenta în domeniul arbitrajului necesită întreruperea transmisiei, și o discrepanță în alte domenii, generează o eroare de cadru.

• stuffer. CAN este utilizat în codul de semnal NRZ. la

secvențe lungi de biți cu aceeași valoare posibilă sincronizare eșuează. Dacă mesajul sunt consecutive cinci biți cu aceeași valoare, atunci transmițătorul insereaza automat biți suplimentari. Acest bit este șters automat din receptoarele de mesaje. În cazul în care este primit șase sau mai mulți biți consecutivi cu aceeași valoare, aceasta este considerată o eroare.

În cazul în care, în timpul transmisiei cadrului cel puțin un nod detectează o eroare (eroare locală), acesta transmite un cadru de eroare, care aborts programul actual. În acest caz, toate nodurile de rețea nu procesa un mesaj primit, obținându-se astfel coerența datelor în întreaga rețea. Nodurile de rețea nu detectează erori după ce a primit cadrul de eroare trebuie să repete cadru de eroare de transmisie (erori de globalizare), însă lungimea maximă a acestui câmp poate fi de până la 12 biți dominante. Se termina frame eroare indicator de eroare de la limitatorul 8 biți recesive. După pauză standard, (3 biți), eroare de cadru întrerupt transmisia trebuie repetată. De obicei, retransmisia este începută într-un interval de timp de transfer corespunzător 23 de biți, calculați din momentul detectării erorii.

Pentru a implementa proceduri auto fiecare nod de rețea CAN cuprinde două contoare: contor de erori de recepție (REC) și contorul de eroare de transmisie (TEC). Contoarele sunt incrementat automat după fiecare detectare a erorilor și decrementat după corect transmite sau primi cadru. În funcție de starea nodului contoare de eroare poate fi într-una din cele trei stări: eroare activă, pasivă eroare, rupți de autobuz.

O eroare activă este site-ul principal pentru rețeaua CAN și își asumă funcționarea sa normală. Atunci când este detectată o eroare în această stare, nodul trimite o eroare de cadru activ (6 biți dominante). O stare de eroare activă va continua atâta timp cât numărul de erori în oricare dintre contoarele este mai mică decât 127. În cazul în care numărul de erori este mai mare de 96, microcontrolerul gazdă este transmis mesajul despre erorile critice. Atunci când erorile inclusiv mai mult de 127, dar la mai puțin de 256 de nod merge într-o eroare de pasiv.

Eroare de stat indicativ pasiv de greșeli repetitive. Ansamblul acestei stări poate reveni în mod independent, la eroare activă în cazul în care numărul de erori în contoare va fi mai mică de 128. Dacă există un alt nod de eroare are dreptul de a transfera numai eroarea de cadru pasive (6 biți recesive), care nu se poate schimba programul actual al oricărui alt nod. Prin repetarea transmiterea întreruptă a nodului pauză suplimentar (8 biți recesive) trebuie să fie făcută pentru a nu interfera transmiterea altor cadre noduri.

În cazul în care numărul de erori în oricare dintre ghișeele depășește 255, nodul trebuie să fie deconectat de la autobuz (în practică REC cuprinde numai 8 biți, și, prin urmare, numărul de erori de recepție nu poate depăși pragul). Propriul controler de nod poate nu se poate ajunge înapoi la o stare de lucru. În cazul în care este produs de resetare extern, controler CAN revine la defectul activ și, după o pauză 128h11 (1408) poate trimite mesaje.

CAN protocol definește regulile pentru acumularea de erori în tejghelele REC și CET. În funcție de tipul de creștere eroare a numărului de erori în contoarele pot fi 1 la 8 când detectează o singură eroare. Decrementați contorul în stare de eroare activă este întotdeauna efectuată numai la 1. Acest lucru vă permite să atribuiți greutăți diferite pentru diferite erori.

De exemplu, detectarea erorilor când unitatea de recepție REC crește simultan cu trimiterea unui cadru de eroare activ; în cazul în care un pic dominant este primit după trimiterea nodului de cadru de eroare activă, REC crește cu 8, pentru că Acest lucru înseamnă că doar nodul detectează o eroare. TEC este crescut cu 8 în erorile de cadru de transmisie. O transmisie cadru de succes reduce TEC 1 (dacă valoarea nu este 0). Unitatea de recepție de succes reduce REC cadru (dacă nu este 0) de 1 într-o stare de eroare activă; dacă nodul a fost eroare pasiv capabil în valoare stabilită de REC 119-127 (adică cel puțin 128 de nod TEC intră într-o eroare activă).

Orice nod poate trimite un cadru de suprasarcină (cadru de suprasarcină), în cazul în care, în primul rând, nu are timp pentru a procesa mesajele primite și nu pot asigura primirea mesajului următor, și în al doilea rând, atunci când primesc bitul dominant în intervalul dintre cadre (acest lucru poate însemna o pierdere de sincronizare atunci când primesc). cadru de suprasarcină are același format ca o eroare de cadru, dar întotdeauna transmise numai după ce a primit cadru. O eroare de cadru poate fi transmis numai în timpul transmisiei cadrului. Cadrul nu crește starea de supraîncărcare de contoare de eroare și nu conduce la cadrul de re-transmisie. Permis unitatea de transfer nu este mai mare de 2 cadre consecutive de suprasarcină.

În conformitate cu toate procedurile de control:

• transmisia de cadre sunt considerate de succes în cazul în care nici o eroare, până la sfârșitul EOF domeniu;

• Cadrul de recepție este considerat un succes dacă nu este detectată nici o eroare și în timpul intervalului interframe (3 biți după EOF).

Trebuie amintit faptul că protocolul CAN nu conține controale eficiente și restaurare a datelor corupte, cu excepția procedurilor de control CRC. Procedurile LLC nu sunt furnizate, în ciuda imunității ridicate de zgomot poate scădea și introduceți. Dacă aveți nevoie de mijloace suplimentare de control a datelor, acestea ar trebui să fie puse în aplicare protocoale HLP.

În prezent, controlere CAN disponibile, care susțin una dintre cele trei versiuni ale protocolului. CAN versiune 2.0A acceptă numai cadre pentru formatul standard cu identificator de 11 biți. CAN de transmisie pasivă 2.0b oferă un format standard de cadre, iar recepția și procesarea de cadre și format standard și formatul extins cu identificatorul de 29-biți. CAN 2.0b activă permite prelucrarea de cadre de ambele formate.

Standard controler CAN structura prezentată în Fig. 4.3. Evident, controlerul CAN trebuie să conțină memorie tampon pentru datele transmise și datele primite. Implementarea poate procedurilor de protocol efectuate de obicei în hardware-ul cu transmisie prin semnalul de ieșire unitate de emisie-recepție (Tx) și semnalele de intrare de autobuz (Rx). Filtru de admisie appa- invers produce înregistrarea selectivă a cadrelor recepționate prin ID-ul lor în memoria tampon. Se presupune că tamponul de transport trebuie să furnizeze un depozit de cel puțin un mesaj, și tamponul de recepție - cel puțin două mesaje. Cel mai adesea, CAN controlere au un volum mai mare de memorie tampon. Accesul la datele din buffer

Fig. 4.3. Structura controler CAN

Memoria poate fi produs fie prin algoritmul FIFO în implementări mai complexe, ținând cont de nivelul de prioritate identificator determinat. Controler CAN interfață cu microcontroler unitate de control - un standard. Prin această interfață parametrii este reglat, moduri, filtru de receptor, etc. și schimbul de date cu magistrala CAN. În prezent, se produce un număr suficient de mare de microcontrolere de control care conțin instrumente integrate pentru schimbul de date prin intermediul rețelei CAN.

Datorită faptului că protocolul CAN definește numai procedura a straturilor fizice și MAC, precum și construirea rețelei trebuie să fie abordate și alte sarcini conexe, cum ar fi procedurile LLC, procedura de selectare și modurile în timpul operației de inițializare a unităților au fost dezvoltate așa-numitele protocoale HLP CAN.

TRADUCTOR INTERFETELOR RS-422 B RS-232

Dispozitiv B (Fig. 18.2), se aplică două LED-uri pentru a afișa starea legăturii și rezistențe terminale (dacă este necesar). 220 ohm rezistențe și tensiune Zener stabilizare cu 5 B .......

Izolatori Transformatorul

izolatori cuplate capacitivă

Componentele condensatorului fabricat de canalul de comunicație Burr- Brown (Texas Instruments). Pentru izolarea folosim condensatori speciale de înaltă tensiune din ceramică de doar 0,4 pF, care creează deja o protecție de la schimbarea relativ lente .......

componente de izolare galvanic

În unele cazuri, interfețe pentru a transmite semnale între dispozitive care funcționează în condiții diferite și, prin urmare, nu permit conectarea directă a circuitelor electrice. În aceste condiții, este necesar să se transmită semnale în același timp oferind plin .......