• No results found

Simulátor CAN komunikace v automobilu

N/A
N/A
Protected

Academic year: 2022

Share "Simulátor CAN komunikace v automobilu"

Copied!
37
0
0

Loading.... (view fulltext now)

Full text

(1)

TECHNICKÁ UNIVERZITA V LIBERCI

Fakulta mechatroniky, informatiky a mezioborových studií

Studijní program: B2612 – Elektrotechnika a informatika Studijní obor: 1802R022 – Informatika a logistika

Simulátor CAN komunikace v automobilu

Bakalářská práce

Autor: Petr Erlebach

Vedoucí práce: Ing. Tomáš Martinec, Ph.D.

Konzultant: Ing. Michal Vojtěchovský

V Liberci 16. 5. 2013

(2)

TECHNICKÁ UNIVERZITA V LIBERCI

Fakulta mechatroniky, informatiky a mezioborových studií Akademický rok: 2012/2013

ZADÁNÍ BAKALÁŘSKÉ PRÁCE

(PROJEKTU, UMĚLECKÉHO DÍLA, UMĚLECKÉHO VÝKONU)

Jméno a příjmení: Petr Erlebach Osobní číslo: M10000021

Studijní program: B2612 Elektrotechnika a informatika Studijní obor: Informatika a logistika

Název tématu: Simulátor CAN komunikace v automobilu Zadávající katedra: Ústav mechatroniky a technické informatiky

Z á s a d y p r o v y p r a c o v á n í :

1. Seznamte se s principy a možnostmi použití sběrnice CAN.

2. Analyzujte prostředí automobilu z hlediska CAN komunikace a příslušných CAN identifikátorů.

3. Vytvořte univerzální simulátor periférií v automobilu s možností definovat skupiny CAN identifikátorů.

(3)

Rozsah grafických prací: dle potřeby dokumentace Rozsah pracovní zprávy: cca 30-40 stran

Forma zpracování bakalářské práce: tištěná/elektronická Seznam odborné literatury:

[1] Dokumentace k použitým vývojovým prostředím

[2] Dokumetnace a specifikace CAN-bus

Vedoucí bakalářské práce: Ing. Tomáš Martinec, Ph.D.

Ústav mechatroniky a technické informatiky Konzultant bakalářské práce: Ing. Michal Vojtěchovský

TRW Automotive Czech s. r. o.

Datum zadání bakalářské práce: 10. října 2012 Termín odevzdání bakalářské práce: 17. května 2013

V Liberci dne 10. října 2012

(4)

Prohlášení

Byl jsem seznámen s tím, že na mou bakalářskou práci se plně vztahuje zákon č. 121/2000 Sb. o právu autorském, zejména § 60 – školní dílo.

Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé bakalářské práce pro vnitřní potřebu TUL.

Užiji-li bakalářskou práci nebo poskytnu-li licenci k jejímu využití, jsem si vědom povinnosti informovat o této skutečnosti TUL; v tomto případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše.

Bakalářskou práci jsem vypracoval samostatně s použitím uvedené literatury a na základě konzultací s vedoucím bakalářské práce.

Datum

Podpis

(5)

Abstrakt

Hlavním cílem této bakalářské práce bylo, seznámit se s principy elektronické komunikace prvků v automobilech. Tato komunikace probíhá pomocí vysílání a přijímání zpráv, které se přenášejí po CAN bus sběrnici. Po seznámení se s principy fungování CAN bus bylo za úkol vytvořit počítačovou aplikaci. Tato aplikace bude znázorňovat grafické rozhraní automobilu, kde bude uživatel moci měnit aktuální stav, v němž se automobil nachází. V závislosti na těchto změnách se uživateli bude zobrazovat měnící se CAN kódy jednotlivých prvků automobilu. Uživatel bude mít možnost v aplikaci nastavit, uložit a nahrát vlastní sady CAN kódů.

V této práci jsou popsány základná principy fungování CAN bus sběrnic a struktura zpráv, které se po sběrnicích přenášejí. Následuje popis návrhu a tvorby samotné aplikace a nakonec návod, jak aplikace funguje.

Dále tato aplikace vytvořena v rámci bakalářská práce je jistou přípravou pro diplomovou práci, ve které by se aplikace propojila s reálnou řídící jednotkou a sloužila k její diagnostice.

Abstract

Main goal of this bachelor‘s labour was to get knowledge about principles of electronic communication between components in a car. This communication runs by transmiting and receiving messages, witch are transfered by CAN bus. After that, the task was to create a computer aplication. This aplication shows interface of car, where user can change actual status of car compotents. In dependance on those changes, the aplication shows changes of CAN codes to the user. User can set, save and load his own sets of CAN codes.

There are described basic principles of CAN bus and structure of messages which are transmitted by CAN bus in this labour. Follows description of designing and creating aplication itself. There is manual how does aplication work at the end.

This created aplication within the bachelor’s labour is also a preparation for disseration, where it would be put through real controller unit and it would serve as its diagnostics.

(6)

Obsah

Abstrakt ... 5

1 Úvod ... 9

2 CAN sběrnice ... 10

2.1 Úvod do CAN ... 10

2.2 Struktura CAN ... 10

2.3 Řízení přístupu na sběrnici u CAN bus ... 13

2.4 ACK chyby ... 14

2.5 Segmentace CAN ... 16

2.6 Implementace CAN ... 19

2.7 Typy CAN bus ... 20

2.8 Shrnutí CAN ... 21

3 Tvorba aplikace... 22

3.1 Úvod ... 22

3.2 Plánování podoby aplikace ... 22

3.3 CAN kódování v aplikaci ... 23

3.4 Vývojové prostředí ... 23

3.5 Struktura aplikace ... 24

4 Popis hotové aplikace ... 29

5. Závěr ... 36

Použité zdroje ... 37

(7)

Seznam obrázků

Obr.1 : Připojení jednotlivých uzlů na sběrnici ... 11

Obr.2 : Změny napětí na vodičích při změně stavu ... 12

Obr.3 : Segmentace doby přenosu 1 bitu ... 16

Obr.4 : Komponenty pro implementaci CAN ... 19

Obr.5 : Typy CAN bus sběrnice ... 20

Obr.6 : Vývojové diagramy aplikace ... 28

Obr.7 : Rozložení jednotlivých prvků v aplikaci ... 29

Obr.8 : Tabulka CAN nastavení pro rychlost automobilu, úhel natočení volantu a převodový stupeň ... 30

Obr.9 : Tabulka CAN nastaveni pro EPS ... 31

Obr.10 : Tabulka CAN nastavení pro ECU, ABS, alternátor, EPB, ESP a motor .... 32

Obr.11 : Okno pro uložení souboru ... 33

Obr.12 : Okno pro načtení souboru ... 34

Obr.13 : Ukázka aplikace s nastavenými CAN kódy ... 35

Seznam tabulek

Tab.1 : Tabulka závislosti rychlosti přenosu dat na délce kabelu ... 12

Seznam použitých zkratek

CAN (Control Arean Network) – datová sběrnice místní sítě CAN_H – CAN high

CAN_L – CAN low

MCU (Micro Controller Unit) – mikrokontrolér ID – identifikátor

CSMA/CD (Carrier Sense Multiple Access with Collision Detection) - protokol pro přístup k přenosovému médiu v počítačových sítích

RTR (Remote Transmission Request) – žádost o vzdálený přenos IDE (Identifer Extension) – prodloužené označení

CRC (Cyclic Redundancy Check) – cyklický redundantní součet ERC (End of CRC) – konec CRC

ACK (Acknowledgement) – pozitivní potvrzení

(8)

NRZ (Non Return to Zero) – bez návratu k nule SYNC_SEG – synchronizační segment

PROP_SEG – kompenzační segment PHASE_SEG – fázový segment

EPS (Electronic Power Steering) – elektronický posilovač řízení ECU (Electronic Control Unit) – elektronická řídící jednotka ABS (Anti-lock Breaking System) – protiskluzový brzdící systém EPB (Electronic Parking Break) – elektronická parkovací brzda ESP (Electronic Stability Programme) – elektronický stabilizátor

(9)

1 Úvod

Tato bakalářská práce vznikla především za účelem seznámení se s elektronickou komunikací v automobilech pomocí CAN bus sběrnic s cílem vytvoření počítačové aplikace, která simuluje tuto komunikaci. Dále tato práce navazuje na předchozí bakalářský projekt, v němž bylo za úkol vytvořit jednodušší verzi této aplikace. V bakalářském projektu byla vytvořena statická aplikace, která graficky znázorňovala rozhraní palubní desky, kde mohl uživatel nastavovat rychlost automobilu, natočení volantu a podobně. Aplikace na změny reagovala zobrazováním měnících se CAN kódů v reálném čase. CAN kódy jednotlivých prvků byly přednastaveny a nebyla možnost je změnit.

V této bakalářské práci je řešena aplikace tak, aby se dala lépe využít. Opět se jedná o aplikaci, znázorňující palubní desku automobilu s možností jejího ovládání.

Tentokrát by měl uživatel mít možnost v aplikaci nastavovat CAN komunikaci tak, jak uzná za vhodné. Jednotlivá nastavení si uživatel bude moci uložit a zpětně do aplikace nahrát.

Tato aplikace je tvořena pro firmu TRW Automotive, která se zabývá repasováním centrálních řídících jednotek v automobilech. Aplikace by tedy měla sloužit jako pomocný nástroj pro diagnostiku a repasování řídících jednotek v automobilech.

(10)

2 CAN sběrnice

2.1 Úvod do CAN

CAN (Control Area Network) sběrnice, volně přeloženo jako datová sběrnice místní sítě, byla vytvořena v osmdesátých letech dvacátého století pro využití v automobilech německou firmou Robert Bosch. Je to protokol multikomplexní sériové komunikace. Hlavní myšlenkou CAN sběrnice byla úspora kabeláže a zabezpečení informací mezi výkonovými a řídícími prvky a snímači v automobilech. Tento systém zajišťuje relativně vysokou rychlost přenosu dat a má vysokou spolehlivost, odolnost při extrémních podmínkách a poměrně nízkou cenu komunikačních obvodů. Specifikace elektrického rozhraní a datového protokolu uvádí norma ISO 11898. Je nutné, aby protokol zajistil variabilnost síťového systému s možnou modifikací při funkci sítě.

Hlavní účel sítě je komunikace mezi přístroji a zdroji informací automobilové techniky v reálném čase. Sběrnice je sama o sobě symetrickým či asymetrickým dvouvodičovým obvodem. Tento obvod může být odstíněný nebo neodstíněný.

CAN protokol odpovídá datovému přenosu vrstvy v ISO/OSI referenčnímu modelu. Síťovým protokolem jsou detekovány a následně opravovány přenosové chyby, které vznikají vlivem okolních elektromagnetických polí. Dále protokol dovoluje snadnou konfiguraci systému a umožňuje centrální diagnostiku.

CAN protokol se využívá v mnoha průmyslových odvětvích. Patří mezi ně například automobilový průmysl, zemědělský průmysl, námořní průmysl, textilní průmysl, zdravotnický průmysl, automatizace továren, stavební průmysl apod. [1], [2]

2.2 Struktura CAN

Prostředkem pro přenos dat je sběrnice tvořena vedením ze dvou vodičů, tyto jsou označeny jako CAN_H a CAN_L a jsou zakončeny rezistory o odporu 120 ohmu.

Na tuto sběrnici jsou připojeny jednotlivé komunikační uzly, jejichž počet může být až 110. Dále je zde připojen „transceiver“, který komunikuje s „CAN controllerem“ a

„MCU“. [1]

(11)

Obr.1 : Připojení jednotlivých uzlů na sběrnici

Node – uzel

MCU (micro controller unit) – mikrokontrolér CAN Controller – řadič CAN

Transceiver – kombinace vysílače a přijímače

Po sběrnici jsou přenášeny dva logické stavy. Těmito stavy jsou stav aktivní (dominantní) a pasivní (recesivní). Stav dominantní reprezentuje logickou 0 a recesivní stav logickou 1. Pokud je aspoň jeden uzel na sběrnici v dominantním stavu, pak je i sběrnice v dominantním stavu. V recesivním stavu se sběrnice nachází, jsou-li všechny její uzly v recesním stavu. Rozdíl napětí mezi CAN_H a CAN_L vodiči je v recesním stavu nulový, naopak stav dominantní má na vodičích nenulový rozdíl napětí.

V dominantním stavu je na vodiči CAN_H napětí v rozmezí 3,5V až 5V a na vodiči CAN_L napětí 0V až 1,5V. Na obou vodičích je pak stejné napětí, když je obvod v recesivním stavu. Toto je zajištěno na vstupu přijímače pomocí odporové sítě. Na obr.

je vyobrazeno toleranční pásmo napěťových úrovní logických stavů sběrnice CAN. Je zde také vidět vzájemná logická inverze signálových vodičů CAN_H a CAN_L. [1]

(12)

Obr.2 : Změny napětí na vodičích při změně stavu

Jednotlivé uzly sběrnice CAN mohou za určitých podmínek vysílat své zprávy po sběrnici. Takto je prováděna komunikace na sběrnici CAN. Vysílaná data nemají žádnou adresu, ale obsah zprávy je dán identifikátorem (ID), jenž je jedinečný v celé síti. Tento identifikátor určuje obsah, který zpráva přenáší a také i prioritu zprávy při pokusu o její odeslání na sběrnici. Čím je nižší hodnota identifikátoru, tím má zpráva vyšší prioritu. Příjem zpráv může být mnohonásobný, což znamená, že jednu zprávu může přijmout několik různých zařízení. Maximální rychlost přenosu dat po sběrnici je 1Mbit/sec. Rychlost přenosu klesá při narůstající délce sběrnice. [2]

Tab.1 : Tabulka závislosti rychlosti přenosu dat na délce kabelu

Rychlost přenosu Délka kabelu

10 kbit/s 6,7 km

20 kbit/s 3,3 km

50 kbit/s 1,3 km

125 kbit/s 530 m

250 kbit/s 270 m

500 kbit/s 130 m

1 Mbit/s 40 m

(13)

Jsou dva režimy, ve kterých může pracovat komunikační síť CAN. Jsou to režimy multi-master (více nadřízených uzlů) a master-slave (více podřízených a jeden nadřízený uzel).

CAN protokol musí vždy umožnit připojení k síti metodami, jež garantují jednoznačný přístup na sběrnici z odlišných stanic. Tím se zajišťuje souhlasnost zpracování všech přenosových požadavků CAN sítě s reakční dobou omezenou nejnižší přípustnou přenosovou rychlostí. K identifikaci zpráv se používají metody bitové arbitráže. Ty jsou schopny jedinečně analyzovat veškeré problémy mezi stanicemi čekajícími na přenos a těmi co právě přenáší v průběhu 13 (standardní formát) nebo 33 (přídavný formát) bitových period. Oproti standardně používané metodě bitové arbitráže pomocí CSMA/CD metod, tyto nedestruktivní metody při konfliktech zajišťují, že se sběrnicová kapacita nepoužije mimo přenos úplné informace.

I v případech přetížení sběrnice, prokazují vazby přístupových priorit na sběrnici jistou prospěšnost systémového nastavení oproti existujícím CSMA/CD nebo „token protokols“. Veškeré žádosti o přenos, které nebyly uskutečněny, jsou zpracovány podle jejich priorit v systému a to i přes nedostatečný přenos sběrnice.

Přípustná přenosová kapacita je účelně využita k přenosu plné informace, protože přerušení v připojení na sběrnici je velmi malé. Pravděpodobnost zhroucení celého přenosového procesu kvůli přetížení není v CAN tak pravděpodobné, jako je tomu u protokolu CSMA/CD. Rychlost povolení přenosu je závislá na sběrnicovém přístupu, jenž je u nedestruktivního bitového přístupu základem priority zprávy.

Zaručený čas pro přenos jedné zprávy s vysokou prioritou na sběrnici CAN je menší než 134 µs při rychlosti přenosu 1 Mbit/s. [2]

2.3 Řízení přístupu na sběrnici u CAN bus

CAN protokolem jsou podporovány dva rámcové formáty zpráv. Velkým rozdílem je délka označení. Ve standardním formátu je délka ID 11 bitů a v prodlouženém formátu je délka označení 29 bitů. Zpráva se standardním identifikátorem má při odesílání přednost před zprávou s rozšířeným identifikátorem.

Rámec zprávy pro přenos na sběrnici je složen ze sedmi hlavních polí.

Začátek zprávy standardního formátu startuje bitem „start of frame“, dále následuje rozhodovací pole „arbitration field“, jenž obsahuje označení ID, a nakonec

(14)

„RTR“ bit („remote transmission request“ neboli žádost o vzdálený přenos), který ukazuje, zda jde o rámec dat nebo požadavek rámce bez bitů („remote frame“ neboli vzdálený rámec“).

„Control field“ neboli kontrolní pole obsahuje „IDE“ bit („identifer extension“

neboli prodloužené označení). Tento bit označuje, zdali jde buďto o standardní formát nebo o prodloužený formát. Dále pak obsahuje rezervovaný bit „r0“ pro budoucí prodloužení. Následující 4 bity se vypočítají z bytů dat v poli datovém. Poměrně malá délka tohoto pole vychází z původního záměru CAN, a to hlavně zabezpečit rychlý přenos zpráv s vysokou prioritou. Delší bloky dat je potřeba segmentovat v aplikační úrovni.

„Data field“ neboli datové pole je v rozsahu 0 až 8 bytů a je následováno CRC polem („CRC field“). CRC pole se používá jako bezpečnostní kontrola rámce na detekci bitových chyb. Obsahuje 15 kontrolních bitů cyklického redundantního kódu při zahrnutí všech předcházejících polí. Pole je ohraničeno recesivním bitem ERC (end of CRC).

„ACK field“ neboli potvrzující pole sestává z ACK dílčího rámce (1bit) a ACK dělícího znaku (1 vratný bit). Bit v dílčím ACK rámci je posílán jako vratný bit a je přepisován jako dominantní bit od příjemců, kteří přijali data správně („positive acknowledgement“ neboli pozitivní potvrzení). Správná zpráva od příjemců je potvrzena bez ohledu na výsledek přijímacího testu. Konec zprávy se značí jako „end of frame“ neboli konec rámce. Konec rámce sestává nejméně ze sedmi recesivních bitů, za nimiž následují nejméně 3 bity pro uklidnění všech vysílačů. „Intermission“ neboli přerušení je minimální číslo z bitové periody, které odděluje následné zprávy. Jestliže se zde nevyskytují žádné následující přístupy na sběrnici od jakékoliv stanice, pak sběrnice zůstává nečinná, což se označuje termínem „bus idle“. [2]

2.4 ACK chyby

Vždy když je správně přijatý rámec, každý příjemce to potvrdí v ACK poli.

Pokud přijetí není potvrzeno, pak je vysílačem zprávy přijata ACK chyba označována

„ACK error“. Tato skutečnost může znamenat, že buďto nastala přenosová chyba, kterou objevil pouze příjemce, nebo že ACK pole je porušené či není žádný příjemce.

CAN protokol využívá dvou mechanismů pro detekci chyb na bitové úrovni. Těmito

(15)

mechanismy je „Monitoring“ neboli pozorování a „Bit stuffing“ neboli vkládání bitů.

[2]

Monitoring

Schopnost vysílače detekovat chyby je základem pro pozorování sběrnicových signálů. Každý vysílající uzel pozoruje sběrnicovou část a tím detekuje rozdíly mezi poslanými bity a přijatými bity. Tímto je zajištěna spolehlivá detekce globálních a lokálních chyb na straně vysílače.

Bit stuffing

Kódování samostatných bitů je testováno na bitové úrovni. Bitová reprezentace CAN je NRZ kód (non-return-to-zero), který zaručuje maximální efektivitu v bitovém kódování. Synchronizace je tvořena vkládáním pěti po sobě jdoucími stejnými bity. Do bitového toku je odesílatelem přidán vložený bit s doplňkovou hodnotou, která je příjemcem odstraněna. Kódová kontrola je omezena kontrolou správnosti vloženého pravidla.

Pokud se objeví jedna nebo více chyb na nejméně jedné nebo více stanicích, které používají zařízeni, pak je přenos zrušen a je odeslána indikace chyby „error flag“.

Tím se zabrání, aby jiná stanice přijala zprávu a tak je zajištěna konzistence dat v celé síti.

Další chybný přenos zprávy je zrušen a odesílatel se automaticky znovu pokusí o přenos. To se nazývá automatické opakování žádosti. Opět bude odesílatel soutěžit o připojení na sběrnici. Nový přenos se z pravidla zahájí během 23 bitové periody následující po odhalení chyby. Ve speciálních případech může být doba regenerace systému 31 bitovou periodou.

V některých případech chybné stanice může tato účinná a efektivní metoda vést ke zrušení všech zpráv a to i těch správných. Pokud žádná jiná stanice nepřevezme sledování vzniklé chyby, pak dojde k zablokování systému sběrnice. CAN protokol tedy dokáže rozlišit ojedinělé chyby od chyb trvalých a určí stanici, která selhala. Tato funkce se provádí statistickým odhadem chybné stanice s cílem poznat stanici s vlastními chybami a možným pracovním režimem, ve kterém ostatní stanice záporně

(16)

neovlivňují CAN síť. Když se stanice sama odpojí, tak se zabrání chybnému rozpoznání zprávy a také chybnému přerušení.

Pravděpodobnost neidentifikované zprávy je 10-13. To znamená, že CAN běžící 2000 hodin/rok rychlostí 500 kbit/s a s 25 % vytížením sběrnice může mít neidentifikovanou chybu jednou za 1000 let. [2]

2.5 Segmentace CAN

Aby byla udržena synchronizace mezi jednotlivými uzly CAN sběrnice při přenosu zpráv, mění se na sběrnici úroveň signálu. Jeden informační bit má určitou dobu přenosu a ta je rozdělena na čtyři časové segmenty. Každý segment je dělen na časová kvanta. Hrana signálu je očekávána během segmentu SYNC_SEG. Kompenzace doby, během které se šíří signál po sběrnici je zajištěna v segmentu PROP_SEG.

Poslední dva segmenty PHASE_SEG1 a PHASE_SEG2 jsou použity ke kompenzaci fázových chyb na sběrnici.

Obr.3 : Segmentace doby přenosu 1 bitu

Vzorkovací bod stavu sběrnice je právě mezi těmito dvěma segmenty. Pokud je očekávána hrana signálu mimo segment SYNC_SEG, pak se jejich délka mění o programovatelný počet časových kvant. Aby tato kompenzace byla možná, aniž by byl ovlivněn obsah přenášených dat, používá se metoda doplnění bitů opačné polarity. Když zpráva obsahuje 5 bitů stejné polarity, pak se automaticky do řetězce zařadí bit s opačnou polaritou. Ten je na přijímací straně opět vyřazen. [1]

Formát zpráv přenášených na aplikační úrovni je definován komunikačním protokolem CAN. Jednotlivé zprávy se přenáší v rámcích, které jsou rozděleny na čtyři typy.

(17)

- zprávy týkající se přenosu dat:

- Data frame (datová zpráva) - Remote frame (žádot o data)

- zprávy řídící komunikaci po sběrnici - Error frame (chybová zpráva) - Overload frame (zpráva o přetížení)

Podle normy protokolu CAN, máme dvě specifikace rámců. CAN 2.0A, jenž má délku 11 bitů a CAN 2.0B o délce 29 bitů.

Data frame

Datové zprávy se rozlišují na dva typy a to podle délky identifikátorů zpráv.

Prvním typem je standardní formát zprávy (standard frame) podle specifikace CAN 2.0A a má 11 bitový identifikátor. Druhým typem je rozšířený formát zprávy (extended frame) podle specifikace CAN 2.0B s 29 bitovým identifikátorem.

V případě použití v uzlech řadiče podle specifikace 2.0B mohou oba typy zpráv být vysílány na stejné sběrnici.

Remote frame

Formát žádosti o data je obdobný jako u formátu datové zprávy. U formátu žádosti je „RTR“ bit nastaven do recesivní úrovně a chybí u něho datová oblast.

Žádost o data používá jak standardního formátu zprávy s 11 bitovým identifikátorem tak rozšířeného formátu zprávy s 29 bitovým identifikátorem.

Když nějaký uzel žádá o zaslání dat, pak nastaví takový identifikátor zprávy, jako má zpráva datová, kterou chce zaslat. Tím je způsobeno, že když v určitém okamžiku jeden uzel žádá o zaslání dat a druhý data se stejným identifikátorem vysílá, pak má na sběrnici přednostní přístup uzel vysílající datovou zprávu, protože úroveň

„RTR“ bitu zprávy datové je dominantní a tak má tato zpráva vyšší prioritu.

(18)

Error frame

Chybová zpráva signalizuje chyby na sběrnici.

V okamžiku, kdy libovolný uzel na sběrnici detekuje v přenášené zprávě jakoukoliv chybu, se vygeneruje na sběrnici chybový rámec. Chyba může být chybou bitu, CRC, vkládáni bitů nebo chyba rámce.

Podle stavu pro hlášení chyb, ve kterém se uzel, jenž zachytil chybu, právě nachází, generuje na sběrnici buď aktivní nebo pasivní příznak chyby. Aktivním příznakem chyby je šest dominantních bitů a pasivním příznakem chyby je šest recesivních bitů. Pokud se generuje aktivní příznak chyby, pak je přenášená zpráva poškozena a tak i ostatní uzly začnou vysílat chybové zprávy. Hlášení chyb je indikováno superpozicí všech chybových příznaků, které jsou vysílány jednotlivými uzly. Délka tohoto úseku může být minimálně 6 a maximálně 12 bitů.

Jakmile se vyšle chybový příznak, pak vysílá každý uzel na sběrnici recesivní bity. Současně se detekuje stav sběrnice, a pokud najde na sběrnici první recesivní bit, pak se vysílá dalších sedm recesivních bitů, jenž plní funkci oddělovače chyb.

Overload frame

Zpráva o přetížení zajišťuje oddálení vyslání další datové zprávy či žádosti o data. Tento způsob používají zejména zařízení, která nejsou schopna kvůli svému vytížení přijímat a zpracovávat další zprávy. Struktura zprávy je obdobná jako u zprávy o chybě, ale její vyslání může být zahájeno po konci zprávy, oddělovače chyb či předcházejícího oddělovače zpráv přetížení.

Zpráva o přetížení sestává z příznaku přetížení a případné superpozice všech příznaků přetížení, pokud jsou generovány více uzly současně. Příznak přetížení se skládá z šesti dominantních bitů. Za příznaky přetížení pokračuje sedm dalších recesivních bitů, jenž tvoří oddělovač zprávy o přetížení. [2]

(19)

2.6 Implementace CAN

Aby bylo možné implementovat CAN, je zapotřebí třech komponent, a těmi jsou software, řadič CAN a fyzická vrstva.

Obr.4 : Komponenty pro implementaci CAN

Softwarové rozhraní pro řadič CAN přenáší zprávy do řadiče pro přenos, sbírá přijaté zprávy a zpracovává úlohy síťové kontroly jako síťovou inicializaci a udržování síťových vazeb.

(20)

Protokolový řadič je čipem nebo integrovaným řadičem, který zpracovává CAN protokol, jak je definováno podle CAN 2.0B specifikace. Tento řadič propojuje lokální mikrokontrolér a transceiver.

Fyzická vrstva zahrnuje síť a veškerá její propojení, kabeláž, konektory a čip transceiveru.

Zatímco CAN potřebuje vhodnou fyzickou vrstvu, CAN protokol je v zásadě nezávislý na typu implementace fyzické vrstvy dokud rozhraní nebo transceiver podporují dominantně-recesivní logiku.

2.7 Typy CAN bus

Obr.5 : Typy CAN bus sběrnice

Na obrázku (Obr.5) jsou vidět dva typy CAN bus sběrnice. Červeně je označena tzv. „CAN powertrain“ o rychlosti 500 kbit/s. Modře je označena „CAN comfort“ o rychlosti 100 kbit/s

(21)

2.8 Shrnutí CAN

Rámec datový a rámec dotazový, mohou být spuštěny pouze pod podmínkou, že je sběrnice volná. Tyto dva rámce jsou ukončeny vložením mezibloku složeného ze tří bitů mezipřenosu s hodnotou 1, které pokračuje uvolněním sběrnice bez časového omezení. Mezi uvolnění sběrnice a bity mezipřenosu je vkládán doplňkový přenos 8 bitů pro uzly pasivní chyby. Start bitem datového přenosu je příchozí hodnota 0.

Jakmile je detekována chyba v datovém nebo požadavkovém rámci, pak je přerušen přenos a nastane přenos chybového rámce. Rámec je ukončen rámcem přeplnění, nebo vložením mezibloku. Rámec přeplnění začíná na konci každého rámce a je ukončen chybovou funkcí nebo meziblokem. [1]

(22)

3 Tvorba aplikace

3.1 Úvod

Jako první bylo nutné rozhodnout, v jakém programovacím jazyce a vývojovém prostředí bude aplikace vytvořena. Pro tvorbu aplikace byl vybrán programovací jazyk Pascal, se kterým má autor již dobré zkušenosti, které získal během studia a tvorby aplikace pro bakalářský projekt. Jako vývojové prostředí pro jazyk pascal byl zvolen program Delphi7 od firmy Borland. S tímto programem autor již poměrně dlouho pracuje a vytvářel v něm i aplikaci pro bakalářský projekt, který této práci předcházel.

Protože tato práce navazuje na bakalářský projekt, byl tedy zvolen stejný programovací jazyk a vývojové prostředí.

Oproti předchozí aplikaci z bakalářského projektu je nová aplikace dynamičtější.

V původní aplikaci byly CAN kódy nastavené na určitou hodnotu a nebyla možnost je změnit. Uživatel tedy mohl měnit hodnoty jednotlivých prvků automobilu pomocí grafického rozhraní aplikace. Aplikace na změny reagovala změnou výpisu CAN kódů, které příslušeli danému prvku. Autor měl za úkol vytvořit novou aplikaci, ve které bude uživatel mít možnost vytvářet vlastní CAN kódy. Dále bude možné tyto vytvořené kódy ukládat jako celou soupravu všech prvků, nebo pro každý prvek zvlášť. S možností uložení samozřejmě souvisí i možnost opětovného nahrání do aplikace. Uživatel si tedy bude moci vytvořit vlastní knihovny pro nespočet různých nastavení CAN komunikace.

3.2 Plánování podoby aplikace

Plánovaný vzhled aplikace byl následující. Okno aplikace bude rozděleno na několik částí. V jedné části se budou nacházet pohyblivé prvky, hned vedle budou ležet prvky s přepínači vypnuto či zapnuto. Dále zde bude oddělená oblast pro ukládání a nahrávání vytvořených knihoven s CAN kódy. A poslední částí bude okno, ve kterém se budou v reálném čase zobrazovat jednotlivé CAN kódy v závislosti na měnících se prvcích. Uživatel bude mít možnost nastavovat a měnit rychlost automobilu, úhel natočení volantu, zařazený převodový stupeň. Dále zda je zapnuto či vypnuto EPS a v jakém módu běží. Také se zde bude možnost vypnout nebo zapnout ECU, ABS, alternátor, EPB, ESP a motor automobilu.

Tvorba jednotlivých CAN kódů v aplikaci bude následující. Uživatel nastaví pro každý prvek jeho identifikátor, minimální a maximální hodnotu, jenž může prvek

(23)

nabývat. Případně hodnotu pro stav zapnutí nebo vypnutí. Všechny tyto hodnoty se budou zadávat v šestnáctkové soustavě.

3.3 CAN kódování v aplikaci

Každý CAN kód odesílaný jednotlivými prvky má být ve formě čísla zapsaného v šestnáctkové (hexadecimální) soustavě. Toto číslo je složené z identifikátoru prvku a jeho aktuální hodnoty, konkrétně v tomto pořadí identifikátor + hodnota. Pokud identifikátor bude například „AB“ a aktuální hodnota „0123“, pak vznikne „AB0123“.

Jednotlivé pozice hexadecimálního kódu mohou nabývat hodnot 0 až 9 a A až F.

Hodnoty 0 až 9 reprezentují čísla 0 až 9 a hodnoty A až F čísla 10 až 15. Každá z těchto hodnot reprezentuje čtyřmístný kód v binární soustavě jedniček a nul např. „1010“.

V binární soustavě jsou vedle sebe zprava seřazené hodnoty 2n-1, kde n značí pozici čísla zprava. Každá jednička znamená, že hodnota na dané pozici platí a nula, že neplatí.

Platící hodnoty se sečtou a dostanete výsledné číslo, které binární kód reprezentuje.

Mějme tedy binární číslo „01001101“. Zprava hodnota 20 = 1 platí, 21 = 2 neplatí, 22 = 4 platí, 23 = 8 platí, 24 = 16 neplatí, 25 = 32 neplatí, 26 = 64 platí a 27 = 128 neplatí.

Sečteme hodnoty s jedničkou a dostaneme číslo 77. Pro zápis v hexadecimálním tvaru by se toto číslo rozdělilo na dvě čtyřmístná „0100“ a „1101“ a každé by se přepočítalo na decimální zvlášť. První tedy bude 4 a druhé 13. Číslo 4 se v hexadecimálním tvaru prezentuje jako „4“ a číslo 13 jako „D“, takže binární hodnota „01001101“ se v hexadecimálním tvaru zapíše jako „4D“. Vraťme se tedy k šestnáctibitovým kódům, které posílají jednotlivé atributy řídící jednotce automobilu. Tento kód je rozdělen na dvě čísla, kde každé z těchto čísel reprezentuje určitou hodnotu. První číslo zleva je identifikátorem a určuje, o jaký atribut se jedná. Např. si uživatel zvolí pro rychlost automobilu identifikátor „0D“. Druhé číslo zleva reprezentuje buďto stav prvku (zapnuto / vypnuto), nebo udává přímo číselnou hodnotu např. rychlosti či úhel natočení volantu. [1]

3.4 Vývojové prostředí

Použité vývojové prostředí Delphi 7 od firmy Borland je integrované grafické vývojové prostředí. Delphi 7 slouží k tvorbě aplikací na platformě MS Windows a to v objektové nástavbě programovacího jazyka Pascal. Vývojové prostředí umožňuje

(24)

vytvořit vizuální rozhraní aplikace, na němž se automaticky vytváří kostra zdrojového kódu, který se pak dále rozvíjí podle potřeby pro danou aplikaci.

Programování v Delphi je tvořeno používáním komponent, které má uživatel k dispozici a následným vytvořením zdrojového kódu uživatelem. Komponenta je předdefinovaný balíček funkcí, jenž zajišťuje takovou funkci komponenty, ke které je určena. Komponenta např. zobrazuje obrázky nebo text, může sloužit jako vstup dat nebo naopak výstup. Delphi nabízí uživateli knihovnu základní sadu komponent, kterou lze rozšířit stažením dalších, nebo si uživatel může vytvořit vlastní. Každá komponenta má svůj seznam jednotlivých nastavení, aby si ji uživatel přizpůsobil dle potřeby a seznam událostí (eventů). Tyto události již slouží k propojení komponenty se zdrojovým kódem vytvořeným uživatelem. Pokud nastane na komponentě nějaká z možných událostí, pak se provede část kódu k této události přiřazený a podle toho se zachová aplikace na venek.

Tvorba aplikace v Delhpi 7 se tedy skládá ze dvou hlavních částí. První část je poskládání komponent do okna, což vytvoří vizuální podobu aplikace a poskytne základ, na kterém je pak postavena druhá část. Druhá část je tvořena zdrojovým kódem.

Zdrojový kód vytvořený uživatelem pak již definuje jednotlivé závislosti komponent a celkovou funkčnost aplikace. [1]

3.5 Struktura aplikace 3.5.1 Grafické komponenty

Během tvorby samotné aplikace bylo využito několik různých komponent.

Nejčastěji se zde objevuje komponenta zvaná TLabel neboli nálepka. Tato komponenta zobrazuje obsažený text. V této aplikaci slouží především jako popisná část funkčních členů ale i jako informace o aktuální hodnotě jednotlivých prvků jako je rychlost automobilu, převodový stupeň nebo úhel natočení volantu.

Dalším hojně využitým prvkem v aplikaci je TButton neboli tlačítko. Tlačítka zde slouží jak k vyvolání akce jako například nastavení CAN kódů, jejich uložení či nahrání. Tlačítky je interpretováno i několik prvků, u kterých se takto přepínají stavy zapnuto a vypnuto, například alternátor, motor atd.

Rychlost automobilu, převodový stupeň a úhel natočení volantu jsou řešeny pomocí komponent TScrollbar. Scrollbar vypadá jako horizontální či vertikální pruh,

(25)

na jehož koncích jsou šipky a někde na pruhu leží táhlo. Pruh obsahuje určitý rozsah hodnot a táhlo určuje právě jednu hodnotu z tohoto rozsahu. Táhlem se dá posouvat přímo pomocí kurzoru nebo krajních šipek. Šipky posouvají s táhlem o jednu hodnotu na kliknutí. Pro rychlost automobilu byla využita další komponenta a tou je TGauge.

Gauge vypadá jako ručičkové budíkové měřidlo ve tvarů půlkruhu. Gauge tedy v aplikaci graficky znázorňuje tachometr v automobilu. Jeho ručička ukazuje hodnotu aktuální rychlosti nastavenou na scrollbaru.

Ukládání a nahrávání knihoven je prováděno komponentami TSaveDialog a TOpenDialog, které nejsou graficky nijak znázorněny, ale v praxi otevírají nabídku pro uložení a otevření souboru.

Aby si mohl uživatel při vytváření, ukládání a nahrávání CAN kódů zvolit jednotlivé prvky, jsou zde komponenty TRadioGroup a TRadioButton. Radiobutton jsou položky, které je možné zatrhnout. Radiogroup je jakousi podložkou pro radiobuttony. Všechny radiobuttony v jednom radigroupu jsou seskupeny a může být zatržen vždy jen jeden z nich.

Jednotlivá okna, která se objeví po kliknutí na tlačítko nastavení CAN kódu, jsou reprezentována komponentou TPanel. Panel je plocha obdélníkového či čtvercového tvaru, se skoseným hranami, což vytváří dojem plasticity. Všechny komponenty vložené na panel náleží panelu a jsou s ním pevně spjaty. Když je tohoto panelu v aplikaci zapotřebí, pak se objeví a když je nastaveno, co bylo potřeba, zase zmizí.

Další velmi důležitá komponenta pro tuto aplikaci je TMemo. Memo by se dalo pojmenovat jako sdělení. Graficky je znázorněno jako okno libovolné velikosti, které obsahuje řádky textu. Tento text je možné vložit za běhu aplikace, nebo se dá použít jako výstup z aplikace pro uživatele. Zde je použito několik těchto komponent pro práci s daty zadanými uživatelem. Tyto jsou ovšem před uživatelem skryty a uživatel vidí jen ty komponenty, které slouží k výpisu CAN identifikátorů a hodnot pro jednotlivé prvky automobilu. Tyto informace by byly ve skutečnosti posílány po CAN BUS sběrnici mezi jednotlivými uzly a následně vyhodnocovány řídící jednotkou, která by podle těchto informací prováděla další akce.

(26)

Pole pro zápis hodnot uživatelem do aplikace jsou tvořena komponentou TEdit.

Edit je jednořádkové pole, do kterého je možné uživatelem zapsat text. V aplikaci je délka zapisovaného textu omezena na počet míst, jenž je pro daný prvek potřeba.

Jako poslední komponenty byly použity TBevel a TImage. Ty slouží pouze ke grafickému doladění aplikace. Bevel slouží k orámovaní jednotlivých sekcí pro lepší přehlednost a orientaci a pomocí image je možné nahrát do aplikace obrázek. Obrázek zde slouží jako logo aplikace.

3.5.2 Zdrojový kód

Ve zdrojovém kódu je často využíváno podmínek „if“, které rozhodují, zda je splněna jistá okolnost a jaká část kódu se v takovémto případě má vykonat. Například pokud je v radioboxu zaškrtnutý radiobutton pro motor, pak se pomoci tlačítek nastavení, uložení a nahrání pracuje s daty, které přísluší tomuto prvku.

Jelikož uživatel zadává do aplikace data v hexadecimální soustavě a jednotlivé komponenty pracují v dekadické soustavě, vyskytl se problém při potřebě převodu hexadecimálního čísla na číslo dekadické. Pro převod z dekadického čísla na hexadecimální existuje příkaz „inttohex“, ovšem příkaz pro zpětný chod neexistuje.

Proto bylo potřeba tento problém vyřešit jiným způsobem. Bylo by možné vymyslet a napsat vlastní funkci pro převod z hexadecimální soustavy na dekadickou, ale problém byl vyřešen jiným způsobem.

Protože do komponenty edit je možné zapsat cokoliv, tak její výstup není číselného datového typu, ale typu textového řetězce „string“. Takto zadaná hodnota uživatelem se v aplikaci uloží do pomocné komponenty memo, taktéž jako řetězec string. Existuje příkaz pro převod řetězce string na dekadické číslo „strtoint“. Pokud se tedy vezme hexadecimální číslo zapsané jako řetězec string a před něho se přidá příznak

„$“ a toto zkombinované se zadá do funkce „strtoint“ pak dostaneme z hexadecimálního čísla dekadické.

Samotné ukládání vytvořených CAN kódů probíhá tak, že se uživateli objeví nabídkové okno, ve kterém si může vybrat, kam na svém počítači chce nastavení uložit a pod jakým názvem. Automaticky se vytvoří textový soubor obsahující uložené nastavení pod zvoleným jménem. Pokud chce uživatel nahrát do aplikace již uložené nastavení, pak se mu otevře nabídkové okno, ve kterém si zvolí soubor, do kterého

(27)

uložil již nějaké nastavení a potvrdí výběr. Uživateli jsou automaticky zobrazovány jen textové soubory, pro lepší přehlednost.

Zbytek zdrojového kódu je sestaven ze specifických příkazů pro jednotlivé komponenty. Tyto příkazy zajišťují jednotlivé vazby mezi komponentami, a aby aplikace správně reagovala na uživatelovi podněty. Pro účel této práce není potřeba zde všechny tyto příkazy vypisovat a vysvětlovat. V případě potřeby je na přiloženém nosiči CD celý zdrojový kód k dispozici. Přiložené CD obsahuje digitální podobu bakalářské práce, zdrojový kód aplikace i samotnou aplikaci.

(28)

Obr.6 : Vývojové diagramy aplikace

(29)

4 Popis hotové aplikace

Obr.7 : Rozložení jednotlivých prvků v aplikaci

V červeném rámečku jsou ovládací prvky pro rychlost automobilu, úhel natočení volantu, převodový stupeň a grafické znázornění tachometru. Zeleným rámečkem jsou označeny prvky s možnými stavy vypnuto či zapnuto a výběr konkrétního módu pro prvek ESP. V modrém rámečku se vyskytují ovládací komponenty pro nahrání nebo uložení nastavení všech prvků, dále výběr specifického prvku a možnost jeho nastavení, uložení či nahrání. Nakonec černě orámován je výpis CAN kódů, kde může uživatel vidět, o jaký jde prvek, jaký má identifikátor a kód jeho aktuální hodnoty.

Car speed – rychlost automobilu

Steering wheel angle – úhel natočení volantu Gear – převodový stupeň

EPS (electronic power steering) – elektronický posilovač řízení EPS mode – mód elektronického posilovače řízení

ECU (electronic control unit) – elektronická řídící jednotka ABS (anti-lock breaking system) – protiskluzový brzdící systém Alternator – alternátor

(30)

EPB (electronic parking break) – elektronická parkovací brzda ESP (electronic stability programme) – elektronický stabilizátor Engine – motor

Complete CAN settings – CAN nastavení všech atributů Save – uložit

Load – nahrát Set – nastavit

Elements CAN settings – CAN nastavení pro jednotlivé prvky Element – prvek

ID – identifikátor Value – hodnota

Obr.8 : Tabulka CAN nastavení pro rychlost automobilu, úhel natočení volantu a převodový stupeň

Pokud uživatel klikne na tlačítko „Set“ a má v rámečku „Elements CAN settings“ zaškrtnuto „Car speed“, „Steering wheel“ nebo „Gear“, objeví se tabulka

„CAN settings“ jak můžete vidět na obrázku (Obr.7). Zde si uživatel nastaví identifikátor, délku hodnoty (dva nebo čtyři znaky), minimální a maximální hodnotu,

(31)

tlačítkem „Apply“ a následně tabulku zavřít pomocí tlačítka „Close“. Takto se definují CAN kódy pro rychlost automobilu, úhel natočení volantu a převodový stupeň. Po aplikování se začne vypisovat CAN kód pro daný prvek v oblasti pro výpis CAN kódů.

Zvlášť se vypisuje identifikátor a zvlášť aktuální hodnota, která se mění v závislosti na pozici táhla u příslušného scrollbaru.

Obr.9 : Tabulka CAN nastavení pro EPS

Při použití tlačítka „Set“ když je v rámečku „Elemets CAN settings“ zaškrtnutý prvek elektronický posilovač řízení (EPS) se objeví trochu jiná tabulka „CAN settings“, než tomu bylo u předchozích třech prvků. Konkrétní podoba tabulky je znázorněna na obrázku. Uživatel zde tentokrát nastaví identifikátor, hodnotu při zapnutém stavu, vypnutém stavu, pro městský mód, parkovací mód a sportovní mód. Nastavené hodnoty je třeba také aplikovat tlačítkem „Apply“ a následně zavřít tabulku tlačítkem „Close“.

Takto se definuje CAN kód pro prvek elektronického posilovače řízení. Jakmile je prvek definován, je možné ho zapnout či vypnout pomocí tlačítka. Při zapnutém stavu je potřeba vybrat v seznamu jeden ze tří módů elektronického posilovače řízení. Mód pro město, parkování či mód sportovní. V oblasti pro výpis CAN kódů může uživatel pozorovat změny vyvolané změnou stavu prvku.

(32)

Obr.10 : Tabulka CAN nastavení pro ECU, ABS, alternátor, EPB, ESP a motor

Pokud má uživatel v rámečku „Elements CAN settings“ označený prvek elektronická řídící jednotka (ECU), protiskluzový brzdící systém (ABS), alternátor, elektronicá parkovací brzda (EPB), elektronický stabilizátor (ESP) nebo motor (engine), pak se objeví tabulka „CAN settings“ ve své třetí podobě. Jak tabulka „CAN settings“

vypadá je vidět na obrázku. Vzhledem k počtu polí k nastavení je tato tabulka ze všech tří nejjednodušší. Nastavuje se zde pouze identifikátor a hodnota při zapnutém nebo vypnutém stavu. Opět je zapotřebí nastavené hodnoty aplikovat tlačítkem „Apply“ a zavřít tabulku tlačítkem „Close“. Tímto způsobem se definují CAN kódy pro prvky elektronická řídící jednotka (ECU), protiskluzový brzdící systém (ABS), alternátor, elektronicá parkovací brzda (EPB), elektronický stabilizátor (ESP) a motor (engine). Po definování těchto prvků může uživatel vypínat nebo zapínat každý prvek zvlášť a pozorovat měnící se CAN kódy v oblasti pro jejich výpis.

(33)

Obr.11 : Okno pro uložení souboru

Kliknutím na tlačítko „Save“ ať už v oblasti „Complete CAN settings“ nebo

„Elements CAN settings“ se zobrazí okno pro ukládání souborů, jak můžete vidět na obrázku (Obr.10). Uživatel si zvolí, kam přesně ve svém počítači chce soubor uložit, pojmenuje si ho dle libosti a klikne na „Uložit“. Formát uloženého souboru se volí automaticky jako textový dokument. Tímto se na požadovaném místě vytvoří textový soubor se zadaným názvem. Pokud bylo okno pro ukládání souborů vyvoláno tlačítkem

„Save“ v oblasti „Complete CAN settings“, uloží se do souboru nastavení CAN kódů pro všechny prvky. V případě, že bylo okno pro ukládání souborů vyvoláno tlačítkem

„Save“ v oblasti „Elements CAN settings“, pak se do souboru uloží pouze CAN kódy pro prvek, který byl ve chvíli otevření okna pro ukládání souborů označen v oblasti

„Elements CAN Settings“.

(34)

Obr.12 : Okno pro načtení souboru

Nahrání již uložených nastavení CAN kódů lze pomocí tlačítek „Load“.

Kliknutím na tlačítko „Load“ v oblasti „Complete CAN settings“ i v oblasti „Elements CAN settings“ zobrazí okno pro otevření souboru. Zde aplikace uživateli automaticky filtruje jen textové soubory pro lepší přehlednost. Uživatel si vybere textový soubor s uloženými CAN kódy a klikne na „Otevřít“. Pokud bylo okno pro otevření souboru vyvoláno z oblasti „Complete CAN settings“ pak se nahraje sada CAN kódů pro všechny prvky aplikace. Při vyvolání okna pro otevření souboru z oblasti „Elements CAN settings“ se nahrají do aplikace CAN kódy pro prvek, jenž byl při vyvolání okna označen v oblasti „Elements CAN settings“.

(35)

Obr.13 : Ukázka aplikace s nastavenými CAN kódy

Na obrázku (Obr.12) je vidět aplikace s již nastaveným CAN kódováním pro všechny prvky. V takovémto stavu se nám zobrazují identifikátory a hodnoty všech prvků v případě, že se auto pohybuje rychlosti 116 km/h, má zařazen čtvrtý rychlostní stupeň, volant otočen o 270 ° po směru hodinových ručiček, zapnutý elektronický posilovač řízení na sportovní mód, zapnutou elektronickou řídící jednotku, vypnutý protiskluzový brzdící systém, zapnutý alternátor, vypnutou elektronickou parkovací brzdu, vypnutý elektronický stabilizátor a zapnutý motor. Jakmile uživatel nastavení těchto prvků mění, tak se mění i vypisované hodnoty v oblasti pro výpis CAN kódů.

(36)

5. Závěr

Výsledným produktem bakalářské práce je vytvořená nová počítačová aplikace.

Tato aplikace je nazvána CanSim v2.0. CanSim slouží k simulaci komunikace mezi jednotlivými prvky v automobilu. Tato komunikace probíhá za pomoci CAN bus sběrnice. Po této sběrnici jsou vysílány zprávy, které obsahují identifikátor prvku a jeho hodnotu, jenž potřebuje předat řídící jednotce. CanSim je vytvořen jako grafické rozhraní automobilu, ve kterém může uživatel měnit stavy, v jakých se automobil zrovna nachází. V závislosti na těchto změnách, se v reálném čase uživateli vypisují změny vysílaných identifikátorů a hodnot jednotlivých prvků. Sady těchto CAN identifikátorů a hodnot atributů, si může uživatel sám nadefinovat, uložit a zpětně nahrát do aplikace. V praxi tyto kódy vyhodnocuje řídící jednotka automobilu, která následně na získané informace patřičně reaguje změnou posilovacích účinků apod.

Na vytvořenou aplikaci CanSim by se mělo navázat v diplomové práci, kde by se tato aplikace za předpokladu potřebných úprav mohla pomocí CAN karty napojit na reálnou řídící jednotku automobilu. To by sloužilo jako pomůcka pro diagnostiku řídící jednotky při její repasi.

(37)

Použité zdroje

[1] ERLEBACH, Petr : Simulace CAN komunikace v automobilu, Liberec, 2012 [2] CANLAB s.r.o. Web firmy CANLAB s.r.o. [online]. Dostupné z WWW

http://rs.canlab.cz

[3] VANĚK, Roman Bc. CAN bus sběrnice [online]. Dostupné z WWW http://www.carmotor.cz/can-bus-sbernice-co-je-to/

[4] Microchip Technology Inc. Web firmy Microchip Technology Inc. [online].

Dostupné z WWWhttp://www.microchip.com/pagehandler/en- us/technology/can/home.html

[5] Bosch Automotive Electronics Web firmy Bosch [online]. Dostupné z WWW http://www.bosch-semiconductors.de/media/pdf_1/canliteratur/can2spec.pdf [6] Zezulka František, Automatizační prostředky. Skripta VUT FEKT v Brně, 1999,

ISBN 80-214-1482-0

References

Related documents

Hřbetní strany rukavic musí být z měkkého materiálu a nesmí obsahovat žádný jiný materiál nebo předměty než přišité vycpávky“ (Český svaz ledního

Chmelař (2015, s. Rozlišuje mezi sebou dálnice, komunikace I., II. “ Ve městech rozlišuje hlavní tahy, významné ulice, soukromé cesty, nezpevněné cesty a ostatní

Cílem práce je návrh využití motokrosu jako volnočasové aktivity. Vymezuji zde pojmy, jako je volný čas, pohybová aktivita, sport a motokros. Dále uvádím

Dále jsou na rámu umístěny dva prvky pro zajištění spojení výklopného rámu a základního rámu při jízdě vozidla nebo při skládání, respektive

Přestoţe se v české společnosti zvyšuje akceptace netradičních forem rodinného souţití – tedy i nesezdaných souţití a dochází k oslabení přesvědčení, ţe

Před uskutečněním přímé zahraniční investice na zahraniční trh, je nezbytné provést analýzu daného trhu. Jejím cílem je příprava strategického plánu. Dlouhodobé plány

(Mulačová, Mulač a kol. Prostředníkův zisk vychází z tzv. cenové marže, což je rozdíl mezi cenou produktu při jeho nákupu prostředníkem a jeho cenou při

Jelikož mačkavost textilií a finální úpravy, které dokáží tuto vlastnost u textilií zlepšit jsou velmi aktuální téma, bude se tato práce v experimentální části zabývat