Langaton ohjelmointi
Tassi, Matti (2014)
Tassi, Matti
Seinäjoen ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014060411660
https://urn.fi/URN:NBN:fi:amk-2014060411660
Tiivistelmä
Tämän työn tavoitteena oli toteuttaa langattoman ohjelmoinnin protokolla sekä siihen liittyvä laite- ja ohjelmistokokonaisuus. Tällä oli tarkoitus tukea uutta kehitteillä olevaa piirilevyä, joka pohjautui NRF24LE1-radioprosessoriin. Tarkoitus oli myös, että lähes kuka tahansa teknisesti orientoitunut henkilö pystyisi ohjelmoimaan toisen samanlaisen laitteen langattomasti, ilman suurta vaivannäköä. Langaton ohjelmointi mahdollistaisi myös laitteen jatkokehityksen ja se antaisi sille täysin uusia käyttömahdollisuuksia, esim. tuulivoimalassa olevan laitteen koodi voitaisiin päivittää langattomasti, joten virheiden korjaaminen ja jopa erilaisten ohjelmakoodien kokeileminen olisi helppo tehtävä.
Työssä käytettiin useita laitteita. NRF24LE1-radioprosessoria käyttävät laitteet olivat työssä pääosassa. Niitä käytettiin sekä langattoman ohjelmoinnin käskyjen antajina, sekä kohdelaitteina. AT90USB162-mikro-ohjainta käyttävä USB-tikku toimi projektissa USB-SPI-siltana PC:n ja NRF24LE1-radioprosessorin välillä.
Työssä NRF24LE1-radioprosessoria ohjelmoitiin USB-tikun kautta PC:llä. PC:llä oli mikroprosessorin ohjelmoinnin helpottamiseksi toteutettu SURFprogrammer-ohjelma, jolla ohjelmoinnin pystyi tekemään suhteellisen helposti. Varsinainen koodin kääntäminen tehtiin myös SURFprogrammer-ohjelmalla, mutta sisäisesti se käytti SDCC-kääntäjää. Langatonta ohjelmointia varten kehitettiin kaksi uutta ohjelmaa. Yhtä käytettiin ohjelmoijana toimivassa NRF24LE1-laitteessa ja toista käytettiin Bootloader-ohjelmana kaikissa kohdelaitteissa. Kohdelaitteeseen langattomasti laitettavan ohjelmakoodin varsinainen syöttö tehtiin ilmaiseksi saatavilla olevalla sarjaporttikommunikointiohjelmalla.
Työssä käytettiin useita laitteita. NRF24LE1-radioprosessoria käyttävät laitteet olivat työssä pääosassa. Niitä käytettiin sekä langattoman ohjelmoinnin käskyjen antajina, sekä kohdelaitteina. AT90USB162-mikro-ohjainta käyttävä USB-tikku toimi projektissa USB-SPI-siltana PC:n ja NRF24LE1-radioprosessorin välillä.
Työssä NRF24LE1-radioprosessoria ohjelmoitiin USB-tikun kautta PC:llä. PC:llä oli mikroprosessorin ohjelmoinnin helpottamiseksi toteutettu SURFprogrammer-ohjelma, jolla ohjelmoinnin pystyi tekemään suhteellisen helposti. Varsinainen koodin kääntäminen tehtiin myös SURFprogrammer-ohjelmalla, mutta sisäisesti se käytti SDCC-kääntäjää. Langatonta ohjelmointia varten kehitettiin kaksi uutta ohjelmaa. Yhtä käytettiin ohjelmoijana toimivassa NRF24LE1-laitteessa ja toista käytettiin Bootloader-ohjelmana kaikissa kohdelaitteissa. Kohdelaitteeseen langattomasti laitettavan ohjelmakoodin varsinainen syöttö tehtiin ilmaiseksi saatavilla olevalla sarjaporttikommunikointiohjelmalla.