Kuupsatelliidi juhtmooduli tarkvaraarhitektuuri ülevaade

Eelmisel kuul tutvustasime juhtmooduli elektrilist arhitektuuri, sel kuul aga heidame pilgu tarkvarale. Juhtmooduli tarkvara vastutab kuupsatelliidi pardal olevate ülesannete käivitamise ja täitmise eest. Seetõttu peab see olema töökindel ja usaldusväärne, et minimeerida võimalikke tõrkeid, olles samal ajal ka võimalikult tõhus.

Juhtmoodulis töötavad kaks tarkvarakihti, millest kumbki kasutab oma protsessorit:

- Lennutarkvara (flight software), mis töötab reaalajatöötlusüksusel (RPU).
- Missioonitarkvara (mission software), mis töötab rakendustöötlusüksusel (APU).

Lihtsustatult võib öelda, et lennutarkvara on nagu usaldusväärne masin, mis on lihtne, põhjalikult testitud ning võimeline kiiresti ja etteaimatavalt reageerima. Missioonitarkvara seevastu sarnaneb inimesele kosmoseaparaadi pardal, kes suudab keerulisemaid olukordi hinnata ning teha otsuseid Maal asuvate operaatorite nimel. Mõlemal tarkvarakihil on oma kindel roll ja ülesanded.

Mõned otsused saab teha ühe lihtsa tingimuse alusel. Näiteks kui mõni seade tarbib voolu üle lubatud piiri, lülitab lennutarkvara selle kohe välja. Teised olukorrad nõuavad aga põhjalikumat analüüsi. Kui näiteks kaamera sisselülitamisel hakkab asendi määramise ja kontrolli süsteem (ADCS) lugema ebatavalisi magnetomeetri näite, ei piisa enam pelgalt läviväärtuse kontrollimisest. Sellisel juhul märgistab missioonitarkvara anomaalia, proovib selle lahendada ning ebaõnnestumise korral registreerib juhtunu ja teavitab sellest Maal asuvaid operaatoreid.

Ülesannete jaotus on selge: Kiired ja ettemääratud toimingud kuuluvad lennutarkvara vastutusalasse, samas kui keerukam otsustamine ja planeerimine jäävad missioonitarkvara ülesandeks.

Juhtmooduli tarkvara astmeline korraldus



Missiooni planeerimine: Lõuna-Atlandi anomaalia

Hea näide on Lõuna-Atlandi anomaalia, mis on piirkond, kus kiirgustase on märgatavalt kõrgem kui enamikus teistes orbiidi osades ümber Maa.

Missioonitarkvara jälgib kosmoseaparaadi asukohta orbiidil ning tuvastab selle lähenemise anomaalia piirkonnale. Seejärel:

1) arvutab ajastuse: umbes 15 minutit sisenemiseni, ligikaudu 20 minutit anomaalias viibimist ning veel umbes 15 minutit väljumiseni,
2) saadab võimalikult paljudele seadmetele väljalülituskäsud, et vähendada kiirguse võimalikku mõju elektroonikakomponentidele,
3) annab reaalajatöötlusüksusele käsu äratada rakendustöötlusüksus 50 minuti pärast uuesti üles,
4) lülitab iseenda välja.

Kogu selle aja jooksul hoiab lennutarkvara töös sisemist taimerit. Kui taimer jõuab nulli, äratab see missioonitarkvara, mis käivitab ülejäänud platvormi uuesti ning teeb ettenähtud testid, et veenduda seadmete ohutus töös. Kõik avastatud probleemid registreeritakse ja edastatakse järgmise sideseansi ajal Maale.

Sama põhimõtet kasutatakse ka siis, kui operaatorid saadavad satelliidile hoiatuse suurenenud virmaliste aktiivsuse kohta, mis võib selle tööd ohustada. Hoiatus sisaldab hinnangulist asukohta ja kestust. Kuigi lennutarkvara oskab seadmeid sisse ja välja lülitada, ei ole see võimeline kosmoseaparaadi asukohta jälgima, selle liikumist prognoosima ega ohtlikku trajektoori tuvastama. Need ülesanded kuuluvad missioonitarkvara pädevusse.



Missioonitarkvara (mission software)

Missioonitarkvara töötab võimekamal rakendustöötlusüksusel ning keskendub eelkõige missiooni täitmisele, mitte süsteemi otsesele ohutusele. See otsustab, mida kosmoseaparaat parasjagu teeb: planeerib tegevusi, ajastab sideseansse maajaamade kohal, haldab kasuliku koormuse (payload) operatsioone ning tegeleb andmetöötlusega. Vajaduse korral suhtleb see ka väliste süsteemidega, näiteks teiste samal orbiidil olevate kuupsatelliitidega, et vahetada andmeid või koordineerida ühiseid vaatlusi.

Tegemist on kõrgema taseme tarkvarakihiga, mis planeerib ja juhib mitmeetapilisi operatsioone tundide või isegi päevade kaupa. Ilma selleta peaks iga tegevuse alustamiseks saabuma käsk Maalt. Tänu missioonitarkvarale suudab kosmoseaparaat teha andmepõhiseid otsuseid iseseisvalt.



Programmeeritava loogika konfigureerimine ja järelevalve

Missioonitarkvara vastutab ka programmeeritava loogika (PL), tuntud ka kui FPGA (Inglise k. Field-Programmable Gate Array) konfigureerimise, juhtimise ja järelevalve eest. See hõlmab FPGA bitivoo laadimist käivitamise ajal (näiteks FSBL-i (Inglise k. First Stage Bootloader), U-Booti (Inglise k. Universal Bootloader) või operatsioonisüsteemi kaudu). Samal ajal tegeleb see programmeeritava loogika IP-tuumade seadistamisega ning töötluskonveierite juhtimisega. Kõigele lisaks hõlmab see ka andmete liikumist, sealhulgas DMA-ülekannete, puhvrite ja deskriptorite haldamist. Missioonitarkvara jälgib pidevalt ka programmeeritava loogika olekut ja jõudlust. Sisuliselt vastutab see kogu PL-süsteemi elutsükli eest, alates käivitamisest kuni tööaegse juhtimise ja haldamiseni.

Need ülesanded sobivad hästi missioonitarkvarale, sest see töötab Linuxi operatsioonisüsteemiga pardaarvutil. Linux pakub draiverituge, mäluhaldust ja muid vahendeid, mis lihtsustavad programmeeritava loogika konfigureerimist ja juhtimist. Vajadusel saab lennutarkvara siiski viia programmeeritava loogika ohutusse olekusse ja seda lähtestada või välja lülitada, et kaitsta kogu süsteemi.


Lennutarkvara ja missioonitarkvara on teadlikult eraldatud, sest nende eesmärgid ja nõuded on erinevad. Lennutarkvara peab olema võimalikult lihtne, kiire ja töökindel, et tagada süsteemi ohutus. Missioonitarvara peab seevastu olema piisavalt paindlik, et planeerida ja juhtida keerukaid operatsioone. Nende ühendamine üheks programmiks suurendaks riski, et ühe alamsüsteemi viga mõjutab kogu süsteemi tööd. Eraldades mõlemad tarkvarakihid oma protsessoritele ja määrates neile selged rollid, tagab lennutarkvara kosmoseaparaadi ohutuse, samal ajal kui missioonitarkvara viib missiooni edukalt ellu.

See oli lühike ülevaade juhtmooduli tarkvarast. Nii lennu- kui ka missioonitarkvaral on veel palju põnevaid tahke, millest rääkida. Tulevases blogipostituses vaatleme mõlemat kihti põhjalikumalt ja tutvustame nende toimimist detailsemalt. Püsige lainel!

Suur tänu juhtmooduli tarkvara arendajate meeskonnale tehtud töö eest!


Kommentaarid

Jäta vastus

Discover more from Estonian Student Satellite

Subscribe now to keep reading and get access to the full archive.

Continue reading