Nivel înalt de protocol CANopen

Directorul și regulile protocolului CANopen descrie elementele de bază ale entităților de comunicare și de protocol, explică regulile relației organizației pe baza acestor obiecte.

În prezent există un număr mare de interfață serială. Unele dintre ele, de exemplu, RS-232. USB. SPI. Ei au câștigat popularitate imensă datorită caracteristicilor sau ușurința de utilizare. Alții nu a găsit o astfel de răspândire largă în sistemele electronice. Acestea includ IEEE 1394. RS-449. X.21. Unele interfețe seriale standard, la toate uitate repede după dezvoltarea lor, care nu este standardul CAN (Controller Area Network), dezvoltat în 1987 de către compania germană Robert Bosch GmbH și a devenit, probabil, cel mai popular interfață serială pentru industria de automobile și echipamente industriale . Datorită fiabilității ridicate, rate relativ ridicate de date (până la 1 Mb / s) și configurarea flexibilă și de a folosi această interfață susținută de o multitudine de dispozitive electronice (controllere industriale, microcontrolere, ASICs, senzori). Până în prezent, cea mai recentă versiune a protocolului este 2.0b CAN.

CAN standard, descrie comportamentul semnalelor la un nivel scăzut, și în mod izolat din stratul fizic, adică medii diferite (cablu de cupru, fibra optica, etc.) pot fi utilizate pentru transmisia de date. CANopen protocol de nivel înalt a fost dezvoltat pentru a accelera proiectarea de rețele CAN bazate și standardizarea acestor rețele. El a devenit larg răspândite în echipamente industriale, vehicule, echipamente medicale, „casa inteligentă“. Protocolul este deschis, iar documentația privind utilizarea sa este disponibil pentru toată lumea. DS.301 reprezintă documentul de bază care descrie principiile de bază și dispozițiile de funcționare CANopen. Datorită faptului că protocolul vizează utilizarea în diferitele clase de dispozitive, documente CiA DS-4xx reglementate muncă CANopen în fiecare dintre ele. De exemplu, CiA 412 se referă la echipamente medicale și CiA 417 - la sistemul de control al ascensorului.

Topologia rețea CAN, principiile formatelor de funcționare și cadru sunt descrise în detaliu în [1] și [2], și, prin urmare, nu are nici un sens să se repete, și este necesar pentru a merge direct la luarea în considerare a unei rețele pe bază de înalt nivel de protocol CANopen. Figura 1 prezintă o diagramă funcțională a două unități de comunicare prin magistrala CAN și protocolul CANopen.

# 65279; nivele de comunicare atunci când cele două noduri.

Unitatea funcțională de bază a protocolului este obiectul. Un obiect poate fi înțeles care să conțină informații parametru date CCD (de exemplu, un senzor de temperatură) nod sau o rețea de configurare, precum și orice erori etc. Prin urmare, o operațiune de dispozitiv (nod) condiție este prezența în rețeaua dicționarului, care este un grup de facilități disponibile într-o anumită ordine. În esența sa, dicționarul obiect - o legătură între aplicarea și transmisă informația stratului fizic (figura 2). Cu fiecare dispozitiv care folosește interfața CANopen, producătorul trebuie să furnizeze un fișier cu extensia * .eds (foaie de date electronice), care conține dicționarul obiect, și informații suplimentare.

Unitatea de CANopen condiționat are trei componente: un modul software de procesare și o interfață de pachete de protocol, dicționar obiect și software la nivel de aplicație. modulul de protocol de procesare este direct responsabil pentru transmiterea și recepția obiectelor de comunicare prin autobuz. Dicționar obiecte descrie toate tipurile de obiecte de comunicații de date și obiecte de aplicații utilizate în acest aparat. Software-ul de la stratul de aplicație execută funcții de control intern și permite comunicarea cu alte dispozitive care nu utilizează magistrala CAN.

Fiecare obiect din dicționar are un indice de 16 biți și un 8-bit sub-index. Cu ei, puteți face referire la acest obiect. Tabelul 1 prezintă un exemplu descrierea unui obiect de identificare care conține informații de bază despre dispozitiv.

Protocolul CANopen presupune existența următoarelor tipuri de obiecte:

  • obiecte de date de servicii (SDO);
  • Process Data Objects (DOP);
  • entități funcționale specifice: un obiect de sincronizare (SYNC), un marcaj de timp, un mesaj urgent (EMCY);
  • Obiecte de management al rețelei (NMT):-mesaj NMT mesaj de descărcare (de boot-up), eroare de facilitate de verificare.
  • index parametru conexiune SSDO = 1200h + № SSDO - 1;
  • conexiune index parametrul CSDO = 1280h + № CSDO - 1.
  • Serviciile care implementează SDO-transferul poate fi după cum urmează:
  • Încărcarea pe SDO-server (descărcare), constând dintr-o sarcină faza de inițializare și încărcați direct segmente;
  • Descarcarea cu SDO-server (upload), care constă dintr-o fază de inițializare și descărcarea segmentelor care se descarcă direct;
  • Abandonați de transfer SDO.

Pentru procesul de transmisie directă de sarcină utilă (temperatura, viteza, curent, tensiune, etc.) DOP utilizat în timp real. transmisie DOP este difuzat, modelul este aplicat producător-consumator (producător-consumator), prezentat în figura 4.

Dicționarul obiect sunt două tipuri de DOP - date (TPDO) și pentru primirea (RPDO). Dispozitiv, în orice moment restante DOP în autobuz, numit producătorii și luarea DOP - consumatori. DOP este, de asemenea, descrisă în dispozitivul dicționar obiect. Tipuri de date și obiecte care afișează în DOP descrisă structura numita DOP-mapping (DOP-cartografiere). Cu SDO la inițializare pas poate schimba cantitatea de DOP și afișarea obiectelor din cadrul acestora. Toate DOP descris parametrul structural (sau parametru de cartografiere) și parametri de comunicație care descriu capacități de comunicare DOP. Indicii acestor parametri sunt determinați în conformitate cu următoarele reguli:

  • conexiune index parametrul RPDO = 1400h + № RPDO - 1;
  • conexiune index parametrul TPDO = 1800h + № TPDO - 1;
  • Index structural parametru RPDO = 1600h + № RPDO - 1;
  • Index parametrul structural TPDO = 1A00h + № TPDO - 1.

Cu o singură DOP poate trece de la 1 la 8 octeți de date. Într-o rețea CANopen poate conține până la 512 la 512 TPDO și RPDO.

DOP pot fi transmise fie sincronă sau asincronă în raport cu sincronizare SYNC obiect remarcabil în autobuz, la intervale regulate. Acest lucru este ilustrat în figura 5. Synchronous DOP transmise în perioada predeterminată după apariția de autobuz SYNC-obiect.

# 65279; principiul transferului de DOP sincronă și asincronă.

Asincronă DOP sunt transmise fără nici un fel de comunicare cu obiectul de sincronizare. De asemenea, distinge trei moduri de apel DOP (Figura 6):

  • Eveniment sau temporizator: mecanism de transmitere a DOP este declanșat după producerea unui eveniment intern sau declanșarea timer-ul dispozitivului;
  • În conformitate cu cererea de la distanță, în cazul în care dispozitivul începe transmiterea DOP, după ce a primit cadrul cerere de la distanță de la un alt dispozitiv de pe autobuz;
  • transmisie Synchronous (ciclic sau aciclic): așa cum sa menționat anterior, acesta este asociat cu apariția anvelopelor SYNC-obiect.

transmisia sincronă DOP poate fi realizată într-un mod ciclic și aciclic. La alegerea unui mod ciclic DOP sunt transmise cu o anumită periodicitate stabilită de întreg între 1 240 m. E. 5 transferul DOP înseamnă după fiecare a cincea apariție SYNC-obiect în autobuz. La momentul emiterii modului aciclici DOP la magistrala de un eveniment intern al dispozitivului, dar trebuie în mod necesar să fie efectuate în fereastra SYNC-obiect.

câmp de date Producător sunt transmise DOP, în conformitate cu înregistrările lor de afișare TPDO. În acest sens, valoarea curentă este transmisă de date ar trebui să fie luate din dicționar obiectele și înregistrate în datele transmise înainte de trimiterea mesajului pe autobuz. operații similare sunt realizate pe partea consumatorului. În conformitate cu RPDO înregistrări de afișare, datele primite sunt scrise într-un dicționar obiect al dispozitivului.

Alte obiecte, fără de care existența CANopen-rețele sunt NMT-obiecte vă permit să gestionați activitatea rețelei. Inițial, este de remarcat faptul că, în orice moment dat, trebuie să fie într-una din cele patru stări: inițializarea (Inițializare), pregătire (pre-operațională), locul de muncă (operațională) sau opri (Oprit). Când dispozitivul se execută o fază de inițializare internă, cât și după finalizarea cu succes a tranziției la starea pregătită. În această stare, este deja posibil să se pună în aplicare configurația CANopen-nod folosind SDO. Apoi, un nod poate intra în funcțiune. Pentru aceasta este necesar ca rețeaua master (transmiterea mesajului NMT are loc în conformitate cu modelul master-slave), care a difuzat Start_remote_node. ID-ul NMT-mesaje este 0, deoarece acestea ar trebui să aibă cea mai mare prioritate în rețea. Tabelul 2 descrie NMT-mesaje.

Pentru a îmbunătăți fiabilitatea de funcționare a rețelei, există mesaje urgente obiecte (Object de urgență sau EMCY). transferul acestora se face în cazul unor erori interne ale oricărui nod. Mesajul este transmis de urgență la rețea doar o singură dată după apariția unei anumite erori, și nu contează cât de mult timp o eroare activă nu este prezent, un nou EMCY energia corespunzătoare vor fi transmise. Numai atunci când o nouă eroare corespunzătoare EMCY pot fi transferate. mecanism de urgență transmiterea de mesaje nu este necesară pentru o rețea CANopen, dar cu utilizarea corespunzătoare a acestuia, el va permite timp pentru a identifica și corecta eșecul nod.

Toate dispozitivele de sclavi, ca parte dintr-o rețea CANopen poate trimite un mesaj special cu privire la dorința lor de a funcționa într-o rețea. Acest mesaj de boot (mesaj de boot-up) clar Master-dispozitiv care starea de rețea internă Slave-nod comutată în modul de inițializare gata de utilizare face. Transfer de boot-up-comunicare este, de asemenea, opțional, dar procedura recomandată, așa cum Maestrul va ști că un anumit Slave-dispozitiv poate fi deja configurat prin SDO sau traduce în funcțiune.

Interfața CANopen asigură funcționarea rețelei de control protocol în două: noduri de protocol Guard (Nodul de protocol paza) și protocolul de control de temporizare (protocolul Heartbeat). În primul caz selectat sondaje NMT-Master Slave-dispozitive la intervale regulate, numit timpul de gardă. Ca răspuns la fiecare Slave-dispozitiv trimite un mesaj care conține statutul său de rețea. Timpul de așteptare al acestui mesaj poate fi setat individual pentru fiecare nod. Dacă timpul expiră, nodul nu a primit o solicitare de la experte pe o parte cu ajutorul serviciului Life Guarding eveniment o eroare care indică absența cererii de supraveghere. În cazul în care cererea de transfer de la distanță nu a fost confirmată pentru așteptare watchdog sau a declarat în stare de răspuns Slave-dispozitive nu este cum era de așteptat, de către Master-dispozitiv apare garda de eroare de asamblare a raportat folosind Nodul paza serviciului eveniment.

Bătăi-protocol vă permite să monitorizeze rețelele de la distanță fără a fi nevoie de a trimite răspunsuri Slave-dispozitive. În acest caz, nodul configurat să difuzeze mesaje-Heartbeat este un producător de măsuri de control. Alte dispozitive care sunt configurate pentru a primi Heartbeat-posturi, sunt consumatori de cicluri de control, iar în cazul în care în timpul ciclului de control al așteptărilor (Heartbeat timpului de consum) Bătăi-mesaj nu a sosit, calendarul generat de eroare de control. Atât a considerat operațiunea de control al protocolului de rețea se exclud reciproc, adică, doar una dintre ele pot fi folosite în rețea. Bătăi-protocol are o prioritate mai mare, iar implicit este de a utiliza numele său.

Această secțiune a acoperit principii și reguli de destul de complexe-cheie, dar în același timp, protocolul CANopen foarte fiabil. În secțiunea următoare un exemplu simplu va descrie CANopen-rețea operație constând din două noduri.

articole similare