Manussüsteem

Allikas: Vikipeedia
Foto ADSL-modemi/ruuteri sisust. Tänapäevane manussüsteemi näide.

Manussüsteem ehk sardsüsteem on juhtfunktsioonidega arvuti suurema süsteemi osana. Manussüsteemidel on tihti reaalajalised nõuded. Manussüsteemid erinevad üldkasutuses olevatest arvutitest, näiteks personaalarvutist selle poolest, et on kavandatud täitma ühte kindlat eesmärki, mitte suurt hulka erinevaid kasutaja nõudmisi. Manussüsteeme kasutatakse paljudes tänapäevastes seadmetes, näiteks auto elektrisüsteemis, fotoaparaatides ja robotites. [1]

Manussüsteemid sisaldavad arvutustuumasid; nendeks võivad olla mikrokontrollerid, signaaliprotsessorid või väravamassiivid. Paljudes manussüsteemides kasutatakse ka reaalaja operatsioonisüsteeme.

Peamine eripära on kindlale ülesandele keskendumine. Kuna manussüsteem on pühendunud kindlale ülesandele, saavad insenerid seda optimeerida. Võimalik on saavutada väiksemat suurust ja hinda ning parandada töökindlust ja jõudlust. Mõned manussüsteemid on masstootmises, lõigates kasu mastaabisäästust.

Füüsiliselt ulatuvad manussüsteemid kaasaskantavatest seadmetest nagu käekellad ja MP3-mängijad kuni hiiglaslike statsionaarsete seadmeteni, näiteks valgusfoorid ja tööstuskontrollerid. Keerukus varieerub madalast ühe mikrokontrolleriga disainist kuni ülikeerukate, võrgu kaugu suhtlevate struktuurideni.

Ajalugu[muuda | muuda lähteteksti]

Üks esimesi äratuntavalt kaasaegseid manussüsteeme oli Apollo navigatsiooniarvuti. Projekti alguses peeti Apollo juhtimise arvutit kõige riskantsemaks elemendiks Apollo projekti, sest see kasutas tollal äsja väljatöötatud monoliitseid integraallülitusi, et vähendada suurust ja kaalu. Varajase masstoodanguna manussüsteemi oli Autonetics D-17 juhiarvuti Minuteman raketi jaoks, mis ilmus 1961 aastal. Kui Minuteman II hakati tootma 1966 aastal, siis D-17 asendati uue arvutiga, mis oli esimene suuremahuline integreerituid skeemide kasutus.

Alates nendest varajastest rakendustest 1960-ndatel, on manussüsteemide hinnad langenud ning järsult suurenenud töötlemise võimsus ja funktsionaalsus. Varajane mikroprotsessor, näiteks Intel 4004, oli mõeldud kalkulaatorite ja muude väikeste süsteemide jaoks, kuid vajas siiski välist mälu ja toetavaid kiipe. National Engineering Manufacturers Association avaldas aastal 1978 standardi programmeeritavate mikrokontrollerite jaoks, sealhulgas peaaegu iga arvutipõhise kontrolleri, nagu numbrilised ja sündmuse baasil töötavad kontrollerid.

Mikroprotsessorite ja mikrokontrollerite hinna langemise tõttu muutus võimalikuks asendada kallid nuppudel põhinevad analoogkomponendid nagu potentsiomeetrid ja muutkondensaatorid üles/alla lülititega ja nuppudega, mida loeb mikroprotsessor isegi tarbekaupades. 1980-ndate algul olid mälu, sisend- ja väljundsüsteemi komponendid integreeritud protsessoriga samasse kiipi, moodustades mikrokontrolleri. Mikrokontrollerid leiavad rakendust kohtades, kus üldotstarbeline arvuti oleks liiga kulukas või liiga suur.

Suhteliselt madalahinnalise mikrokontrolleri võib programmeerida sama ülesannet täitma nagu suur hulk eraldi komponente. Kuigi selles kontekstis manussüsteem on tavaliselt keerulisem kui tavapärane lahendus, enamik keerukust sisaldub mikrokontrolleris endas. Väga väheseid lisakomponente võib vaja minna ja enamik desaini raskusest peitub tarkvaras. Tarkvara prototüüpimine ja testimine võib osutuda kiiremaks võrreldes uue skeemi projekteerimise ja ehitamisega, mis ei kasuta sees olevat protsessorit.


Mitmekesisus[muuda | muuda lähteteksti]

Manussüsteeme kasutatakse näiteks kodu- ja köögitehnikas, autotööstuses, tarbeelektroonikas, tööstuslikes ja meditsiinilistes seadmetes, ärimajanduslikes ja sõjaväelistes lahenduses.

Telekommunikatsioonisüsteemides kasutatakse rohkelt erinevaid manussüsteeme, alates telefonikeskustest ja lõpetades mobiiltelefonidega. Arvutite sidesüsteemides on kasutusel alalised ruuterid ja võrgusillad.

Tarbeelektroonikast kuuluvad siia näiteks pihuarvutid, mp3-mängijad, mobiiltelefonid, videomängukonsoolid, digitaalsed kaamerad ja fotoaparaadid, DVD-mängijad, GPS-vastuvõtjad ja printerid. Ka kodutehnika, näiteks pesumasinad, mikrolaineahjud ja nõudepesumasinad kasutavad manussüsteeme, selleks, et suurendada süsteemide paindlikkust ja efektiivsust ning selleks, et anda seadmetele lisafunktsioone. Keerulisemad kliimaseadmed kasutavad võrgupõhiseid termostaate selleks, et tagada pidevalt muutuvates temperatuuri ja niiskuse oludes parim võimalik efektiivsus ja täpsus. Koduautomaatikasüsteemidest võime leida juhtmega ja juhtmevabu sidesüsteeme tulede lülituseks, audio-visuaal-, kliima-, turva- ja seireseadmetes. Nende seadmete töös tagavad manussüsteemid sensorliku ja seadmete kontrollitavuse funktsionaalsuse.

Autotööstus ja lennundus kasutavad manussüsteeme järjest enam. Uutes lennukites kasutatakse keerulisi avioonikasüsteeme, näiteks inertsnavigatsioonisüsteemid ja GPS-vastuvõtjad. Kõrgete ohutusnõuete tõttu on need süsteemid lennukites eriti keerukad ja alasektsioonidena eraldatud. Erinevates alalisvoolu elektrimootorites kasutatakse elektriajameid. Nii autodes, elektri- kui hübriidsõidukites kasutatakse manussüsteeme järjest enam, tagamaks maksimaalse efektiivsuse ja vähendamaks keskkonna saastamist. Teised autodes leiduvad manussüsteeme kasutavad seadmed on näiteks ABS-pidurisüsteemid, elektrooniline stabiilsuskontroll, veojõukontroll ja automaatne neli-veo süsteem.

Meditsiinilistes seadmetes kasutatakse manussüsteeme eluliste näitajate jälgimiseks, heli võimenduseks elektroonilistes stetoskoopides ja erinevates mitteinvasiivsetes meditsiinilise pildistamise seadmetes, sealhulgas kompuutertomotograaf ja magnetresonantstomograaf.

Manussüsteeme kasutatakse tihti transpordis, tuleohutuses, ohutusseadmetes ja turvaseadmetes. Tuleohutuses aitab see tagada parema temperatuuritaluvuse, turvaseadmetes aga seadme iseseisva töötamise ja töö jätkumise läbilõigatud elektri- ja sidejuhtmete korral.

Kasutusel on ka uus klass traadita seadmeid, mida nimetakse sensor-node-deks. Need on piiratud andmekogumise ja analüüsi võimekusega juhtmevabalt võrku koondatud väikesed seadmed, mis suhtlevad omavahel pika vahemaa taha ja kasutavad võmalikult vähe energiat. Läbi keerulise integraalskeemi disaini luuakse nõnda väga võimekad sensorid, millega saab mõõta väga erinevaid suuremastaabilisi ümbritseva maailma nähtusi. Sensor-node-d ei vaja toimimiseks lisasüsteeme ning võivad ühe laadimisega kesta aastaid, enne kui on vaja toiteallikas välja vahetada või laadida. Sisemisi WiFi-seadmeid kasutatakse infosillana serial-porti kasutavates seadmetes.

Tunnused[muuda | muuda lähteteksti]

Manussüsteemid on kavandatud mingi konkreetse ülesande tegemiseks, pigem kui üldotstarbeline arvuti mitmesuguste ülesannete jaoks. Osadel on ka reaalaja toimimise piirangud, mis peavad olema täidetud, põhjustel, nagu näiteks ohutus ja kasutatavus; teistel võivad olla madalad tehnilised nõuded või isegi täiesti puududa. See võimaldab süsteemi riistvara lihtsustamist, et vähendada kulusid.

Manussüsteemid ei ole alati isseisvad seadmed . Paljud manussüsteemid koosnevad väikestest osadest, mis on osa suuremast seadmest, mis teenib üldisemat eesmärki. Näiteks manussüsteem autos annab konkreetse funktsiooni, olles ise auto alamsüsteem.

Programmi juhiseid kirjutatud manussüsteemide jaoks nimetatakse püsivaraks ja salvestatakse püsimälu või välkmälu. Nad töötavad piiratud arvuti riistvara ressurssidega: vähe mälu, väike või olematu klaviatuur või ekraan.


Kasutajaliides[muuda | muuda lähteteksti]

Manussüsteemide kasutajaliidesed ulatuvad alates selle puudumisest, süsteemid pühendatud ainult ühele ülesanndele, kuni keerulise graafilise kasutajaliidesteni, mis meenutavad kaasaegse arvuti operatsioonisüsteemi töölauda. Lihtsad manussüsteemid kasutavad nuppe, LED-si või graafilist LCD-d.


Vahendid (tööriistad)[muuda | muuda lähteteksti]

Nagu ka teiste tarkvaradega, kasutavad manussüsteemide disainerid kompileeriad, assemblerid ja silujad(inglise keeles debuggers), et välja töötada manussüsteemide tarkvara. Siiski võivad nad kasutada ka mõningaid konkreetsemaid vahendeid:

  • Ahelate silujad või emulaatorid (vaata järgmist lõiku)
  • Utiilid, et lisada programmile kontrollsumma või CRC (inglise keeles Cyclic redundancy check) , et manussüsteem saaks kontrollida, kas rakendus on kehtiv.
  • Süsteemide jaoks, mis kasutavad digitaalset signaalitöötlust, võivad arendajad kasutada töölaudu, nagu näiteks Scilab/Scicos/MATLAB/Simulink, EICASLAB, MathCad, Mathematica või Flowstone DSP, et simuleerida matemaatikat. Nad võivad ka kasutada nii sihtmärgi kui pearaamatukogusid, mis välistab DSP režiimide väljatöötamise, nagu seda tehakse DSPnano RTOS-s.
  • Süsteemi taseme modelleerimise ja simuleerimise vahendid, nagu näiteks VisualSim, aitavad disaineritel konstrueerida simulatsioonimudeleid riistvarakomponentidega süsteemidele, nagu näiteks protsessorid, mälud, DMA, liidesed, siinid ja tarkvara käitumise suund olekudiagrammina või vooluskeemina, kasutades seadistatavaid raamatukogu plokke. Simulatsiooni viiakse läbi, et valida õiged komponendid, teostades võimsuse ja jõudluse kompromisse, töökindluse analüüse ja pudelikaela analüüse.tüüpilised aruanded, mis aitavad disaineril teha arhitektuuri otsuseid, sisaldavad rakenduse latentsust, seadme läbilaskevõimet, seadme ärakasutamise taset, terve süsteemi energiatarvet ning ka seadme tasemel energiatarvet.
  • Mudelipõhine arendusvahend nagu näiteks VisSim lubab sul luua ja simuleerida graafilist andmevoogu ja UML olekudiagramme komponentidele, milleks on näiteks digitaalsed filtrid, mootori kontrollerid, kommunikatsiooniprotokolli dekodeerimine ja mitmekiiruselised ülesanded. Katkestusetöötleja (inglise keeles interrupt handler) võib ka luua graafiliselt. Pärast simulatsiooni saad sa automaatselt genereerida C-koodi VisSim RTOS-le, mis tegeleb peamise kontrollülesandega ja taustategevustga, ja ka välisseadmete automaatse häälestuse ja programmeerimisega.
  • Spetsiaalsed kompileerijad võidakse kasutada spetsialiseeritud riistvara optimiseerimiseks.
  • Manussüsteemil võib olla oma spetsiaalne keel või disainivahend, või võib juurde anda lisasid olemasolevale keelele nagu näiteks Forth või Basic.
  • Veel üheks alternatiiviks on lisada reaalajas opereeriv süsteem või manus-operatsioonisüsteem, millel võivad olla DSP võimekused, näiteks DSPnano RTOS.
  • Modelleerimise ja koodi genereerimise vahendid, mis sageli põhinevad olekumasinatel.

Tarkvara vahendid võivad pärineda erinevatest allikatest:

  • Tarkvara ettevõtted, mis on spetsialiseerunud manussüsteemi turule.
  • Porditud GNU tarkvaraarenduse tööriistadest.
  • Mõnikord on võimalik kasutatada personaalarvuti arendusvahendeid, kui manussüsteemi protsessor on lähedas suguluses tavalise personaalarvuti protsessoriga.

Nagu manussüsteemide keerukus kasvab, siirdub kõrgema taseme vahendeid ja operatsioonisüsteeme masinatesse, kus see on mõistlik. Näiteks telefonid, personaalsed digitaalsed assistendid ja muud tarbija arvutidvajavad tihti märkimisväärset tarkvara, mis on ostetud ja varustatud kolmanda isiku poolt, kes ei ole selle elektroonika valmistaja. Sellistes


Silumine (inglise keeles debugging)[muuda | muuda lähteteksti]

Manusüsteemi silumist võib teostada erinevatel tasemetel, sõltuvalt saadaval olevatest töövahenditest. Alates lihtsaimast kuni kõige keerukamani võib neid laias laastus jagada järgmistesse valdkondadesse:

  • Interaktiivne kohalasuv silumine, kasutades lihtsat raamistikku, mis on manussüsteemi poolt varustatud (näiteks Forth ja Basic)
  • Väline silumine, kasutades logi või jadapordi väljundit, et jälgida operatsiooni, kasutades kasutades silumise serverit, nagu Remedy Debugger, mis töötab isegi heterogeensetes mitmetuumaliste süsteemide puhul.
  • Skeemisisene siluja (inglise keelesIn-circuit debugger ), mis on riistvaraline seade, mis ühendub mikroprotsessoriga JTAG või Nexuse liidese kaudu. See võimaldab mikroprotsessori tööd kontrollida väliselt, mis on aga tavaliselt piiratud spetsiifiliste silumise võimekusega protsessoris.
  • In-circuit emulaator (ICE) asendab mikroprotsessori simuleeritud ekvivalendiga, pakkudes täielikku kontrolli mikroprotsessori kõigi aspektide üle.
  • Täielik emulaator pakub riistvara kõikide aspektide kohta simulatsiooni, võimaldades kõike seda kontrollida ja muuta ning võimaldades silumise tavalistel personaalarvutitel. Selle negatiivseteks külgedeks on kulud ja aeglane opereerimine, mõnedel juhtumitel kuni 100 korda aeglasem, kui lõplik süsteem.
  • SoC disainidele on tüüpiliseks lähenemiseks kinnitada ja siluda see disain FPGA prototüüplaual. Vahendeid nagu Certus kasutatakse sondide sisestamiseks FPGA RTL-i, muudavad signaalid vaadeldavateks. Seda kasutatakse riistvara, püsivara ja tarkvara interaktsioonide silumiseks üle mitme FPGA, millel on loogikaanalüsaatoriga sarnane võimekus.

Tavaliselt saab programmeerija laadida ja käivitada tarkvara läbi nende vahendite, vaadata koodi, mis töötab protsessoris ning alustada või peatada selle operatsiooni, kui seda ei ole piiratud välise silumisega. Koodi vaade võib olla kas HLL lähtekooda, assembly kood või segu mõlemast. Kuna manussüsteem koosneb tihtipeale paljudest erinevatest elementidest, siis võib silumise strateegia erineda. Näiteks tarkvara-(ja mikroprotsessor-) keskse manussüsteemi silumisega on erinev manussüsteemi silumisest, kus enamus töötlust teostavad välised lisaseadmed (DSP, FPGA, kaasprotsessor). Üha suurem arv manussüsteeme kasutab tänapäeval rohkem kui ühte protsessori tuuma. Tavaline probleem mitmetuumalise arendamise juures on tarkvara teostuse õige sünkroniseerimine. Sellisel juhul võib manussüsteemi disain tahtakontrollida andmeedastust protsessori tuumade vahelistel siinidel, mis nõuab näiteks väga madalatasemelist silumist, signaal/siini tasemel, koos loogikaanalüsaatoriga

Logimine[muuda | muuda lähteteksti]

Reaalajas töötavad operatsioonisüsteemid (inglise keeles real-time operating systems RTOS) võimaldavad sageli süsteemisündmusi logida (inglise keeles tracing). Logitud sündmusi saab kuvada graafiliselt peaarvutis. Logid annavad hea ülevaate süsteemi kõrgematasemeslikust käitumisest ning lubavad arendajatel paremini mõista ajastust ja jõudlust puudutavaid probleeme. Kommertsiaalselt on kättesaadavad programmid RTXC Quadros ning IAR Systems.

Usaldusväärsus[muuda | muuda lähteteksti]

Manussüsteeme kasutatakse rohkelt sellistes seadmetes, mis peavad ilma vigadeta järjest töötama aastaid. Seetõttu testitakse nendes seadmetes kasutatavat tarkvara tavaliselt põhjalikumalt kui personaalarvutite korral. Ühtlasi hoidutakse kõikvõimalikest mitteusaldusväärsetest mehaanilistest lahendustest nagu kõvakettad, kohtvõrgu kommutaatorid (inglise keeles network switch) ning nupud.

Erinevad usaldusväärsust pärssivad probleemid mis võivad esineda:

  • Süsteemi pole võimalik paranduseks ohutult välja lülitada, või on süsteem raskesti ligipääsetav. Probleem on aktuaalne näiteks kosmoseseadmetes, veealustes kaablites, navigatsiooni-majakates, puuraugu-süsteemides ja autodes.
  • Süsteemi tuleb hoida töös ohutuse tagamiseks. Probleem on päevakohane näiteks lennunavigatsioonis, reaktori kontrolli süsteemides, keemiatehase ohutuse eest vastutavates seadmetes, raudteede ohutussignaalide korral.
  • Valdaja kaotab palju raha, kui süsteem välja lülitada. Probleem on aktuaalne näiteks telefonikeskustes, tehase halduspaneelides, sildade ja liftide kontrollseadmetes, rahaülekandes, automatiseeritud äritsemise seadmetes.

Vigadest toibumiseks on loodud erinevad süsteemid, mis tarkavaraliste ja kergemate riistvaraliste vigade korral võimaldavad süsteemi normaalse töö operatiivselt taastada:

  • ”Valvekoer-taimer”-alasüsteem peab süsteemilt saama regulaarselt tagasisidet selle toimimise kohta. Kui tagasiside ei ole piisav, tehakse tarkvaraline reset.
  • TCB (inglise keeles Trusted Computing Base) kasutamine disainis. TCB eraldab probleemialtid süsteemi osad ülejäänud süsteemist nõnda, vigade ilmnemise korral jääb suurem osa süsteemist toimima.
  • Virtuaalmasin-monitoride kasutamine disainis lubab isoleerida teineteisest tarkvaralisi komponente, et vältida ohustatud tarkvara suhtlemist ülejäänud alamsüsteemidega. See võib ka lubada alamsüsteemil automaatselt taaskäivituda vigade otsimis reziimis.

Andmemaht[muuda | muuda lähteteksti]

Suure-andmemahulistes seadmetes, nagu mp3-mängijad ja mobiiltelefonid põhineb disian tavaliselt seadme tootmiskulude minimaliseerimisel. Insenerid valivad tavaliselt täpselt nii hea seadme, kui hädapärast tarvis läheb.

Väiksema andmemahuga seadmetes ning prototüüp-manusseadmetes, kus programmide piiramise võimekus ja süsteemi usaldusväärsus on olulisem või taskukohasem, eelistatakse sageli kasutada universaalset arvutit mis on eesmärgi jaoks kohandatud ning operatsioonisüsteem asendada reaal-ajas toimiva operatsioonisüsteemiga.

Vaata ka[muuda | muuda lähteteksti]

Viited[muuda | muuda lähteteksti]

  1. embedded system. Kasutatud 28.01.2013.

Välislingid[muuda | muuda lähteteksti]