Juhtprogrammi ning riistvara projekteerimine täisautonoomsele LPC1768 ARM Cortex-M3 protsessoril baseeruvale andmehõivemoodulile

Date

2012-06-01

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Arvutusvõimsuse kiire kasv ja erinevate tarkvara- ja riistvaraplatvormide laialdane levik on loonud olukorra, kus klassikalist andmehõivemoodulit saab kergesti luua suvalise manussüsteemides kasutatava kontrolleri baasil. Sellise lahenduse eeliseks on asjaolu, et mõõdetavat andmevoogu saab suunata läbi mõne liidese edasi kohta, kus andmete salvestamine, edasine töötlemine ja esitamine on otstarbekam kui andmehõivemoodulis endas. Klassikaliselt salvestatakse mõõdetavad andmed mõõteseadmes endas või edastatakse läbi USB või RS232 liidese arvutisse, mis lugemite võtmise ajal peab pahatihti kogu aeg töötama. Antud töös uuritakse võimalust mõõdetavate andmete (kohest) edastamist serverisse, mis juba ise tegeleb andmete salvestamise ja visualiseerimisega. Käesoleva bakalaureusetöö eesmärgiks on projekteerida loodava andmehõivemooduli riistvara sisendite ja väljundite sidestamiseks ning toiteahel, mis koosneb nii vahelduvvooluvõrgu toitest kui ka tagavara aku toitest. Lisaks riistvarale tuleb arendada ka tarkvarapakett, mille ülesandeks on tagada LPC1768 ARM Cortex-M3 protsessoril baseeruva andmehõivemooduli stabiilne ja tõrgeteta töö ning selle külge ühendatud anduritest lugemite võtmine, edasine töötlus ja salvestamine. Oluliseks lisanõudeks on juhtprogrammi kõrge töökindluse tagamine, mis võimaldaks seda kasutada ka tööolukordades, kus andmehõivemoodulile ligipääs on raskendatud. Selliseks kohaks võib näiteks olla ilmajaam mõnel väikesaarel. Tarkvara arendatakse C keeles. Bakalaureusetöö käigus arendatakse välja erinevad programmi moodulid andmevoogude edasiseks töötlemiseks ja salvestamiseks sh liideste automaatne algseadistamine; tarkvara taaskäivitus ja veebikliendi tugi mõõdetavate andmete serverisse edastamiseks. Analoog-digitaalmuunduritest mõõdetavate andmete töötlemisel kasutatakse digitaalseid filtreid mõõdetavate andmete kvaliteedi ja mürakindluse tõstmiseks. Andmete automaatne ülekanne välisesse serverisse toimub läbi 3G raadiomodemi. Programmi osad, mis sõltuvad palju konkreetsest kasutatavast riistvarast st andurit tüübist, luuakse viisil, mis võimaldab konkreetse rakenduse hiljem juurde programmeerida, kasutades juba varem loodud liidese definitsioone. Erinevate andmehõivemoodulite automaatseks eristamiseks ja häälestamiseks toimub tarkvara konfigureerimine serverist. Kuna andmehõivemoodul võib ise paikneda tulemüüri taga, siis kogu süsteemi konfigureerimine käib serverist üksiku andmehõivemooduli algatusel teatud ajaintervalliga. Töö esimeses osas antakse ülevaade manussüsteemides kasutatavatest riistvara- ning tarkvaralahendustest. Seejärel tutvustatakse ARM tehnoloogiat ja vastavat käsustikku. Edasi antakse ülevaade juba konkreetselt antud töös kasutatava LPC1768 ARM Cortex-M3 protsessori ehitusest ja võimalustest ning esitatakse nõuded projekteeritavale seadmele. Lisaks tutvustatakse erinevaid aku tehnoloogiaid ning valitakse projekti jaoks sobivaim. Edasi jätkatakse riistvara disainimisega loodavale andmehõivemoodulile. Loodava tarkvara arendust alustatakse üksikute liideste jaoks vajalike meetodite kirjutamisest. Lisaks luuakse meetodid, mis tagavad süsteemi stabiilse töö ka siis, kui mõni liides või tööparameeter on vigane. Näiteks salvestatakse mõõdetavad andmed kohalikus mälus, kui serveriühendus puudub. Serveriühenduse tekkimisel sünkroniseeritakse serveriga ka ühenduse katkestuse ajal mõõdetud andmed. Viimases peatükis uuritakse ja pakutakse välja lahendused kuidas välistada andmete ülekandmisel võimalikud tekkivad vead ning esitatakse algoritm tarkvara automaatseks uuendamiseks serverist. Lisaks uuritakse võimalusi vähendamaks riski, et keegi kolmas osapool saaks serverisse valeandmeid logida või muul moel süsteemi tööd häirida.

Description

Keywords

arvutitehnika, bakalaureusetöö

Citation