CAN - ajoneuvojen ja koneiden sisäinen paikallisväylä



Samankaltaiset tiedostot
TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys Jukka Hiltunen

Tehtävä 2: Tietoliikenneprotokolla

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Tuisku Tomi. CAN-väylä. Raskaankaluston standardi SAE J1939

Avoimen luukun varoitussanomat. Toiminto

IMPACT /Kuvaus, Rakenne ja toiminta//volvon dynaaminen ohjaus, toimintakuvaus

FMS:n CAN-liitäntä. Johdanto

Yleisiä tietoja CAN-verkosta. Yleistä. Lisätietoja CAN-yhtyedestä on annettu seuraavissa asiakirjoissa:

Ajoneuvoväylät voidaan jakaa kolmeen pääryhmään niiden käyttötarkoituksen perusteella:

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

Piirien väliset ohjaus- ja tiedonsiirtoväylät H. Honkanen

Kuva maailmasta Pakettiverkot (Luento 1)

Korotettu joutokäynti

Nokeval No Käyttöohje. Tekstinäyttö 580-ALF

Momentinrajoitin. Aktivointi analogisilla signaaleilla. Aktivointi ulkoiseilla CAN-verkolla

Päällirakenteen CAN-liitäntä. Scanian CAN-liitäntä päällirakenteelle. CAN-liitäntä. Vaatimukset CAN-tiedonsiirtoon ajoneuvon kanssa

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

SM211 RS485 - JBUS/MODBUS mittarille SM103E. Käyttöohje

1. Maarittele termit/vastaa Iyhyesti. Arvostelu: 1p/oikea vaihtoehto. Ei miinuspisteita

Projektityöt. Sami Alaiso, Jyri Lujanen 30. marraskuuta 2009

1. Maarittele termiuvastaa Iyhyesti. Arvostelu: 1p/oikea vaihtoehto. Ei miinuspisteita

BACnet protokolla kiinteistöautomaatiossa

Bronto Skylift Oy Ab, ohjaajana DI Jouni Törnqvist

SM210 RS485 - JBUS/MODBUS mittarille SM102E. Käyttöohje

Netemul -ohjelma Tietojenkäsittelyn koulutusohjelma

Jatkuva kierrosluvun rajoitus

S Elektroniikan häiriökysymykset. Laboratoriotyö, kevät 2010

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

S Teletekniikan perusteet

Opus SMS tekstiviestipalvelu

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

X431-skanneri. Elekma Oy

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Hammastankohissin modernisointi. Heikki Laitasalmi

Työasema- ja palvelinarkkitehtuurit IC Tallennusjärjestelmät. Tallennusjärjestelmät. 5 opintopistettä.

Älypuhelinverkkojen 5G. Otto Reinikainen & Hermanni Rautiainen

Vapaa-asennon automaattikytkentä

Mikrokontrollerit. Mikrokontrolleri

ABB i-bus KNX taloautomaatio. Sakari Hannikka, Kiinteistöjen ohjaukset KNX vai ABB Group May 11, 2016 Slide 1

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Arto Salminen

ATKO-hanke: Ajouraopastimen peruskäyttö. Ville Ketomäki 2018

Nopeusrajoitin. Aktivointi analogisilla signaaleilla. Aktivointi ulkoiseilla CAN-verkolla

TALOAUTOMAATIO KODIN KESKITETTY SÄHKÖTOIMINTOJEN OHJAUS

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

IFM-NÄYTÖN SOVITTAMINEN CAN- VÄYLÄLLÄ DIESELMOOTTORIIN CODESYS-KEHITYSYMPÄRISTÖN AVULLA

Meillä on RATKAISU KTS 560 / KTS 590. Ohjainlaitediagnoosi ESI[tronic] 2.0:n avulla

KÄYTTÖOHJE. M2M Point - to - Point

TK Palvelinympäristö

RAPORTTI Risto Paakkunainen Arto Valtonen Pasi Vähämartti Metsäteollisuuden automaation harjoitustyö Joulukuu 2007

Teollisuusautomaation standardit Osio 9

CAN-väylärajapinnat taksiautoissa

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

CAN-väylä. Heikki Saha. Sandvik Tamrock Oy. 1. Historiaa. 2. Terminologiaa. Full-CAN on nimitys CAN-ohjainpiireille,

1. Väyläjärjestelmien jaottelu

KÄYTTÄJÄN KÄSIKIRJA OE/OSSPEAKER V KÄYTTÄJÄN KÄSIKIRJA OE/OSSPEAKER V.10.3 SISÄLLYSLUETTELO

» multiaccess channel» random access channel LAN (Ethernet) langaton. ongelma: käyttövuoron jakelu Yhteiskäyttöisen kanavan käyttö

4. MAC-alikerros. yleislähetys (broadcast) ongelma: käyttövuoron jakelu. » multiaccess channel» random access channel LAN (Ethernet) langaton

ASENNUSOHJE MICROPROP DC2

Näkyvyys- ja valaistustoimintojen kaukoaktivointi

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

OSI ja Protokollapino

Teollisuuden uudistuvat liiketoimintamallit Teollinen Internet (Smart Grid) uudistusten mahdollistajana

LAUNCH. Tuote-esittely X-431 PRO. We innovate your business. Ammattilaisen monimerkkidiagnostiikkatyökalu

Fin v2.0. VV4 Käsikirja

Napsauta Kurssin viikkonäkymä- näkymässä oikeassa yläreunassa sijaitsevaa Muokkaustila päälle -painiketta.

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

Safety Integrated -turvatekniset perusratkaisut. Siemens Automation

Electronisen nopeus ja matkamittarin kalibrointi laite huippunopeus muistilla.

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

HARJOITUSTYÖ: LabVIEW, Liiketunnistin

Monimutkaisempi stop and wait -protokolla

Digisovittimien testaus ja laitteiden linkitys HDpalveluissa. Timo Santi DigiPhilos Oy

IV Produkt AHU Controls, sovelluksen kuvaus

Langattomat kenttäväylät rakennusautomaatiossa

2-AKSELISEN LINEAARILIIKKEEN OHJAAMINEN

SPA-ZC 17. Väyläliitäntämoduuli SPA-ZC 17. Käyttöohje ja tekninen selostus. Tx SC Rx BB BM MB MM SPA / RS 485 POWER SLAVE 1 MASTER 0 RS

Siltojen haitat. Yleisesti edut selvästi suuremmat kuin haitat 2/19/ Kytkin (switch) Erittäin suorituskykyisiä, moniporttisia siltoja

TAMPEREEN AMMATTIKORKEAKOULU (19) Kone- ja laiteautomaatio Seppo Mäkelä. SIMATIC STEP S7 Ohjelmointiohjelma.

Pamemetrilista ADAP-KOOL. EKC 201 ja EKC 301

Salausmenetelmät (ei käsitellä tällä kurssilla)

Visma Fivaldi -käsikirja Tehtävienhallinta- ohje käyttäjälle

Asiakaspalveluprosessin kehittäminen jakelun vaikutuspiiriin kuuluvien asioiden osalta

ILMASTOINTILAITTEEN KAUKO-OHJAIMEN KÄYTTÖ OHJE

Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

Teollisuusautomaation standardit. Osio 2:

Televerkon synkronointi

7.3. Oheisrautaa. DS

Autonomisen liikkuvan koneen teknologiat. Hannu Mäkelä Navitec Systems Oy

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

10. ASIAKASHALLINTA CRM; Osoitetarrat, ryhmäsähköposti ja export

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

- Käyttäjä voi valita halutun sisääntulon signaalin asetusvalikosta (esim. 0 5V, 0 10 V tai 4 20 ma)

Ulkoisten näyttömittarien liittäminen

Sähköpostitilin käyttöönotto

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr Veli-Pekka Eloranta

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

5. Siirtoyhteyskerros linkkikerros (Data Link Layer)

Transkriptio:

CAN - ajoneuvojen ja koneiden sisäinen paikallisväylä CAN-väylän perusteet H CANmoduuli CAN Rx: 100:1:1 Jarmo Alanen VTT AUTOMAATIO, Koneautomaatio Tammikuu 2000

28.01.2000 CAN - ajoneuvojen ja koneiden sisäinen paikallisväylä Jarmo Alanen VTT Automaatio Koneautomaatio PL 1302, 33101 Tampere Puh. (03) 316 3602, faksi (03) 316 3494 Sähköposti: Jarmo.Alanen@vtt.fi 1 Mikä on CAN CAN-väylä (Controller Area Network) suunniteltiin alun perin autojen hajautettujen ohjausjärjestelmien reaaliaikaiseen tiedonsiirtoon, esimerkiksi moottorinohjausyksikön, ABS-jarruyksikköjen ja vaihteistonohjausyksikön väliseen kommunikointiin. CAN-väylää soveltavat ainakin Mercedes- Benz, Audi, BMV, Renault, Saab, Volkswagen ja Volvo. CAN on siis luonteeltaan ajoneuvoväylä. CAN-väylää sovelletaan kuitenkin laajasti myös muissa tuotteissa, kuten busseissa, hisseissä, maatalouskoneissa, lääketieteellisissä laitteissa, kappaletavara-automaatiossa, roboteissa, tekstiilikoneissa, mittausjärjestelmissä, ohjelmoitavissa logiikoissa ja työkoneissa (ks. Kuva 1). CAN sopii periaatteessa mihin tahansa koneeseen, vaikkapa kodinkoneeseen, jossa on kysymys lyhyistä tiedonsiirtoetäisyyksistä ja tarpeena on reaaliaikainen prosessorien välinen kommunikointi, jossa sanomat ovat lyhyitä. Massatiedonsiirtoon, kuten videokuvan siirtoon, CAN ei ole optimaalinen ratkaisu. Venttiilien ohjaus ja kulma-anturi Näyttö- ja mittaristo Kulmaanturit Ohjaussauva CAN-väylä Kuva 1. CAN-väylä on saavuttanut de facto -standardin aseman työkoneissa (kuvan esimerkki on kuvitteellinen). - 1 -

CAN ei periaatteeltaan ole kenttäväylä, vaan paremminkin laitteen tai koneen sisäinen prosessoriverkko, jonka tehtävänä on tehdä eri solmujen tilamuuttujat toisilleen näkyväksi, että järjestelmän rinnakkainen ohjaus olisi mahdollista. Kuitenkin CAN-väylää käytetään usein kenttäväylän tapaan. Varsinkin kappaletavara-automaatiossa CAN-väylän käyttö on viimeaikoina lisääntynyt anturi- ja toimilaiteväylänä. 1.1 Miksi CAN Kuten edellä todettiin, CAN-väylä suunniteltiin alunperin autoihin. Syitä, miksi autoihin halutaan tuoda väyliä perinteisen johdotuksen sijaan tai lisäksi, on lueteltu seuraavassa: 1) Elektroniikkalaitteiden määrä kasvaa jatkuvasti aiheuttaen johdotuksen kokonaismäärän kasvamisen. Johdotuksen suuri määrä aiheuttaa kustannus-, paino-, tila- ja varsinkin asennusongelmia. Joissakin paikoissa, kuten auton ovet, läpivientien läpimitta ilman väylätekniikkaa kasvaa epäkäytännöllisen suureksi (vrt. Kuva 2 ja Kuva 3). 2) Elektroniset ohjaukset (moottori, jarrut, luistonesto, jousitus ja vaihteisto) tarvitsevat paljon anturitietoa. Väylän kautta yhden anturin tiedot voidaan välittää kaikille ohjausyksiköille. Esimerkiksi nopeusanturin tietoa tarvitsevat moottorinohjausyksikkö, lukkiutumattomat jarrut, vaihteisto ja kojelauta. Ilman väylää tarvittaisiin jokaista yksikköä varten ehkä oma anturi. 3) Väylän kautta ajoneuvon diagnosointi on helpompaa, sillä kaikki anturitiedot ovat saatavilla väylän kautta testerien käyttöön. Väylään kytketyn testerin avulla voidaan myös ohjata väylään liitettyjä toimilaitteita. 4) Uusien elektroniikkalaitteiden lisääminen sähköjärjestelmään helpottuu, sillä väylä tekee sähköjärjestelmästä selkeän ja modulaarisen. Lukon lämmitys Kahvojen kytkimet Ikkunoiden nostimien painikkeet H Peilin sähköinen ohjaus ja lämmitys 4 13 1 1 1 2 3 3 Yhteensä 28 johdinta oven läpiviennissä Keskuslukitus Hall-anturi Ikkunan-nostomoottori Kuva 2. Auton oven sähkölaitteiden johdotus perinteisellä menetelmällä (kuvitteellinen; mukaeltu lähteestä: Mahalek, J. SAE artikkeli 920225). - 2 -

Kahvojen kytkimet Ikkunoiden nostimien painikkeet Peilin sähköinen ohjaus ja lämmitys Lukon lämmitys H CAN CANmoduuli +12V ja maa Yhteensä 4 johdinta oven läpiviennissä Keskuslukitus Hall-anturi Ikkunan-nostomoottori Kuva 3. Kuvan 2 esimerkki CAN-väylän avulla johdotettuna. Seuraavassa kuvassa on tapaus ovi-esimerkin (Kuva 3) pohjalta, mitenkä ikkunannostimen napin painallus signaloidaan CAN-väylälle. Kuljettajan puoleinen ovi Muut signaalit Ikkunoiden nostimien painikkeet +12V Kun kuljettaja ei paina nappia, josta apukuljettajan puoleinen ikkuna liikkuu, väylällä on esim. seuraavanlainen sanoma: 100 1 0 Kun hän painaa 'alas' -nappia, väylällä on esim. seuraavanlainen sanoma: 100 1 1 Tunniste Tietotavujen lukumäärä CAN-väylä (parikaapeli) Tietotavu Apukuljettajan puoleinen ovi +12V CANmoduuli CANmoduuli Muut CAN-moduulit, esim kojelauta ja lämmityslaite CANmoduuli CANmoduuli Ikkunannostomoottori CANmoduuli Kuva 4. Ikkunannostimen napin painalluksen signalointi CAN-väylällä. Kuten kuvasta näkyy, napin painallus muuttuu CAN-moduulissa numeroiksi. Siksi napin painallusta ei voi CAN-väylältä diagnosoida yleismittarilla, vaan huoltomiehellä täytyy olla erityinen diagnostiikkalaite, joka osaa CAN-protkollaa. Tosin sekään ei vielä riitä, sillä lisäksi täytyy olla tietoa, millä tunnisteella napin painalluksen välittämä sanoma liikkuu (esimerkissa tunniste on 100) ja mitenkä se näkyy tietotavuissa ja missä nimenomaisessa tietotavussa (esimerkissä se näkyy ensimmäisen tietotavun vähiten merkitsevässä bitissä siten, että alas-napin painaminen muuttaa sen ykköseksi ja päästäminen nollaksi). Valmistajakohtaisissa diagnostiikkalaitteissa sanomat voidaan tosin tulkata valmiiksi selkokielelle huoltomiestä varten. - 3 -

Huomaa, että muut moduulit voivat myös lukea kyseisen sanoman ja käyttää sitä hyödykseen. Huomaa myös, että ne käyttävät samaa väylää (parikaapelia) myös keskinäiseen kommunikointiinsa. Toisin sanoen väylä on yhteistä omaisuutta ja nimenomaan tästä syystä kaapelia säästyy. Väylällä siis vilisee eri solmujen lähettämiä sanomia. Ne voidaan oskilloskoopilla nähdä kanttiaaltona, jonka pulssit ovat satunnaisen pituisia. Kanttiaallosta pystyy periaatteessa laskemaan tunnistenumeron ja muut kentät, mutta käytännössä se on niin hankalaa, että oskilloskoopista on harvoin hyötyä. Saattaa näyttää siltä, että diagnostiikka muuttuukin vaikeammaksi kuin perinteisissä autoissa, mutta toisaalta, kun CAN-väylään kytketään diagnostiikkalaite, sen avulla saadaan hetkessä selville kaikki väylän kautta välitettävät signaalit ja lisäksi voidaan kysellä solmuilta muita diagnostiikkaan liittyviä tietoja, kuten vikalokit. 1.2 CAN perusstandardit CAN-spesifikaatio toteuttaa ISOn (International Organization for Standardization) OSI-mallista (Open Systems Interconnection) kaksi alinta kerrosta eli fyysisen- ja siirtoyhteyskerroksen. ISO on standardoinut CAN-väylän kahdella perusstandardilla:! ISO 11519-2 Road vehicles - Low speed serial data communication - Part 2: Low speed controller area network (CAN) (Huom.! Tämä standardi saatetaan vetää pois.)! ISO 11898 Road vehicles - Interchange of digital information - Controller area netwrok (CAN) for high-speed communication (ISO 11898 on jakautumassa kaksi- tai kolmiosaiseksi: osa 1 kattaa siirtoyhteyskerroksen ja osa 2 fyysisen kerroksen; myöhemmin saattaa tulla osa 3, joka koskee vikasietoista matalan siirtonopeuden fyysistä kerrosta ja se tulee mahdollisesti korvaamaan ISO 11519-2 standardin). Näistä edellinen on matalille siirtonopeuksille ( 125 kbit/s) ja jälkimmäinen korkeille siirtonopeuksille (1 Mbit/s saakka). Protokollaltaan nuo kaksi standardia ovat samanlaisia; ainoastaan jännitetasot väylällä ovat erilaiset. Standardit perustuvat Robert Bosch -yhtiön CAN-spesifikaatioon (versio 2.0). CAN-väylän käyttö ei vaadi lisenssiä, paitsi jos valmistaa CAN-protokollan sisältävän integroidun piirin. Protokollapiirien yhdenmukaisuustestaukseen on tulossa standardi ISO/CD 16845. Tällä standardilla on merkitystä lähinnä CAN-piirien valmistajille. ISOn standardien lisäksi SAE (Society of Automotive Engineers) on standardoinut tai standardoimassa CAN-väylää henkilöautoihin kahdella standardilla:! SAE J2284 High Speed CAN (HSC) for Passenger Vehicle Applications (henkilöautojen amerikkalainen CAN-standardi. Perustuu ISO 11898 standardiin)! SAE J2411 Single Wire CAN Physical Layer Specification (henkilöautojen yksijohtiminen fyysisen kerroksen CAN spesifikaatio). Lisää CAN-standardeja esitellään kappaleessa 8 'Ylemmän kerroksen arkkitehtuurit'. Kappaleessa 8 esitellyt standardit ovat näiden perusstandardien (lähinnä ISO 11898:n) päälle rakennettuja sovelluskohtaisia protokollia. 2 Yleisiä ominaisuuksia 2.1 Perusominaisuudet CAN-väylä on luonteeltaan usean isännän väylä (multi-master bus), jossa jokainen solmu voi omaaloitteisesti lähettää väylälle sanoman. Yhdessä sanomassa voi lähettää korkeintaan 8 tavua (64 bittiä) tietoa. Sanoma lähetetään yleisesti vastaanotettavaksi (broadcasting), ja ne solmut jotka tar- - 4 -

vitsevat kyseisen sanoman sisältämää tietoa, ottavat sanoman vastaan. Lähettäjä ei siis lähetä sanomaa erityisesti kenellekään, vaan lähettää sen 'eetteriin'. Koska CAN-kommunikoinnissa ei käytetä lähettäjän tai vastaanottajan osoitetta, solmuja voi väylällä olla periaatteessa rajaton määrä; käytännössä kuitenkin lähetin-vastaanotin-piirit asettavat solmujen määrälle ylärajan. Enimmäisnopeus on 1 Mbit/s, jolloin väylän maksimipituus on noin 40 m. Perusominaisuudet on koottu seuraavaan kuvaan (Kuva 5). Mikä tahansa solmuista voi pyytää väylälle haluamansa sanoman lähettämällä sanomaa vastaavan kyselykehyksen Solmujen lukumäärälle ei ole loogista ylärajaa. Käytännössä lähetin-vastaanotin asettaa rajan. -esim. 0-110, kun käytetään valmista IC-piiriä -esim. 0-200, kun käytetään erilliskomponentteja Väylän maksimipituus 40 m (1 Mbit/s nopeudella) 1 000 m (50 kbit/s nopeudella) Normaalisti parikaapeli; suurilla nopeuksilla kierretty ja joskus suojattu parikaapeli, pienillä nopeuksilla ei välttämättä kierretty eikä suojattu Sanoma lähetetään väylälle ilman lähettäjän tai vastaanottajan osoitetta. Sanoman tunnistenumero kertoo, mikä sanoma on kyseessä, esim. lämpötilasanoma, tunnistenumero 201. Mikä tahansa solmuista voi halutessaan vastaanottaa sanoman Mikä tahansa solmuista voi milloin tahansa yrittää lähettää sanoman väylälle. Jos useampi solmu yrittää lähettää sanoman yhtäaikaa, se sanoma, jonka tunnistenumero on pienin, pääsee väylälle Kuva 5. CAN-väylän perusominaisuudet. 2.2 Fyysinen kerros CAN on topologialtaan bus-tyyppiä, eli väyläkaapeli kulkee jokaisen aseman kautta ja se päätetään päätevastuksilla. CAN-väylään liitettävien asemien maksimimäärä riippuu solmujen lähetin-vastaanotin-kytkennästä. Loogista rajaa solmujen määrälle ei ole. Jos lähetin-vastaanotin toteutetaan valmiilla piirillä, solmujen lukumäärä voi parhaimmillaan olla yli 100 solmua uusimmilla piireillä. Diskreeteillä komponenteilla toteutettu lähetin-vastaanotin sallii esimerkiksi 200 solmua yhdelle väylälle. Näitäkin lukuja voidaan kasvattaa käyttämällä toistimia. Toistimet tosin lyhentävät väylän enimmäispituutta, koska ne lisäävät siirtotien viivettä. Väylän enimmäispituus maksiminopeudella 1 Mbit/s on 40 m. Enimmäispituutta ei voi kasvattaa parantamalla lähetin-vastaanotin-kytkentää, vaan enimmäispituus määräytyy siirtotien viiveen mukaan. Maksimipituus on siis kiinni elektronien tai oikeastaan sähkömagneettisen aallon kulkunopeudesta, joten maksimipituutta ei voi kasvattaa kuin siirtonopeutta alentamalla (esimerkiksi 50 kbit/s siirtonopeudella väylän pituus voi olla noin 1 km). Tämä ominaisuus johtuu CAN-protokollan kilpavarausperiaatteesta ja kehyksen sisäisestä kuittausbitistä, eli käytännössä tämä tarkoittaa sitä, että solmujen on otettava näyte yksittäisestä bitistä samalla ajan hetkellä (tietyllä tarkkuudella). Bitit koodataan väylälle sähköisesti siten, että nollabitti kumoaa ykkösbitin, eli jos yksi solmu kirjoittaa väylälle ykkösbitin ja toinen nollabitin, väylällä näkyy nollabitti. Ykkösbitin kirjoittanut solmu tietää silloin, että hän on menettänyt valtuuden väylään. CAN-prokollapiirit antavat mahdollisuuden kontrolloida bitin näytteenottohetkeä ja synkronointia. Täten tiedonsiirto voidaan optimoida sallimaan huonommat kellotoleranssit solmuilla tai sallimaan suuremman väyläpituuden, mutta ei molempia yhtäaikaa. Protokollapiirien toimittajat antavat tähän ohjeita (esim. Philips application note: Bit Timing Parameters for CAN Networks). - 5 -

Normaalisti käytetään parikaapelia, mutta myös muut ratkaisut, kuten optinen kuitu, ovat mahdollisia. Boschin CAN-spesifikaatiossa (CAN specification, version 2.0) ei määritellä fyysistä kerrosta eikä siten myöskään kaapelia. ISOn CAN-standardeissa vaaditaan parikaapeli. Korkeilla siirtonopeuksilla käytetään yleensä kierrettyä ja suojattua parikaapelia, mutta matalilla siirtonopeuksilla parikaapelin ei välttämättä tarvitse olla kierretty eikä suojattu. ISOn CAN-standardeissa ei määritellä liitintyyppiä, mutta joitakin sähköisiä parametreja liittimelle annetaan. Liittimet standardoidaan yleensä sovelluskohtaisissa standardeissa tai CAN-tukiryhmissä. Esimerkiksi CAN in Automation -ryhmä on standardoinut 9-napaisen D-liittimen CAN-liittimeksi. Jos halutaan käyttää jotakin muuta fyysisen kerroksen ratkaisua kuin parikaapelia, vaatimuksena on, että väylälle lähetetyt nollabitit kumoavat ykkösbitit eli nollabitit ovat dominoivia ja ykkösbitit resessiivisiä. 2.3 Siirtoyhteyskerros 2.3.1 Tiedonsiirron periaate CAN-protokolla käyttää objektiorientoitunutta tiedonvälitystä eli asemilla ei ole varsinaisia osoitteita, vaan sanomat numeroidaan ja lähetetään väylälle yleisesti vastaanotettavaksi. Esimerkiksi CANväylään liitettävä paineanturi voisi lähettää paineviestiä vaikkapa tunnistenumerolla 200. Tällöin kaikki ne solmut, jotka tarvitsevat paineviestiä, sieppaavat väylältä sanoman, jonka tunniste on 200. Muiden solmujen on tietenkin tiedettävä, että paineviestin tunniste on 200. Kukaan muu ei saa lähettää samalla tunnisteella, sillä jos kaksi solmua lähettää sanoman samalla tunnisteella samaan aikaan, sanomat törmäävät tavalla, jota CAN-protokolla ei salli. Tunnistenumeron pituus on 11 bittiä standardiformaatissa ja 29 bittiä laajennetussa formaatissa. 2.3.2 Kehysrakenne CAN-protokolla määrittelee neljä erilaista kehystä: varsinainen sanomakehys, kyselykehys, virhekehys ja ylikuormituskehys. Varsinaisen sanomakehyksen pääosat ovat tunnistekenttä, jossa on sanoman tunnistenumero, DLC-kenttä, joka ilmaisee tietokentän pituuden sekä tietotavujen kenttä, jonka maksimipituus on kahdeksan tavua. Muut kentät on esitelty seuraavassa kuvassa (Kuva 6). Standardiformaatti Pit. 47-111 bittiä + stuff-bitit S O F Tunniste 11 bittiä R I T D R E r0 DLC Tietokenttä 0-8 Tietotavua CRC 15 + 1 ACK Kehyksen loppu 7 resess. bittiä INT Väylä vapaa Laajennettu formaatti SOF RTR IDE INT SRR S O F = = = r0, r1 = DLC = CRC = ACK = = = Tunniste 11 bittiä S I R D R E Tunniste 18 bittiä R T r1 r0 R DLC Pit. 67-131 bittiä + stuff-bitit...loppu sama kuin standardiformaatissa kehyksen alku bitti, joka ilmaisee onko kyseessä tietokehys vai kyselykehys (dominantti = tietokehys, resessiivinen = kyselykehys) bitti, joka ilmaisee onko kyseessä standardimuotoinen vai laajennettu kehys (dominantti = standardimuotoinen, resessiivinen = laajennettu) varattu, ei käytössä 4 bittiä, jotka kertovat tietokentän pituuden tarkistussumma, 15 bittiä. CRC päätetään yhdellä resessiivisellä bitillä kuittauskenttä. Vastaanottavat solmut kirjoittavat dominantin bitin ens. bitin kohdalle, jos ovat saaneet sanoman. Toinen bitti on aina resessiivinen kehyksien välinen odotusaika, 3 resessiivistä bittiä RTR-bitin korvaava bitti Kuva 6. CAN-sanomakehyksen rakenne. Kyselykehys on muodoltaan muuten samanlainen kuin sanomakehyskin, mutta RTR-bitti on resessiivinen ja tietokenttää ei ole laisinkaan. Kyselykehyksellä voidaan pyytää väylälle haluttua sano- - 6 -

maa. Esimerkiksi, jos jokin solmuista haluaa vastaanottaa edellä kuvatun paineviestin, se voi lähettää väylälle kyselykehyksen tunnistenumerolla 200. Paineanturi vastaa kyselykehykseen lähettämällä paineviestin 1. Virhekehys lähetetään, jos sanomassa havaitaan virhe. Virhekehyksessä on kuusi dominanttia bittiä ja kahdeksan resessiivistä bittiä. Täten virhekehys rikkoo CAN-protokollan bit-stuff-säännön, josta seuraa, että kaikki solmut toteavat sanoman virheelliseksi ja hylkäävät sanoman. Tietyissä olosuhteissa solmu voi mennä ns. passiiviseen virhetilaan, jossa virhekehyksen muoto muuttuu; kuuden dominantin bitin sijasta lähetetään 6 resessiivistä bittiä. Tällöin kyseinen solmu ei enää sotke muiden solmujen liikennettä. Ylikuormituskehys voidaan lähettää sanomien välisenä aikana (INT-kenttä). Vastaanottavan solmun protokollapiiri voi tällä tavoin saada lisäaikaa juuri vastaanottamansa sanoman käsittelyyn. Ylikuormituskehys on muodoltaan samanlainen kuin aktiivinen virhekehyskin. Käytännön järjestelmissä ylikuormituskehyksiä ei juurikaan esiinny, koska uudet protokollapiirit eivät tarvitse lisäaikaa yksittäisen sanoman käsittelyyn. Bitit koodataan kantataajuisesti NRZ-bit-stuffing-koodauksella, eli jos lähetettävässä bittijonossa on peräkkäin viisi samaa bittiä, bittijonoon ympätään yksi vastakkainen bitti, joka sitten vastaanotettaessa karsitaan pois (bit-stuff-sääntö). Tiedonsiirto tapahtuu nopeasti: esimerkiksi nopeudella 1 Mbit/s 8 tietotavua siirtyy noin 130 mikrosekunnissa, kun ei esiinny kilpailua. Tiedonsiirtonopeus on ohjelmoitavissa ja on normaalisti välillä 10 kbit/s - 1 Mbit/s. 2.3.3 Kilpavaraus Mikä tahansa asemista voi yrittää tiedonsiirtoa aina kun väylä on vapaa. Jos useampi kuin yksi asema yrittää tiedonsiirtoa samaan aikaan, vuoro ratkaistaan sanoman tunnistenumeron perusteella bitti bitiltä seuraavan kuvan tapaan (Kuva 7). Kuvasta nähdään, että sanoma, jonka tunnistenumero on pienin, pääsee väylälle. Sanomatunniste määrää siis sanoman prioriteetin. Kolme solmua yrittää lähettää sanoman yhtäaikaa SOLMU1 SOLMU2 SOLMU3 SOLMU 1: 0 0 0 1 0 1 1 0 0 0 1 = 177 (esim. moottorin kierrosnop.) SOLMU 2: 0 * 1 1 0 0 1 0 1 1 0 1 = 813 (esim. jäähdytysveden lämpöt.) SOLMU 3: 0 0 0 1 * 1 0 1 1 0 1 0 = 218 (esim. ajoneuvon nopeus) VÄYLÄ : 0 0 0 1 0 1 1 0 0 0 1 = 177 (moottorin kierrosnopeus) * Asema huomaa menettäneensä valtuuden väylään, lopettaa lähettämisen ja jatkaa sanoman vastaanottajana. "Moottorin kierrosnopeus" voittaa valtuuden. Kuva 7. Kilpavarauksen periaate. Sanomat kilpailevat väylästä bitti bitiltä 11-bittisen tunnistenumeron aikana. (Huom.! Nollabitti kumoaa ykkösbitin.) 1 ISOn CAN-standardit eivät määrittele, mitenkä kyselykehykseen on reagoitava. Ne ainoastaan määrittelevät kyselykehysten lähetyksen ja vastaanoton. - 7 -

Koska kilpavaraus tehdään bitti bitiltä, solmuilla tulee olla yhtenäinen käsitys bitin tilasta tietyllä hetkellä. Tästä seuraa, että bitin kulkuaika väyläkaapelissa ei saa olla liian suuri. Tästä taas seuraa, että mitä suurempi siirtonopeus sitä lyhyempi väylä (1 Mbit/s -> 40m, 50 kbit/s -> n. 1 km). 2.3.4 Vasteaika Sanoman vasteaika 2 riippuu sanoman prioriteetista, sanoman pituudesta, siirtonopeudesta ja väyläkuormituksesta. Pienin vasteaika saadaan, jos sanoman tietokentän pituus on nolla tavua (ja ei yhtään stuff-bittiä), se pääsee heti väylälle ja siirtonopeus on 1 Mbit/s. Tällöin vasteaika on 47 µs. Suurimmillaan vasteaika on sanomalle, jolla on huono prioriteetti väyläkuormituksen ollessa 100%. Tällöin sanoma ei pääse koskaan väylälle. Kuvassa (Kuva 8) on esimerkki eräästä testijärjestelmästä, jossa oli neljä solmua ja neljä eri sanomaa, jotka aiheuttivat yhteensä noin 80 % väyläkuormituksen. Siirtonopeus oli 500 kbit/s. Kuvasta nähdään, että vasteaika mille tahansa sanomalle ja mille tahansa lähetyskerralle on jäänyt aina alle 0,8 ms:n. Statistic Values of KOE Message Delay Distribution (integral) Identifier [ Hex.] : all [ms] [%] Rate of Delayed Messages Average Delay : 271.1 us Standard Deviation : 124.9 us Busload (HELP) - Messload : 78.62 % - Errorframeload : 0.00 % - Totalload : 78.62 % Number of transferred Messages : 880 - Lost Arb.(HELP) : 294 - Remote Frames : 0 - Error Frames : 0 0.734 100!!!!!!!!!!!!!!!!!! 0.463!!!!!!!!!!!! 0.367 80!!!!!!!!! 0.347!!!!!!!!! 0.347 60!!!!!!!!! 0.245!!!!!! 0.232 40!!!!!! 0.130!!! 0.130 20!!! 0.116!!! 0 0 0.2 0.4 0.6 0.8 1.0 Delay Time [ms] Kuva 8. Vasteaika-analyysi eräälle testijärjestelmälle (tuloste I+ME-yhtiön analysaattorista). 2.3.5 Virheentarkistus Virheentarkistus suoritetaan CRC-summalla. Lisäksi seuraavia virheentarkistusmenetelmiä sovelletaan: lähettäjä monitoroi, onko väylällä sama bitti kuin lähetetty; bit-stuffing-säännön rikkomista ja kehykseen kuuluvia kiinteitä bittejä tarkkaillaan. Lisäksi lähetetyn sanoman kuittauskentässä on kuittausbitti; lähettävä asema kirjoittaa kuittausbitin kohdalla väylälle resessiivisen bitin. Asemat, jotka vastaanottavat sanoman virheettömästi, kirjoittavat väylälle kuittausbitin kohdalla dominoivan bitin. Täten lähettävä asema tietää, että vähintään yksi asema on vastaanottanut sanoman virheettömästi. Asema on normaalisti ns. aktiivisessa virhetilassa, jolloin se virheen havaittuaan lähettää väylälle kuusi dominoivaa bittiä. Kuusi dominoivaa bittiä rikkoo bit-stuffing-säännön, josta muut asemat voivat päätellä, että yksi asemista vastaanotti sanoman virheellisesti. Kaikki asemat hylkäävät sanoman ja lähettävä asema lähettää kyseisen sanoman uudestaan. Protokollapiireillä on virhelaskurit sekä lähetysvirheille että vastaanottovirheille. Asema, jonka lähetysvirheiden lukumäärä ylittää arvon 255, poistuu automaattisesti väylältä, jolloin se ei häiritse väylän muuta liikennettä. Sitä ennen se siirtyy ns. passiiviseen virhetilaan, jossa virhekehyksessä ei enää lähetetä dominantteja bittejä, 2 Vasteaika määritellään tässä yhteydessä ajaksi, joka kuluu lähetyspyynnön asettamisesta lähetyksen päättymiseen. - 8 -

vaan ainoastaan resessiivisiä bittejä. Täten passiivisessa virhetilassa oleva solmu ei enää estä muiden solmujen välistä liikennettä, mutta se yrittää silti lähettää ja vastaanottaa sanomia. Passiiviseen virhetilaan siirrytään, jos lähetys- tai vastaanottovirhelaskuri ylittää arvon 127. Virheentarkistus- ja kuittausperiaate takaa, että jos lähettävä solmu onnistuu suorittamaan sanoman lähetyksen loppuun, joku solmuista on saanut sanoman oikein ja mikään solmuista ei ole saanut sitä virheellisenä. Jos jokin solmuista ei saa sanomaa ollenkaan esimerkiksi liittimen irtoamisen takia, tällaista virhetilannetta ei havaita. Tällaiset virheet havaitaan solmuvalvonnan avulla. Solmuvalvonnalla tarkoitetaan sitä, että joku solmuista kyselee säännöllisin väliajoin, ovatko muut solmut vielä läsnä. Toinen vaihtoehto on, että solmut kyselevät toinen toisiltaan läsnäoloa. Solmuvalvonta ei kuulu varsinaisen CAN-protokollan piiriin eikä sitä ole CAN-standardeissa määritelty, mutta normaalisti sovelluskohtaiset CAN-standardit määrittelevät jonkinlaisen solmuvalvontamenettelyn. 3 BasicCAN JA FullCAN Alunperin CAN-protokollasta oli tarjolla kaksi erilaista piiritoteutusta:! Philips 82C200 BasicCAN-piiri! Intel 82526 FullCAN-piiri FullCAN-piirillä on edellä esitellyn siirtoyhteyskerroksen päällä vielä kolmas kerros, jota kutsutaan nimellä objektikerros (objektikerrosta ei sellaisenaan ole ISOn OSI-mallissa). FullCAN-piiri sisältää 56 tavua muistia, johon sekä vastaanotettavat että lähetettävät sanomat talletetaan. Muistin pieni koko olikin kyseisen FullCAN-piirin ongelma; muistiin mahtui ainoastaan viisi täysimittaista sanomaa. Vastaanotettujen sanomien karsinta tapahtuu objektikerroksessa automaattisesti. Protokollapiirille kerrotaan alustusvaiheessa, mitkä sanomat halutaan ottaa vastaan. Objektitasolla hoidetaan myös lähetettävien viestien priorisointi eli jos asema on lähettämässä useita sanomia väylälle, ne järjestetään prioriteetin mukaan. Täten matalan prioriteetin sanoma ei voi estää muiden sanomien pääsyä väyläkilpaan. Samoin vastaanotossa viestit käsitellään priorisoidusti. Objektikerros vastaa myös automaattisesti kyselykehykseen, jos ko. protokollapiirillä on kyselty sanoma. BasicCAN-piirillä ei ole sisäistä muistia eikä automaattista sanomien käsittelyä, vaan objektikerroksen tehtävät on tehtävä ohjelmallisesti. Täten BasicCANiä käytettäessä CPU:lle tulee enemmän kuormaa kuin FullCAN-piirin kanssa. Toisaalta objektikerros voidaan toteuttaa vapaammin. Esimerkiksi sanomat voidaan panna jonoon, jolloin samalla tunnisteella tuleva sanoma ei kirjoitu edellisen päälle, niin kuin käy FullCANin tapauksessa, vaan kaikki sanomat saadaan talteen (jos jonon pituus ja prosessorin nopeus riittävät). Sanomien karsintaa varten kyseisellä BasicCAN-piirillä on yksi kahdeksan bittinen maski, jolla sanomia voidaan esikarsia. Sen lisäksi joudutaan usein tekemään ohjelmallista karsintaa. Uudet protokollapiirit sisältävät enemmän tai vähemmän sekä BasicCAN- että FullCAN-toteutuksen. 4 Standard CAN ja Extended CAN Bosch on määritellyt CANistä version Extended CAN, jossa tunnistekentän pituus on 29 bittiä normaalin 11 bitin sijasta (Standard CAN). Extended CAN -määritys löytyy Boschin CAN-spesifikaation versiosta 2.0 part B. ISOn standardit määrittävät toistaiseksi ainoastaan 11 bittisen formaatin, mutta tuleva päivitys (ISO 11898-1) tulee sisältämään myös 29 bittisen tunnisteen. - 9 -

Syynä Extended CANin määritykseen on ollut, että sovelluskerroksen standardeja on ollut helpompi tehdä, kun tunniste on pidempi. Osaa tunnistenumerosta voidaan käyttää esimerkiksi lähettävän tai vastaanottavan solmun osoitteena. Esimerkiksi SAEn J1939-standardi kuorma-autoille, busseille ja työkoneille käyttää Extended CAN -versiota. Muuten Extended CANin käyttö ei tuo käytännössä mitään etua, enneminkin haittaa (pidemmät kehykset huonompi hyötysuhde), jonka takia sitä ei kovin paljon käytetä. Toisaalta osaa pidemmän tunnisteen biteistä voidaan käyttää myös datan välitykseen. Samalla väylällä voi periaatteessa olla sekä normaaleja että laajennettuja sanomakehyksiä, mutta vanhat protokollapiirit eivät osaa käsitellä laajennettuja kehyksiä. Uudemmat piirit sen sijaan hallitsevat sekakäytön, ainakin passiivisesti (eli piiri ei mene sekaisin eri mittaisista sanomatunnisteista). 5 CAN Low Speed ja CAN High Speed Aikaisemmin jo mainittiin, että ISO on standardoinut CAN-väylän kahdella perusstandardilla. Toinen niistä, ISO/DIS 11519-2, on matalien siirtonopeuksien standardi (ISO Low Speed) ja toinen, ISO 11898, on korkeitten siirtonopeuksien standardi (ISO High Speed). Ne eroavat toisistaan ainoastaan fyysisen kerroksen parametrien osalta, protokollaltaan ne ovat täysin samanlaisia. Low Speed -standardin motiivina on ollut mahdollisuus toteuttaa kustannuksiltaan alhaisempia kaapelointiratkaisuja lähinnä henkilöautoissa. High Speed -standardia käytetään kuitenkin laajemmin, myös alhaisilla siirtonopeuksilla. Yhtenä syynä tähän on ollut, että High Speed -standardin mukaisia lähetinvastaanotin-piirejä on ollut saatavissa jo pitkään. Seuraavassa kuvassa (Kuva 9) on esitelty Low Speed- ja High Speed -standardin mukaiset signaalitasot. High Speed Low Speed 3,5 V 2,5 V CAN_H resess. domin. resess. 4,0 V 3,25 V CAN_H resess. domin. resess. 1,5 V CAN_L 1,75 V 1,0 V CAN_L Kuva 9. High Speed- ja Low Speed -standardien mukaiset jännitetasot. High Speed -väylä päätetään molemmista päistään noin 120 ohmin vastuksella. Low Speed -väylä päätetään yhdestä (mistä tahansa) kohdasta erityisellä kytkennällä. ISOn Low Speed -standardia ei ole paljonkaan käytetty, joten se saatetaan poistaa käytöstä. Sen sijaan piirivalmistajilta on tullut omia low speed -ratkaisuja, joissa on lisäksi vikasietoisuusominaisuuksia, eli ne toimivat myös osittaisissa oikosulku- tai katkostilanteissa. Näiden piirien maksimi tiedonsiirtonopeus on yleensä 125 kbit/s, eli ne on tarkoitettu lähinnä autojen korielektroniikkaan. - 10 -

6 Toteutustapoja ja komponentteja CAN-protokollan toteuttavia piirejä on saatavilla useita. Ne voidaan jakaa kolmeen luokkaan: prosessorin yhteyteen liitettävät protokollapiirit, mikrokontrollerit, joihin on integroitu CAN-liityntä ja SLIO-CAN-piirit (Serially Linked I/O) (Kuva 10). Mikroprosessori + CAN-protokollapiiri + lähetin-vastaanotin I/O up CAN CAN-protokollapiiri integroitu prosessoripiirille + lähetin-vastaanotin CAN-sanoman suoraan I/Osignaaleiksi muuttava SLIO + lähetin-vastaanotin I/O up CAN I/O SLIO CAN Kuva 10. CAN-solmun eri toteutustapoja. SLIO-piireillä voidaan toteuttaa yksinkertaiset ja periaatteessa edulliset anturi- tai toimilaitesolmut. SLIO-piirillä ei ole suoritinta, vaan solmun tulosignaalit lähetetään suoraan CAN-sanomina tai vastaavasti CAN-sanomat tulkataan suoraan lähtösignaaleiksi. SLIO-piiri ei välttämättä tarvitse kideoskillaattoria pienillä siirtonopeuksilla, vaan se pystyy synkronoimaan kellonsa väylälle lähetettävien sanomien avulla. SLIO-piirien käyttö on kuitenkin käytännössä vähäistä, koska niiden kustannustehokkuus ei ole ollut riittävä; CAN-liitynnällä varustetut mikrokontrollerit ovat monipuolisempia ja niiden hinnatkin ovat siedettävän pieniä, joten SLIO-konsepti on käytännössä jäänyt pois käytöstä. Varsinaisten CAN-protokollan sisältävien piirien lisäksi markkinoilla on piirejä, joilla voidaan toteuttaa CAN lähetin-vastaanotin. Vikasietoisia lähetin-vastaanotin-piirejä on myös saatavilla, mutta normaalisti niillä pääsee vain 125 kbit/s nopeuteen ja niitä voi käyttää vain 12 V:n järjestelmissä. Tällaiset piirit onkin suunniteltu lähinnä henkilöautojen korielektroniikkaan. Käytännössä lähes kaikki merkittävät piirivalmistajat tuottavat CAN-piirejä, esim. Alcatel/Mietec, Bosch, Fujitsu, Hitachi, IAM/SICAN, Inicore, Intel, Micronas Intermetall, Microchip, Mitsubishi, Motorola, National Semiconductor, NEC, OKI, Philips, ST-Microelectronics/SGS-Thomson, Siemens/Infineon, Temic, Texas Instruments, Toshiba ja Unitrode. Selkeä trendi on, että yhteen mikrokontrolleriin pyritään integroimaan kaksi tai useampi CAN-liityntää. Tämä johtuu siitä, että yksittäinen ohjausjärjestelmä koostuu usein useammasta hierarkkisesta osajärjestelmästä ja näiden osajärjestelmien välillä halutaan välittää tietoa; mikrokontrollerilla, jossa on kaksi CAN-liityntää, tällaiset yhdyskäytävät voidaan helposti toteuttaa. Katsauksia piirivalikoimaan löytyy kappaleessa 10 esitetyiltä Internet sivuilta. - 11 -

7 CAN-työkalut CAN-väylää käyttävien järjestelmien suunnitteluun ja analysointiin on saatavissa erilaisia työkaluja useilta eri valmistajilta. Perustyökaluna voidaan pitää PC-koneeseen liitettävää CAN-korttia. Usein tällaisen kortin mukana saa jonkinlaisen monitoriohjelman, jonka avulla voi lähettää ja vastaanottaa yksittäisiä CANsanomia. Hinnat ovat yleensä muutamia tuhansia markkoja; monitoriohjelmankin kanssa hinta jää alle 5 000 mk:n. PC-CAN-korttia ja monitoriohjelmaa kehittyneempi työkalu on CAN-emulaattori. Järjestelmän integroija voi käyttää emulaattoria järjestelmän kehitysvaiheessa korvaamaan puuttuvat solmut. Moduulisuunnittelija taas voi ohjelmoida emulaattorin matkimaan järjestelmän muiden solmujen CANliikennettä, kun hän testaa oman solmunsa toimintaa. CAN-emulaattori voi sisältää myös CAN-analysaattorin ominaisuuksia. Analysaattorilla voidaan seurata väyläliikennettä ja tallettaa sitä muistiin, tilastoida vasteaikoja ja väyläkuormitusta sekä laskea virhekehyksiä. Joissakin emulaattoreissa/analysaattoreissa on mahdollisuus lähettää tahallaan virheellisiä CAN-sanomia tai vastaanottaa tahallaan kehys virheellisesti, josta seuraa virhekehyksien lähetys. Analysaattori voi olla myös erillinen kokonaisuus ilman emulaattoriominaisuuksia, jolloin se ei itse osallistu väyläliikenteeseen, vaan ainoastaan kuuntelee sitä. Emulaattorien hinnat ovat kymmenissä tuhansissa markoissa, esim. 35 000 mk. Yleensä emulaattori/analysaattori koostuu PC-CAN-kortista ja ohjelmistosta. CAN-simulaattorilla järjestelmän väyläliikennettä voidaan simuloida etukäteen ennen kuin laitteistoa on olemassa. Järjestelmä kuvataan simulaattorille, jonka jälkeen simulaattori laskee väyläliikenteelle vasteaikoja ja väyläkuormituksen. Simulaattoria voi käyttää vasteaikojen tarkistamiseen ja sanomatunnisteiden optimointiin (sanomatunnistehan määrää sanoman prioriteetin ja vaikuttaa siten sanoman vasteaikaan). Simulaattorin hinta on esim. 20 000 mk. Simulaattoreista ei ole paljon tarjontaa. Kenttäväylätyyppisessä käytössä, jos väyläkuormitus ei ole suuri, simulaattorista ei ole paljonkaan hyötyä. CAN-järjestelmien kenttätestaukseen on saatavissa pieniä käsitestereitä. Ne toteuttavat osan CAN-monitoreiden, emulaattoreiden ja -analysaattoreiden ominaisuuksista. Hinta tällaiselle testerille on esim. 7 000 mk. Joiltakin toimittajilta on saatavissa opetuspaketteja ja evaluaatiokortteja, jotka ovat hyödyllisiä ei pelkästään aloittelijalle, vaan myös emulointikäyttöön; niillä voi tehdä ensimmäiset prototyypit solmuista. Myös SLIO-piireille on saatavissa opetuspaketteja. Hinnat evaluaatiokorteille ovat 1 500-5 000 mk (SLIO-kortit halvempia) ja opetuspaketeille 4 000-20 000 mk. - 12 -

8 Ylemmän kerroksen arkkitehtuurit Käytännön sovelluksissa protokollapiirin tarjoamien palveluiden lisäksi tarvitaan joukko ylemmän kerroksen palveluita, joita CAN-standardissa itsessään ei ole määritelty ja jotka joudutaan toteuttamaan ohjelmistolla (Kuva 11). Tällaisia palveluita ovat mm. lohkosiirto, kuittauksellinen tiedonsiirto, solmuvalvonta ja verkonhallinta. Verkonhallinta sisältää solmujen hallitut käynnistykset ja sammutukset. Tällaiset palvelut voidaan suunnitella itse tai voidaan käyttää valmiita spesifikaatioita, joita maailmalla on julkistettu. Yleiskäyttöisiä spesifikaatioita ovat mm. CAN in Automation -ryhmän CA- Nopen ja ruotsalaisen Kvaser AB:n CAN Kingdom. Yleiskäyttöisten standardien tai spesifikaatioiden lisäksi on tekeillä useita sovelluskohtaisia standardeja ja sovellusprofiileja, joita tehdään eri standardoimisjärjestöjen toimesta. Sovellus Solmuosoitteen asetus. Siirtonopeuden ja läh. vast.- ottimen asetus Valvonta- ym. verkonhallinta Kommunikointipalvelut Laiteajuri (+ liityntä käyttöjärjestelmään) Siirtoyhteyskerros Fyysinen kerros 'Ylempi kerros' Jonot tai bufferit Protokollapiiri CAN-väylä Kuva 11. Protokollapiirin tarjoamien palvelujen päälle voidaan rakentaa lisäpalveluja, joita kutsutaan ylemmän kerroksen palveluiksi. Taulukossa 1 on listattu tekeillä olevat tai valmiit sovelluskerroksen standardit. - 13 -

Taulukko 1. Valmiina tai tekeillä olevat ylemmän kerroksen CAN-standardit. STANDARDI SOVELLUSALUE Standardoimisjärjestöjen standardit SAE J1939 (useita osia) Recommended Practice for a Serial Control And Communications Vehicle Network (Class C) ISO 11992 (osat 1-3) Road Vehicles Electrical Connections between towing and towed vehicles Interchange of digital information. M3S A general-purpose Multiple Master Multiple Slave intelligent interface for the rehabilitation environment (tulossa ISO-standardina ISO/CD 717617; työryhmä ISO/TC 173/WG 7) ISO 11783 (useita osia) Machinery for agriculture and forestry - Data bus system DIN 9684 Teil 3 Agricultural tractors and machinery; Interfaces for signal transfer; Initialization, Identifier (Draft) ISO/CD 15765 (osat 1-4) Diagnostics on CAN (työryhmä ISO/TC22/SC3/WG1/TF2) Muut (kaupalliset, de-facto, ym.) OSEK Open Systems and Interfaces in Motor Vehicles (mahdollisesti tulossa ISO-standardiksi; työryhmä ISO TC22 SC3 WG1) NMEA 2000 The Network Standard for Interfacing Marine Electronics Devices (tulossa standardina IEC 1162-3) SDS Smart Distributed System (standardoitumassa Euroopassa standardilla: PrEN 50325-3; kansainvälisesti standardilla IEC/FDIS 62026-5) DeviceNet (standardoitumassa Euroopassa standardilla: PrEN 50325-2; kansainvälisesti standardilla IEC/FDIS 62026-3) CAL CAN Application Layer (CAN in Automation standardit DS201-207) CANopen (CAN in Automation standardi DS 301; standardoitumassa Euroopassa standardilla: PrEN 50325-4) Busseihin, kuorma-autoihin ja niiden peräkärryihin, työkoneisiin, maatalouskoneisiin, esim. traktoreihin ja niiden perään liitettäviin työkoneisiin Rekan nupin ja perävaunun välinen CAN-yhteys Pyörätuoleihin ja muihin vammaisten apuvälineisiin Traktoreihin ja niiden perään liitettäviin työkoneisiin. Pohjautuu SAE J1939 ja DIN 9684 -standardeihin Traktoreihin ja niiden perään liitettäviin työkoneisiin. (Teil 2:ssa fyysisen kerroksen määrityksiä ja Teil 1:ssä liittimen määritys.) Autojen diagnostiikka CAN-väylän kautta Boschin, Daimlerin, BMW:n, Opelin, Renaultin, VW:n ja parin muun organisaation määrittelemä ylemmän kerroksen standardi autoihin. OSEK on periaatteessa käyttöjärjestelmämäärittely, mutta se sisältää myös kommunikointimäärittelyn. Tukee CANin lisäksi periaatteessa mitä tahansa väylää, mutta käytännössä ensimmäiset toteutukset tehdään CAN-väylällä. J1939-standardiin perustuva CAN-sovelluskerros laivoihin (Navigation Systems) Anturit, toimilaitteet, PLC. Honeywellin I/O-väylä Anturit, toimilaitteet, PLC. Allen Bradleyn I/O-väylä CAN in Automation -ryhmän yleiskäyttöinen standardi. Tämä standardi on väistymässä CANopenin tieltä Yleiskäyttöinen ylemmän kerroksen kommunikointiprotokolla, jonka lähtökohtana alunperin oli anturit, toimilaitteet, ohjelmoitavat logiikat (PLC) ja servo-ohjaukset, mutta nykyään sitä käytetään useissa sovelluskohteissa, kuten bussit ja trukit. CANopenin päälle on määritelty useita laiteprofiileja, joista esimerkkinä 'Device profile for I/O-modules' (DS401) CAN Kingdom Kvaser AB:n (Ruotsi) spesifioima yleiskäyttöinen standardi CDA-101 (Target's Common Digital Architecture) CAN Kingdomiin perustuva USA:n puolustusvoimien standardi liikkuvien maalien ohjausjärjestelmiin (Target Control Systems) - 14 -

9 Käyttäjäorganisaatiot CAN-väylää tukevia käyttäjäorganisaatioita ovat kansainväliset CAN in Automation (CiA) -ryhmä ja Open DeviceNet Association (ODVA). 9.1 CAN in Automation CAN in Automation -ryhmän toimisto on Saksassa, ja ryhmä on hyvin saksalaispainotteinen. Ryhmään kuuluu yli 350 yritystä tai yhteisöä. Ryhmän tavoitteena on ollut standardoida puuttuvat osat CANin fyysisestä kerroksesta (lähinnä liitin) (standardin numero CiA/DS 102 versio 2) sekä ylempi kerros (CAN Application Layer, CAL; standardin numero CiA/DS 201... DS205, DS207 sekä CANopen, DS301). Ryhmä antaa jäsenilleen markkinointitukea (yhteisesiintymiset messuilla, ostajan oppaat jne.) sekä teknistä tukea (esim. seminaarit, työpajat). Ryhmän sisällä on useita sovellusryhmiä (special interest group), jotka pyrkivät standardoimaan CANin johonkin tiettyyn sovellukseen. Käytännössä tämä tapahtuu tekemällä sovellusprofiileja CANopen protokollaan. CiAryhmän sihteeri toimittaa myös CAN Newsletter -nimistä CAN uutislehteä, joka ilmestyy neljä kertaa vuodessa kaikille jäsenille, mutta sen voivat muutkin tilata hintaan 24 DEM / vuosi. Se sisältää lähinnä tuotetietoa, mutta myöskin uutisia CAN maailmasta. Yhteystiedot: 9.2 ODVA CAN in Automation e.v. Am Weichselgarten 26 D-91058 Erlangen GERMANY puh. +49-9131-69086-0 faksi +49-9131-69086-79 web http://www.can-cia.de e-mail headquarters@can-cia.de Open DeviceNet Vendor Association (ODVA) on käyttäjäryhmä, joka tukee pelkästään DeviceNet ylemmän kerroksen protokollaa. DeviceNet protokollaa käytetään lähinnä kappaletavara-automaatiossa anturi- ja toimilaiteväylänä. ODVA ylläpitää tuotekatalogia DeviceNet tuotteista ja kehittää (ja myy) DeviceNet spesifikaatiota. Yhteystiedot: ODVA William H. (Bill) Moss, Executive Director 20423 State Road 7 - Suite 499 - Boca Raton, FL 33498 USA puh. +1 954 340-5412 or +1 561 477-7966 faksi +1 954 340-5413 or +1 561 477-6621 web http://www.odva.org e-mail odva@powerinternet.com - 15 -

10 Lisätietoa Lisätietoa CAN-väylästä saa parhaiten Internetistä seuraavista osoitteista: http://www.can-cia.de CAN in Automation ryhmän web-sivut http://www.kvaser.se Kvaser AB:n web-sivut http://www.mfuniversity.com/siemens/can.html CAN multimediakurssi http://www.omegas.co.uk/can Mike Schofieldin CAN-sivut http://www.vector-informatik.de/v1_99/english/canlist/ CAN-postituslistan arkisto (kysymyksiä ja vastauksia käytännön ongelmiin) Myös piirivalmistajien Internet sivuilta löytyy tietoa CAN-väylästä sekä heidän omiin piireihinsä liittyviä sovellusohjeita (application notes). 11 Yhteenveto CAN-väylä on kypsää kommunikointitekniikkaa, jonka etuina ovat:! useita piirivalmistajia sitoutunut siihen ja useita soveltajia niin kone- kuin teollisuusautomaatiossakin! nopea! kevyt ja helpohko toteuttaa! standardoitu (1. ja 2. kerros, useita 7. kerroksia)! edulliset komponentit! tarjontaa sekä komponenteissa että työkaluissa on riittävästi; myös kommunikointiohjelmistopaketteja eri CAN-piireille ja prosessoreille on saatavissa! luotettava. Haittoina ovat:! ei ole deterministinen; maksimi vasteaika voidaan taata vain korkeimman prioriteetin sanomalle! suurien datamäärien siirtoa varten tarvitaan lisäprotokollaa! sanomatunnisteiden jakaminen sanomille voi olla ongelmallista, koska tunniste määrää sanoman prioriteetin! väylän pituus rajoittuu käytetyn siirtonopeuden mukaan! väyläparametrien (esim. näytteenottohetki) optimointi hankalaa! useita sovelluskerroksen protokollia ja liitinstandardeja, joten moduulivalmistaja joutuu tukemaan useita eri protokollia. - 16 -