CANopen-tiedonsiirto-ohjelma Linux- käyttöjärjestelmälle: Metropolian ConceptCar- hanke
Nopri, Ville (2013)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013052911566
https://urn.fi/URN:NBN:fi:amk-2013052911566
Tiivistelmä
Tämä insinöörityö käsitteli CANopen-protokollaperheeseen perustuvan tiedonsiirto-ohjelman ja tiedonsiirtorajapintakirjaston suunnittelua ja toteutusta Linux-käyttöjärjestelmälle. Työn alussa tutustuttiin erilaisiin tapoihin toteuttaa Linuxin prosessien välinen tiedonsiirto sekä CANopen-protokollaperheeseen ja sen ohjelmointikirjastoihin. Työssä selvitettiin aluksi prosessien välisen tiedonsiirron teoriaa ja CANopen-protokollaperheen eri protokollien toimintaa.
Ohjelman ja rajapintakirjaston suunnittelun alussa käytiin läpi käyttötapaukset, joiden perusteella ohjelmisto toteutettiin. Työssä päädyttiin käyttämään prosessien välistä D-Bus-tiedonsiirtomekanismia ja QtDBus-moduulia. CANopen-kirjastoista valittiin käytettäväksi Metropolian koneautomaationlaboratorion kehittämä Minicanopen-ohjelmointikirjasto.
Toteutettu ohjelmisto sisältää CANopendbus-palvelinohjelman, joka toimii Linux-käyttöjärjestelmän taustaohjelmana. Ohjelma lukee ja kirjoittaa dataa CAN-väylälle käyttäen useita CANopen-protokollia. Käyttöjärjestelmän muut ohjelmat ovat yhteydessä Canopendbus-ohjelmaan Linuxin prosessien välisen D-Bus-tiedonsiirtomekanismin avulla.
Toteutettu rajapintakirjasto on yksinkertainen, ja sen avulla voidaan, C++-kielen lisäksi käyttää QML-kieltä CAN-väylän datan lukemiseen ja kirjoittamiseen. Työssä toteutettua ohjelmaa ja rajapintaa tullaan käyttämään Metropolian ConceptCar-hankkeessa syntyvässä kompaktin kaupunkiauton In-Vehicle Infotainment -järjestelmässä. Ohjelman ja rajapinnan toteutuksessa päästiin haluttuihin tavoitteisiin. Ohjelman ja rajapinnan kehitys jatkuu tämän työn jälkeen yhdessä korisähköjärjestelmän kehityksen kanssa.
Ohjelman ja rajapintakirjaston suunnittelun alussa käytiin läpi käyttötapaukset, joiden perusteella ohjelmisto toteutettiin. Työssä päädyttiin käyttämään prosessien välistä D-Bus-tiedonsiirtomekanismia ja QtDBus-moduulia. CANopen-kirjastoista valittiin käytettäväksi Metropolian koneautomaationlaboratorion kehittämä Minicanopen-ohjelmointikirjasto.
Toteutettu ohjelmisto sisältää CANopendbus-palvelinohjelman, joka toimii Linux-käyttöjärjestelmän taustaohjelmana. Ohjelma lukee ja kirjoittaa dataa CAN-väylälle käyttäen useita CANopen-protokollia. Käyttöjärjestelmän muut ohjelmat ovat yhteydessä Canopendbus-ohjelmaan Linuxin prosessien välisen D-Bus-tiedonsiirtomekanismin avulla.
Toteutettu rajapintakirjasto on yksinkertainen, ja sen avulla voidaan, C++-kielen lisäksi käyttää QML-kieltä CAN-väylän datan lukemiseen ja kirjoittamiseen. Työssä toteutettua ohjelmaa ja rajapintaa tullaan käyttämään Metropolian ConceptCar-hankkeessa syntyvässä kompaktin kaupunkiauton In-Vehicle Infotainment -järjestelmässä. Ohjelman ja rajapinnan toteutuksessa päästiin haluttuihin tavoitteisiin. Ohjelman ja rajapinnan kehitys jatkuu tämän työn jälkeen yhdessä korisähköjärjestelmän kehityksen kanssa.