prisma_logotype_sve
Om PrismaBloggenNyheterOrganisationKontakterBILDER OCH FILMER
Ombordmjukvaran håller koll på Prisma

Vi är idag omgivna av datorer och att programmera datorer är ett yrke bland andra, även om det fortfarande kräver specialistkunskaper. Att programmera de datorer som sköter en satellit innebär dock speciella utmaningar.

Mjukvaran på Prisma består av flera olika delar. Det finns delsystem som styr de olika experimenten och de olika underfunktionerna – radiomottagare, sändare, kraftenheten med solpanelerna, och givetvis formationsflygningssystemen. Ovanför dessa delsystem ligger den så kallade ombordmjukvaran som ansvarar för att övervaka och styra alla satellitens delsystem. Ombordmjukvaran sköter också kommunikationen mellan huvudsatelliten och dottersatelliten.
 
Strålningen stör minnet
Rymden är en tuff miljö. Prismas datasystem kommer att arbeta i en strålningsmiljö som vanliga datorer inte kommer i närheten av. En vanlig konsekvens av detta är att en partikel från den kosmiska strålningen kan störa elektroniken och omvandla en etta till en nolla eller tvärtom. Detta gäller i synnerhet datorns minne.
För att hantera detta finns en felrättande kod på varje minnesposition. Den koden beräknar en checksumma varje gång datorn lägger in något i minnet. Om strålningen ändrar i minnet så kommer inte checksumman att stämma.
 
– Koden är sedan så smart att den kan se vad som blivit fel och rätta till det, berättar Niclas Larsson som är den på Rymdbolaget som är ansvarig för Prismas ombordmjukvara. 
 
PrismaMåste klara mer själv
Om datorn hemma hänger sig kan man i värsta fall starta om den. Detsamma gäller för de flesta elektroniska apparaterna i vår omgivning. Men det går inte med en satellits styrdator och den mjukvara som styr den. Eftersom datorn inte har kontakt med marken hela tiden så måste den kunna klara av situationer själv i mycket större utsträckning än en dator i en mer vardaglig miljö.

– Det är det som skiljer ett rymdsystem från markbundna system, att det har en så hög grad av autonomi, säger Niclas Larsson. Den måste själv kunna upptäcka och återhämta sig från ett fel. Satelliten måste också alltid kunna hålla koll på solen. Annars tappar den energiförsörjningen, och då är det kört.
 
Ombordmjukvaran ligger som en ordningsman över satellitens andra system. Om ett formationsflygningssystem säger åt satelliterna att avlägsna sig för långt från varandra går ombordmjukvaran in och säger ifrån. Blir någon del för kall ser ombordmjukvaran till att värma upp den.
 
Svårt att skicka en reparatör

En annan utmaning som är speciell för rymddatasystem har även det att göra med att det inte går att komma åt en satellit när den väl sänts upp.
 
– Andra industrier, som bilindustrin och telekom-industrin, kan provköra sin utrustning under förhållanden som är väldigt lika de som utrustningen kommer att utsättas för. Vi kan inte provköra på riktigt förrän vi befinner oss i skarpt läge, när satelliten lyft och är på väg.
För att hantera detta och behålla så mycket flexibilitet som möjligt lägger man mycket tid och energi på simuleringar. Där försöker man elektroniskt simulera så många potentiellt problematiska situationer som möjligt.
 
– Vi lägger också mycket energi på förmågan att skicka upp ny programvara när satelliten är uppsänd. Patcha den helt enkelt. När man väl är i ett skarpt läge är det alltid något som inte beter sig som det var tänkt. Då är det viktigt att det snabbt och effektivt går att skicka upp modifieringar till programkoden. Det kan rädda en mission som annars skulle gått åt pipan.
 
Datorer som programmerar datorer
När Rymdbolaget arbetade med ombordmjukvaran till teknikdemonstratorn SMART-1 använde man någonting som kallas automatisk generering av programkod. Detta arbetssätt vidareutvecklar man nu med Prisma. Även om detta inte är av samma dignitet som formationsflygningen som teknikdemonstration är det viktigt för Rymdbolaget att visa att detta fungerar på ett bra sätt.
– Det är första gången vi haft totalansvar för detta. På exempelvis SMART-1 var även samarbetspartners inblandade.
Automatisk generering av programkod är i princip vad det låter.
 
– När vi väl tagit fram simuleringmodeller och fått den simulerade satelliten att bete sig som vi vill i simulatorn så förs automatiskt resultaten över till kod. Att göra på det sättet sparar tid och undviker många fel. Den automatiska generatorn garanterar till stor del att koden är rätt och ger samma resultat som simuleringsmodellen.
 
Detta ställer i sin tur högre krav på de som gör simuleringsmodellerna i simuleringsprogrammet.
 
– När de bygger sin modell måste de veta att det ska bli kod av simuleringen i slutändan. Det betyder att även de som inte normalt håller på så mycket med kod har fått lära sig hur man konstruerar bra simuleringar.

Kim Bergström

Rymdstyrelsen tel 08-627 64 80 · SSC (f d Rymdbolaget) tel 08-627 62 00