Skratka CAN znamená Controller Area Network protokol. Je to protokol, ktorý bol vyvinutý spoločnosťou Robert Bosch okolo roku 1986. Protokol CAN je štandard navrhnutý tak, aby umožnil mikrokontroléru a iným zariadeniam vzájomnú komunikáciu bez akéhokoľvek hostiteľského počítača. Funkciou, ktorá robí protokol CAN jedinečným medzi ostatnými komunikačnými protokolmi, je typ vysielania zbernice. Tu vysielanie znamená, že informácie sa prenášajú do všetkých uzlov. Uzol môže byť senzor, mikrokontrolér alebo brána, ktorá umožňuje počítaču komunikovať cez sieť cez USB kábel alebo ethernetový port. CAN je protokol založený na správe, čo znamená, že správa nesie identifikátor správy a na základe identifikátora sa rozhoduje o priorite. V sieti CAN nie je potrebná identifikácia uzla, takže je veľmi jednoduché ho vložiť alebo odstrániť zo siete. Ide o sériový poloduplexný a asynchrónny typ komunikačného protokolu. CAN je dvojvodičový komunikačný protokol, keďže sieť CAN je pripojená cez dvojvodičovú zbernicu. Vodiče sú krútená dvojlinka s charakteristikou impedancie 120 Ω zapojená na každom konci. Pôvodne bol určený hlavne na komunikáciu v rámci vozidiel, ale teraz sa používa v mnohých iných kontextoch. Rovnako ako UDS a KWP 2000 sa dá použiť aj na palubnú diagnostiku.
škorica vs mate
Prečo MÔŽETE?
Potreba centralizovaného štandardného komunikačného protokolu vznikla z dôvodu nárastu počtu elektronických zariadení. Napríklad v modernom vozidle môže byť viac ako 7 TCU pre rôzne podsystémy, ako je prístrojová doska, ovládanie prevodovky, riadiaca jednotka motora a mnohé ďalšie. Ak sú všetky uzly spojené jeden k jednému, rýchlosť komunikácie by bola veľmi vysoká, ale zložitosť a náklady na káble by boli veľmi vysoké. Vo vyššie uvedenom príklade si jeden prístrojový panel vyžaduje 8 konektorov, takže na prekonanie tohto problému bolo zavedené CAN ako centralizované riešenie, ktoré vyžaduje dva vodiče, t. j. CAN high a CAN low. Riešenie pomocou protokolu CAN je pomerne efektívne vďaka prioritizácii správ a flexibilné, pretože uzol možno vložiť alebo odstrániť bez ovplyvnenia siete.
Aplikácie protokolu CAN
Pôvodne bol protokol CAN navrhnutý tak, aby sa zameral na komunikačný problém, ktorý sa vyskytuje vo vozidlách. Ale neskôr, vďaka funkciám, ktoré ponúka, sa používa v rôznych iných oblastiach. Nasledujú aplikácie protokolu CAN:
- Automobilový priemysel (osobné vozidlá, nákladné autá, autobusy)
- Elektronické zariadenia pre letectvo a navigáciu
- Priemyselná automatizácia a mechanické riadenie
- Výťah a eskalátory
- Automatizácia budov
- Lekárske nástroje a vybavenie
- Námorné, lekárske, priemyselné, lekárske
CAN vrstvená architektúra
Ako vieme, že OSI model rozdeľuje komunikačný systém do 7 rôznych vrstiev. Ale vrstvená architektúra CAN pozostáva z dvoch vrstiev, t.j.
Pochopme obe vrstvy.
- Vrstva dátového spojenia: Táto vrstva je zodpovedná za prenos dát z uzla do uzla. Umožňuje vám vytvoriť a ukončiť spojenie. Je tiež zodpovedný za detekciu a opravu chýb, ktoré sa môžu vyskytnúť na fyzickej vrstve. Vrstva dátového spojenia je rozdelená na dve podvrstvy:
MAC: MAC je skratka pre Media Access Control. Definuje, ako zariadenia v sieti získajú prístup k médiu. Poskytuje enkapsuláciu a dekapsuláciu dát, detekciu chýb a signalizáciu. - Fyzická vrstva: Fyzická vrstva je zodpovedná za prenos nespracovaných údajov. Definuje špecifikácie pre parametre, ako je úroveň napätia, časovanie, prenosové rýchlosti a konektor.
Špecifikácie CAN definujú protokol CAN a fyzickú vrstvu CAN, ktoré sú definované v štandarde CAN ISO 11898. ISO 11898 má tri časti:
- ISO 11898-1: Táto časť obsahuje špecifikáciu vrstvy dátového spojenia a fyzického signálového spojenia.
- ISO 11898-2: Táto časť patrí pod fyzickú vrstvu CAN pre vysokorýchlostné CAN. Vysokorýchlostný CAN umožňuje prenosovú rýchlosť až 1 Mbps používanú v hnacej sústave a nabíjacej oblasti vozidla.
- ISO 11898-3: Táto časť tiež patrí pod fyzickú vrstvu CAN pre nízkorýchlostné CAN. Umožňuje rýchlosť prenosu dát až 125 kbps a nízkorýchlostný CAN sa používa tam, kde rýchlosť komunikácie nie je kritickým faktorom.
CiA DS-102: Úplná forma CiA je CAN v automatizácii, ktorá definuje špecifikácie pre konektor CAN.
Čo sa týka implementácie, CAN kontrolér a CAN transceiver sú implementované v softvéri pomocou aplikácie, operačného systému a funkcií správy siete.
Rámovanie CAN
Poďme pochopiť štruktúru rámca CAN.
Teraz uvidíme, ako sa dáta prenášajú cez sieť CAN.
Sieť CAN pozostáva z viacerých uzlov CAN. Vo vyššie uvedenom prípade sme zvážili tri uzly CAN a pomenovali sme ich ako uzol A, uzol B a uzol C. Uzol CAN pozostáva z troch prvkov, ktoré sú uvedené nižšie:
- Hostiteľ
Hostiteľ je mikrokontrolér alebo mikroprocesor, na ktorom je spustená nejaká aplikácia na vykonanie špecifickej úlohy. Hostiteľ rozhodne, čo prijatá správa znamená a akú správu má poslať ďalej. - Ovládač CAN
Kontrolér CAN sa zaoberá komunikačnými funkciami popísanými protokolom CAN. Tiež spúšťa prenos alebo príjem správ CAN. - CAN Transceiver
CAN transceiver je zodpovedný za prenos alebo príjem dát na CAN zbernici. Konvertuje dátový signál na tok dát zozbieraných zo zbernice CAN, ktorému riadiaca jednotka CAN rozumie.
Vo vyššie uvedenom diagrame sa na prenos alebo príjem údajov používa netienený krútený párový kábel. Je tiež známa ako zbernica CAN a zbernica CAN pozostáva z dvoch liniek, t. j. CAN low line a CAN high line, ktoré sú tiež známe ako CANH a CANL. K prenosu dochádza v dôsledku rozdielového napätia aplikovaného na tieto vedenia. CAN používa krútenú dvojlinku a rozdielové napätie kvôli svojmu prostrediu. Napríklad v aute, motore, zapaľovacom systéme a mnohých ďalších zariadeniach môže dôjsť k strate údajov a poškodeniu údajov v dôsledku hluku. Krútenie dvoch čiar tiež znižuje magnetické pole. Zbernica je na každom konci zakončená odporom 120Ω.
Charakteristika CAN
Pomocou rozdielového napätia určíme, ako sa prenášajú 0 a 1 cez zbernicu CAN. Vyššie uvedený obrázok je graf napätia, ktorý zobrazuje úroveň napätia CAN low a CAN high. V terminológii CAN sa o logickej 1 hovorí, že je recesívna, zatiaľ čo logická 0 je dominantná. Keď sa použije horné vedenie CAN a nízke vedenie CAN s 2,5 voltami, potom by skutočné rozdielové napätie bolo nulové. Nulové napätie na zbernici CAN je čítané CAN transceiverom ako recesívna alebo logická 1. Nulový stav na zbernici CAN je ideálny stav zbernice. Keď sa vysoké vedenie CAN stiahne na 3,5 voltu a nízke vedenie CAN sa stiahne na 1,5 voltu, potom by skutočné rozdielové napätie zbernice bolo 2 volty. CAN transceiver ho považuje za dominantný bit alebo logickú 0. Ak sa stav zbernice dosiahne na dominantnú alebo logickú 0, potom by bolo nemožné prejsť do recesívneho stavu akýmkoľvek iným uzlom.
Kľúčové body získané z charakteristík CAN
- Logická 1 je recesívny stav. Na prenos 1 na zbernici CAN by sa mali použiť vysoké aj nízke hodnoty CAN s 2,5 V.
- Logická 0 je dominantný stav. Na prenos 0 na zbernici CAN by sa malo použiť vysoké napätie CAN pri 3,5 V a nízke napätie CAN 1,5 V.
- Ideálny stav autobusu je recesívny.
- Ak uzol dosiahne dominantný stav, nemôže sa vrátiť späť do recesívneho stavu žiadnym iným uzlom.
Logika zbernice CAN
Z vyššie uvedeného scenára sa dozvieme, že dominantný štát prepíše recesívny štát. Keď uzol posiela dominantný a recesívny bit súčasne, zbernica zostáva dominantná. Recesívna úroveň sa vyskytuje iba vtedy, keď všetky uzly posielajú recesívny bit. Takáto logika je známa ako logika AND a fyzicky je implementovaná ako obvod s otvoreným kolektorom.
Princíp komunikácie CAN
Ako vieme, správa sa odosiela na základe priority nastavenej v rozhodcovskom poli. Pre štandardný rámec je identifikátor správy 11 bitový, zatiaľ čo pre rozšírený rámec je identifikátor správy 29 bitový. Umožňuje návrhárovi systému navrhnúť identifikátor správy už pri samotnom návrhu. Čím menší je identifikátor správy, tým vyššia bude priorita správy.
Poďme pochopiť, ako arbitráž funguje prostredníctvom vývojového diagramu.
Odosielateľ chce odoslať správu a čaká na nečinnosť zbernice CAN. Ak je zbernica CAN nečinná, odosielateľ odošle SOF alebo dominantný bit pre prístup na zbernicu. Potom odošle bit identifikátora správy v najvýznamnejšom bite. Ak uzol deteguje dominantný bit na zbernici počas prenosu recesívneho bitu, znamená to, že uzol stratil arbitráž a prestane vysielať ďalšie bity. Odosielateľ počká a znova odošle správu, keď bude autobus voľný.
Príklad arbitráže CAN
Ak vezmeme do úvahy tri uzly, t. j. Uzol 1, Uzol 2 a Uzol 3, identifikátory správ týchto uzlov sú 0x7F3, 0x6B3 a 0x6D9.
Prenos všetkých troch uzlov s najvýznamnejším bitom je znázornený na obrázku vyššie.
jedenásťthbit: Keďže všetky tri bity uzlov sú recesívne, bit zbernice tiež zostane recesívny.
10thbit: Všetky uzly majú 10. bit ako recesívny, takže zbernica tiež zostane recesívna.
9thbit: Uzol 1 má recesívny bit, zatiaľ čo ostatné uzly majú dominantný bit, takže zbernica tiež zostane dominantná. V tomto prípade uzol 1 stratil arbitráž, takže prestane posielať bity.
8thbit: Uzol 2 aj uzol 3 posielajú recesívny bit, takže stav zbernice zostane recesívny.
7thbit: Uzol 2 posiela dominantný bit, zatiaľ čo uzol 3 poslal recesívny bit, takže stav zbernice zostane dominantný. V tomto prípade uzol 3 stratil arbitráž, takže prestane posielať správu, zatiaľ čo uzol 2 vyhral arbitráž, čo znamená, že bude pokračovať v zadržiavaní zbernice, kým sa správa neprijme.