Manussüsteem

Varjundatud süsteem on arvuti, mis on ehitatud ainult mõne väga spetsiifilise probleemi lahendamiseks ja mida ei ole lihtne muuta. Sõna embedded tähendab, et see on süsteemi sisse ehitatud. See on püsiv osa suuremast süsteemist. Tavaliselt ei näe see välja nagu arvuti, sageli puudub klaviatuur, monitor või hiir. Kuid nagu igal arvutil, on ka sellel protsessor ja tarkvara, sisend ja väljund.

Näiteks lifti sisseehitatud kontroller annab mootorile käsu liikuda liftiga erinevatele korrustele, lähtudes nuppude vajutamisest. Dekooder on sisseehitatud satelliittelevisiooni digiboksi (STB), mis loeb antenni signaali ja saadab midagi, mida teler mõistab. Sageli peab seda tüüpi süsteem tegema oma töö teatud aja jooksul. Seda nimetatakse reaalajas arvutamiseks. Kui digiboks katkestaks mõne muu ülesande täitmise, näeksite näiteks teleril halba pilti. Üldotstarbelisel arvutil on sageli lühikesi pausid, kui ta teeb midagi muud, see ei ole reaalajas.

Manussüsteemid kontrollivad paljusid tänapäeval kasutusel olevaid seadmeid, näiteks kaardilugejaid hotelli ukselukus või mitmeid asju autos. Nad võivad juhtida nii väikeseid asju, nagu MP3-mängija või digikaamera, kui ka suuri asju, nagu valgusfoorisüsteemid, lennukid või tehase koosteliinid.

Pilt ADSL-modemi/-ruuteri sisemusest. Kaasaegne näide manussüsteemist. Märgistatud osad on mikroprotsessor (4), RAM (6) ja välkmälu (7).Zoom
Pilt ADSL-modemi/-ruuteri sisemusest. Kaasaegne näide manussüsteemist. Märgistatud osad on mikroprotsessor (4), RAM (6) ja välkmälu (7).

Näiteid manussüsteemide kohta

Manussüsteeme kasutatakse mitmesugustes elektriseadmetes, sealhulgas:

  • Telekommunikatsioonisüsteemid kasutavad neid telefonide, mobiilsidevõrgu ja wi-fi ruuterite jaoks.
  • Olmeelektroonika hõlmab ringhäälingu vastuvõtjaid, MP3-mängijaid, mobiiltelefone, videomängukonsoole, digikaameraid, DVD-mängijaid, GPS-vastuvõtjaid, koduseid turvasüsteeme ja printereid.
  • Kodumasinad, nagu mikrolaineahjud, pesumasinad, sissemurdmisseadmed ja nõudepesumasinad, on sisseehitatud süsteemidega.
  • Transpordis kasutatakse manussüsteeme rongide, lennukite ja autode vedurite jaoks.
  • Tööstuses kasutatakse elektrimootoreid koos elektrooniliste kontrolleritega, kaardilugejaid ja CNC-masinaid, mis valmistavad automaatselt metallosasid.
  • Meditsiiniseadmed, nagu defibrillaatorid, automaatsed vererõhulugejad ja automaatsed insuliinipumbad.
  • Sõjalised seadmed, nagu raadiotelefonid, satelliidid ja rakettide juhtimissüsteemid.

Ühised omadused

  • Sisseehitatud süsteemid on mõeldud konkreetse ülesande täitmiseks, erinevalt üldotstarbelistest arvutitest.
  • See ei näe välja nagu arvuti - seal ei pruugi olla täielikku monitori või klaviatuuri.
  • Paljud manussüsteemid peavad olema võimelised tegema asju reaalajas - lühikese aja jooksul (inimese seisukohalt peaaegu koheselt).
  • Paljud manussüsteemid peavad olema väga ohutud ja usaldusväärsed, eriti meditsiiniseadmete või lennukite lennuelemente kontrolliva lennuelektroonika puhul.
  • Algab väga kiiresti. Inimesed ei taha oodata minut või kaks, kuni nende auto või hädaabiseadmed käivituvad.
  • See võib kasutada spetsiaalset operatsioonisüsteemi (või mõnikord väga väikest kodukootud operatsioonisüsteemi), mis aitab neid nõudeid täita ja mida nimetatakse reaalajas töötavaks operatsioonisüsteemiks (RTOS).
  • Sisseehitatud süsteemide jaoks kirjutatud programmijuhiseid nimetatakse püsivara (firmware) ja need on salvestatud ainult lugemiseks mõeldud mälu või flash-mälu kiipidesse. Nad töötavad piiratud riistvararessurssidega: vähe mälu, väike või olematu klaviatuur ja/või ekraan.

Manussüsteemid ei ole alati iseseisvad seadmed. Mõnikord on nad ehitatud komplektina, nagu näiteks auto erinevad osad - raadio, gaasikontroll, saastekontroll jne. Mõnikord võivad nad suhelda internetiga või mobiiltelefonivõrguga ning neil võib olla USB-lugeja või muud ühendused.

Kasutajaliidesed

Manussüsteemid varieeruvad kasutajaliidese puudumisest - ainult elektriliste signaalide saatmine ja vastuvõtmine - kuni täieliku graafilise kasutajaliideseni, nagu seda on kaasaegsel arvutil. Sageli on neil mõned nupud, väike ekraan ja mõned valgusdioodid. Keerulisemal süsteemil võib olla puuteekraan, mis võimaldab nuppude tähendust iga ekraaniga muuta, nagu nutitelefonidel.

Näide kasutajaliidese kohta, millel on nupud ja lihtne LCD-ekraan.Zoom
Näide kasutajaliidese kohta, millel on nupud ja lihtne LCD-ekraan.

Riistvara

Riistvara hõlmab kiibid, juhtmed, trükkplaadid, nupud ja näidikud.

Protsessorid

Kõige olulisem kiip on keskprotsessor ehk CPU. See käivitab tarkvara juhiseid. See võib olla tavaline mikroprotsessor või mikrokontroller. Mikrokontrollerid sisaldavad nii mikroprotsessorit kui ka lihtsaid perifeerseadmeid, nii et süsteem saab olla väiksem ja odavam. Nende paindlikkus on väiksem, sest neid osi ei saa muuta. Tavaliselt kuuluvad nende osade hulka Flash-mälu ja toetus jadaportidele, USB-le jne.

Erinevalt üldotstarbelise arvuti mikroprotsessorist ei ole suurem ja kiirem alati parem. Paljud varjatud protsessorid on väga väikesed. Mõnikord kasutatakse selleks vähem ruumi või energiat, mõnikord on see odavam. Üldotstarbelised arvutid kasutavad mikroprotsessoreid, mis loevad 32- või 64-bitiseid sõnu ja töötavad kiirusega, mida mõõdetakse GHz, kuid manustatud protsessorid on tavaliselt 4-32-bitised ja töötavad kiirusega, mida mõõdetakse tavaliselt kümnetes MHz (sada korda aeglasem). (Aga programmid on ka väiksemad ja ei kontrolli asju, mida ei kasutata).

Valmis arvutiplaadid

On olemas "valmis" arvutiplaadid, mida saab kasutada mõnes manussüsteemis. Need kasutavad sageli Windows CE, Linuxi, NetBSD või mõnda varjatud reaalajalist operatsioonisüsteemi.

Mõnikord võib olla lihtsam kasutada juba valmistatud trükkplaati. Need jagavad tavaliselt paljusid komponente üldotstarbeliste arvutitega, kuid on väiksemad kui üldotstarbelises arvutis. Sellised tahvlid nagu VIA EPIA võivad töötada Microsoft Windowsiga. Eeliseks on see, et see säästab elektrotehnilist aega ja saab kasutada samu tarkvaraarendusvahendeid, mida kasutatakse PC-tüüpi tarkvara arendamiseks. Sellised varjatud seadmed on näiteks sularahaautomaadid või kasiinode ekraanid. See töötab hästi, kui reaalajas nõuded ei ole väga ranged (ei ole suurt tähtsust, kui töö võtab näiteks viie sekundi asemel kaheksa sekundit).

ASIC ja FPGA lahendused

Kui seade peab olema väga väike või seda müüakse väga suurtes kogustes ("suurtes kogustes"), on mõttekas valmistada kohandatud või spetsialiseeritud kiip, mis teeb täpselt seda, mida vaja on. See on süsteem kiibil (SoC), mis sisaldab täielikku süsteemi - protsessor, ujukomaüksus, mälu vahemälu ja liideseid ühel integraallülitusel. SoC-d saab valmistada spetsiaalse rakendusspetsiifilise integraallülituse (ASIC) või kasutades programmeeritavat väljalülitusvõimalust (FPGA), mida programmeerivad inimesed, kes ehitavad manussüsteemi.

Perifeerseadmed

Manussüsteemid suhtlevad välismaailmaga või teiste komponentidega, kasutades selliseid perifeerseadmeid nagu:

  • Seeriaportid: RS-232, RS-422, RS-485. See oli varem üsna tavaline, 9-poolsete (või suuremate) pistikutega.
  • Sünkroonne jadaühendusliides: I²C inter-integreeritud vooluahela, I²S inter-integreeritud heli, SPI, MIcrowire, ...
  • Universaalne seerianumber (USB).
  • Võrgustikud: LonWorks, ...
  • Diskreetne sisend/väljund: Üldotstarbelised sisendid/väljundid (GPIO). See võib olla üksikjuhe koos sisse/välja signaaliga. Seda saab kasutada väikese klahvistiku jaoks või LED-i süütamiseks.
  • Analoog-digitaal-/digitaal-analoogmuundurid (ADC/DAC). See mõõdab midagi, mille tugevus muutub, näiteks valgusandur või mootori juhtimine.
  • Kõrvaldamine: JTAG, ICSP port, tarkvarainseneridele.
Soekris net4801, võrgurakendustele suunatud manussüsteem.Zoom
Soekris net4801, võrgurakendustele suunatud manussüsteem.

Tarkvara

Operatsioonisüsteemid

Manussüsteemid ei vaja sageli täielikku operatsioonisüsteemi. Mõned kasutavad spetsiaalselt ehitatud väikeseid ja lihtsaid operatsioonisüsteeme, mis käivituvad väga kiiresti, teised ei vaja üldse operatsioonisüsteemi. Manussüsteemid ei ole nii kergesti kohandatavad, kuid nad on ehitatud nii, et nad täidavad oma ülesandeid palju usaldusväärsemalt. Kuna riistvara on lihtsam, on seda sageli ka odavam ehitada ja see töötab kiiremini.

Seevastu üldotstarbeline arvuti peab olema valmis uutele seadmeajenditele ja tarkvarale, et käivitada riistvara, millest ta veel ei tea, näiteks uued printerid või kõvakettad. See peab käivitama erinevaid rakendusprogramme.

Kuna manussüsteemid muutuvad üha suuremaks, muutuvad asjad, mis varem olid ainult üldotstarbelistes arvutites või isegi suurarvutites, nüüd manussüsteemides tavaliseks. See hõlmab kaitstud mäluruumi ja avatud programmeerimiskeskkonda, sealhulgas Linux, NetBSD jne.

Mõned näited operatsioonisüsteemide kohta, alates lihtsast kuni keerulise süsteemini:

  • Lihtne juhtimissilmus - Taimer ja silmus kasutatakse erinevate allprogrammide korduvaks kutsumiseks. Seda teeb sageli üks inimene väiksemate süsteemide puhul.
  • katkestuste juhtimine - ülesanded käivitatakse erinevate sündmuste abil. Sündmus võib olla midagi ajastatud (näiteks iga kümne sekundi järel) või nupuvajutus või saadud andmed.
  • mittetäielik multitasking - iga ülesanne saab oma järjekorra ja kui see lõpeb, kutsub see operatsioonisüsteemi ajaplaneerija, et käivitada järgmine ülesanne.
  • preemptive multitasking või multi-threading - Ülesande saab teatud aja möödudes peatada, et lasta mõnda teist ülesannet mõnda aega töötada. Ükski ülesanne ei saa süsteemi hõivata. Sellel tasemel loetakse süsteemi "operatsioonisüsteemi" tuumaks ja see võib ülesandeid paralleelselt käivitada. Seda tüüpi operatsioonisüsteem ostetakse tavaliselt ettevõttelt, mis tegeleb ainult manussüsteemidega.

Reaalajas töötavate operatsioonisüsteemide hulka kuuluvad sellised tooted nagu MicroC/OS-II, Green Hills INTEGRITY, QNX või VxWorks. Erinevalt MacOSist või Windows 7-st ei tunne enamik inimesi neid operatsioonisüsteeme väga hästi. Kuid neid kasutatakse paljudes kohtades, kus aeg ja turvalisus on väga olulised. Inimesed kasutavad neid iga päev ja ei saa sellest aru.

Tavalised näited suuremate tuumade kohta on Embedded Linux ja Windows CE. Kuigi neil ei ole rangete reaalajasüsteemide jaoks vajalikke rangeid ajalisi piiranguid, on need muutumas üha levinumaks, eriti võimsamate seadmete, näiteks traadita ruuterite ja GPSide puhul. Need võimaldavad taaskasutada avalikus domeenis olevat koodi seadmeajamite, veebiserverite, tulemüüride ja muu koodi jaoks. Tarkvaraarendajad, kes on mugavamad kirjutama rakendusi PC-dele, leiavad selle ka tuttavamaks. Vajaduse korral saab kasutada FPGA-d või muud spetsiaalset riistvara selliste asjade jaoks, mis vajavad rangeid ajapiiranguid.

Tööriistad

Nagu muu tarkvara, kasutavad ka manussüsteemide projekteerijad manussüsteemide tarkvara arendamiseks kompilaatoreid, assemblereid ja silumisvahendeid. Siiski võivad nad kasutada ka mõningaid spetsiifilisemaid vahendeid:

  • Digitaalset signaalitöötlust kasutavate süsteemide puhul võivad arendajad kasutada matemaatilisi vahendeid, nagu MATLAB, MathCad või Mathematica.
  • Konkreetse riistvara jaoks optimeerimise parandamiseks võib kasutada kohandatud kompilaatoreid ja linkereid.
  • Varjundatud süsteemil võib olla oma spetsiaalne keel või projekteerimisvahend või lisada täiendusi olemasolevale keelele, nagu seda kasutab Basic Stamp.

Vigade kõrvaldamise vahendid:

  • ICD (in-circuit debugger), riistvaraline seade, mis ühendub mikroprotsessoriga JTAG-liidese kaudu. See käivitab ja peatab mikroprotsessori väljastpoolt, kui see töötab tarkvara. Samuti võimaldab see lugeda mälu ja registreid ning salvestada tarkvaraprogrammi mällu.
  • Väline silumine, kasutades logimist või jadapordi väljundit, et jälgida tööd, kasutades kas vilkuvat monitori (printfs).
  • Interaktiivne residentne silumine - kui operatsioonisüsteem seda toetab, siis on see varjatud protsessoril olev kest, mis täidab arendaja poolt sisestatud käske (näiteks Linux).
  • Mikroprotsessorit asendab plaadil olev ahelasisene emulaator, mis annab täieliku kontrolli kõige üle, mida mikroprotsessor võiks teha.
  • Täielik emulaator simuleerib kõiki riistvara funktsioone, võimaldades seda kontrollida ja muuta. Riistvara ei ole tegelikult olemas, kuid selle teeseldud versioon (virtuaalne masin) on tavalises arvutis.
  • Välisliinide kontrollimine loogikaanalüsaatori või multimeetriga.

Kui programmeerija ei ole piiratud välise silumisega, saab ta tavaliselt laadida ja käivitada tarkvara tööriistade kaudu, vaadata protsessoris töötavat koodi ning käivitada või peatada selle töö. Koodi vaatamine võib toimuda assemblerikoodina või lähtekoodina. Mõnel integreeritud süsteemil (nagu VxWorks või Green Hills) on eriomadused, näiteks jälgimine, kui palju ruumi võtab tarkvara töötamise ajal, milliseid ülesandeid täidetakse ja millal asjad toimuvad.

Sõltuvalt sellest, millist varjatud süsteemi tehakse, mõjutab see, kuidas seda saab siluda. Näiteks on ühe mikroprotsessoriga süsteemi silumine erinev sellise süsteemi silumisest, kus töötlemine toimub ka välisseadmetel (DSP, FPGA, kaasprotsessor).

Ohutus ja usaldusväärsus

Sisseehitatud süsteemid on sageli masinates, mis peaksid töötama aastaid ilma vigadeta ja mõnel juhul taastuvad vea korral ise. See tähendab, et tarkvara arendatakse ja testitakse tavaliselt hoolikamalt kui personaalarvutite puhul ning välditakse ebausaldusväärseid mehaanilisi liikuvaid osi, nagu kettaseadmed ja ventilaatorid.

Kohad, kus turvalisus ja usaldusväärsus on olulised:

  • Mõnda süsteemi ei saa remondiks ohutult välja lülitada või on seda liiga raske remontida. Näidetena võib tuua kosmosesüsteemid (satelliidid, Roverid), merealused kaablid ja tuumaelektrijaamade juhtimisseadmed.
  • Kui süsteem ei toimi, võib see tappa inimesi, nagu näiteks lennukite, keemiatehaste, rongisignaalide ja südamedefibrillaatorite juhtimisseadmed.
  • Süsteem kaotab suuri summasid, kui see suletakse või kui tehakse viga: Telefonilülitid, tehase juhtimisseadmed, kassaaparaadid, sularahaautomaadid.

Võimalused vigadest taastumiseks - nii tarkvaravigadest, näiteks mälulekkedest, kui ka riistvara pehmetest vigadest:

  • Watchdog-taimer, mis taaskäivitab manussüsteemi, kui midagi lakkab töötamast.
  • dubleerivad osad, kus üks süsteem võib üle võtta, kui teine süsteem lakkab töötamast.
  • Tarkvara "limp-režiimid", mis tagavad osalise toimimise.
  • Immuunsust teadvustav programmeerimine

Seotud leheküljed

Küsimused ja vastused

K: Mis on varjatud süsteem?


V: Varjatud süsteem on arvuti, mis on ehitatud konkreetsete probleemide lahendamiseks ja mida ei ole lihtne muuta.

K: Mille poolest erineb manussüsteem üldotstarbelisest arvutist?


V: Varjundatud süsteemil ei ole tavaliselt klaviatuuri, monitori ega hiirt ja tal on eriülesanded. Üldotstarbeline arvuti võib täita mitmesuguseid ülesandeid.

K: Millised on mõned näited manussüsteemidest?


V: Varjundatud süsteemide näideteks on näiteks liftikontrollerid, digiboksid, kaardilugejad hotelli ukselukutes, liiklusvalgustussüsteemid, lennukid ja montaažiliinid tehastes.

K: Mis on reaalajas arvutamine?


V: Reaalajas arvutamine on olukord, kus manussüsteem peab oma töö lõpetama teatud aja jooksul. Kui see katkestatakse, võib see põhjustada probleeme, näiteks kehva pildikvaliteeti televiisoris.

K: Millised on manussüsteemi komponendid?


V: Nagu igal arvutil, on ka manussüsteemil protsessor, tarkvara, sisend ja väljund.

K: Milliseid ülesandeid võib manussüsteem juhtida?


V: Sulundatud süsteem võib juhtida väikseid seadmeid, nagu MP3-mängijad või digitaalkaamerad, või suuremaid süsteeme, nagu liiklusvalgustus või lennukid.

K: Mida tähendab termin "manussüsteem" manussüsteemide puhul?


V: Mõiste "manussüsteem" tähendab, et arvuti on sisse ehitatud suuremasse süsteemi ja seda ei ole lihtne muuta.

AlegsaOnline.com - 2020 / 2023 - License CC3