Interrupt-based Pulse Counter on Embedded Linux System

Autor: Ihonen, Joonas
Přispěvatelé: Tietotekniikan laitos - Department of Pervasive Computing, Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering, Tampere University of Technology, Hämäläinen, Timo, Hannelius, Tom
Jazyk: finština
Rok vydání: 2013
Předmět:
Popis: Linux on viime vuosina saavuttanut suuren suosion sulautettujen järjestelmien käyttöjärjestelmänä. Alunperin PC-käyttöön suunniteltu Linux-ydin ei sellaisenaan tarjoa kovin kattavia reaaliaikaisuusominaisuuksia, mutta erinäisiä reaaliaikapäivityksiä on saatavilla. Tässä työssä on tarkasteltu Linux-ydintä, johon on asennettu RT Patch -niminen reaaliaikapäivitys. Työn päämääränä oli toteuttaa pulssilaskuri sulautettuun Linux-järjestelmään. Tässä työssä pulssilaskurilla tarkoitetaan laskuria, joka laskee digitaalisen signaalin muutosten määrää, aikaväliä ja taajuutta. Pulssilaskuria sovellettiin käytännössä kierrosnopeuden mittaamiseen. Pulssilaskuri toteutettiin Linuxin laiteajurina. Laiteajurin suunnittelu Linuxille vaatii hyvää laitteiston ja käyttöjärjestelmän tuntemista. Keskeytyksiä käyttävä laiteajuri ei saa aiheuttaa ongelmia rinnakkaisuudessa eikä reaaliaikaisuudessa. Pulssilaskuri mittaa tapahtumia asynkronisesti, mutta tavallisesti siltä luetaan arvoja synkronisesti. Tällöin keskiarvon laskentamenetelmään on kiinnitettävä huomiota hyvän tarkkuuden saavuttamiseksi. Työssä tarkasteltiin keskiarvon oikeellisuutta kahdella eri keskiarvomenetelmällä. Valmiin laiteajurin toimintaa varmennettiin mittaamalla reaaliaikaisuutta ja tarkkuutta. Reaaliaikaisuutta arvioitiin mittaamalla latenssia ja keskeytyskäsittelijän pituutta. Tarkkuutta arvioitiin vertaamalla laiteajurin laskemia arvoja signaalinlähteenä toimivan funktiogeneraattoriin asetettuihin arvoihin. Laiteajurin testeissä mitattiin 1000Hz testisignaalilla keskihajonnaksi 0,54Hz ja poikkeamaksi 2,9Hz. Samalla taajuudella mitattiin latenssin keskiarvoksi 25µs ja huonoimman tapauksen arvoksi 85µs. Suurimmaksi toimintataajuudeksi määritettiin kokeellisesti 85kHz.
Databáze: OpenAIRE