• No results found

Liberec2007 Tom´aˇsZeman DIPLOMOV´APR´ACE TECHNICK´AUNIVERZITAVLIBERCI

N/A
N/A
Protected

Academic year: 2022

Share "Liberec2007 Tom´aˇsZeman DIPLOMOV´APR´ACE TECHNICK´AUNIVERZITAVLIBERCI"

Copied!
75
0
0

Loading.... (view fulltext now)

Full text

(1)

Fakulta mechatroniky a mezioborov ´ych inˇzen ´yrsk ´ych studi´ı

DIPLOMOV ´ A PR ´ ACE

Liberec 2007 Tom´aˇs Zeman

(2)

Fakulta mechatroniky a mezioborov ´ych inˇzen ´yrsk ´ych studi´ı

Studijn´ı program: M 2612 – Elektrotechnika a informatika

Studijn´ı obor: 3902T005 – Automatick´e ˇr´ızen´ı a inˇzen ´yrsk´a informatika

Analyz´ator CAN sbˇernice CAN bus analyser

Diplomov´a pr´ace

Autor: Tom´aˇs Zeman

Vedouc´ı diplomov´e pr´ace: Ing. Pavel Herajn

Konzultant: Ing. Helena Jos´ıfkov´a

V Liberci 23. 5. 2007

(3)
(4)

Prohl´aˇsen´ı

Byl jsem sezn´amen s t´ım, ˇze na mou diplomovou pr´aci se plnˇe vztahuje z´akon ˇc. 121/2000 o pr´avu autorsk´em, zejm´ena § 60 (ˇskoln´ı d´ılo).

Beru na vˇedom´ı, ˇze TUL m´a pr´avo na uzavˇren´ı licenˇcn´ı smlouvy o uˇzit´ı m´e diplomov´e pr´ace a prohlaˇsuji, ˇze s o u h l a s ´ı m s pˇr´ıpadn ´ym uˇzit´ım m´e diplomov´e pr´ace (prodej, zap ˚ujˇcen´ı apod.).

Jsem si vˇedom toho, ˇze uˇz´ıt sv´e diplomov´e pr´ace ˇci poskytnout licenci k jej´ımu vyuˇzit´ı mohu jen se souhlasem TUL, kter´a m´a pr´avo ode mne poˇzadovat pˇrimˇeˇren ´y pˇr´ıspˇevek na ´uhradu n´aklad ˚u, vynaloˇzen ´ych univerzitou na vytvoˇren´ı d´ıla (aˇz do jejich skuteˇcn´e v ´yˇse).

Diplomovou pr´aci jsem vypracoval samostatnˇe s pouˇzit´ım uveden´e literatury a na z´akladˇe konzultac´ı s vedouc´ım diplomov´e pr´ace a konzultantem.

V Liberci 23. kvˇetna 2007

Podpis

(5)

Dˇekuji vedouc´ımu t´eto diplomov´e pr´ace Ing. Pavlu Herajnovi za poskytov´an´ı cenn ´ych rad, pˇripom´ınek a technick´eho z´azem´ı. D´ale bych r´ad podˇekoval pˇredevˇs´ım Ing. Petru Skalovi za neocenitelnou pomoc pˇri n´avrhu desky ploˇsn ´ych spoj ˚u a Ing. Tom´aˇsi Mi- kolandovi za pomoc pˇri jej´ım osazov´an´ı, Ing. Tom´aˇsi Moravcovi za zpracov´an´ı n´avrhu krabiˇcky a laboratoˇri Katedry v ´yrobn´ıch syst´em ˚u Fakulty strojn´ı za jej´ı vyroben´ı, Martinu Novotn´emu za trpˇelivost a snahu pˇri nesˇcetn ´ych diskus´ıch nad probl´emy t´eto pr´ace.

M ˚uj vdˇek patˇr´ı rovnˇeˇz vˇsem, kteˇr´ı mˇe v pr ˚ubˇehu t´eto pr´ace podporovali i jinak neˇz odborn ´ymi radami.

(6)

Abstrakt

Tato diplomov´a pr´ace popisuje n´avrh a realizaci analyz´atoru CAN sbˇernice.

Hlavn´ım c´ılem bylo vytvoˇrit zaˇr´ızen´ı, kter´e bude vˇsestrannˇe nen´aroˇcn´e. A to jak na obsluhu, tak na rozmˇery a spotˇrebu. Rovnˇeˇz mˇelo b ´yt snadno pˇripojiteln´e k osobn´ımu poˇc´ıtaˇci.

V teoretick´e ˇc´asti jsou pops´any vlastnosti a funkce CAN protokolu, jeho fyzick´e a lin- kov´e vrstvy. Praktick´a ˇc´ast se zab ´yv´a samotn ´ym analyz´atorem. Nejprve se zamˇeˇruje na jeho hardwarov´e ˇreˇsen´ı, n´aslednˇe na ˇreˇsen´ı softwarov´e. Hardwarem analyz´atoru je elektronick´e zaˇr´ızen´ı, ˇr´ızen´e mikrokontrol´erem, realizuj´ıc´ı fyzick´e pˇripojen´ı ke sbˇernic´ım CAN a USB. Softwarov´e ˇreˇsen´ı se skl´ad´a z firmwaru pro mikrokontrol´er a uˇzivatelsk´eho rozhran´ı pro PC, kter´e slouˇz´ı k ovl´ad´an´ı analyz´atoru a k zobrazov´an´ı v ´ystup ˚u z CAN sbˇernice.

Kl´ıˇcov´a slova:analyz´ator, s´eriov´a sbˇernice, CAN sbˇernice, CAN protokol, AT90CAN128

Abstract

The diploma thesis describes design and realization of the CAN bus analyser.

The main goal was to create a broadly undemanding device (concerning easy servi- cing, small size and low consumption).

The theoretical part concerns basic characteristics of the CAN protocol, its physical and data link layer. The practical part deals with the analyser itself. First, it concentra- tes on the hardware solution, which is followed by the software solution. The hardware of the analyser is an electronic device operated by a microcontroller, which implements physical connection with the CAN bus and the USB bus. The software solution consists of a firmware for the microcontroller and a user interface for PC, which is used to control the analyser and to display the output from the CAN bus.

Keywords:data-analyser, serial bus, CAN bus, CAN protocol, AT90CAN128

(7)

Obsah

Prohl´aˇsen´ı 3

Podˇekov´an´ı 4

Abstrakt 5

UVOD´ 14

1 CAN PROTOKOL 16

1.1 Uvod . . . .´ 16

1.2 Z´akladn´ı vlastnosti . . . 17

1.3 Fyzick´a vrstva . . . 20

1.3.1 Vys´ılaˇc a pˇrij´ımaˇc . . . 20

1.3.2 Logick´e ´urovnˇe . . . 20

1.3.3 K ´odov´an´ı bitu . . . 21

1.3.4 Casov´an´ı bitu a synchronizace . . . .ˇ 21 1.3.5 Pˇrenosov´e m´edium . . . 23

1.3.6 Standardy fyzick ´ych vrstev . . . 24

1.4 Linkov´a vrstva . . . 27

1.4.1 Arbitr´aˇzn´ı mechanismus . . . 27

1.4.2 K ´odov´an´ı r´amce . . . 28

1.5 Pˇrenosov´e r´amce . . . 29

1.5.1 Obecn´a struktura pˇrenosov´eho r´amce . . . 29

1.5.2 Datov ´y r´amec . . . 31

1.5.3 Vzd´alen ´y r´amec . . . 32

1.5.4 Chybov ´y r´amec . . . 32

1.5.5 Pˇretˇeˇzovac´ı r´amec . . . 33

1.5.6 Mezir´amcov ´y oddˇelovaˇc . . . 33

1.6 Detekce chyb . . . 34

2 HARDWAROV ´E ˇRE ˇSEN´I 36

(8)

2.1 Uvod . . . .´ 36

2.2 Blokov´e sch´ema hardwarov´eho ˇreˇsen´ı . . . 38

2.3 Mikrokontrol´er . . . 39

2.4 USB-UART pˇrevodn´ık . . . 41

2.5 Extern´ı pamˇet’ SRAM . . . 43

2.5.1 D-latch . . . 44

2.6 CAN budiˇc . . . 46

2.7 Konektory . . . 47

2.8 Sch´ema elektrick´eho zapojen´ı . . . 48

2.9 N´avrh desky ploˇsn ´ych spoj ˚u . . . 48

2.10 Realizace desky ploˇsn ´ych spoj ˚u . . . 49

2.10.1 V ´yroba DPS . . . 49

2.10.2 Osazen´ı DPS . . . 49

2.10.3 Krabiˇcka . . . 50

3 SOFTWAROV ´E ˇRE ˇSEN´I 51 3.1 Uvod . . . .´ 51

3.2 Komunikaˇcn´ı protokol . . . 51

3.3 Firmware mikrokontrol´eru . . . 53

3.4 Uˇzivatelsk´e rozhran´ı pro PC . . . 55

Z ´AV ˇER 58

Pouˇzit´a literatura 60

Obsah pˇriloˇzen´eho CD-ROM 62

P ˇR´ILOHY 63

A Mikrokontrol´er AT90CAN128-16AU v pouzdru TQFP-64 64

B Sch´ema elektrick´eho zapojen´ı – ˇc´ast prvn´ı 65

C Sch´ema elektrick´eho zapojen´ı – ˇc´ast druh´a 66

(9)

D Rozm´ıstˇen´ı souˇc´astek na DPS 67

E Rozvrˇzen´ı vodiv ´ych cest na DPS 68

F Seznam pouˇzit´eho materi´alu 69

G Specifikace poˇzadavk ˚u pro zak´azku v ´yroby DPS 70

H Neosazen´a DPS – fotografie 71

I Osazen´a DPS – fotografie 72

J Analyz´ator CAN sbˇernice – fotografie 73

K Druhy zpr´av 74

(10)

Seznam tabulek

1 Logick ´y souˇcin nad recesivn´ı a dominantn´ı ´urovn´ı . . . 20

2 Poˇcet ˇcasov ´ych kvant pro jednotliv´e segmenty bitu . . . 23

3 Fyzick´a reprezentace logick ´ych ´urovn´ı standardem High Speed CAN . . . . 25

4 Fyzick´a reprezentace logick ´ych ´urovn´ı standardem Fault-tolerant CAN . . 25

5 Hodnoty DLC a jejich reprezentace logick ´ymi ´urovnˇemi . . . 31

6 Popis v ´yvod ˚u USB-UART pˇrevodn´ıku CP2102 . . . 42

7 Popis v ´yvod ˚u pamˇeti SRAM K6X1008C2D . . . 44

8 Popis v ´yvod ˚u D-latch SN74AHCT573 . . . 45

9 Popis v ´yvod ˚u CAN budiˇce SN65HVD231Q . . . 46

10 Parametry DPS . . . 48

11 Seznam pouˇzit´eho materi´alu . . . 69

12 Specifikace poˇzadavk ˚u pro zak´azku v ´yroby DPS . . . 70

13 Druhy iniciaˇcn´ıch zpr´av . . . 74

14 Druhy chybov ´ych zpr´av . . . 74

(11)

Seznam obr ´azk ˚ u

1 Vrstvov ´y model komunikace na CAN sbˇernici dle CiA . . . 18

2 Porovn´an´ı metod pro k ´odov´an´ı bitu – NRZ a Manchester . . . 21

3 Casov´an´ı bitu . . . .ˇ 22 4 Typick´a struktura CAN sbˇernice . . . 24

5 High Speed CAN . . . 25

6 Faul-tolerant CAN . . . 26

7 Arbitr´aˇz – ˇr´ızen´ı pˇr´ıstupu k pˇrenosov´emu m´ediu . . . 28

8 K ´odov´an´ı dat metodou Bit Stuffing . . . 29

9 Obecn´a struktura standardn´ıho form´atu pˇrenosov´eho r´amce . . . 29

10 Obecn´a struktura rozˇs´ıˇren´eho form´atu pˇrenosov´eho r´amce . . . 29

11 Blokov´e sch´ema hardwarov´eho ˇreˇsen´ı . . . 38

12 Sch´ema elektrick´eho zapojen´ı mikrokontrol´eru AT90CAN128 . . . 40

13 USB-UART pˇrevodn´ık CP2102 v pouzdru QFN-28 . . . 41

14 Sch´ema elektrick´eho zapojen´ı USB-UART pˇrevodn´ıku CP2102 . . . 42

15 Blokov´e sch´ema pˇripojen´ı extern´ı pamˇeti SRAM k AVR mikrokontrol´eru . 43 16 Pamˇet’ SRAM K6X1008C2D v pouzdru SOP-32 . . . 44

17 D-latch SN74AHCT573PWRG4 v pouzdru TSSOP-20 . . . 45

18 Sch´ema elektrick´eho zapojen´ı pamˇeti SRAM K6X1008C2D a D-latch SN74AHCT573 . . . 45

19 CAN budiˇc SN65HVD231QD v pouzdru SOIC-8 . . . 46

20 Sch´ema elektrick´eho zapojen´ı CAN budiˇce SN65HVD231Q . . . 47

21 Sch´ema elektrick´eho zapojen´ı konektor ˚u . . . 47

22 Struktura zpr´avy . . . 51

23 V ´yvojov ´y diagram firmwaru . . . 55

24 Mikrokontrol´er AT90CAN128-16AU v pouzdru TQFP-64 . . . 64

25 Sch´ema elektrick´eho zapojen´ı – mikrokontrol´er s extern´ı pamˇet´ı SRAM . . 65

26 Sch´ema elektrick´eho zapojen´ı – pˇrevodn´ık, budiˇc, diody a konektory . . . 66

27 Rozm´ıstˇen´ı souˇc´astek na DPS – horn´ı strana . . . 67

28 Rozm´ıstˇen´ı souˇc´astek na DPS – spodn´ı strana . . . 67

(12)

29 Rozvrˇzen´ı vodiv ´ych cest na DPS – horn´ı strana . . . 68

30 Rozvrˇzen´ı vodiv ´ych cest na DPS – spodn´ı strana . . . 68

31 Neosazen´a DPS – horn´ı strana . . . 71

32 Neosazen´a DPS – spodn´ı strana . . . 71

33 Osazen´a DPS – horn´ı strana . . . 72

34 Osazen´a DPS – spodn´ı strana . . . 72

35 Analyz´ator CAN sbˇernice – krabiˇcka . . . 73

36 Analyz´ator CAN sbˇernice – otevˇren´a krabiˇcka . . . 73

(13)

Seznam pouˇzit ´ych zkratek a symbol ˚ u

ADC – Analog-to-Digital Converter, analogovˇe-ˇc´ıslicov ´y pˇrevodn´ık AVR – rodina mikrokontrol´er ˚u firmy Atmel s pokroˇcilou RISC archi-

tekturou

CAL – CAN Application Layer, aplikaˇcn´ı vrstva CAN protokolu CAN – Controller Area Network, pr ˚umyslov´a datov´a sbˇernice

CiA – CAN in Automatization, mezin´arodn´ı neziskov´a organizace uˇzivatel ˚u a v ´yrobc ˚u CAN sbˇernice

COM – Communication Port, s´eriov ´y port poˇc´ıtaˇce DPS – Deska Ploˇsn ´ych Spoj ˚u

ESD – Electrostatic Discharge, elektrostatick ´y v ´yboj

FDM – Fused Deposition Modeling, metoda vytv´aˇren´ı model ˚u

GND – Ground, zemˇen´ı

HLP – High Layer Protocols, protokol vyˇsˇs´ı vrstvy komunikaˇcn´ıho mo- delu

ISO – International Standard Organization, mezin´arodn´ı organizace pro normalizaci

ISP – In-System Programming, metoda programov´an´ı mikrokont- rol´er ˚u uvnitˇr aplikace

JTAG – Joint Test Action Group, standard pro testov´an´ı ploˇsn ´ych spoj ˚u, programov´an´ı Flash pamˇet´ı, apod.

LLC – Logical Link Control, logick´e ˇr´ızen´ı linek LPT – Line Printer Terminal, paraleln´ı port poˇc´ıtaˇce MAC – Medium Access Control, ˇr´ızen´ı pˇr´ıstupu k m´ediu MAU – Medium Access Unit, jednotka pˇr´ıstupu k m´ediu

MDI – Medium Dependent Interface, rozhran´ı z´avisej´ıc´ı na m´ediu MFC – Microsoft Foundation Classes, knihovna tˇr´ıd jazyka Visual C++

pro programov´an´ı ve Windows

MIPS – Millions of Instructions Per Second, milion ˚u instrukc´ı za vteˇrinu, m´ıra v ´ykonu procesor ˚u

(14)

NRZ – Non-Return-to-Zero, metoda k ´odov´an´ı bitu PC – Personal Computer, osobn´ı poˇc´ıtaˇc

PCI – Peripheral Component Interconnect, sbˇernice pouˇz´ıvan´a pro pˇripojen´ı perif´eri´ı k z´akladn´ı desce PC

RISC – Reduced Instruction Set Computer, architektura procesor ˚u s re- dukovanou instrukˇcn´ı sadou

SAE – Society of Automotive Engineers, sdruˇzen´ı automobilov ´ych inˇzen ´yr ˚u

SDS – Smart Distributed System, aplikaˇcn´ı vrstva CAN protokolu SMD – Surface Mount Device, souˇc´astka umoˇz ˇnuj´ıc´ı povrchovou

mont´aˇz

SPI – Serial Peripheral Interface, s´eriov´e komunikaˇcn´ı rozhran´ı SRAM – Static Ramdom Access Memory, statick´a pamˇet’ s n´ahodn ´ym

pˇr´ıstupem

TTL – Transistor-Transistor Logic, tranzistorovˇe tranzistorov´a logika, 0 – 5 V

UART – Universal Asynchronous Receiver-Transmitter, univerz´aln´ı asyn- chronn´ı vys´ılaˇc/pˇrij´ımaˇc

USB – Universal Serial Bus, univerz´aln´ı s´eriov´a sbˇernice

(15)

UVOD ´

Pr ˚umyslov´a sbˇernice CAN (Controller Area Network) je s´eriovou datovou sbˇernic´ı, kter´a byla p ˚uvodnˇe vyvinuta pro komunikaci a pˇrenos dat mezi ˇr´ıd´ıc´ımi syst´emy v osobn´ıch a n´akladn´ıch automobilech. Jedn´a se o diferenci´aln´ı sbˇernici, kter´a byla navrˇzena s d ˚urazem na maxim´aln´ı zabezpeˇcen´ı pˇren´aˇsen´e informace a spl ˇnuje nejvyˇsˇs´ı n´aroky kladen´e na pˇrenos dat v ˇcasovˇe kritick ´ych aplikac´ıch. K jej´ım pˇrednostem tedy patˇr´ı pˇredevˇs´ım spolehlivost, vysok´a pˇrenosov´a rychlost (aˇz 1 Mbit/s), snadn´a imple- mentace a v neposledn´ı ˇradˇe vynikaj´ıc´ı pomˇer cena/v ´ykon. D´ıky tˇemto vlastnostem naˇsla CAN sbˇernice vyuˇzit´ı i v dalˇs´ıch pr ˚umyslov ´ych odvˇetv´ıch a tˇeˇs´ı se ˇsirok´e oblibˇe jak mezi uˇzivateli tak mezi v ´yrobci. V souˇcasnosti m´a CAN sbˇernice dominantn´ı postaven´ı mezi sbˇernicemi urˇcen ´ymi pro nasazen´ı v automobilech a vyuˇz´ıv´a ji rovnˇeˇz st´ale v´ıce v ´yrobc ˚u ˇr´ıd´ıc´ıch syst´em ˚u, senzor ˚u, akˇcn´ıch ˇclen ˚u a automatizaˇcn´ı techniky obecnˇe.

Komunikace na CAN sbˇernici prob´ıh´a prostˇrednictv´ım zpr´av. Zaˇr´ızen´ı, kter´a umoˇz ˇnuj´ı tyto zpr´avy pˇrij´ımat i odes´ılat a n´aslednˇe komunikaci na sbˇernici analyzovat dle poˇzadavk ˚u uˇzivatele, se naz ´yvaj´ı analyz´atory CAN sbˇernice. Zpravidla se skl´adaj´ı z elektronick´eho zaˇr´ızen´ı, kter´e zprostˇredkov´av´a komunikaci mezi CAN sbˇernic´ı a PC, a z uˇzivatelsk´eho rozhran´ı pro PC, kter´e slouˇz´ı k ovl´ad´an´ı zaˇr´ızen´ı, k zobrazen´ı pˇrijat ´ych CAN zpr´av a umoˇz ˇnuje nad nimi prov´adˇet zm´ınˇen´e anal ´yzy.

Tˇechto analyz´ator ˚u existuje cel´a ˇrada, od velk ´ych zaˇr´ızen´ı pˇripojen ´ych k osobn´ım poˇc´ıtaˇc ˚um pˇres PCI karty aˇz po PCMCIA karty do notebook ˚u. Vˇsechna tato ˇreˇsen´ı vˇsak maj´ı nˇekolik nev ´yhod. Pˇredevˇs´ım jsou ˇspatnˇe pˇrenositeln´a, ˇcasto vyˇzaduj´ı extern´ı zdroj nap´ajen´ı a nelze je rozˇsiˇrovat o dalˇs´ı funkˇcn´ı celky.

C´ılem t´eto diplomov´e pr´ace bylo navrhnout a realizovat analyz´ator CAN sbˇernice, kter ´y nebude trpˇet zm´ınˇen ´ymi nedostatky, bude vˇsestrannˇe nen´aroˇcn ´y, a to jak na ob- sluhu, tak na rozmˇery a spotˇrebu. Bude urˇcen pro standard fyzick´e vrstvy High Speed CAN a bude podporovat standardy CAN protokolu CAN 2.0A a CAN 2.0B.

Pr´ace je ˇclenˇena do tˇrech ˇc´ast´ı. V teoretick´e ˇc´asti jsou pops´any z´akladn´ı vlastnosti CAN sbˇernice, jej´ı fyzick´e a linkov´e vrstvy. Hardwarov´a ˇc´ast se zab ´yv´a elektronick ´ym zaˇr´ızen´ım a softwarov´a ˇc´ast popisuje realizaci firmwaru a uˇzivatelsk´eho rozhran´ı pro

(16)

PC. Kaˇzd´a z tˇechto ˇc´ast´ı obsahuje teoretick ´y ´uvod, ve kter´em jsou vysvˇetleny z´akladn´ı probl´emy, principy, poˇzadavky a ´uvahy.

(17)

1 CAN PROTOKOL

V t´eto ˇc´asti jsou pops´any z´akladn´ı vlastnosti a funkce CAN protokolu na z´akladˇe specifi- kac´ı CAN 2.0A [1] a CAN 2.0B [2]. Rovnˇeˇz je zde struˇcnˇe zm´ınˇena jeho historie, pˇrednosti a nejˇcastˇejˇs´ı vyuˇzit´ı v praxi. Bl´ıˇze je vysvˇetlena fyzick´a a linkov´a vrstva protokolu, po- doba pˇrenosov ´ych r´amc ˚u a syst´em zabezpeˇcen´ı proti chyb´am.

1.1 Uvod´

S´eriov ´y komunikaˇcn´ı protokol CAN (Controller Area Network) byl p ˚uvodnˇe vyvinut zaˇc´atkem osmdes´at ´ych let firmou Bosch pro ˇr´ıd´ıc´ı syst´emy v osobn´ıch a n´akladn´ıch auto- mobilech. Byl navrˇzen s maxim´aln´ım d ˚urazem na zabezpeˇcen´ı pˇren´aˇsen´e informace proti chyb´am a mˇel spl ˇnovat nejvyˇsˇs´ı n´aroky kladen´e na pˇrenos dat v ˇcasovˇe kritick ´ych apli- kac´ıch. Ofici´alnˇe byl CAN protokol pˇredstaven roku 1986 a brzy se d´ıky sv ´ym dobr ´ym vlastnostem rozˇs´ıˇril do dalˇs´ıch pr ˚umyslov ´ych odvˇetv´ı.

Roku 1992 byla zaloˇzena mezin´arodn´ı neziskov´a organizace uˇzivatel ˚u a v ´yrobc ˚u CiA (CAN in Automatization) [3] s c´ılem poskytovat technick´e a marketingov´e informace a pˇredevˇs´ım zajistit budouc´ı v ´yvoj a standardizaci CAN protokolu. Ten byl standardi- zov´an v roce 1993 mezin´arodn´ı normou ISO 11898-1 a zahrnuje fyzickou a linkovou vrstvu protokolu dle referenˇcn´ıho modelu ISO/OSI1. Jednalo se o specifikaci CAN 2.0A, kter´a byla pozdˇeji rozˇs´ıˇrena na specifikaci CAN 2.0B. CiA rovnˇeˇz roku 1995 definovala dnes hojnˇe vyuˇz´ıvan ´y standard CANopen, jako nadstavbu protokolu aplikaˇcn´ı vrstvy CAL (CAN Application Layer) a podporuje i dalˇs´ı ˇctyˇri vz´ajemnˇe nekompatibiln´ı stan- dardy aplikaˇcn´ı vrstvy: CANKingdom, DeviceNet a SDS (Smart Distributed System). Vedle tˇechto standard ˚u existuje i ˇrada ˇcistˇe firemn´ıch n´avrh ˚u protokol ˚u vyˇsˇs´ıch vrstev neboli HLP (High Layer Protocols).

K nejd ˚uleˇzitˇejˇs´ım praktick ´ym pˇrednostem CAN sbˇernice patˇr´ı pˇredevˇs´ım vynikaj´ıc´ı pomˇer cena/v ´ykon, spolehlivost, vysok´a pˇrenosov´a rychlost, snadn´a implementace a rozˇsiˇritelnost, flexibilita pˇrenosov ´ych rychlost´ı a dosahu, jednoduch´a diagnostika ko- munikace v s´ıti a standardyzace vyˇsˇs´ıch vrstev dle referenˇcn´ıho modelu ISO/OSI.

1ISO/OSI (International Standard Organization’s Open System Interconnect) definuje sedmivrstv ´y komu- nikaˇcn´ı model pro s´ıt’ov´e protokoly a distribuovan´e aplikace (ISO 7498).

(18)

Postupem ˇcasu si CAN sbˇernice z´ıskala dominantn´ı postaven´ı mezi sbˇernicemi urˇcen ´ymi pro nasazen´ı v automobilech (ˇrada dalˇs´ıch takov ´ych sbˇernic napˇr. VAN ˇci ABUS proto zanikla) a v souˇcasnosti je vyuˇz´ıv´ana pˇredn´ımi v ´yrobci automobil ˚u (kon- cerny Volkswagen, General Motors atd.) jako sbˇernice pro ˇr´ızen´ı a sbˇer dat v motorov´e a komfortn´ı ˇc´asti automobilu. Vyuˇz´ıv´a ji rovnˇeˇz st´ale v´ıce v ´yrobc ˚u ˇr´ıd´ıc´ıch syst´em ˚u, senzor ˚u a akˇcn´ıch ˇclen ˚u. Dalˇs´ımi oblastmi jej´ıho vyuˇzit´ı jsou obecnˇe: ˇr´ızen´ı vzd´alen ´ych zaˇr´ızen´ı, pˇred´av´an´ı informac´ı v technologi´ıch, pr ˚umyslov´e informaˇcn´ı syst´emy, syst´emy inteligentn´ıch budov atd.

Integrovan´e ˇradiˇce CAN sbˇernice a budiˇce podporuj´ıc´ı r ˚uzn´e fyzick´e vrstvy a pˇrenosov´a m´edia jsou dnes bˇeˇznou souˇc´ast´ı sortimentu pˇredn´ıch svˇetov ´ych v ´yrobc ˚u polovodiˇcov´e techniky (Intel, Texas, Motorola, Atmel atd.).

CAN protokol je v souˇcasnosti jedn´ım z nej ´uspˇeˇsnˇejˇs´ıch s´ıt’ov ´ych protokol ˚u v ˚ubec a je ide´aln´ım prostˇredkem pro komunikaci v syst´emech re´aln´eho ˇcasu a v ˇcasovˇe kritick ´ych aplikac´ıch obecnˇe.

1.2 Z ´akladn´ı vlastnosti

CAN protokol je protokol typu multi-master, kde kaˇzd ´y uzel s´ıtˇe m ˚uˇze b ´yt ˇr´ıd´ıc´ı (master) a ˇr´ıdit chov´an´ı jin ´ych uzl ˚u. Nen´ı tak tˇreba ˇz´adn´eho centr´aln´ıho ˇr´ızen´ı nadˇrazen ´ym uzlem a zjednoduˇs´ı se ˇr´ızen´ı cel´e s´ıtˇe. Pˇrednost´ı tohoto ˇreˇsen´ı je i vyˇsˇs´ı spolehlivost, protoˇze v ´ypadek nˇekter´eho z uzl ˚u nezp ˚usob´ı v ´ypadek cel´e s´ıtˇe.

Komunikace mezi uzly prob´ıh´a prostˇrednictv´ım zpr´av (tzv. pˇrenosov ´ych r´amc ˚u, viz kap. 1.5, str. 29) a kolize mezi nimi jsou ˇreˇseny na z´akladˇe prioritn´ıho syst´emu (tzv. ar- bitr´aˇze, viz kap. 1.4.1, str. 27), kdy je pˇrenesena vˇzdy zpr´ava s nejvyˇsˇs´ı prioritou. Zpr´avy nejsou urˇceny konkr´etn´ımu pˇr´ıjemci a jsou tak pˇrij´ım´any vˇsemy aktivn´ımi uzly v s´ıti.

Vrstvov ´y model komunikace na CAN sbˇernici dle CiA z pohledu referenˇcn´ıho mo- delu ISO/OSI je uk´az´an na obr´azku 1. Jednotliv´e vrstvy komunikuj´ı vˇzdy pouze se sou- sedn´ımi vrstvami a lze je ve struˇcnosti popsat takto:

Vrstva 8 – Uˇzivatelsk´e aplikace(User Applications)1

Tato vrstva zahrnuje aplikace koncov ´ych uˇzivatel ˚u CAN sbˇernice.

1Tato vrstva nen´ı v referenˇcn´ım modelu ISO/OSI definov´ana.

(19)

Obr´azek 1: Vrstvov ´y model komunikace na CAN sbˇernici dle CiA

(20)

Vrstva 7 – Aplikaˇcn´ı vrstva(Application Layer)

Pro tuto vrstvu CiA definuje vz´ajemnˇe nekompatibiln´ı protokoly CAL/CANopen, DeviceNet, CANKingdom a SDS (Smart Distributed System) a tato pr´ace se jimi ne- zab ´yv´a.

Vrstva 6 – Prezentaˇcn´ı vrstva(Presentation Layer) Nen´ı definov´ana.

Vrstva 5 – Relaˇcn´ı vrstva(Session Layer)

Pro tuto vrstvu CiA pomˇernˇe novˇe definuje protokol TTCAN (Time-triggered CAN, ISO 11898-4, rok 2000), kter ´y je urˇcen speci´alnˇe pro syst´emy ˇr´ızen´ı v re´aln´em ˇcase a tato pr´ace se j´ım tak´e nezab ´yv´a.

Vrstva 4 – Transportn´ı vrstva(Transport Layer) Nen´ı definov´ana.

Vrstva 3 – S´ıt’ov´a vrstva(Network Layer) Nen´ı definov´ana.

Vrstva 2 – Linkov´a (spojov´a) vrstva(Data Link Layer)

Tato vrstva je pops´ana samostatnou kapitolou 1.4, str. 27.

Vrstva 1 – Fyzick´a vrstva(Physical Layer)

Z pohledu referenˇcn´ıho modelu ISO/OSI se tato vrstva skl´ad´a ze dvou podvrs- tev. Horn´ı podvrstva je dle CAN protokolu naz ´yv´ana fyzickou vrstvou, jej´ı spe- cifikace je souˇc´ast´ı normy ISO 11898-1, a je pops´ana samostatnou kapitolou 1.3, str. 20. Doln´ı podvrstvou jsou standardy fyzick ´ych vrstev, kter´e jsou specifikov´any vlastn´ımi normami. O tˇechto standartech pojedn´av´a kapitola 1.3.6, str. 24.

Vrstva 0 – Pˇrenosov´e m´edium(Transmission Medium)1

Fyzick´e m´edium tvoˇr´ıc´ı sbˇernici. Bl´ıˇze o poˇzadavc´ıch na pˇrenosov´e m´edium po- jedn´av´a kapitola 1.3.5, str. 23.

1Tato vrstva nen´ı v referenˇcn´ım modelu ISO/OSI definov´ana.

(21)

1.3 Fyzick ´a vrstva

Fyzick´a vrstva (Physical Layer) CAN protokolu definuje vlastn´ı rozhran´ı k pˇrenosov´emu m´ediu a odliˇsuje se tak od referenˇcn´ıho modelu ISO/OSI, kde je pˇrenosov´e m´edium a jeho detailn´ı elektrick ´y a fyzik´aln´ı popis souˇc´ast´ı definice fyzick´e vrstvy. Je tak po- nech´ana jist´a volnost pˇri implementaci a moˇznost pˇrizp ˚usoben´ı se potˇreb´am konkr´etn´ı aplikace.

1.3.1 Vys´ıla ˇc a pˇrij´ıma ˇc

Vys´ılaˇc je definov´an jako zaˇr´ızen´ı (uzel v s´ıti) vys´ılaj´ıc´ı zpr´avy dan´eho form´atu a pˇrij´ımaˇc je definov´an jako zaˇr´ızen´ı schopn´e tyto zpr´avy pˇrij´ımat.

1.3.2 Logick ´e ´urovn ˇe

Logick´e ´urovnˇe pˇren´aˇsen´eho sign´alu jsou reprezentov´any recesivn´ı (recessive, r, log. 1) a dominantn´ı (dominant, d, log. 0) ´urovn´ı. Tyto ´urovnˇe jsou vz´ajemnˇe komplement´arn´ı a pˇri jejich souˇcasn´em v ´yskytu mus´ı na sbˇernici pˇrev´aˇzit dominantn´ı ´urove ˇn. Pˇrenosov´e m´edium tak vlastnˇe realizuje funkci logick´eho souˇcinu, viz tab. 1.

U1 U2 S

r r r

d r d

r d d

d d d

Tabulka 1: Logick ´y souˇcin nad recesivn´ı a dominantn´ı ´urovn´ı

Pokud vˇsechny vys´ılaˇce vys´ılaj´ı recesivn´ı ´urove ˇn, pak je logick´a ´urove ˇn na sbˇernici recesivn´ı. Pokud vys´ıl´a alespo ˇn jeden vys´ılaˇc dominantn´ı ´urove ˇn, je logick´a ´urove ˇn na sbˇernici rovnˇeˇz dominantn´ı. Tato vlastnost je kl´ıˇcov´a pˇredevˇs´ım pro prioritn´ı syst´em doruˇcov´an´ı zpr´av (tzv. arbitr´aˇz, viz kap. 1.4.1, str. 27).

Skuteˇcn´a fyzick´a reprezentace logick ´ych ´urovn´ı z´avis´ı na konkr´etn´ı realizaci fyzick´e vrstvy (viz kap. 1.3.6, str. 24).

(22)

1.3.3 K ´odov ´an´ı bitu

Pro k ´odov´an´ı bitu (Bit Encoding) je pouˇzita metoda NRZ (Non-Return-to-Zero), pˇri kter´e z ˚ust´av´a fyzick´a ´urove ˇn sign´alu po celou dobu pˇrenosu bitu konstantn´ı. Porovn´an´ı t´eto metody s metodou Manchester, viz obr´azek 2.

Obr´azek 2: Porovn´an´ı metod pro k ´odov´an´ı bitu – NRZ a Manchester

Pˇri pouˇzit´ı tohoto k ´odov´an´ı m ˚uˇze nastat neˇz´adouc´ı situace, kdy je na sbˇernici delˇs´ı dobu konstatn´ı ´urove ˇn sign´alu (pˇri sekvenci bit ˚u shodn´e hodnoty). Tento probl´em je ˇreˇsen na ´urovni linkov´e vrstvy a o tomto ˇreˇsen´ı pojedn´av´a kapitola 1.4.2, str. 28.

1.3.4 Casov ´an´ı bitu a synchronizaceˇ

Pˇrenos jednotliv ´ych bit ˚u v r´amci je s´eriov ´y synchronn´ı a je tedy tˇreba sofistikovanˇejˇs´ıch metod synchronizace vys´ılaˇce/pˇrij´ımaˇc ˚u.

Pˇren´aˇsen´e bity n´asleduj´ı bezprostˇrednˇe za sebou a doba potˇrebn´a pro pˇrenos jed- noho bitu je pˇresnˇe definov´ana tzv. dobou bitu. Tato doba je d´ana pˇrevr´acenou hodnotou pˇrenosov´e rychlosti sbˇernice a je rozdˇelena na ˇctyˇri segmenty, viz obr´azek 3.

Synchronization Segment (SYNC SEG)

Slouˇz´ı k synchronizaci vys´ılaˇce/pˇrij´ımaˇc ˚u. Pokud mˇel pˇredchoz´ı vyslan ´y bit ji- nou logickou hodnotu neˇz pr´avˇe vys´ılan ´y, pak se v tomto segmentu zmˇen´ı lo- gick´a ´urove ˇn na sbˇernici a vznikl´a hrana sign´alu slouˇz´ı k synchronizaci. D´ale jsou rozliˇsov´any dva typy synchronizace:

(23)

Obr´azek 3: ˇCasov´an´ı bitu

• Hard Synchronization – nastane na zaˇc´atku r´amce, pˇri recessive-to-dominant hranˇe bitu SOF(viz kap. 1.5.1, str. 29), kdy je restartov´ana doba bitu.

• Resynchronization – nastane uvnitˇr r´amce, pokud hrana recessive-to-dominant ne- probˇehne uvnitˇr SYNC SEG segmentu. Pak je prodlouˇzen PHASE SEG1 segment (Bit Lengthening) ˇci zkr´acen PHASE SEG2 segment (Bit Shortening) dan´eho bitu, ˇc´ımˇz se posune bod vzorkov´an´ı. Kompenzuje se tak napˇr´ıklad rozd´ıln´a frekvence oscil´atoru vys´ılaˇce a pˇrij´ımaˇce.

Propagation Time Segment (PROP SEG)

Slouˇz´ı ke kompenzaci doby ˇs´ıˇren´ı sign´alu sbˇernic´ı (od vys´ılaˇce k pˇrij´ımaˇc´ı a zpˇet), ˇcasov´eho zpoˇzdˇen´ı pˇrij´ımac´ıch a vys´ılac´ıch obvod ˚u a doby potˇrebn´e k interpre- taci analogov´e ´urovnˇe na sbˇernici jako logick´e hodnoty bitu (Information Processing Time).

Phase Buffer Segment 1 (PHASE SEG1)

Slouˇz´ı ke kompenzaci z´akmit ˚u sign´alu na sbˇernici a m ˚uˇze b ´yt prodlouˇzen pˇri re- synchronizaci (viz v ´yˇse).

Sample Point (Bod vzorkov´an´ı)

Urˇcuje okamˇzik v ˇcase, kdy je vzorkov´ana analogov´a ´urove ˇn na sbˇernici a interpre- tov´ana jako logick´a hodnota bitu.

Phase Buffer Segment 2 (PHASE SEG2)

Slouˇz´ı ke kompenzaci z´akmit ˚u sign´alu na sbˇernici a m ˚uˇze b ´yt zkr´acen pˇri resyn- chronizaci (viz v ´yˇse).

(24)

Jednotliv´e segmenty jsou sloˇzeny z celoˇc´ıseln ´ych n´asobk ˚u tzv. ˇcasov´eho kvanta (Time Quantum, TQ), kter´e reprezentuje nejmenˇs´ı diskr´etn´ı jednotku ˇcasu, kterou jsou schopny vys´ılaˇce/pˇrij´ımaˇce rozliˇsit. Odvozuje se z frekvence jejich oscil´atoru, jakoˇzto celoˇc´ıseln ´y n´asobek jeho takt ˚u. Pro kaˇzd ´y segment je specifikov´an interval poˇctu ˇcasov ´ych kvant, ze kter ´ych se m ˚uˇze skl´adat, viz tabulka 2.

Segment TQ

SYNC SEG 1

PROP SEG 1..8 PHASE SEG1 1..8 PHASE SEG2 0..2

Tabulka 2: Poˇcet ˇcasov ´ych kvant pro jednotliv´e segmenty bitu

Celkov´a doba potˇrebn´a pro pˇrenos jednoho bitu (doba bitu) se m ˚uˇze pohybovat v intervalu od 8 do 25 TQ. To umoˇz ˇnuje velmi flexibiln´ı nastaven´ı pˇrenosov´e rych- losti sbˇernice v z´avislosti na fyzik´aln´ıch vlastnostech pˇrenosov´eho m´edia, d´elky veden´ı a vlastnostech pˇrij´ımac´ıch a vys´ılac´ıch obvod ˚u.

1.3.5 Pˇrenosov ´e m ´edium

Pˇrenosov´e m´edium mus´ı pˇredevˇs´ım vhodn ´ym zp ˚usobem fyzicky reprezentovat rece- sivn´ı a dominantn´ı ´urove ˇn tak, aby nad nimi realizovalo funkci logick´eho souˇcinu (viz kap. 1.3.2, str. 20).

Prakticky lze toho m´edium realizovat mnoha zp ˚usoby, napˇr´ıklad kroucenou dvou- linkou (nest´ınˇenou/st´ınˇenou), jedn´ım vodiˇcem, optick ´ym vl´aknem, koaxi´aln´ım kabelem, r´adiov ´ymi ˇci infraˇcerven ´ymi vlnami atd.

Nejˇcastˇeji je vˇsak realizov´ano kroucenou dvoulinkou. Jedn´a se pak o diferenci´aln´ı sbˇernici tvoˇrenou dvˇema vodiˇci oznaˇcovan ´ymi CAN H a CAN L a logick´a ´urove ˇn na sbˇernici je definov´ana rozd´ılem jejich napˇet´ı. Tyto vodiˇce mus´ı b ´yt na obou konc´ıch spo- jeny ukonˇcovac´ımi rezistory, kter´e pˇredstavuj´ı hodnotu charakteristick´e impedance ve- den´ı a zamezuj´ı vzniku odraz ˚u, viz obr´azek 4.

V pˇripadˇe optick´eho vl´akna je dominantn´ı ´urove ˇn reprezentov´ana stavem

”sv´ıt´ı“ a re- cesivn´ı ´urove ˇn stavem

”nesv´ıt´ı“.

(25)

Obr´azek 4: Typick´a struktura CAN sbˇernice

1.3.6 Standardy fyzick ´ych vrstev

Standardy fyzick ´ych vrstev vˇzdy obsahuj´ı (v souladu s normou ISO 8802-3) dvˇe pod- vrstvy: MAU1a MDI2a v souˇcasn´e dobˇe existuje mnoho tˇechto standard ˚u. Definuj´ı elek- trick´e a fyzik´aln´ı vlastnosti pˇrenosov ´ych m´edi´ı, vys´ılaˇc ˚u/pˇrij´ımaˇc ˚u a pˇredevˇs´ım definuj´ı fyzickou reprezentaci recesivn´ı a dominantn´ı logick´e ´urovnˇe (viz kap. 1.3.2, str. 20).

K nejˇcastˇeji vyuˇz´ıvan ´ym standard ˚um fyzick ´ych vrstev patˇr´ı tyto:

High Speed CAN

Tento standard (vysokorychlostn´ı CAN) je pops´an normou ISO 11898-2 a je nejv´ıce vyuˇz´ıvan ´ym standardem fyzick´e vrstvy. Typick ´ym pˇr´ıkladem vyuˇzit´ı je napˇr´ıklad tzv. motorov ´y CAN, kter ´y slouˇz´ı v automobilech k propojen´ı ˇr´ıd´ıc´ı jednotky s ABS, ASR, airbagy apod.

Jako pˇrenosov´e m´edium slouˇz´ı dvouvodiˇcov´a diferenci´aln´ı sbˇernice na obou konc´ıch zakonˇcen´a rezistory s nomin´aln´ı hodnotou 124 Ω, s charakteristickou im- pedanc´ı veden´ı 120 Ω a odporem max. 70 mΩ/m. Pˇrenosov´a rychlost t´eto sbˇernice je pak 1 Mbit/s pˇri d´elce veden´ı max. 40 metr ˚u. V t´eto konfiguraci m ˚uˇze b ´yt ke sbˇernici pˇripojeno maxim´alnˇe 32 uzl ˚u v z´avislosti na jej´ım zat´ıˇzen´ı. Pˇri pˇrenosov´e rychlosti sbˇernice 50 kbps m ˚uˇze b ´yt d´elka veden´ı aˇz 1 km. Recesivn´ı a dominantn´ı logick´a ´urove ˇn je definov´ana rozd´ılem napˇet´ı obou vodiˇc ˚u, viz tabulka 3.

1MAU (Medium Access Unit) – jednotka pˇr´ıstupu k m´ediu.

2MDI (Medium Dependent Interface) – rozhran´ı z´avisl´e na m´ediu.

(26)

UCAN H − UCAN L

r <0,5 V

d >0,9 V

Tabulka 3: Fyzick´a reprezentace logick ´ych ´urovn´ı standardem High Speed CAN

Nomin´aln´ı hodnoty potenci´al ˚u vodiˇc ˚u pro dominantn´ı ´urove ˇn jsou: UCAN H = 3,5 V, UCAN L= 1,5 V, viz obr´azek 5.

Obr´azek 5: High Speed CAN

Fault-tolerant CAN

Tento standard fyzick´e vrstvy (p ˚uvodnˇe Low Speed CAN, n´ızkorychlostn´ı CAN) je pops´an normou ISO 11898-3 a typick ´ym pˇr´ıkladem vyuˇzit´ı je napˇr´ıklad tzv. kom- fortn´ı CAN, kter ´y slouˇz´ı v automobilech k ovl´ad´an´ı oken, zrc´atek, osvˇetlen´ı in- teri´eru apod.

Jako pˇrenosov´e m´edium rovnˇeˇz slouˇz´ı dvouvodiˇcov´a diferenci´aln´ı sbˇernice. No- min´aln´ı hodnota zakonˇcovac´ıch rezistor ˚u je vˇsak 100 Ω. Pˇrenosov´a rychlost t´eto sbˇernice je 125 kbit/s pˇri d´elce veden´ı max. 40 metr ˚u. V t´eto konfiguraci m ˚uˇze b ´yt ke sbˇernici pˇripojeno maxim´alnˇe 32 uzl ˚u v z´avislosti za jej´ım zat´ıˇzen´ı. Recesivn´ı a dominantn´ı logick´a ´urove ˇn je definov´ana rozd´ılem napˇet´ı obou vodiˇc ˚u, viz ta- bulka 4.

UCAN H − UCAN L

r <0 V

d >0 V

Tabulka 4: Fyzick´a reprezentace logick ´ych ´urovn´ı standardem Fault-tolerant CAN

(27)

Potenci´aly vodiˇc ˚u UCAN H a UCAN L se mohou pohybovat v rozmez´ı -2 V aˇz 7 V, viz obr´azek 6.

Obr´azek 6: Faul-tolerant CAN

Hlavn´ı pˇrednost´ı t´eto vrstvy je schopnost pˇrenosu sign´alu i v pˇr´ıpadˇe zkratu ˇci pˇreruˇsen´ı jednoho z vodiˇc ˚u CAN H nebo CAN L. Napˇet’ov´a ´urove ˇn je pak vztaˇzena k zemi (kostˇre).

Single Wire CAN

Tento standard fyzick´e vrstvy (jednovodiˇcov ´y CAN) je pops´an normou SAE J24111 a je urˇcen pro aplikace s n´ızk ´ymi poˇzadavky na pˇrenosou rychlost sbˇernice a d´elku veden´ı.

Jako pˇrenosov´e m´edium slouˇz´ı jednovodiˇcov´a sbˇernice s maxim´aln´ı pˇrenosovou rychlost´ı 33,3 kbib/s. Typick ´ym pˇr´ıkladem vyuˇzit´ı je napˇr´ıklad tzv. Infotainment CAN, kter ´y slouˇz´ı v automobilech pro komunikaci zaˇr´ızen´ı typu r´adio nebo GPS navigace s palubn´ı deskou ˇridiˇce.

Point-to-point CAN

Tento standard fyzick´e vrstvy (dvoubodov ´y CAN) je pops´an normou ISO 11992 a vych´az´ı z p ˚uvodn´ıho standardu Low Speed CAN (viz v ´yˇse). Je vˇsak urˇcen speci´alnˇe pro komunikaci n´akladn´ıch automobil ˚u a jejich pˇr´ıvˇes ˚u. Pro vozy s jedn´ım pˇr´ıvˇesem je definov´ano dvoubodov´e (point-to-point) propojen´ı, pro vozy s v´ıce pˇr´ıvˇesy tzv. ˇretˇezov´e (daisy-chain) propojen´ı.

Jako pˇrenosov´e m´edium slouˇz´ı nest´ınˇen´a kroucen´a dvoulinka, tedy opˇet dife- renci´aln´ı sbˇernice. Jej´ı pˇrenosov´a rychlost je 125 kbit/s pˇri maxim´aln´ı d´elce veden´ı 40 metr ˚u.

1SAE (Society of Automotive Engineers).

(28)

1.4 Linkov ´a vrstva

Datov´a linkov´a (spojov´a) vrstva (Data Link Layer) je sloˇzena (v souladu s normou ISO 8802-2) ze dvou podvrstev:

LLC(Logical Link Control)

Pracuje nad pˇrenosov ´ymi r´amci. Zajiˇst’uje jejich filtrov´an´ı (Acceptance Filtering) a hl´aˇsen´ı o pˇret´ıˇzen´ıch (Overload Notification).

MAC(Medium Access Control)

Spravuje samotn´e r´amce. Zapouzdˇruje do nich data, zajiˇst’uje jejich k ´odov´an´ı, de- tekci a signalizaci chyb. D´ale ˇr´ıd´ı pˇr´ıstup k pˇrenosov´emu m´ediu na z´akladˇe prio- ritn´ıho syst´emu doruˇcov´an´ı zpr´av a potvrzuje jejich pˇrijet´ı.

1.4.1 Arbitr ´aˇzn´ı mechanismus

Arbitr´aˇz (Arbitration) je proces ˇr´ızen´ı pˇr´ıstupu k pˇrenosov´emu m´ediu. Pokud je sbˇernice v klidov´em stavu (Bus Free), tj. neprob´ıh´a-li na n´ı ˇz´adn´a komunikace, m ˚uˇze kter ´ykoliv z vys´ılaˇc ˚u zah´ajit vys´ıl´an´ı. Pokud se o to pokus´ı v´ıce vys´ılaˇc ˚u z´arove ˇn, je tento konflikt ˇreˇsen pomoc´ı arbitr´aˇze nad polem Arbitration Field pˇren´aˇsen´e zpr´avy (viz kap. 1.5.1, str.

29).

Pro tento proces je zcela kl´ıˇcov´a vhodn´a volba fyzick´e reprezentace logick ´ych ´urovn´ı sign´alu (viz kap. 1.3.2, str. 20), kdy pˇri souˇcasn´em v ´yskytu recesivn´ı a dominantn´ı ´urovnˇe mus´ı pˇrev´aˇzit dominantn´ı ´urove ˇn.

Kaˇzd ´y vys´ılaˇc

”soutˇeˇz´ıc´ı“ o pˇr´ıstup k pˇrenosov´emu m´ediu z´arove ˇn s vys´ıl´an´ım odpo- slouch´av´a skuteˇcnou logickou ´urove ˇn na sbˇernici. Pokud se tato liˇs´ı od vys´ılan´e ´urovnˇe, znamen´a to, ˇze vys´ılaˇc v t´eto

”soutˇeˇzi“ neuspˇel a st´av´a se pˇrij´ımaˇcem. Takto vys´ılaˇce

”soutˇeˇz´ı“ o svou pozici vys´ılaˇce v s´ıti.

Modelov´a situace je zobrazena na obr´azku 7, kde

”soutˇeˇz´ı“ vys´ılaˇce (uzly) A a B o pˇrenosov´e m´edium. V okamˇziku vys´ıl´an´ı bitu ID3 nesouhlas´ı logick´a ´urove ˇn na sbˇernici s ´urovn´ı vys´ılanou vys´ılaˇcem A. T´ım tento vys´ılaˇc neuspˇel v

”soutˇeˇzi“ o pˇr´ıstup k m´ediu, st´av´a se pˇrij´ımaˇcem, a pokus´ı se data odeslat v nejbliˇzˇs´ım moˇzn´em okamˇziku, kdy bude sbˇernice v klidov´em stavu. Vys´ılaˇc B

”zv´ıtˇezil“, z´ıskal pˇr´ıstup k m´ediu a obh´ajil svou pozici vys´ılaˇce v s´ıti.

(29)

Obr´azek 7: Arbitr´aˇz – ˇr´ızen´ı pˇr´ıstupu k pˇrenosov´emu m´ediu

Proces arbitr´aˇze je vykon´av´an vˇzdy nad polem Arbitration Field pˇren´aˇsen´e zpr´avy, jehoˇz souˇc´ast´ı je identifik´ator (ID), a

”zv´ıtˇez´ı“ v nˇem vˇzdy vys´ılaˇc vys´ılaj´ıc´ı zpr´avu s niˇzˇs´ı hodnotou tohoto identifik´atoru. Zpr´avy s niˇzˇs´ı hodnotou identifik´atoru maj´ı tedy vyˇsˇs´ı prioritu neˇz zpr´avy s vyˇsˇs´ı hodnotou identifik´atoru. Proto je tak´e tento syst´em naz ´yv´an prioritn´ı syst´em doruˇcov´an´ı zpr´av.

1.4.2 K ´odov ´an´ı r ´amce

Jak jiˇz bylo zm´ınˇeno v kapilole 1.3.3, str. 21, pˇri pouˇzit´em k ´odov´an´ı bitu (NRZ) m ˚uˇze pˇri pˇrenosu zpr´av nastat situace, kdy je na sbˇernici delˇs´ı dobu konstatn´ı ´urove ˇn sign´alu (pˇri sekvenci bit ˚u shodn´e hodnoty). Aby nedoˇslo k pˇrekroˇcen´ı maxim´aln´ıho ˇcasov´eho inter- valu mezi dvˇema hranami sign´alu a byla zajiˇstˇena spr´avn´a synchronizace (viz kap. 1.3.4, str. 21), je vyuˇzito metody vkl´ad´an´ı bit ˚u (Bit Stuffing). Za kaˇzd ´ych pˇet bit ˚u shodn´e hod- noty je vys´ılaˇcem vloˇzen komplement´arn´ı bit (stuff-bit) hodnoty opaˇcn´e. Takto vloˇzen ´y bit je samozˇrejmˇe pˇrij´ımaˇcem odstranˇen (un-stuff ).

Tento princip se neuplat ˇnuje pouze na pole EOF pˇrenosov´eho r´amce (viz n´ıˇze), chy- bov ´y (viz str. 1.5.4, str. 32) a pˇretˇeˇzovac´ı (viz str. 1.5.5, str. 33) r´amec.

Pˇr´ıklad tohoto k ´odov´an´ı je uk´az´an na obr´azku 8.

(30)

Obr´azek 8: K ´odov´an´ı dat metodou Bit Stuffing

1.5 Pˇrenosov ´e r ´amce

Komunikace dle CAN protokolu prob´ıh´a prostˇrednictv´ım pˇresnˇe definovan ´ych zpr´av, tzv. pˇrenosov ´ych r´amc ˚u ˇci telegram ˚u. Tyto se liˇs´ı svou funkc´ı, zp ˚usobem pouˇzit´ı a struk- turou.

V souˇcasn´e dobˇe jsou definov´any dva form´aty pˇrenosov ´ych r´amc ˚u: standardn´ı (Stan- dard, dle specifikace CAN 2.0A) a rozˇs´ıˇren ´y (Extended, CAN 2.0B). Liˇs´ı se pouze d´elkou pole identifik´atoru (ID) pˇrenosov´eho r´amce a mohou b ´yt pouˇz´ıv´any souˇcasnˇe.

1.5.1 Obecn ´a struktura pˇrenosov ´eho r ´amce

Pˇrenosov ´y r´amec obou form´atu se obecnˇe skl´ad´a z nˇekolika ˇc´ast´ı, viz obr´azek 9 a 10.

Obr´azek 9: Obecn´a struktura standardn´ıho form´atu pˇrenosov´eho r´amce

Obr´azek 10: Obecn´a struktura rozˇs´ıˇren´eho form´atu pˇrenosov´eho r´amce

(31)

Start of Frame (SOF)

Dominantn´ı bit, jehoˇz hrana recessive-to-dominant slouˇz´ı k synchronizaci pˇrij´ımaˇc ˚u vzhledem k vys´ılaˇci (viz kap. 1.3.4, str. 21).

Arbitration Field

Nad t´ımto polem prob´ıh´a proces arbitr´aˇze (viz kapitola 1.4.1, str. 27).

• Identifier (ID) – pˇredstavuje jedineˇcn ´y 11 (CAN 2.0A) nebo 29 bitov ´y (CAN 2.0B) identifik´ator v r´amci cel´e s´ıtˇe. Niˇzˇs´ı hodnota znamen´a vyˇsˇs´ı prioritu. Sedm nejvyˇsˇs´ıch bit ˚u (ID10..ID4) nesm´ı nab ´yvat recesivn´ı ´urovnˇe.

• Remote Transmission Request (RTR) – identifikuje datov ´y a vzd´alen ´y r´amec. Pokud je bit recesivn´ı ´urovnˇe, jedn´a se o datov ´y r´amec, v opaˇcn´em pˇr´ıpadˇe se jedn´a o vzd´alen ´y r´amec. Pokud se pokus´ı dva vys´ılaˇce vyslat v jednom pˇr´ıpadˇe datov ´y a v druh´em vzd´alen ´y r´amec se stejn ´ym identifik´atorem (ID), uspˇeje v arbitr´aˇzn´ım mechanismu bitem RTR vys´ılaˇc vys´ılaj´ıc´ı vzd´alen ´y r´amec.

Control Field

• Identifier Extension (IDE) – identifikuje standardn´ı a rozˇs´ıˇren ´y r´amec. Pokud je bit dominantn´ı ´urovnˇe, jedn´a se o standardn´ı r´amec, v opaˇcn´em pˇr´ıpadˇe se jedn´a o rozˇs´ıˇren ´y r´amec.

• Substitute Remote Request (SRR) – bit recesivn´ı ´urovnˇe. T´ımto bitem je zajiˇstˇena vyˇsˇs´ı priorita standardn´ıch r´amc ˚u v ˚uˇci rozˇs´ıˇren ´ym r´amc ˚um, pokud je jejich prvn´ıch 11 bit ˚u pole Identifier Extension shodn ´ych.

• r1, r0 – nevyuˇzit´e bity, vyhrazeny pro budouc´ı pouˇzit´ı.

• Data Length Code (DLC) – tyto 4 bity (m ˚uˇze nab ´yvat hodnot 0 aˇz 7) urˇcuj´ı poˇcet bajt ˚u v poli Data Field, viz tabulka 5. U vzd´alen´eho r´amce je tato hodnota vzdy nulov´a.

Data Field

Obsahuje 0 aˇz 8 bajt ˚u pˇren´aˇsen ´ych dat. Jejich poˇcet je d´an hodnotou DLC a u vzd´alen´eho r´amce je toto pole pr´azdn´e.

CRC Field

• Cyclic Redundant Check (CRC) - zbytek po dˇelen´ı vˇsech pˇredch´azej´ıc´ıch ˇc´ast´ı r´amce polynomem x15+ x14+ x10 + x8 + x7+ x5+ x4+ x3 + 1. Tento kontroln´ı souˇcet s Hammingovou vzd´alenost´ı 6, zajiˇst’uje vysok´e zabezpeˇcen´ı pˇren´aˇsen ´ych dat.

(32)

DLC DLC3 DLC2 DLC1 DLC0

0 d d d d

1 d d d r

2 d d r d

3 d d r r

4 d r d d

5 d r d r

6 d r r d

7 d r r r

8 r d d d

Tabulka 5: Hodnoty DLC a jejich reprezentace logick ´ymi ´urovnˇemi

• CRC Delimiter - oddˇelovac´ı bit recesivn´ı ´urovnˇe. Zajiˇst’uje ˇcasovou prodlevu potˇrebnou pro v ´ypoˇcet a ovˇeˇren´ı CRC pˇrijat´e zpr´avy.

ACK Field

• Acknowledge (ACK) – bit recesivn´ı ´urovnˇe. Pokud jak ´ykoliv pˇrij´ımaˇc v s´ıti pˇrijal ode- slanou zpr´avu, zmˇen´ı bˇehem tohoto bitu logickou ´urove ˇn na sbˇernici na dominantn´ı.

Pokud se tak nestane, pokus´ı se vys´ılaˇc odestat zpr´avu znovu.

• ACK Delimiter – oddˇelovac´ı bit recesivn´ı ´urovnˇe.

End of Frame (EOF)

Ukonˇcen´ı r´amce sedmi bity recesivn´ı ´urovnˇe. Bˇehem vys´ıl´an´ı tˇechto bit ˚u m ˚uˇze kter ´ykoliv uzel, kter ´y zaznamenal chybu, vyslat chybov ´y r´amec (viz kap. 1.5.4, str.

32). Na toto pole se neuplat ˇnuje k ´odov´an´ı Bit Stuffing (viz kap. 1.4.2, str. 28).

1.5.2 Datov ´y r ´amec

Datov ´y r´amec (Data Frame) slouˇz´ı k pˇrenosu aˇz osmi bajt ˚u dat a svou strukturou pˇresnˇe odpov´ıd´a obecn´e struktuˇre pˇrenosov´eho r´amce (viz kap. 1.5.1, str. 29). ˇZ´adn´a data vˇsak pˇren´aˇset nemus´ı, napˇr´ıklad pˇri jednoduch ´ych pˇr´ıkazech pro zapnut´ı/vypnut´ı nˇejak´eho zaˇr´ızen´ı. Bit RTR v poli Arbitration Field je recesivn´ı ´urovnˇe.

(33)

1.5.3 Vzd ´alen ´y r ´amec

Vysl´an´ım vzd´alen´eho r´amce (Remote Frame) dan ´y vys´ılaˇc ˇz´ad´a o datov ´y r´amec se shodn ´ym identifik´atorem (ID) od kter´ekoliv jin´eho uzlu v s´ıti.

Jeho struktura odpov´ıd´a obecn´e struktuˇre pˇrenosov´eho r´amce (viz kap. 1.5.1, str. 29), avˇsak hodnota DLC je vˇzdy nulov´a a r´amec tedy neobsahuje ˇz´adn´a data v poli Data Field (ˇz´adn´a data nepˇren´aˇs´ı, pouze o nˇe ˇz´ad´a). Bit RTR v poli Arbitration Field je dominantn´ı

´urovnˇe.

1.5.4 Chybov ´y r ´amec

Chybov ´y r´amec (Error Frame) je vysl´an ihned jakmile kter ´ykoliv uzel s´ıtˇe detekuje nˇekterou z chyb popsan ´ych v kapitole 1.6, str. 34 a nen´ı k ´odov´an metodou Bit Stuffing (viz kap. 1.3.3, str. 21).

Tento r´amec se skl´ad´a ze dvou ˇc´ast´ı. Prvn´ı ˇc´ast vznik´a superpozic´ı tzv. chybov ´ych vlajek (Error Flag) a druhou tvoˇr´ı tzv. oddˇelovaˇc chybov´eho r´amce (Error Delimiter).

Error Flag

Aktivn´ı uzel v s´ıti se m ˚uˇze nach´azet v chybovˇe aktivn´ım (Error Active) ˇci chybovˇe pasivn´ım (Error Pasive) stavu. Mezi tˇemito stavy uzly pˇrech´az´ı na z´akladˇe stavu dvou vnitˇrn´ıch ˇc´ıtaˇc ˚u: Transmitter Error Counter (ˇc´ıtaˇc chyb vys´ılaˇce) a Receiver Error Counter (ˇc´ıtaˇc chyb pˇrij´ımaˇce). Hodnoty tˇechto ˇc´ıtaˇc ˚u jsou modifikov´any na z´akladˇe chyb detekovan ´ych pˇri pˇr´ıjmu nebo vys´ıl´an´ı pˇrenosov ´ych r´amc ˚u. Pokud uzel ge- neruje pˇr´ıliˇs mnoho chyb, je odpojen od sbˇernice (Bus Off ), a v ´ystupn´ı obvody jeho budiˇce pˇrejdou do stavu vysok´e impedance.

• Error Active - v pˇr´ıpadˇe detekce chyby na sbˇernici vys´ıl´a chybov ´y r´amec obsahuj´ıc´ı Error Flag tvoˇren ´y ˇsesti bity dominatn´ı ´urovnˇe. Pˇren´aˇsen´a zpr´ava je tak poˇskozena a ostatn´ı uzly v s´ıti zaˇcnou rovnˇeˇz vys´ılat chybov´e r´amce. Na sbˇernici tak superpozic´ı vznikne sekvence bit ˚u dominantn´ı ´urovnˇe, jej´ıˇz d´elka m ˚uˇze b ´yt 6 aˇz 12 bit ˚u.

• Error Pasive - v pˇr´ıpadˇe detekce chyby na sbˇernici vys´ıl´a chybov ´y r´amec obsahuj´ıc´ı Error Flag tvoˇren ´y ˇsesti bity recesivn´ı ´urovnˇe. Pokud n´aslednˇe detekuje ˇsest bit ˚u shodn´e ´urovnˇe je Passive Error Flag dokonˇcen.

(34)

Error Delimiter

Skl´ad´a se z osmi bit ˚u recesivn´ı ´urovnˇe a je vysl´an vˇzdy n´aslednˇe po Error Flag. Uzel pot´e ˇcek´a na zachycen´ı recesivn´ı ´urovnˇe na sbˇernici, tj. na ukonˇcen´ı chybov´eho r´amce. Pokud k detekci recesivn´ı ´urovnˇe nedojde, je znovu vysl´an Error Delimiter a cel ´y postup se opakuje, dokud nenastanou podm´ınky pro ukonˇcen´ı chybov´eho r´amce.

1.5.5 Pˇret ˇeˇzovac´ı r ´amec

Pˇretˇeˇzovac´ı r´amec (Overload Frame) je vysl´an v pˇr´ıpadˇe, ˇze to vyˇzaduje vnitˇrn´ı stav pˇrij´ımaˇce ˇci v pˇr´ıpadˇe, ˇze dojde k detekci bitu dominantn´ı ´urovnˇe v pr ˚ubˇehu pole In- termission, a tak´e nen´ı k ´odov´an metodou Bit Stuffing (viz kap. 1.3.3, str. 21).

Tento r´amec se skl´ad´a ze dvou ˇc´ast´ı tzv. pˇretˇeˇzovac´ı vlajky (Overload Flag) a oddˇelovaˇce pˇretˇeˇzovac´ıho r´amce (Overload Delimiter):

Overload Flag

Skl´ad´a se ze ˇsesti bit ˚u dominantn´ı ´urovnˇe, ˇc´ımˇz poruˇsuje konzistenci pole Intermis- sion. Pokud ostatn´ı aktivn´ı uzly detekuj´ı pˇretˇeˇzovac´ı r´amec, odpov´ı tak´e vysl´an´ım tohoto pole.

Overload Delimiter

Oddˇelovaˇc pˇretˇeˇzovac´ıho r´amce se skl´ad´a ze ˇsesti bit ˚u dominantn´ı ´urovnˇe a je vysl´an vˇzdy n´aslednˇe po Overload Flag. Uzel pot´e ˇcek´a na zachycen´ı recesivn´ı

´urovnˇe na sbˇernici, tj. na ukonˇcen´ı pˇretˇeˇzovac´ıho r´amce. Pokud k detekci rece- sivn´ı ´urovnˇe nedojde, je znovu vysl´an Overload Delimiter a cel ´y postup se opakuje, dokud nenastanou podm´ınky pro ukonˇcen´ı pˇretˇeˇzovac´ıho r´amce. Po splnˇen´ı tˇech podm´ınek je nav´ıc vysl´ano sedm recesivn´ıch bit ˚u.

1.5.6 Mezir ´amcov ´y odd ˇelova ˇc

Mezir´amcov ´y oddˇelovaˇc (Interframe Spacing) pˇredch´az´ı vysl´an´ı datov ´ych a vzd´alen ´ych r´amc ˚u. Obsahuje pole Intermission a Bus Idle. Pro chybovˇe pasivn´ı (Error Pasive) uzly, kter´e byly v pˇredchoz´ım cyklu vys´ılaˇci, obsahuje nav´ıc pole Suspend transmission.

(35)

Intermission

Alespo ˇn 3 bity recesivn´ı ´urovnˇe. Toto oddˇelen´ı pˇrenosov ´ych r´amc ˚u je nutn´e, aby mohly pˇr´ıjemci uloˇzit pˇrijatou zpr´avu do vyrovn´avac´ı pamˇeti. ˇZ´adn ´y uzel nem´a opr´avnˇen´ı zaˇc´ıt vys´ıl´an´ı datov´eho nebo vzd´alen´eho r´amce. Jedinou povolenou ope- rac´ı je pouze vysl´an´ı pˇretˇeˇzovac´ıho r´amce (Overload Frame, viz v ´yˇse).

Buss Idle

D´elka tohoto pole nen´ı pˇresnˇe specifikov´ana. V jeho pr ˚ubˇehu je sbˇernice pˇripravena k pˇrenosu jak´ehokoliv pˇrenosov´eho r´amce. Pokud nˇekter ´y z uzl ˚u neuspˇel v pˇr´ıstupu ke sbˇernici, zaˇcne pˇrenos ihned po poli Intermission. Dominantn´ı ´urove ˇn je n´aslednˇe povaˇzov´ana za poˇc´atek pˇrenosov´eho r´amce.

Suspend Transmission

Pokud uzel v chybovˇe pasivn´ım stavu (Error Pasive) odeslal zpr´avu, vyˇsle 8 bit ˚u recesivn´ı ´urovnˇe jeˇstˇe pˇred t´ım, neˇz zaˇcne zjiˇst’ovat, zda je sbˇernice voln´a pro pˇrenos dalˇs´ıch dat. Pokud v jejich pr ˚ubˇehu detekuje bit dominantn´ı ´urovnˇe (zaˇc´atek nˇekter´eho z pˇrenosov ´ych r´amc ˚u), st´av´a se tento uzel pˇrij´ımaˇcem.

1.6 Detekce chyb

Specifikace CAN definuje pˇet druh ˚u chyb, kter´e mohou nastat pˇri pˇrenosu r´amce. Ty pak mohou b ´yt rozdˇeleny na chyby na bitov´e ´urovni ˇci chyby na ´urovni zpr´av.

Chyby na bitov´e ´urovni (Error at Bit Level)

• Monitoring Error – vys´ılaˇc detekoval na sbˇernici jinou logickou hodnotu bitu neˇz pr´avˇe vys´ıl´a. Vyj´ımku tvoˇr´ı pole Arbitration Field a Acknowledge.

• Bit Stuffing Error – v pˇren´aˇsen´em r´amci ˇci v pol´ıch, na kter´a je uplatnˇeno k ´odov´an´ı Bit Stuffing, se vyskytla sekvence ˇsesti bit ˚u shodn´e logick´e ´urovnˇe.

Chyby na ´urovni zpr´av (Error at Message Level)

• CRC Error – pˇrij´ımaˇcem vypoˇcten ´y kontroln´ı souˇcet (CRC) pˇrijat´e zpr´avy nesouhlas´ı s kontroln´ım souˇctem, kter ´y pˇrijat´a zpr´ava obsahuje.

• Frame Check Error – form´at pˇren´aˇsen´eho r´amce se odliˇsuje od definovan´e struktury (viz 1.5.1, str. 29).

(36)

• ACK Errors – odeslanou zpr´avu nepˇrijal ˇz´adn ´y uzel v s´ıti a nedoˇslo tak k detekci bitu dominantn´ı ´urovnˇe v poli Acknowledge.

(37)

2 HARDWAROV ´ E ˇ RE ˇ SEN´I

V t´eto ˇc´asti je pops´an n´avrh a realizace hardwarov´eho ˇreˇsen´ı analyz´atoru CAN sbˇernice.

Poˇzadavky na toto ˇreˇsen´ı a z´akladn´ı myˇslenky n´avrhu jsou pˇribl´ıˇzeny v ´uvodn´ı ˇc´asti.

N´aslednˇe je uvedeno a vysvˇetleno jeho blokov´e sch´ema. V dalˇs´ıch ˇc´astech je zd ˚uvodnˇen v ´ybˇer elektronick ´ych souˇc´astek, vysvˇetlena jejich funkce a pouˇzit´ı. U kaˇzd´e z nich je rovnˇeˇz zn´azornˇeno pouˇzit´e pouzdro s popisem v ´yvod ˚u (pin ˚u) a sch´ema elektrick´eho zapojen´ı. V z´avˇeru je pops´an n´avrh desky ploˇsn ´ych spoj ˚u a jej´ı realizace.

2.1 Uvod´

Hardwarov ´ym ˇreˇsen´ım analyz´atoru je elektronick´e zaˇr´ızen´ı (d´ale jen zaˇr´ızen´ı), ˇr´ızen´e mikrokontrol´erem, realizuj´ıc´ı fyzick´e pˇripojen´ı ke sbˇernic´ım CAN a USB. Toto zaˇr´ızen´ı zachycuje zpr´avy z CAN sbˇernice a odes´ıl´a je pˇres USB sbˇernici do osobn´ıho poˇc´ıtaˇce (d´ale jen PC), kde lze tyto zpr´avy a veˇskerou komunikaci na CAN sbˇernici pohodlnˇe analyzovat v grafick´em uˇzivatelsk´em rozhran´ı (viz kap. 3.4, str. 55). Tato komunikace nen´ı samozˇrejmˇe pouze jednosmˇern´a a je tedy moˇzn´e CAN zpr´avy nejen pˇrij´ımat, ale i odes´ılat.

Z´akladn´ım poˇzadavkem na toto zaˇr´ızen´ı byla pˇredevˇs´ım vˇsestrann´a nen´aroˇcnost ze strany koncov´eho uˇzivatele, pˇrenositelnost, jednoduch´e pouˇzit´ı a snadn´e pˇripojen´ı k PC.

Tyto poˇzadavky se odrazily pˇredevˇs´ım ve velikosti v ´ysledn´eho zaˇr´ızen´ı, a tedy napˇr´ıklad v SMD proveden´ı vˇsech pouzder pouˇzit ´ych elektronick ´ych souˇc´astek, a ve v ´ybˇeru komu- nikaˇcn´ıho rozhran´ı s PC. Zaˇr´ızen´ı mˇelo d´ale podporovat standard fyzick´e vrstvy CAN protokolu High Speed CAN (viz kap. 1.3.6, str. 24) a mˇelo b ´yt p ˚uvodnˇe nap´ajeno bateriemi typu AAA. Jedn´ım z poˇzadavk ˚u tak byla i n´ızk´a spotˇreba a co moˇzn´a nejdelˇs´ı doba pro- vozu. Jak bude d´ale vysvˇetleno, tento poˇzadavek se pozdˇeji neuplatnil. Rovnˇeˇz mˇela b ´yt ponech´ana moˇznost toto zaˇr´ızen´ı rozˇs´ıˇrit o dalˇs´ı funkˇcn´ı celky, a tedy vyv´est nepouˇzit´e v ´yvody mikrokontrol´eru na konektory.

Nejprve bylo nutno zvolit komunikaˇcn´ı rozhran´ı mezi zaˇr´ızen´ım a PC. V ´uvahu pˇripadaly tˇri moˇznosti: komunikace pˇres paraleln´ı LPT port, s´eriov ´y COM port (RS–232) nebo USB sbˇernici.

(38)

Prvn´ı moˇznost byla rychle zam´ıtnuta z d ˚uvodu celkov´e zastaralosti LPT portu, mal´e a st´ale klesaj´ıc´ı podpory ze strany v ´yrobc ˚u osobn´ıch poˇc´ıtaˇc ˚u, pˇredevˇs´ım notebook ˚u, a jeho obt´ıˇzn´eho programov´an´ı ve 32-bitov ´ych operaˇcn´ıch syst´emech Windows. Oproti tomu COM port je st´ale souˇc´ast´ı naprost´e vˇetˇsiny PC. Z notebook ˚u je sice tak´e po- stupnˇe vytlaˇcov´an, avˇsak tento probl´em lze ˇreˇsit redukc´ı na USB, a t´ım

”zachr´anit“

pˇrenositelnost zaˇr´ızen´ı. Pˇrednost´ı s´eriov´eho COM portu je pˇredevˇs´ım snadn´e progra- mov´an´ı komunikace i ve 32-bitov ´ych syst´emech Windows. Nespornou v ´yhodou obou v ´yˇse zm´ınˇen ´ych rozhran´ı (oproti USB) je d´ale moˇznost jejich pˇr´ım´eho propojen´ı s komu- nikaˇcn´ım rozhran´ım UART1, kter ´ym disponuje naprost´a vˇetˇsina modern´ıch mikrokont- rol´er ˚u.

Posledn´ı moˇznost´ı, kter´a pˇripadala v ´uvahu, byla komunikace pˇres USB sbˇernici. Ta je obl´ıben´a jak mezi v ´yrobci, tak mezi uˇzivateli, a m´a slibnou perspektivu do budouc- nosti. Zm´ınˇen ´y probl´em nemoˇznosti pˇr´ım´eho propojen´ı USB a UART ˇreˇs´ı pˇrevodn´ıky USB-UART, kter´e jsou v dneˇsn´ı dobˇe jiˇz na vysok´e ´urovni a ve formˇe integrovan ´ych ob- vod ˚u. V ´yrobci tˇechto pˇrevodn´ık ˚u k nim tak´e zpravidla poskytuj´ı ovladaˇce virtu´aln´ıho COM portu, kter ´y je aktivov´an vˇzdy po pˇripojen´ı zaˇr´ızen´ı, kter´e dan ´y pˇrevodn´ık ob- sahuje. Zaˇr´ızen´ı je tak pˇripojeno k USB sbˇernici, a m ˚uˇze vyuˇz´ıvat vˇsech jej´ıch v ´yhod.

Aplikace k nˇemu pˇristupuj´ı jako ke klasick´emu COM zaˇr´ızen´ı. T´ım odpadne i sloˇzitˇejˇs´ı programov´an´ı komunikace pˇres USB.

Rozhoduj´ıc´ı v ´yhodou pro USB vˇsak byla moˇznost nap´ajen´ı zaˇr´ızen´ı pˇr´ımo z USB portu. Tuto moˇznost neposkytuje ˇz´adn´e pˇredeˇsl´e rozhran´ı. USB je schopno dod´avat proud aˇz 100 mA pˇri napˇet´ı 5 V. Takov ´y proud je pro potˇreby nap´ajen´ı naprost´e vˇetˇsiny extern´ıch zaˇr´ızen´ı zcela dostaˇcuj´ıc´ı a napˇet´ı 5 V odpov´ıd´a nap´ajec´ımu napˇet´ı klasick ´ych integrovan ´ych obvod ˚u s napˇet’ovou logikou TTL2. T´ımto odpadl v ´yˇse zm´ınˇen ´y probl´em nap´ajen´ı zaˇr´ızen´ı pomoc´ı bateri´ı a minimalizace jeho spotˇreby, a znaˇcnˇe se tak zjed- noduˇsilo cel´e jeho ˇreˇsen´ı a zv ´yˇsila pˇrenositelnost.

Pro pˇripojen´ı zaˇr´ızen´ı k USB sbˇernici byla zvolena samice konektoru USB-B a pro pˇripojen´ı zaˇr´ızen´ı ke CAN sbˇernici byl zvolen samec standardnˇe pouˇz´ıvan´eho konektoru CANNON 9 (D-Sub).

1UART (Universal Asynchronous Receiver-Transmitter) – univerz´aln´ı asynchronn´ı vys´ılaˇc/pˇrij´ımaˇc

2TTL (Transistor-Transistor Logic).

(39)

Kompletn´ı dokumentace k pouˇzit ´ym elektronick ´ym souˇc´astk´am je vˇzdy volnˇe k dis- pozici na webov ´ych str´ank´ach v ´yrobce dan´e souˇc´astky a je rovnˇeˇz souˇc´ast´ı pˇriloˇzen´eho CD-ROM, viz pˇr´ıloha 3.4, str. 62.

2.2 Blokov ´e sch ´ema hardwarov ´eho ˇre ˇsen´ı

Blokov´e sch´ema hardwarov´eho ˇreˇsen´ı je uk´az´ano na obr´azku 11.

Obr´azek 11: Blokov´e sch´ema hardwarov´eho ˇreˇsen´ı

Jak je vidˇet z tohoto sch´ematu, zaˇr´ızen´ı se skl´ad´a ze ˇctyˇr hlavn´ıch ˇc´ast´ı:

Mikrokontrol´er

Propojuje vˇsechny souˇc´asti zaˇr´ızen´ı a ˇr´ıd´ı jejich ˇcinnost na softwarov´e ´urovni pro- gramem v sobˇe obsaˇzen ´ym (firmwarem, viz kap. 3.3, str. 53).

Jeho integrovanou souˇc´ast´ı mus´ı b ´yt CAN ˇradiˇc, kter ´y na hardwarov´e ´urovni im- plementuje fyzickou a linkovou vrstvu CAN protokolu (viz kap. 1, str. 16) a plnˇe duplexn´ı UART.

Konkr´etnˇe mus´ı zajiˇst’ovat tyto funkce: pˇr´ıjem a odes´ıl´an´ı CAN zpr´av, jejich ukl´ad´an´ı a ˇcten´ı do/z pamˇeti a jejich pˇr´ıjem a odes´ıl´an´ı pˇres UART z/do PC.

USB-UART pˇrevodn´ık

Slouˇz´ı jako rozhran´ı mezi mikrokontrol´erem a USB sbˇernic´ı.

Jeho funkc´ı je obousmˇern´a transformace USB-UART komunikace.

CAN budiˇc

Slouˇz´ı jako rozhran´ı mezi mikrokontrol´erem a CAN sbˇernic´ı.

(40)

Jeho funkc´ı je pˇredevˇs´ım pˇrevod napˇet’ov´e logiky mezi mikrokontrol´erem a CAN sbˇernic´ı v z´avislosti na standardu fyzick´e vrstvy CAN (viz kap. 1.3.6, str. 24), pro kterou je tento budiˇc urˇcen.

Z´arove ˇn slouˇz´ı jako galvanick´e oddˇelen´ı mikrokontrol´eru od CAN sbˇernice.

Pamˇet’ SRAM

Slouˇz´ı jako vyrovn´avac´ı pamˇet’ pro pˇrijat´e CAN zpr´avy.

D ˚uvodem jej´ıho pouˇzit´ı jsou rozd´ıln´e pˇrenosov´e rychlosti sbˇernic CAN a USB (UART). Pˇrenosov´a rychlost CAN sbˇernice m ˚uˇze b ´yt aˇz 1 Mbit/s. Pˇrenosov´a rych- lost UART m ˚uˇze b ´yt teoreticky srovnateln´a, ale prakticky bude v ´yraznˇe niˇzˇs´ı, ty- picky napˇr´ıklad 57600 Bd (cca 56kbit/s).

Intern´ı pamˇet’ SRAM mikrokontrol´er ˚u je pro tyto potˇreby zpravidla nedostaˇcuj´ıc´ı.

2.3 Mikrokontrol ´er

Funkce mikrokontrol´eru byla vysvˇetlena v kapitole 2.2, str. 38.

S ohledem na zajiˇstˇen´ı tˇechto funkc´ı byly na mikrokontrol´er kladeny n´asleduj´ıc´ı poˇzadavky: nap´ajec´ı napˇet´ı 5 V (pro pˇr´ım´e nap´ajen´ı z USB), integrovan ´y UART, integro- van ´y CAN ˇradiˇc s podporou standardn´ıch i rozˇs´ıˇren ´ych r´amc ˚u a pˇrenosovou rychlost´ı 1 Mbit/s, moˇznost pˇripojen´ı extern´ı pamˇeti SRAM a moˇznost programov´an´ı jeho firm- waru ve vyˇsˇs´ım programovac´ım jazyce (napˇr. C++).

Tˇemto poˇzadavk ˚um nejl´epe vyhovoval mikrokontrol´er AT90CAN128 od firmy At- mel [6]. Tento 8-bitov ´y AVR mikrokontrol´er disponuje pokroˇcilou RISC1 architektu- rou, solidn´ım v ´ypoˇcetn´ım v ´ykonem (aˇz 16 MIPS2 pˇri 16 MHz), n´ızkou spotˇrebou, a kromˇe mnoha integrovan ´ych souˇc´ast´ı, kter´e nebyly vyuˇzity, obsahuje: 128kB progra- mov´e pamˇeti Flash, 4kB datov´e pamˇeti SRAM, 4kB pamˇeti EEPROM, plnˇe duplexn´ı UART, CAN ˇradiˇc s 15-ti nez´avisl ´ymi objekty CAN zpr´av a umoˇz ˇnuje pˇripojen´ı aˇz 64kB extern´ı pamˇeti SRAM a jeho firmware lze programovat ve vyˇsˇs´ıch programovac´ıch ja- zyc´ıch.

1RISC (Reduced Instruction Set Computer) – poˇc´ıtaˇc s redukovanou instrukˇcn´ı sadou.

2MIPS (Millions of Instructions Per Second) – mili ´on ˚u instrukc´ı za vteˇrinu.

(41)

Mikrokontrol´ery rodiny AVR se d´ıky sv ´ym pˇrednostem tˇeˇs´ı velk´e obl´ıbenosti mezi uˇzivateli a tedy i dostupnosti nepˇrebern´eho mnoˇzstv´ı informac´ı o zkuˇsenostech s nimi, jejich vyuˇzit´ı, programov´an´ı a neposledn´ı ˇradˇe kniˇzn´ı literatury, napˇr.: [14] a [15].

Oznaˇcen´ı v ´yvod ˚u mikrokontrol´eru AT90CAN128 a jejich um´ıstˇen´ı v pouzdru TQFP- 64 je zobrazeno v pˇr´ıloze A, str. 64. Popis jeho v ´yvod ˚u je velmi obs´ahl ´y a nebude zde tedy uveden. Kompletn´ı dokumentace k mikrokontrol´eru je vˇsak volnˇe k dispozici na webov ´ych str´ank´ach firmy Atmel.

Obr´azek 12: Sch´ema elektrick´eho zapojen´ı mikrokontrol´eru AT90CAN128

Sch´ema elektrick´eho zapojen´ı (viz obr´azek 12) obsahuje pouze z´akladn´ı zapojen´ı mi- krokontrol´eru s odruˇsovac´ımi souˇc´astkami, pˇripojen ´ym krystalem (pro CAN ˇradiˇc je vhodn´a celoˇc´ıseln´a frekvence) a zapojen ´ym resetem pˇres n´ızkozdvihov´e tlaˇc´ıtko. Toto tlaˇc´ıtko je vhodn´e pro rychlejˇs´ı a pohodlnˇejˇs´ı

”ladˇen´ı“ firmwaru, kdy je zpravidla tˇreba

(42)

ˇcasto mikrokontrol´er resetovat. Zb ´yvaj´ıc´ı v ´yvody jsou pouze pojmenov´any a takto budou vyuˇzity v n´asleduj´ıc´ıch sch´ematech.

V souˇcasn´e dobˇe Atmel nab´ız´ı dalˇs´ı verze vybran´eho mikrokontrol´eru: AT90CAN64 a AT90CAN32. Tyto se od AT90CAN128 liˇs´ı pouze velikost´ı intern´ı programov´e pamˇeti Flash (64kB a 32kB) a jsou tak levnˇejˇs´ı. Tato ˇrada mikrokontrol´er ˚u vˇsak v dobˇe vypra- cov´av´an´ı pr´ace nebyla v ˇCR k dost´an´ı. Pouze GM electronic [7], jeden z nejvˇetˇs´ıch dis- tributor ˚u elektronick ´ych souˇc´astek v ˇCR, nab´ızel z´avazn´e objedn´an´ı mikrokontrol´eru AT90CAN128.

2.4 USB-UART pˇrevodn´ık

Funkce USB-UART pˇrevodn´ıku byla vysvˇetlena v kapitole 2.2, str. 38.

Na tento pˇrevodn´ık nebyly kladeny ˇz´adn´e speci´aln´ı poˇzadavky. V ´yhodou mohla b ´yt pouze jeho dostupnost, snadn´a implementace, kvalitn´ı ovladaˇce virtu´aln´ıho COM portu a cena.

Nejˇcastˇeji pouˇz´ıvan ´ymi USB-UART pˇrevodn´ıky jsou pˇrevodn´ıky od firmy FTDI. Jsou velmi obl´ıben´e mezi uˇzivateli, snadno dostupn´e a relativnˇe bezprobl´emov´e. Vybr´an vˇsak byl pˇrevodn´ık CP2102 od firmy Silicon Laboratories [8], kter ´y je pomˇernˇe nov ´y a zat´ım nepˇr´ıliˇs zn´am ´y. Je vˇsak jiˇz v ˇCR dostupn ´y, ke sv´e funkci potˇrebuje mnohem m´enˇe extern´ıch souˇc´astek neˇz pˇrevodn´ıky od firmy FTDI, jeho ovladaˇce virtu´aln´ıho COM portu jsou bezprobl´emov´e a je dokonce levnˇejˇs´ı. Jeho jedinou nev ´yhodou m ˚uˇze b ´yt bezv ´yvodov´e pouzdro QFN-28, kter´e m ˚uˇze nˇekter´e uˇzivatele odradit z d ˚uvodu obt´ıˇznˇejˇs´ıho ruˇcn´ıho osazov´an´ı (viz kap. 2.10.2, str. 49).

Obr´azek 13: USB-UART pˇrevodn´ık CP2102 v pouzdru QFN-28

(43)

V ´yvod ˇc. Popis

VBUS 8 vstup pro nap´ajec´ı vodiˇc USB VBU S

D- 5 vstup pro datov ´y vodiˇc USB D

D+ 4 vstup pro datov ´y vodiˇc USB D+

REGIN 7 nap´ajec´ı vstup pro integrovan ´y napˇet’ov ´y regul´ator, 5 V

RST 9 reset, aktivn´ı log. 0

SUSPEND, SU SP EN D 12, 11 aktivn´ı pˇri vstupu pˇrevodn´ıku do USB SUSPEND reˇzimu

TxD 26 v ´ystup dat pˇrijat ´ych z USB

RxD 25 vstup dat k odesl´an´ı pˇres USB

GND 3 zem

Vdd 6 vstup/v ´ystup do/z integrovan´eho napˇet’ov´eho regul´atoru

Tabulka 6: Popis v ´yvod ˚u USB-UART pˇrevodn´ıku CP2102

Pˇrevodn´ık rovnˇeˇz obsahuje integrovan ´y napˇet’ov ´y regul´ator na 3,3 V, kter ´y lze s v ´yhodou vyuˇz´ıt pro nap´ajen´ı jin ´ych elektronick ´ych souˇc´astek, v tomto pˇr´ıpadˇe CAN budiˇce (viz kap. 2.6, str. 46).

Oznaˇcen´ı v ´yvod ˚u USB-UART pˇrevodn´ıku CP2102 a jejich um´ıstˇen´ı v pouzdu QFN-28 je zobrazeno na obr´azku 13. V ´yvody jsou pops´any v tabulce 6.

Obr´azek 14: Sch´ema elektrick´eho zapojen´ı USB-UART pˇrevodn´ıku CP2102

Sch´ema elektrick´eho zapojen´ı USB-UART pˇrevodn´ıku CP2102 a samice konektoru USB-B je velmi prost´e (viz obr´azek 14) a vych´az´ı z dokumentace k dan´emu pˇrevodn´ıku.

Souˇc´ast´ı tohoto zapojen´ı je obvod SP0503BAHT od firmy Littlefuse [9], kter ´y obsahuje tˇri Zenerovy diody a slouˇz´ı jako ochrana pˇred elektrostatick ´ym v ´ybojem (ESD Pro-

(44)

tection). Tento obvod byl u v ´yrobce objedn´an jako vzorek (Sample), avˇsak k jeho dod´an´ı z nezn´am´eho d ˚uvodu nedoˇslo.

USB-UART pˇrevodn´ık CP2102 byl zakoupen u firmy HT-Eurep Electronic [12].

2.5 Extern´ı pam ˇet’ SRAM

Funkce extern´ı pamˇeti SRAM byla vysvˇetlena v kapitole 2.2, str. 38.

Mikrokontrol´er AT90CAN128 umoˇz ˇnuje adresovat 64k x 8 (64k 8-bitov ´ych bunˇek) pamˇeti a z hlediska program´atora je jej´ı pˇripojen´ı zcela transparentn´ı. Jej´ı pouˇzit´ı se ni- jak neliˇs´ı od pouˇzit´ı intern´ı pamˇeti SRAM mikrokontrol´eru, tato je pouze definovan ´ym zp ˚usobem rozˇs´ıˇrena. Pˇr´ıstupov´a doba k dat ˚um v extern´ı pamˇeti je vˇsak samozˇrejmˇe delˇs´ı.

Vzhledem k velice omezen´e nab´ıdce 64k x 8 pamˇet´ı i mezi pˇredn´ımi distributory elek- tronick ´ych souˇc´astek v ˇCR byla vybr´ana pamˇet’ o velikosti 128k x 8 bit ˚u (1 Mbit). Jedn´a se o pamˇet’ K6X1008C2D od firmy Samsung [10]. Posledn´ı 16-t ´y bit (v ´yvod A16, pin 2) adresy pamˇet’ov´e bu ˇnky byl pˇripojen na v ´yvod PE7 (pin 9) mikrokontrol´eru a m ˚uˇze b ´yt firmwarem nastavov´an samostatnˇe.

Extern´ı pamˇet’ SRAM lze k vybran ´ym ARV mikrokontrol´er ˚um pˇripojit v souladu s blokov ´ym sch´ematem uveden ´ym na obr´azku 15 a podrobn ´y popis tohoto zapojen´ı je uveden v dokumentaci ke kaˇzd´emu mikrokontrol´eru, kter ´y moˇznost pˇripojen´ı extern´ı pamˇeti SRAM umoˇz ˇnuje.

Obr´azek 15: Blokov´e sch´ema pˇripojen´ı extern´ı pamˇeti SRAM k AVR mikrokontrol´eru

Oznaˇcen´ı v ´yvod ˚u pamˇeti SRAM K6X1008C2D a jejich um´ıstˇen´ı v pouzdu SOP-32 je zobrazeno na obr´azku 16. V ´yvody jsou pops´any v tabulce 7.

References

Related documents

Prvn´ı verze poˇzaduje velkou pˇresnost ot´aˇcen´ı robota a to nelze bez gyroskopu zaruˇcit. Pˇri spr´avn´em ot´aˇcen´ı je robot schopen naj´ıt cestu ven i z pravo´

Prostˇred´ı robotu je zn´amo a je reprezentov´ano pomoc´ı geometrick´e mapy. Dan´a mapa m˚ uˇze b´ yt zachycena pr˚ ujezdem robotu v prostˇred´ı na z´akladˇe pokyn˚

D´ ale pr´ ace zahrnuje moˇ znosti dekompo- zice a rekonstrukce pomoc´ı wavelet transformace s pouˇ zit´ım r˚ uzn´ ych wavelet funkc´ı, modifikace d´ılˇ c´ıch koeficient˚

Indukovan´e v´ıˇriv´e proudy ve vodiˇci bud´ı vnitˇrn´ı magnetick´e pole. Podle Lencova pravidla je toto pole orientov´ano tak, ˇze p˚ usob´ı proti vnˇejˇs´ımu poli

Mezi data ukl´ adan´ a do datab´ aze patˇr´ı informace o pool serveru, ke kter´ emu je tˇ eˇ zebn´ı klient aktu´ alnˇ e pˇripojen, informace o dobˇ e tˇ eˇ zby aktu´

Pokud na vl´ akno kamery doraz´ı poˇ zadavek na odesl´ an´ı zpr´ avy na IM klienta uˇ zivatele, doch´ az´ı k jeho zpracov´ an´ı (viz obr´ azek ˇ c... V prvn´ı f´

Z´ akladn´ım pˇredpokladem pro dosaˇ zen´ı hmatateln´ eho v´ ystupu t´ eto bakal´ aˇrsk´ e pr´ ace bylo namˇ eˇren´ı impulsn´ıch odezev v urˇ cit´ em prostoru.

Na z´ akladˇ e minim a maxim porovn´ avan´ ych element˚ u se vyhodnot´ı, zda elementy mohou nebo nemohou m´ıt spoleˇ cn´ y pr˚ unik, pokud elementy nemohou m´ıt spoleˇ cn´