1. CAN BUS. Obr. 1.1 Datová sběrnice CAN Struktura řídící jednotky s podpůrnými obvody pro CAN je zobrazena na následujícím obrázku.



Podobné dokumenty
Controller Area Network (CAN)

Ústav automobilního a dopravního inženýrství. Datové sběrnice CAN. Brno, Česká republika

Sériová rozhraní SPI, Microwire, I 2 C a CAN

Local Interconnect Network - LIN

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

PŘÍSTUPOVÉ METODY KE KOMUNIKAČNÍMU KANÁLU

TOPOLOGIE DATOVÝCH SÍTÍ

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Počítačové sítě Datový spoj

CAN Controller Area Network

UC485P. Převodník RS232 na RS485 nebo RS422. Průmyslové provedení s krytím

Seriové ATA, principy, vlastnosti

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

Vrstvy periferních rozhraní

EXTRAKT z české technické normy

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

LLC multiplexing/demultiplexing MAC formát rámce a přístupová metoda Nabízí se možnost standardizace rozhraní spojové a fyzické vrstvy

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

UC485. Převodník linky RS232 na RS485 nebo RS422 s galvanickým oddělením

Systém řízení sběrnice

Miroslav Flídr Počítačové systémy LS /1- Západočeská univerzita v Plzni

Počítačové sítě Datový spoj

Vestavné systémy BI-VES Přednáška 5

SPINEL. Komunikační protokol. Obecný popis. Verze 1.0

Protokol S-BUS pro MORSE Popis protokolu

Aplikační protokoly CAN pro dieselelektrické lokomotivy

AD4RS. měřící převodník. 4x vstup pro měření unifikovaného signálu 0 10 V, 0 20 ma, 4 20 ma. komunikace linkami RS232 nebo RS485

Převodník sériového rozhraní RS-485 na mnohavidové optické vlákno ELO E171 Uživatelský manuál

Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI

Telemetrický komunikační protokol JETI

Profibus (EN 50170) Standard pro distribuované průmyslové řízení. Distribuované systémy: ISO 7498 (Open System Interconnect)

BASPELIN CPM. Popis komunikačního protokolu verze EQ22 CPM EQ22 KOMPR

Controller Area Network

Principy konstrukce rozvodů V/V sběrnic

Sběrnice typu CAN a její použití v automobilové technice

SAS (Single-Attachment Station) - s jednou dvojicí konektorů, tj. pro použití pouze na jednoduchém kruhu.

BASPELIN CPM. Popis komunikačního protokolu verze EQ3 CPM EQ3 KOMPR

Vrstva přístupu k médiu (MAC) a/b/g/n

Vrstvy periferních rozhraní

Počítačové sítě Teoretická průprava II. Ing. František Kovařík

Převodník RS232 na RS485/422 UC485P. průmyslové provedení. galvanické oddělení. 28. února 2005 w w w. p a p o u c h. c o m

Komunikační protokol EX Bus. Komunikační protokol EX Bus. Topologie. Fyzická vrstva. Přístup ke sdílenému přenosovému mediu (sběrnici)

KOMUNIKAČNÍ TECHNIKA. Vývoj, výroba a odbyt výrobků vyžaduje stále rychlejší výměnu informací ve formě řeči, obrazu, textu a dat.

Sériové komunikace KIV/PD Přenos dat Martin Šimek

6. Transportní vrstva

Projekt IEEE 802, normy ISO 8802

Základy počítačových sítí Model počítačové sítě, protokoly

Rozdělení (typy) sítí

Vzdálené ovládání po rozvodné síti 230V

MATURITNÍ PRÁCE. Téma: Zabezpečení osobního vozidla

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

Modemy rozhraní RS-485/422 na optický kabel ELO E243, ELO E244, ELO E245. Uživatelský manuál

PB169 Operační systémy a sítě

TIO. výkonový člen systému TQS. 1x přepínací kontakt relé. 1x vstupní kontakt. komunikace RS září 2004 w w w. p a p o u c h.

FN485 Gateway 2 Galvanically Isolated V1.0 Instalační návod

TFTP Trivial File Transfer Protocol

Multiplexory sériových rozhraní na optický kabel ELO E246, ELO E247, ELO E248, ELO E249, ELO E24A, ELO E24B. Uživatelský manuál

Systémy pro sběr a přenos dat

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

Uživatelský manuál. KNXgal. řízení zabezpečovacích ústředen. Galaxy ze sběrnice KNX. napájeno ze sběrnice KNX. indikace komunikace na KNX

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Pokyny pro projektování zařízení ElZaS 21

digitální proudová smyčka - hodnoty log. 0 je vyjádří proudem 4mA a log. 1 proudem 20mA

Identifikátor materiálu: ICT-3-01

Linkové kódy. Podpora kvality výuky informačních a telekomunikačních technologií ITTEL CZ.2.17/3.1.00/36206 PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Vlastnosti podporované transportním protokolem TCP:

Přenos signálů, výstupy snímačů

Zabezpečení dat při přenosu

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

PROJEKT ŘEMESLO - TRADICE A BUDOUCNOST Číslo projektu: CZ.1.07/1.1.38/ PŘEDMĚT PRÁCE S POČÍTAČEM

Principy konstrukce rozvodů V/V sběrnic

Praktické úlohy- 2.oblast zaměření

Komunikační protokol

Komunikační protokol snímače rel. vlhkosti SV-xxx-x

Přerušovací systém s prioritním řetězem

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Realizace řadiče sběrnice CAN

CAL (CAN Application Layer) a CANopen

Modemy a síťové karty

Projekt: Autodiagnostika pro žáky SŠ - COPT Kroměříž, Registrační číslo: CZ.1.07/1.1.38/ CAN BUS. Učební text

Distribuované systémy a počítačové sítě

íta ové sít baseband narrowband broadband

EXTRAKT z technické normy ISO

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Lokální počítačové sítě

Univerzita Jana Evangelisty Purkyně Automatizace Téma: Datová komunikace. Osnova přednášky

Protokol DF1 pro MORSE Allen-Bradley

AS-Interface. AS-Interface = Jednoduché systémové řešení. Představení technologie AS-Interface

AS-Interface. AS-Interface. = Jednoduché systémové řešení

Multiplexory sériových rozhraní na optický kabel ELO E246, ELO E247, ELO E248, ELO E249, ELO E24A, ELO E24B. Uživatelský manuál

AS-Interface. AS-Interface. = Jednoduché systémové řešení

Canon Controller. Komunikační protokol. Řídicí jednotka k objektivům Canon EF/EF-S

Aktivní prvky: brány a směrovače. směrovače

Uživatelský manuál. KNXgal

UC 485. PŘEVODNÍK LINKY RS232 na RS485 nebo RS422 S GALVANICKÝM ODDĚLENÍM. 15 kv E S D P rot ect ed

OM ProfiBus POPIS PROTOKOLU/KOMINUKACE

Reliance. Komunikační driver Johnson Controls verze 1.5.4

CAN rozhraní pro FMS. Úvod

Měřič reziduální kapacity HomeGuard

MODUL 3 KANÁLOVÉHO D/A PŘEVODNÍKU 0 25 ma

Transkript:

1. CAN BUS Moderní konstrukce vozidel dnes zpravidla zahrnuje více digitálních řídících jednotek, které jsou navzájem propojeny. Procesy ovládané těmito jednotkami se synchronizují a jejich parametry průběţně v reálném čase vzájemně slaďují (příkladem je součinnost řízení motorové jednotky, automatické převodovky a ABS/ASR). Tato výměna informací se dříve prováděla po jednotlivých metalických vedeních. Toto propojení od bodu k bodu umoţňuje přenášet jen omezený počet signálů. Navíc tento vodičový systém představuje stále větší sloţitost a nepřehlednost nehledě k zabírání prostoru vozidla. Bylo nutné najít a uplatnit jednoduchý systém přenosu dat. Jedním z nich je datová sběrnice CAN nebo-li CAN BUS, která byla vyvinuta firmou BOSCH speciálně pro pouţití v automobilu. Celý systém přenosu dat si lze laicky představit jako konferenci po telefonu. Zatímco jeden účastník (řídící) posílá do sítě data, ostatní tato data přijímají a vyhodnocují. Některý z účastníků shledá, ţe data jsou pro něj zajímavá, přijme je a vyuţije. Takto můţe být zapojeno velké mnoţství účastníků. Při této formě výměny informací se veškerá data přenášejí po dvou vedeních, na rozdíl od konvenčního vícevodičového vedení, kde byl jeden vodič určen k přenosu pouze jedné informace, coţ pro velký počet signálů přináší komplikace (velký počet vodičů, cena). Má-li být co nejoptimálněji řízen daný proces (například řízení spalovacího procesu motoru), je třeba co nejvyšší počet informací. Počet datových sběrnic můţe být u různých výrobců různý. Například ve vozidlech Škoda Octavia jsou instalovány dvě sběrnice: datová sběrnice hnacího ústrojí (zahrnuje propojení řídící jednotky motoru, řídící jednotky ABS a řídící jednotku automatické převodovky) datová sběrnice komfortní elektroniky (propojuje centrální jednotku komfortní elektroniky s řídícími jednotkami elektriky dveří) Předností datové sběrnice CAN je tedy značné zjednodušení propojení, úspora místa, sníţení počtu poruch, větší přehlednost, přenosový protokol lze rozšířit o další informace, unifikace lze provádět výměnu dat i mezi jednotkami různých výrobců. Na Chyba! Nenalezen zdroj odkazů. je znázorněno propojení řídících jednotek CAN BUS. Datová sběrnice CAN sestává ze dvou vedení datové sběrnice, dvou ukončení datové sběrnice a z jednotek připojených ke sběrnici, které musí obsahovat řadič a budič CAN sběrnice. Kromě vedení se všechny komponenty nachází v řídících jednotkách. Propojení je zobrazeno na Obr. 1.1. Obr. 1.1 Datová sběrnice CAN Struktura řídící jednotky s podpůrnými obvody pro CAN je zobrazena na následujícím obrázku. 1

Obr. 1.2 Jednotka s podporou sběrnice CAN Mikrokontrolér je srdcem řídící jednotky. Obsluhuje události, dává povel k vysílání dat a zpracovává přijímaná data. Řadič CAN obdrţí z mikrokontroléru data, která mají být odeslána. Řadič je připravuje a předává na vysílač CAN. Současně od vysílače dostává řadič přijímaná data sejmutá z vedení datové sběrnice, které připraví pro mikrokontrolér. Řadič CAN realizuje linkovou vrstvu protokolu CAN. Vysílač a přijímač CAN tvoří budič CAN. Ten převádí data řadiče CAN na elektrické signály sběrnice a naopak přijímá signály, které mění na data řadiče. Realizuje tak fyzickou vrstvu protokolu CAN. Ukončení datové sběrnice je provedeno pomocí rezistorů, které zabraňují odrazům elektrických signálů (aby se jednou poslaná data nevracela zpět z konců sběrnice a tím zkreslovala nová data). Vedení datové sběrnice je provedeno kroucenou dvoulinkou, aby se zamezilo průniku rušení z okolí a tím k porušení přenášených dat. Princip funkce Data vychází z mikrokontroléru do řadiče. Řadič je připraví a předá do vysílače, který je přemění na sériové elektrické signály a pošle je do datové sběrnice. Elektrické signály jsou přijímány a vyhodnocovány jinými přijímači (vysílači), které jsou napojeny na datové vedení (sběrnici). Jsou-li vyslána data i z jiného vysílače, budou na sběrnici vyslána data s vyšší prioritou. Řídící jednotky po přijetí dat zkontrolují jejich důleţitost. Jsou-li pro jejich činnost potřebná, zpracují je, v opačném případě na ně nereagují. Datový protokol Po datové sběrnici se přenáší ve velmi krátkých časových intervalech mezi řídícími jednotkami zprávy. Formát těchto zpráv definuje datový protokol, který určuje význam jednotlivých bitů ve zprávě. 2

1.1 ZÁKLADNÍ VLASTNOSTI CAN je sériový komunikační protokol, který umoţňuje efektivně provádět distribuované řízení systémů v reálném čase s přenosovou rychlostí do 1 Mbit/s a vysokým stupněm zabezpečení přenosu proti chybám. Jedná se o protokol typu multi-master, kde kaţdý uzel sběrnice můţe být master a řídit tak chování jiných uzlů. Není tedy nutné řídit celou síť z jednoho "nadřazeného" uzlu, coţ přináší zjednodušení řízení a zvyšuje spolehlivost (při poruše jednoho uzlu můţe zbytek sítě pracovat dál). Pro řízení přístupu k médiu je pouţita sběrnice s náhodným přístupem, která řeší kolize na základě prioritního rozhodování. Po sběrnici probíhá komunikace mezi dvěma uzly pomocí zpráv (datová zpráva a ţádost o data), management sítě (signalizace chyb, pozastavení komunikace) je zajištěn pomocí dvou speciálních zpráv (chybové zprávy a zprávy o přetíţení). Zprávy vysílané po sběrnici protokolem CAN neobsahují ţádnou informaci o cílovém uzlu, kterému jsou určeny, a jsou přijímány všemi ostatními uzly připojenými ke sběrnici. Kaţdá zpráva obsahuje identifikátor, který určuje význam zprávy a její prioritu. Protokol CAN zajišťuje, aby zpráva s vyšší prioritou byla v případě kolize dvou zpráv doručena přednostně. Kaţdý uzel, který přijme zprávu, se dle jejího identifikátoru rozhodne zda na zprávu bude reagovat či nikoliv. Pro zajištění transparentnosti návrhu a flexibility implementace je sběrnice CAN rozdělena do tří rozdílných vrstev: objektová vrstva, transportní vrstva, fyzická vrstva. Objektová a transportní vrstva tvoří dohromady tzv. linkovou vrstvu. Rozdělení do vrstev vychází z modelu ISO/OSI. Objektová vrstva má za úkol nalezení zprávy, která má být vyslána. Dále rozhoduje o tom, které zprávy, přijaté transportní vrstvou, mají být pouţity (filtrování zpráv). Poskytuje rozhraní aplikační vrstvě. Transportní vrstva má na starosti především přenosový protokol. Jedná se o řízení rámců, kontrolu chyb, signalizace chyb apod. Uvnitř transportní vrstvy je rozhodnuto, zda je sběrnice volná pro nový přenos dat či naopak pro jejich příjem. Úkolem fyzické vrstvy je přenos bitů mezi uzly s respektováním všech elektrických vlastností. Fyzická vrstva uvnitř jedné sítě je (musí být) stejná pro všechny uzly, které se v ní vyskytují. Je ovšem moţné volit typ či parametry fyzické vrstvy s ohledem na poţadavky dané aplikace. Úkoly jednotlivých vrstev jsou shrnuty v následující tabulce. Linková vrstva Objektová vrstva (Logical Link Control) filtrování přijatých zpráv hlášení o přetíţení manipulace se zprávami a stavy Transportní vrstva (Medium Access Control) detekce, kontrola a signalizace chyb řízení rámců potvrzování správně přijatých zpráv přenosová rychlost a časování řízení přístupu uzlů k přenosovému médiu Fyzická vrstva definuje úrovně signálu a reprezentaci jednotlivých bitů definuje přenosové médium Tab. 1.1 Vrstvy protokolu CAN a jejich funkce 3

1.2 FYZICKÁ VRSTVA Základním poţadavkem na fyzické přenosové médium protokolu CAN je, aby realizovalo funkci logického součinu. Standard protokolu CAN definuje dvě vzájemně komplementární hodnoty bitů na sběrnici dominant (aktivní stav) a recessive (pasivní stav). Přičemţ stav dominant představuje logickou 0 a stav recessive logickou 1. Skutečná reprezentace těchto stavů záleţí na fyzické vrstvě, která můţe být realizována různým způsobem neboť samotná specifikace sběrnice CAN neurčuje typ fyzické vrstvy. Pravidla pro stav na sběrnici jsou ovšem jednoznačná a jednoduchá. Vysílají-li všechny uzly sběrnice recessive bit, pak je na sběrnici úroveň recessive. Vysílá-li alespoň jeden uzel dominant bit, je na sběrnici úroveň dominant. Příkladem můţe být sběrnice buzená hradly s otevřeným kolektorem (Obr. 1.3), kde stavu dominant bude odpovídat logická nula na sběrnici (a také napětí 0 V) a stavu recessive logická jednička (hodnota napětí Vcc). Bude-li jeden tranzistor sepnut, bude na sběrnici úroveň logické nuly (dominant) a nezáleţí jiţ na tom, zda je či není sepnutý i nějaký jiný tranzistor. Pokud není sepnut ţádný tranzistor, je na sběrnici úroveň logické jedničky (recessive). Obr. 1.3 Příklad realizace sběrnice CAN pomocí hradel s otevřeným kolektorem znázorněna na Obr. 1.4 a Obr. 1.5. Pro realizaci fyzického přenosového média se nejčastěji pouţívá diferenciální sběrnice definovaná podle normy ISO 11898. Tato norma definuje elektrické vlastnosti vysílacího budiče a přijímače a zároveň principy časování, synchronizace a kódování jednotlivých bitů. Sběrnici tvoří dva vodiče označované CAN_H a CAN_L, kde dominant či recessive úroveň na sběrnici je definována rozdílovým napětím těchto dvou vodičů. Norma stanovuje pro úroveň recessive velikost rozdílového napětí V diff = 0 V a pro úroveň dominant V diff = 2 aţ 5 V. Pro eliminaci odrazů na vedení je sběrnice na obou koncích přizpůsobena zakončovacími odpory o velikosti 120. Situace je Obr. 1.4 Úrovně na sběrnici dle normy ISO 11898 Obr. 1.5 Fyzické uspořádání sběrnice CAN dle normy ISO 11898 Na sběrnici můţe být čistě teoreticky připojeno neomezené mnoţství uzlů, avšak s ohledem na zatíţení sběrnice a zajištění správných statických i dynamických parametrů sběrnice norma uvádí jako maximum 30 uzlů připojených na sběrnici. Maximální rychlost přenosu je 1 Mbit/s při délce sběrnice do 40 m. Pro větší vzdálenosti klesá maximální moţná rychlost přenosu, např. při délce 3,3 km je její hodnota jen 20 kbit/s. 4

1.3 ŘÍZENÍ PŘÍSTUPU K MÉDIU Je-li sběrnice volná, můţe libovolný uzel zahájit vysílání. Zahájí-li některý uzel vysílání dříve neţ ostatní, získává sběrnici pro sebe a ostatní uzly mohou zahájit vysílání aţ po odeslání kompletní zprávy. Jedinou výjimku zde tvoří chybové rámce, které můţe vyslat libovolný uzel, detekuje-li chybu v právě přenášené zprávě. Zahájí-li vysílání současně několik uzlů, pak přístup na sběrnici získá ten, který přenáší zprávu s vyšší prioritou (niţším identifikátorem). Identifikátor je uveden na začátku zprávy. Kaţdý vysílač porovnává hodnotu právě vysílaného bitu s hodnotou na sběrnici a zjistí-li, ţe na sběrnici je jiná hodnota neţ vysílá (jedinou moţností je, ţe vysílač vysílá recessive bit a na sběrnici je úroveň dominant), okamţitě přeruší další vysílání. Tím je zajištěno, ţe zpráva s vyšší prioritou bude odeslána přednostně a ţe nedojde k jejímu poškození, coţ by mělo za následek opakování zprávy a zbytečné prodlouţení doby potřebné k přenosu zprávy. Uzel, který nezískal při kolizi přístup na sběrnici musí vyčkat aţ bude sběrnice opět volná, a pak zprávu vyslat znovu. Na Obr. 1.6 je zobrazena situace současné komunikace několika řídících jednotek. Řídící jednotka automatické převodovky má hodnotu identifikátoru nejvyšší, tudíţ má nejniţší prioritu. Nejniţší hodnotu identifikátoru, tudíţ nejvyšší prioritu, má řídící jednotka ABS. Vyhodnocení priority funguje dle výše uvedeného principu. Řídící jednotka automatické převodovky přestává vysílat svojí zprávu po prvním bitu neboť zjistí, ţe na sběrnici je jiná hodnota (log. 0 stav dominant), neţ kterou vysílá (log. 1 recessive). Řídící jednotka motoru ukončuje vysílání po 2. bitu ze stejného důvodu. Na sběrnici tak zůstává jediná přenášená zpráva od řídící jednotky ABS, tedy od té s největší prioritou. Obr. 1.6 Priorita zprávy při současném vysílání 5

1.4 TYPY ZPRÁV Specifikace protokolu CAN definuje čtyři typy zpráv: Datová zpráva Ţádost o data Chybová zpráva Zpráva o přetíţení Datová zpráva představuje základní prvek komunikace uzlů na sběrnici. Zprávu na vyţádání dat vysílá uzel, který ţádá ostatní účastníky o zaslání poţadovaných dat. Datová zpráva umoţňuje vyslat na sběrnici 0 aţ 8 datových bajtů. Pro jednoduché příkazy typu vypni/zapni není nutné přenášet ţádné datové bajty (význam příkazu je dán identifikátorem zprávy), coţ zkracuje dobu potřebnou k přenosu zprávy a zároveň zvětšuje propustnost sběrnice, zvláště pak při silném zatíţení. Poslední dvě zprávy (chybová zpráva a zpráva o přetíţení) slouţí k managementu komunikace po sběrnici, konkrétně k signalizaci detekovaných chyb, eliminaci chybných zpráv a vyţádání prodlevy v komunikaci. 1.4.1 DATOVÁ ZPRÁVA Protokol CAN pouţívá dva typy datových zpráv. První typ je definován specifikací 2.0A a je v literatuře označován jako standardní formát zprávy (Standard Frame), zatímco specifikace 2.0B definuje navíc tzv. rozšířený formát zprávy (Extended Frame). Jediný podstatný rozdíl mezi oběma formáty je v délce identifikátoru zprávy, která je 11 bitů pro standardní formát a 29 bitů pro rozšířený formát. Oba dva typy zpráv mohou být pouţívány na jedné sběrnici, pokud je pouţitým řadičem podporován protokol 2.0B. Vyslání datové zprávy je moţné pouze tehdy, je-li sběrnice volná. Jakmile uzel, který má připravenu zprávu k vyslání, detekuje volnou sběrnici, začíná vysílat. Zda získá přístup na sběrnici či nikoliv, záleţí na jiţ popsaném mechanizmu řízení přístupu k médiu. Strukturu datové zprávy podle specifikace 2.0A ilustruje Obr. 1.7. Obr. 1.7 Datová zpráva dle specifikace CAN 2.0A Datová zpráva se skládá z mnoha po sobě jdoucích bitů. Počet bitů v datovém protokolu je závislý na velikosti datového pole. Celý datový rámec je tvořen sedmi po sobě jdoucími poli. Počáteční pole označuje počátek zprávy (bit SOF - Start of Frame, úroveň dominant). Stavové pole (Arbitration Field) určuje prioritu zprávy. Přednost má zpráva s vyšší prioritou, tedy s niţším identifikátorem. Identifikátor zprávy (11 b) - určuje prioritu zprávy RTR (1 b) udává zda se jedná o datovou zprávu (RTR = dominant) či ţádost o data (RTR = recessive) 6

Řídící pole (Control Field) udává délku datového pole. Slouţí pro kontrolu příjemci, zda-li mu došla celá zpráva. R0 (1 b), R1 (1 b) rezervované bity Délka dat (4 b) udává počet přenášených datových bajtů ve zprávě Datové pole (Data Field) obsahuje datové bajty zprávy vlastní přenášenou informaci. Maximálně se můţe přenášet 8 datových bajtů. Kontrolní pole (CRC Field) slouţí ke zjišťování chyb v přenosu. CRC (15 b) kontrolní kód zprávy ERC (1 b) oddělovač, vţdy v úrovni recessive Potvrzovací pole (ACK Field) informuje o tom, ţe zpráva byla správně přijata. ACK (1 b) potvrzovací bit ACD (1 b) oddělovač, vţdy v úrovni recessive Ukončovací pole (End of Frame) uzavírá přenášenou zprávu pomocí 7 bitů v úrovni recessive. Rozšířený rámec (Extended Frame) pouţívá celkem 29 bitový identifikátor zprávy. Ten je rozdělen do dvou částí o délkách 11 (stejný identifikátor je pouţit ve standardním formátu) a 18 bitů (Obr. 1.8). Bit RTR (Remote Request) je zde nahrazen bitem SRR (Substitute Remote Request), který má v rozšířeném formátu vţdy hodnotu recessive. To zajišťuje, aby při vzájemné kolizi standardního a rozšířeného formátu zprávy na jedné sběrnici se stejným 11-ti bitovým identifikátorem, získal přednost standardní rámec. Bit IDE (Identifier Extended) má vţdy recessive hodnotu. Bit RTR udávající, zda se jedná o datovou zprávu nebo ţádost o data je přesunut za konec druhé části identifikátoru. Pro řízení přístupu k médiu jsou pouţity ID (11 bit), SRR, IDE, ID (18 bit), RTR. V tomto pořadí je určena priorita datové zprávy. Obr. 1.8 Rozšířená datová zpráva dle specifikace CAN 2.0B 1.4.2 ŢÁDOST O DATA Formát ţádosti o data je podobný jako formát datové zprávy. Pouze je zde bit RTR nastaven do úrovně recessive a chybí datová oblast. Pokud nějaký uzel ţádá o zaslání dat, nastaví takový identifikátor zprávy, jako má datová zpráva, jejíţ zaslání poţaduje. Tím je zajištěno, ţe pokud ve stejném okamţiku jeden uzel ţádá o zaslání dat a jiný data se stejným identifikátorem vysílá, přednost v přístupu na sběrnici získá uzel vysílající datovou zprávu, neboť úroveň RTR bitu datové zprávy je dominant a tudíţ má tato zpráva vyšší prioritu. 1.4.3 CHYBOVÁ ZPRÁVA Chybová zpráva slouţí k signalizaci chyb na sběrnici CAN. Jakmile libovolný uzel na sběrnici detekuje v přenášené zprávě chybu (chyba bitu, chyba CRC, chyba vkládání bitů, chyba rámce), vygeneruje ihned na sběrnici chybový rámec. Podle toho, v jakém stavu pro hlášení chyb se uzel, který zjistil chybu, právě nachází, generuje na sběrnici buď aktivní (šest bitů 7

dominant) nebo pasivní (šest bitů recessive) příznak chyby. Při generování aktivního příznaku chyby je přenášená zpráva poškozena (vzhledem k porušení pravidla vkládání bitů), a tedy i ostatní uzly začnou vysílat chybové zprávy. Hlášení chyb je pak indikováno superpozicí všech chybových příznaků, které vysílají jednotlivé uzly. Délka tohoto úseku můţe být minimálně 6 a maximálně 12 bitů. Obr. 1.9 Chybová zpráva Po vyslání chybového příznaku vysílá kaţdá stanice na sběrnici bity recessive. Zároveň detekuje stav sběrnice a jakmile najde první bit na sběrnici ve stavu recessive, vysílá se dalších sedm bitů recessive, které plní funkci oddělovače chyb (ukončení chybové zprávy). 1.4.4 ZPRÁVA O PŘETÍŢENÍ Zpráva o přetíţení slouţí k oddálení vyslání další datové zprávy nebo ţádosti o data. Zpravidla tento způsob vyuţívají zařízení, která nejsou schopna kvůli svému vytíţení přijímat a zpracovávat další zprávy. Struktura zprávy je podobná zprávě o chybě, ale její vysílání můţe být zahájeno po konci zprávy (End of Frame), oddělovače chyb nebo předcházejícího oddělovače zpráv přetíţení. Obr. 1.10 Zpráva o přetíţení Zpráva o přetíţení je sloţena z příznaku přetíţení (šest bitů dominant) a případné superpozice všech příznaků přetíţení, pokud jsou generovány více uzly současně. Za příznaky přetíţení následuje dalších sedm bitů recessive, které tvoří oddělovač zprávy o přetíţení. 8

1.5 ZABEZPEČENÍ PŘENÁŠENÝCH DAT A DETEKCE CHYB Silnou částí protokolu CAN je ochrana přenášených zpráv. Zabezpečení zpráv je provedeno pomocí několika mechanizmů, které jsou v činnosti současně. Mechanizmy zabezpečení zpráv jsou následující: monitoring, CRC kód, vkládání bitů, kontrola zprávy, potvrzení přijaté zprávy. Monitoring - metoda, při níţ vysílač porovnává hodnotu právě vysílaného bitu s úrovní detekovanou na sběrnici. Jsou-li obě hodnoty stejné, vysílač pokračuje ve vysílání. Pokud je na sběrnici detekována jiná úroveň neţ odpovídá vysílanému bitu, a probíhá-li právě řízení přístupu na sběrnici (vysílá se Arbitration Field), přeruší se vysílání a přístup k médiu získá uzel vysílající zprávu s vyšší prioritou. Pokud je rozdílnost vysílané a detekované úrovně zjištěna jinde neţ v Arbitration Field a v potvrzení přijetí zprávy (ACK Slot), je vygenerována chyba bitu. CRC kód (Cyclic Redundancy Check) - na konci kaţdé zprávy je uveden 15-ti bitový CRC kód, který je generován ze všech předcházejících bitů příslušné zprávy podle polynomu x 15 + x 14 + x 10 + x 8 + x 7 + x 4 + x 3 + 1. Je-li detekována chyba CRC libovolným uzlem na sběrnici, je vygenerována chyba CRC. Vkládání bitů (Bit stuffing) - vysílá-li se na sběrnici pět po sobě jdoucích bitů jedné úrovně, je do zprávy navíc vloţen bit opačné úrovně. Toto opatření slouţí jednak k detekci chyb, ale také ke správnému časovému sesynchronizování přijímačů jednotlivých uzlů. Při příjmu se tyto vloţené bity zahodí. Je-li detekována chyba vkládání bitů, je vygenerována chyba vkládání bitů. Kontrola zprávy (Message Frame Check) - zpráva se kontroluje podle formátu udaného ve specifikaci a pokud je na nějaké pozici bitu zprávy detekována nepovolená hodnota, je vygenerována chyba rámce (formátu zprávy). Potvrzení přijetí zprávy (Acknowlege) - je-li zpráva v pořádku přijata libovolným uzlem, je toto potvrzeno změnou hodnoty jednoho bitu zprávy (ACK). Vysílač vţdy na tomto bitu vysílá úroveň recessive a detekuje-li úroveň dominant, pak je vše v pořádku. Potvrzování přijetí zprávy je prováděno všemi uzly připojenými ke sběrnici bez ohledu na zapnuté či vypnuté filtrování zpráv. 1.6 SIGNALIZACE CHYB Kaţdý uzel má zabudována dvě interní počítadla chyb udávající počet chyb při příjmu a při vysílání. Podle obsahů počítadel můţe uzel přecházet, co se týká hlášení chyb a jeho aktivity na sběrnici, mezi třemi stavy (aktivní, pasivní, odpojený). Pokud uzel generuje příliš velké mnoţství chyb, je automaticky odpojen (přepnut do stavu Bus-off). Z hlediska hlášení chyb tedy rozdělujeme uzly do následujících tří skupin. Aktivní (Error Active) - tyto uzly se mohou aktivně podílet na komunikaci po sběrnici a v případě, ţe detekují libovolnou chybu v právě přenášené zprávě (chyba bitu, chyba CRC, chyba vkládání bitů, chyba rámce), vysílají na sběrnici aktivní příznak chyby (Active Error Flag). Aktivní příznak chyby je tvořen šesti po sobě jdoucími bity dominant, čímţ dojde k poškození přenášené zprávy (poruší se pravidlo vkládání bitů). 9

Pasivní (Error Passive) - tyto uzly se také podílejí na komunikaci po sběrnici, ale z hlediska hlášení chyb, vysílají pouze pasivní příznak chyby (Passive Error Flag). Ten je tvořen šesti po sobě jdoucími bity recessive, čímţ nedojde k destrukci právě vysílané zprávy. Odpojené (Bus-off) - tyto uzly nemají ţádný vliv na sběrnici, jejich výstupní budiče jsou vypnuty. 10