• Ei tuloksia

Reititys lopullisessa sovelluksessa

Lopullisessa sovelluksessa reititys toteutetaan kahdella tasolla: sovellus- ja ajuritasolla.

Kuten aiemmin todettu sovellustason reitityksen viiveet kasvavat kriittisten viestien kohdalla liian suuriksi, joten parhaassa mahdollisessa tapauksessa kaikki viestit reititet-täisiin ajuritasolla. Se ei kuitenkaan ole mahdollista, koska palveluobjektien reititys vaa-tii sovellustason logiikkaa eli palveluobjektiviestit on pakko reitittää sovellustason kaut-ta. Ajureissa ei voida tietää, onko orjalaitteilta tuleva palveluobjektiviesti vastaus väylän hallintalaitteen vai etähallintalaitteen tekemään palveluobjektipyyntöön. Mikäli viesti on vastaus etähallintalaitteen tekemään pyyntöön, sitä ei saa reitittää väylän hallintalaitteel-le. Tämä päättely vaatii tarkkaa kirjanpitoa käynnissä olevista palveluobjektioperaatiois-ta ja se täytyy toteutpalveluobjektioperaatiois-taa sovelluspalveluobjektioperaatiois-tasolla. Hallinpalveluobjektioperaatiois-talaitteelpalveluobjektioperaatiois-ta tulevat palveluobjektipyynnöt pitää reitittää sovellustason kautta, koska muuten etähallintalaite ja väylän hallintalaite saattavat tehdä samanaikaisesti palveluobjektioperaatioita samalle orjalaitteelle. Tämä tilanne voidaan pois sulkea sovellustasolla. Järjestelmän toiminnan kannalta palveluob-jektit ovat kuitenkin matalan prioriteetin viestejä eli ne voidaan reitittää sovellustason kautta.

Ajuritasolla reititetään kaikki muut viestit paitsi palveluobjektiviestit. Ongelma on kuitenkin se, että miten ajureille voidaan helposti kertoa, mitkä viestit tulee reitittää?

CANopen-viestitunnisteet rakentuvat siten, että tämä ei ole mahdollista yksinkertaisella viestitunnistemaskilla. Kuten luvussa 3.4 todettiin, CANopen-protokollassa palveluob-jekteille on varattu tietty, yhtenäinen alue viestitunnisteavaruudesta. Tätä tietoa voidaan käyttää hyväksi viestien reitityksessä. Kuva 7.5 havainnollistaa tilanteen.

Kuva 7.5. Ajuritason reitityksen lopullinen toteutus.

Kuvassa 7.5 on sama tilanne kuin kuvassa 6.7, mutta nyt viesti lisätään toisen CAN-kanavan lähetyspuskuriin vain, jos viestitunniste on pienempi kuin määritelty alaraja tai suurempi kuin määritelty yläraja. Ala- ja ylärajoiksi molemmille WRM-laitteen CAN-liitynnöille määritellään palveluobjekteille varatun viestitunnisteavaruuden ala- ja ylära-ja. Jotta ratkaisu olisi mahdollisimman yleiskäyttöinen, määriteltiin ajureiden ioctl-funktioon uusia pyyntökoodeja. Kyseisen funktion avulla voidaan manipuloida Linux-järjestelmässä tiettyyn oheislaitteeseen sidottuja toimintoja ja parametreja sekä uusia

CAN-ohjain CAN-ajuri

CAN-viesti saapunut (keskeytys)

Lisää viesti vastaanottopuskuriin

[viestitunniste < alaraja TAI viestitunniste > yläraja]

Lisää viesti toisen CAN-kanavan lähetyspuskuriin

pyyntökoodeja määrittelemällä voidaan laitteeseen lisätä uusia toiminnallisuuksia [33].

Taulukossa 7.1 on esitetty pyyntökoodit reitityksen toteuttamiseksi.

Taulukko 7.1. Ajureihin määritellyt pyyntökoodit reititystä varten

Pyyntökoodi Merkitys

ROUTING_LIMIT_HIGH Asettaa reitityksen ylärajan ROUTING_LIMIT_LOW Asettaa reitityksen alarajan

ENABLE_ROUTING_LIMITS Ottaa käyttöön sekä ylä- että alarajan DISABLE_ROUTING_LIMITS Poistaa käytöstä sekä ylä- että alarajan

Taulukosta havaitaan, että tarvitaan yhteensä neljä uutta pyyntökoodia. Kuten huoma-taan, reititysrajat voidaan asettaa ajureille, joten rajoja voidaan sovelluksen mukaan muuttaa tarvittaessa. Rajat tulee ottaa käyttöön erillisellä pyyntökoodilla, koska muuten ei voida varmistaa, että asetetut ylä- ja alaraja otetaan käyttöön ajureiden näkökulmasta atomisesti. Kun rajoja ei enää haluta käyttää, otetaan ne pois käytöstä myös erillisellä pyyntökoodilla.

Sovellustasolla reititetään palveluobjektiviestit. Reititys tapahtuu kuvan 7.6 mu-kaisesti.

Kuva 7.6. Palveluobjektien reititys.

Kuvassa LLC-komponentti kutsuu ITarkkailija-rajapinnan toteuttavaa CANopen-ohjelmointirajapinnan instanssia ja sen viestien vastaanottopalvelua. Ohjelmointiraja-pinta tarkistaa kaikki vastaanotetut viestit ja jos jokin niistä on palveluobjekti viesti, joka pitää reitittää, se kutsuu LLC-komponentin viestien kirjoituspalvelua kyseiselle viestille. Viesti kirjoitetaan eri CAN-kanavaan, kuin mistä viesti vastaanotettiin. Ohjel-mointirajapinnan instanssi myös pitää kirjaa väylän alkuperäisen hallintalaitteen tämän hetkisistä palveluobjektioperaatioista.

LLC-komponentti ITarkkailija:

ohjelmointirajapinta

Viestejä vastaanotettu

[Reititettävä palveluobjekti]

Kirjoita viesti väylälle

Viestit luettu OK

Tarkista vastaanotetut viestit

Kirjoitus OK

8 TOTEUTUKSEN TUNNUSLUKUJA

Luvussa 7 esiteltyjen periaatteiden mukaan toteutetun CANopen-sillan avulla mahdol-listetaan tavoitellut prosessisignaalien ja hätäviestien kuuntelu sekä palveluobjektiope-raatioiden suoritus. Nämä ominaisuudet testattiin huolellisesti myös mahdollisissa vir-hetilanteissa useiden kaupallisten laitteiden avulla. Tärkein osa toteutuksen testausta kuitenkin on, että väylän alkuperäinen toiminta ei häiriinny reitityksen seurauksena.

Käytännössä tämä tarkoittaa, että sillan aiheuttamat viiveet on pidettävä lopullisessa sovelluksessa mahdollisimman alhaisina.

On vaikea määrittää yleispäteviä rajoja, jotka ilmaisevat reititykselle sallitut vii-veet. Kyseiset rajat riippuvat tarkasteltavasta järjestelmästä. Ekiz et al. [34, s. 185–187]

esittävät SAE-suorituskykytestin käyttöä siltaratkaisun reititysviiveiden määrityksessä.

Mittauksessa käytetään 53 eri viestitunnistetta, jotka jaetaan yhteensä seitsemän eri lä-hettävän laitteen kesken. Jokaiselle viestille määritellään aika, jonka välein viesti lähete-tään väylälle sekä sallittu viive, joka kertoo maksimiviiveen, joka viestille hyväksylähete-tään.

Vaikka kyseinen suorituskykytesti on alun perin tarkoitettu autoteollisuuden tarpeisiin, voidaan testin määrittelemien viestien ja viiveiden avulla simuloida oikean CAN-järjestelmän kuormia, prioriteetteja sekä viestejä. Kindell et al. [35, s. 5–7] esittävät SAE-suorituskykymittauksessa käytettävät viestitunnisteet, viesteille määritellyt lähe-tysaikavälit sekä sallitut viiveet. Tutkimuksessa esitetään myös laskelmia SAE-suorituskykymittauksen aiheuttamista väyläkuormista ja millä ehdoilla viestien lähetys toimii siten, että sallittua viivettä ei ylitetä.

SAE-suorituskykymittaus valittiin käytettäväksi lopullisen CANopen-siltatoteutuksen reititysviiveiden määrityksessä. Testiympäristöksi valittiin luvun 6.3 kaltainen järjestely, mutta nyt viestien lähetys tapahtuu kahteen suuntaan, kuten kuvassa 8.1 on esitetty. Viiveiden laskenta tapahtuu luvussa 6.3 esitettyjen periaatteiden mu-kaan. Testissä käytettiin baudinopeuksina 250, 500 ja 1000 kilobaudia. Testistä jätettiin pois 125 kilobaudin väylänopeus, koska Kindell et al. [35, s. 8–9] esittävät, että SAE-suorituskykytestistä aiheutuva väyläkuorma olisi 125 kilobaudin väylänopeudella yli 125 % eli huomattavasti yli maksimiväyläkuorman. Näin ollen on ymmärrettävää, että SAE-suorituskykytestiä käytettäessä 125 kilobaudin väylänopeudella ei voida taata, että kaikki viestit voidaan reitittää sallitussa ajassa.

Kuva 8.1. SAE-suorituskykytestijärjestely.

Testissä päädyttiin käyttämään SAE-suorituskykymittauksessa määriteltyjä 53 eri viesti-tunnisteen omaavaa viestiä sekä niille määriteltyjä sallittuja viiveitä. Viestit käyttivät CAN-viestitunnisteita 0x01-0x35. Koska kyseiset viestitunnisteet ovat kaikki korkean prioriteetin viestejä eli ne reititetään kaikki ajuritason kautta, päätettiin mukaan lisätä vielä seitsemän viestitunnistetta, jotka kuuluvut palveluobjektien viestitunnisteavaruu-teen: 0x581, 0x582, 0x583, 0x584, 0x601, 0x602 sekä 0x603. Näin testiin saadaan mu-kaan myös sovellustason kautta reititettäviä viestejä. Viestit jaettiin siten, että kuvassa esitetyn Kvaser USB-CAN1-adapterin kautta lähetetään viestit, joilla on pariton viesti-tunniste ja Kvaser USB-CAN2-adapterin kautta lähetetään viestit, joilla on parillinen viestitunniste. Testeissä käytetyt viestitunnisteet, viesteille määritellyt lähetysaikavälit, sallitut viiveet sekä tulokset on esitetty liitteissä 2, 3 ja 4.

Tutkimalla liitteissä 2, 3 ja 4 esitettyjen taulukoiden maksimiviiveiden sarakkei-ta, huomataan, että korkean prioriteetin viestien (viestitunnisteet 0x01-0x35) maksimi-viiveet pysyivät 500 ja 1000 kilobaudin väylänopeuksilla kaikissa tapauksissa alle yh-den millisekunnin. 250 kilobaudin väylänopeudella korkean prioriteetin viestien mak-simiviiveet olivat keskimäärin suurempia, mutta ne pysyivät kuitenkin alle kolmessa millisekunnissa. Sovellustason kautta reititettävien matalan prioriteetin palveluobjekti-viestien maksimiviiveet olivat korkean prioriteetin viestejä suurempia, kuten luvussa 6.3.3 esitettyjen mittaustulosten pohjaltakin voidaan olettaa. Tutkimalla liitteiden 2, 3 ja 4 esittämien taulukoiden viimeisiä sarakkeita, jotka kertovat, kuinka paljon maksimivii-ve voisi kasvaa, jotta se saavuttaisi sallitun viimaksimivii-veen, voidaan huomata, että kaikki sarak-keissa esiintyvät arvot ovat positiivisia. Tämä tarkoittaa, että mikään viesteistä ei ylittä-nyt asetettuja sallittuja viiveitä valituilla väylänopeuksilla. Taulukkoon 8.1 on kerätty liitteiden 2, 3 ja 4 taulukoista eri baudinopeuksilta ne korkean ja matalan prioriteetin viestit, joiden maksimiviiveet olivat suhteellisesti lähimpänä sallittuja viiveitä. Näiden avulla voidaan määrittää, kuinka paljon tietyllä baudinopeudella voivat korkean ja mata-lan prioriteetin viestien reititysviiveet kasvaa siten, että ne kuitenkin pysyvät sallittujen rajojen sisällä.

Taulukko 8.1. Lähimpänä sallittuja viiveitä olevat viestit eri väylänopeuksilla.

Väylänopeus (kilobaudia)

Viestitunniste (hex)

Sallittu viive (us)

Max viive (us)

(Sallittu-Max)/Max (us)

250 2B 5000 2346 1,13

250 581 50000 33589 0,49

500 2A 5000 962 4,20

500 584 50000 36065 0,39

1000 31 5000 556 7,99

1000 582 50000 29258 0,71

Taulukosta huomataan, että 250 kilobaudin väylänopeudella korkean prioriteetin viesti-en reititysviiveet saisivat kasvaa maksimissaan 113 % ja matalan prioriteetin viestiviesti-en reititysviiveet 49 % ennen kuin viestit saavuttaisivat sallitun viiveen. 500 kilobaudin väylänopeudella vastaavat lukemat ovat 420 % ja 39 % sekä 1000 kilobaudin nopeudel-la 799 % ja 71 %. Näin ollen voidaan todeta, että reititys on saatu optimoitua hyvälle tasolle ja reititykselle asetetut tavoitteet saavutetaan valituilla suunnitteluratkaisuilla.

Ekiz et al. [34, s. 187] esittävät tutkimuksessaan samankaltaisia tuloksia kahteen seg-menttiin jaetulle siltatoteutukselle.

9 YHTEENVETO

Tämän työn tavoitteena oli tutkia mahdollisuuksia liittää etähallintalaite osaksi CANopen-järjestelmää. Vaatimuksina olivat, että etähallintalaitteella tulee pystyä kuun-telemaan haluttuja prosessisignaaleita ja hätäviestejä sekä suorittamaan palveluobjek-tioperaatioita, joiden avulla järjestelmää voidaan etäkonfiguroida. Lisäksi menetelmälle asetettiin vaatimuksiksi, että etähallintalaitteen tulee olla yleiskäyttöinen ja etähallinnan liittäminen osaksi CANopen-järjestelmää ei saa aiheuttaa muutoksia väylän alkuperäi-siin laitteialkuperäi-siin. Teoreettisen tarkastelun pohjalta oli tarkoituksena valita yksi menetelmä toteutettavaksi. Etähallintalaitteelle tuli määritellä ohjelmistorakenne, joka mahdollistaa valitun menetelmän toteuttamisen. Erityisesti kehityksen kohteena oli sovellustason CANopen-protokollamoduuli sekä CANopen-ohjelmointirajapinta.

Etähallintalaitteen liittämiseksi osaksi CANopen-järjestelmää valittiin yhteensä neljä erilaista menetelmää, jotka kaikki mahdollistavat prosessisignaalien ja hätäviestien kuuntelun sekä palveluobjektioperaariot. Menetelmistä laitetunnisteavaruuden jakami-nen osiin sekä jaetun objektikanavan käyttö olivat potentiaalisia, mutta niiden käyttö vaatisi muutoksia alkuperäisen väylän laitteisiin. Niinpä kyseiset menetelmät jouduttiin sulkemaan pois. Nykyisen hallintalaitteen korvaaminen etähallinlaitteella puolestaan olisi hyvä ratkaisu, jos etähallintalaitteelta ei vaadittaisi geneerisyyttä. Lopulta mene-telmäksi valittiin CANopen-silta, joka on CANopen-standardin ulkopuolinen menetel-mä. Siltatoteutus vaatii etähallintalaitteelta kaksi CAN-liityntää, joista toiseen liitetään CANopen-hallintalaite ja toiseen loput väylän laitteet. Kaikki järjestelmät viestit reitite-tään etähallintalaitteen kautta. Silta mahdollistaa etähallintalaitteen liittämisen mihin tahansa CANopen-järjestelmään. Siltana toimiva etähallintalaite voi suorittaa palveluob-jektioperaatioita orjalaitteille. Operaatiot tulee suorittaa siten, että alkuperäisen väylän toiminta ei häiriinny.

CANopen-silta mahdollistaa viestien reitityksen kahdella eri tasolla: sovellus- ja ajuritasolla. Suoritettujen mittausten perusteella todettiin, että ajuritasolla tulee suorittaa kaikkien järjestelmän kannalta kriittisten viestien reititys. Sovellustasolla voidaan reitit-tää viestit, joiden prioriteetti ei ole järjestelmän kannalta korkea. Mittaustulosten pohjal-ta lopullisessa sovelluksessa päädyttiin reitittämään kaikki muut paitsi palveluobjekti-viestit ajuritasolla. Palveluobjektipalveluobjekti-viestit tulee reitittää sovellustason kautta, koska niiden käsittely vaatii sovellustason logiikkaa.

Lopullinen sovellus testattiin huolellisesti ja todettiin, että etähallintalaite havait-see väylältä sekä hätäviestit että halutut prosessisignaalit tehtyjen suunnitteluratkaisujen avulla. Myös palveluobjektioperaatioiden suoritus testattiin useiden kaupallisten laittei-den avulla. Reitityksen suorituskykyä arvioitiin SAE-suorituskykymittauksella, joka

määrittelee 53 viestiä sekä viesteille lähetysvälit ja sallitut viiveet. Koska kyseiset 53 viestiä ovat kaikki korkean prioriteetin viestejä, päätettiin testiin lisätä seitsemän viestiä, joiden viestitunnisteet kuuluvat palveluobjekteille varattuun viestitunnisteavaruuteen.

Näin kyseiset viestit reititetään sovellustason kautta. Testeissä väylänopeuksina käytet-tiin 250, 500 ja 1000 kilobaudin nopeuksia. Suorituskykytestin lopputuloksena todetkäytet-tiin, että reititys on saatu optimoitua riittävälle tasolle, koska yksikään viesti ei ylittänyt sille asetettua sallittua viivettä millään valituista väylänopeuksista. Näin ollen voidaan tode-ta, että suunnitteluratkaisut ja niiden avulla toteutettu sovellus ovat onnistuneet niille asetettujen tavoitteiden mukaisesti ja CANopen-siltatoteutus otetaan osaksi WRM-järjestelmää.

Tulevaisuudessa CANopen-siltaa voidaan kehittää edelleen. Siihen voidaan lisä-tä tuki esimerkiksi verkon hallintaisänlisä-tä toiminnallisuudelle, jolloin elisä-tähallintalaite voisi ohjata orjalaitteiden tiloja. Etähallintalaite voisi myös toimea esimerkiksi tahdistusvies-tien tuottaja. Etähallintalaitteeseen voitaisiin lisätä tuki orjalaitteena toimimiselle, jol-loin etähallintalaite voisi tarjoa itse tekemiään mittauksia väylälle prosessisignaalivies-teinä. Lisäksi luvussa 6.3.3 esitettyjen reititysmittaustulosten perusteella WRM-etähallintalaitteen nykyisellä prosessorilla reitityksestä aiheutuvat prosessikuormat nou-sevat melko suuriksi. Tämä voidaan ottaa huomioon valitsemalla nopeampi prosessori tuleviin laiteversioihin.

LÄHTEET

[1] Wapice Oy:n kotisivu. [WWW]. [viitattu 13.3.2013].

Saatavissa: http://www.wapice.com/

[2] WRM247-laitteen kotisivu. [WWW]. [viitattu 13.3.2013].

Saatavissa: http://www.wrm.fi/

[3] CiA, CAN in Automation kotisivu. [WWW]. [viitattu 25.1.2013].

Saatavissa: http://can-cia.org/

[4] Pleiffer, O., Ayre, A. & Keydel, C. 2003. Embedded Networking with CAN and CANopen. San Clemente, RTC Books. 537 p.

[5] Saha, H. CANopen perusteet. FLUID Finland, 4(2006)1. s. 6-11.

[6] CiA WD-301. CANopen Application Layer and Communication Profile. Ger-many 2012, CAN in Automation (CiA). 199 p.

[7] CiA WD-306 Part 1. Electronic Data Sheet and Device Configuration File.

Germany 2012, CAN in Automation (CiA). 28 p.

[8] Boterenbrood, H. CANopen: High Level Protocol for CAN-bus. 2005. Amster-dam, National Institute for Subatomic Physics. 23 p.

[9] CiA DSP-309 Part 1. Access from Other Networks: General Principles and Ser-vices. Germany 2006, CAN in Automation (CiA). 21 p.

[10] CiA DSP-413 Part 1. Device Profile for Truck Gateways: General Definitions.

Germany 2011, CAN in Automation (CiA). 14 p.

[11] DeviceNET: Technical Overview. 2004. Michigan, USA, Open DeviceNET Vendor Association (ODVA). 8 p.

[12] Rinaldi, J. DeviceNET Introduction. [WWW]. Real Time Automation. 2009.

[viitattu 16.3.2013]. Saatavissa: http://www.rtaautomation.com/devicenet/

[13] Edschberger, K. CAN-based Higher Layer Protocols and Profiles. [WWW].

IXXAT Inc. [viitattu 30.3.2013]. Saatavissa:

http://www.ixxat.com/article_can_based_higher_layer_protocols_en.html

[14] Fredrikson, L. & Lennartsson, K. SDS, DeviceNET and CAN Kingdom.

[WWW]. Kvaser AB. [viitattu: 25.4.2013]. Saatavissa:

http://www.kvaser.com/zh/about-can/higher-layer-protocols/59.html

[15] Lian, F., Moyne J. & Tilbury, D. Performance Evaluation of Control Networks:

Ethernet, ControlNet and DeviceNet. IEEE Control Systems Magazine, 21(2001)1. pp. 66-83.

[16] Fredrikson, L. A CAN Kingdom Rev 3.01. 1995. Kinnahult, Sweden, Kvaser AB. 109 p.

[17] Smart Distributed System Application Layer Protocol Version 2.0. 1996. USA, Honeywell Inc. 97 p.

[18] SAE J1939 Introduction. [WWW]. IXXAT Inc. [viitattu 4.5.2013].

Saatavissa: http://www.ixxat.com/introduction_sae_j1939_en.html

[19] Tuisku, T. 2012. CAN-väylä: Raskaankaluston standardi SAE 1939. Opinnäyte-työ. Seinäjoki. Seinäjoen ammattikorkeakoulu, tietotekniikan koulutusohjelma.

33 s.

[20] Introduction to SAE J1939. [WWW]. Kvaser AB. [viitattu 4.5.2013].

Saatavissa: http://www.kvaser.com/zh/about-can/higher-layer-protocols/36.html [21] Otten, K. & Gubel, C. J1939 C Library for CAN-Enabled PICmicro

Microcon-trollers. 2004. Microchip Technology Inc. 28 p.

[22] Lehtimäki, M. & Nevanperä, H. 2010. Isobus-järjestelmä työkoneohjauksessa.

Opinnäytetyö. Seinäjoki. Seinäjoen ammattikorkeakoulu, auto- ja kuljetusteknii-kan koulutusohjelma. 51 s.

[23] Luft, L., Morschhauser, D. & Spitzer, S. NMEA 2000: Past, Present and Future.

2009. IMEA, International Marine Electronics Association. 25 p.

[24] CiA DSP-302 Part 5. SDO Manager. Germany 2009, CAN in Automation (CiA). 25 p.

[25] Ekiz, H., Kutlu, A. & Powner, E.T. Design and Implementation of a CAN/CAN Bridge. Parallel Architectures, Algorithms and Networks Second International Symposium Conference, Beijing, China, 12-14 June, 1996. 1996, IEEE. pp. 507-513.

[26] Saha, H. Active High-Speed CAN HUB, 11th international CAN Conference Part 2, Stockholm, Sweden, 2006. Germany, CAN in Automation, 2006. pp. 8-14.

[27] Saha, H. Comparison of System Level Networking Solutions with High-Speed CAN Networks. 9th international CAN Conference Part 9, Munich, Germany, 2003. Germany, CAN in Automation, 2003. pp. 1-8.

[28] Bäck, B., Nylund, P., Saha, H. & Wikman, M. An Improved CAN-Switch with CANopen-Management Interface. 12th international CAN Conference Part 2, Barcelona, Spain, 2012. Germany, CAN in Automation, 2012. pp. 8-15.

[29] Saha, H. Multilevel CANopen Networks. 10th international CAN Conference Part 7, Rome, Italy, 2005. Germany, CAN in Automation, 2005. pp. 1-6.

[30] Mitä eroa on keskittimellä, kytkimellä, reitittimellä ja tukiasemalla?. [WWW].

Microsoft Oy. [viitattu: 3.5.2013]. Saatavissa: http://windows.microsoft.com/fi-fi/windows-vista/how-do-hubs-switches-routers-and-access-points-differ

[31] Junnila, S., Pajula R., Shroff, M., Siuruainen, S., Kwitek, M. & Tuominen, P.

Design of High-Performance CAN Driver Architecture for Embedded Linux.

13th international CAN Conference Part 5, Hamback Castle, Germany, March, 2012. Germany, CAN in Automation, 2012. pp. 1-9.

[32] Douglas, P. 2003. Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems. Boston, USA, Pearson Education Inc. 477 p.

[33] Linux ioctl Command Man Page. [WWW]. [viitattu 23.4.2013].

Saatavissa: http://linux.die.net/man/2/ioctl

[34] Ekiz, H., Kutlu, A. & Powner, E.T. Implementation of CAN/CAN Bridges in Distributed Environments and Performance Analysis of Bridged CAN Systems Using SAE Benchmark. Engineering New Century Conference, Blacksburg, Virginia, USA, 12-14 April, 1997. 1997, IEEE. pp. 185-187.

[35] Tindell, K. & Burns, Guaranteeing Message Latencies on Control Area Network (CAN). 1st international CAN Conference, Germany, September, 1994. Germa-ny 1994, CAN in Automation. pp. 1-11.

LIITE 1: CAN-SILTATOTEUTUKSEN ALGORITMI [25]

Lue viesti CAN1*

Lue seuraava tieto reititystaulusta Reititystaulu

käyty läpi?

EI

Luettu viesti löytyy reititystaulusta?

Reititä viesti CAN2*

EI

KYLLÄ

Reititetäänkö kaikki? **

*Vaihtoehtoisesti CAN1 ja CAN2 voivat olla toisinpäin

** Kun silta on käynnistynyt, reititetään hetken kaikki viestit, koska reititystauluja vielä muodostetaan KYLLÄ

Hylkää viesti Reititä viesti CAN2*

KYLLÄ

Ottiko jokin laite vastaan?

EI

Talleta tieto reititystauluun KYLLÄ

EI

LIITE 2: SAE-SUORITUSKYKYTESTIN VIESTIT JA TULOKSET 250

24 1000000 1000000 384 537,39 866 1153,73

25 50000 20000 411 668,17 1494 12,39

26 50000 20000 413 589,67 1430 12,99

27 50000 20000 386 666,72 1583 11,63

28 50000 20000 381 610,55 1568 11,76

29 50000 20000 376 671,58 1452 12,77

2A 5000 5000 361 586,37 2250 1,22

2B 5000 5000 394 637,40 2346 1,13

2C 50000 20000 382 651,50 1684 10,88

2D 50000 20000 398 690,47 1508 12,26

2E 50000 20000 429 671,92 1975 9,13

2F 50000 20000 374 704,29 1673 10,95

30 50000 20000 385 690,25 1966 9,17

31 5000 5000 366 682,61 2275 1,20

32 50000 20000 415 718,89 1967 9,17

33 50000 20000 409 742,58 1938 9,32

34 50000 20000 430 750,52 1949 9,26

35 50000 20000 428 780,76 1954 9,24

581 1000000 50000 852 4155,58 33589 0,49

582 1500000 50000 910 2651,65 10515 3,76

583 2000000 50000 846 3740,52 26509 0,89

584 1000000 50000 1216 3029,62 13647 2,66

601 1500000 50000 889 3256,91 27967 0,79

602 2000000 50000 885 3392,29 30416 0,64

603 2500000 50000 989 3836,46 29785 0,68

LIITE 3: SAE-SUORITUSKYKYTESTIN VIESTIT JA TULOKSET 500

26 50000 20000 207 409,26 882 21,68

27 50000 20000 272 456,56 763 25,21

28 50000 20000 205 415,87 958 19,88

29 50000 20000 213 467,17 766 25,11

2A 5000 5000 205 342,69 962 4,20

2B 5000 5000 238 375,17 849 4,89

2C 50000 20000 227 426,92 976 19,49

2D 50000 20000 221 486,16 762 25,25

2E 50000 20000 263 433,76 988 19,24

2F 50000 20000 245 497,34 763 25,21

30 50000 20000 236 438,03 983 19,35

31 5000 5000 191 395,12 890 4,62

32 50000 20000 267 443,61 963 19,77

33 50000 20000 252 517,11 795 24,16

34 50000 20000 266 449,33 959 19,86

35 50000 20000 263 528,28 827 23,18

581 1000000 50000 609 1763,26 11039 3,53

582 1500000 50000 659 1857,65 4199 10,91

583 2000000 50000 701 1958,18 14321 2,49

584 1000000 50000 679 3321,96 36065 0,39

601 1500000 50000 803 1854,32 4720 9,59

602 2000000 50000 712 1537,73 4971 9,06

603 2500000 50000 740 1952,39 6476 6,72

LIITE 4: SAE-SUORITUSKYKYTESTIN VIESTIT JA TULOKSET

24 1000000 1000000 133 213,31 276 3622,19

25 50000 20000 150 238,80 522 37,31

26 50000 20000 107 221,72 403 48,63

27 50000 20000 137 239,86 547 35,56

28 50000 20000 115 222,52 379 51,77

29 50000 20000 141 238,56 519 37,54

2A 5000 5000 60 213,44 438 10,42

2B 5000 5000 115 211,42 531 8,42

2C 50000 20000 136 221,51 420 46,62

2D 50000 20000 133 234,85 526 37,02

2E 50000 20000 103 219,93 432 45,30

2F 50000 20000 142 232,92 543 35,83

30 50000 20000 108 218,73 424 46,17

31 5000 5000 100 213,81 556 7,99

32 50000 20000 108 218,08 451 43,35

33 50000 20000 119 231,07 581 33,42

34 50000 20000 69 217,52 432 45,30

35 50000 20000 108 230,66 582 33,36

581 1000000 50000 543 2943,18 28960 0,73

582 1500000 50000 615 3636,14 29258 0,71

583 2000000 50000 499 2971,59 28175 0,77

584 1000000 50000 512 2272,58 7862 5,36

601 1500000 50000 673 1907,98 12564 2,98

602 2000000 50000 709 1951,54 8588 4,82

603 2500000 50000 690 1771,48 5595 7,94