Teknologian jakaminen

Ohjelmistoarkkitehtuuri sulautettujen järjestelmien suunnittelu (2)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

12.4 Sulautettu verkkojärjestelmä

Sulautettu verkko on verkkojärjestelmä, jota käytetään yhdistämään erilaisia ​​sulautettuja järjestelmiä, jotta ne voivat siirtää tietoja toisilleen ja jakaa resursseja. Sulautetut järjestelmät käyttävät erilaisia ​​yhteysteknologioita eri tilanteissa, kuten kodin tietoverkkoja perhehuoneissa, kenttäväyliä teollisuusautomaation alalla ja matkaviestinverkkoja sulautetuissa järjestelmissä, kuten mobiilitietolaitteissa käytetään sulautettujen järjestelmien yhdistämiseen.

12.4.1 Kenttäväyläverkko

Fieldbus on tietokoneohjaustekniikka, joka kehitettiin 1980-luvun puolivälissä analogisten instrumenttien ohjausjärjestelmien, keskitettyjen digitaalisten ohjausjärjestelmien ja hajautettujen ohjausjärjestelmien jälkeen Teollisuusautomaation alalla sitä kutsutaan usein tietokoneiden lähiverkoksi.

Fieldbus on verkko, joka yhdistää kenttälaitteita, kuten digitaalisia antureita, muuntimia, teollisuuslaitteita ja ohjaustoimilaitteita, teollisuusprosessien ohjausyksiköiden ja kenttäkäyttöasemien kanssa. Sillä on täydellisen digitalisoinnin, hajauttamisen, kaksisuuntaisen tiedonsiirron ja monihaaraisen toiminnan ominaisuudet.

Kenttäväylä on alhaisen kaistanleveyden taustalla oleva ohjausverkko, joka sijaitsee tuotannonohjauksen ja verkkorakenteiden alaosassa, joten sitä kutsutaan myös taustaverkoksi (Infranet). Sitä käytetään pääasiassa tuotantolaitoksissa kaksisuuntaisen, sarja- ja monisolmun digitaalisen viestinnän saavuttamiseksi mittaus- ja ohjauslaitteiden välillä.

Field Control System (FCS) on ohjausjärjestelmä, joka käyttää kenttäväylää yhdistämään erilaisia ​​ohjaimia ja instrumenttilaitteita. Tämä ohjausjärjestelmä hajauttaa ohjaustoiminnot kokonaan työmaalle, mikä vähentää asennus- ja ylläpitokustannuksia. Itse asiassa FCS on avoin, yhteentoimiva ja täysin hajautettu hajautettu ohjausjärjestelmä.

Sulautettu kenttäohjausjärjestelmä upottaa erillisen mikroprosessorin perinteiseen mittaus- ja ohjauslaitteeseen, mikä mahdollistaa digitaalisen laskenta- ja digitaalisen viestinnän ominaisuudet. Se käyttää kierrettyjä pareja, voimalinjoja tai optisia kuituja väylänä useiden mittaus- ja ohjauslaitteiden liittämiseen verkkoon Vakioviestintäprotokollien mukaisesti se yhdistää useita tietokoneistettuja mittaus- ja ohjauslaitteita, jotka sijaitsevat paikan päällä sekä paikan päällä olevien instrumenttien ja kaukovalvonnan välillä. Tiedonsiirto ja tiedonvaihto toteutetaan tietokoneiden välillä muodostaen erilaisia ​​todellisiin tarpeisiin sopivia automaattisia ohjausjärjestelmiä. Lyhyesti sanottuna kenttäväylän ohjausjärjestelmä muuntaa yksittäiset hajautetut mittaus- ja ohjauslaitteet verkkosolmuiksi käyttämällä kenttäväylää linkkinä tehdäkseen näistä hajautetuista laitteista verkkojärjestelmän, joka voi kommunikoida keskenään ja suorittaa automaattisia ohjaustehtäviä yhdessä. Kenttäväyläteknologian avulla perinteisestä yksittäisestä hajautetusta ohjauslaitteesta on muodostunut toistensa kanssa kommunikoiva ja yhteistyössä toimiva kokonaisuus.

12.4.2 Perhetietoverkko

Kodin tietoverkko on lähiverkko, joka yhdistää kodin henkilökohtaiset tietokoneet, kodinkoneet, veden, sähkön, kaasumittarit, valaistuslaitteet, verkkolaitteet ja turvalaitteet. Sen päätehtävänä on keskitetysti ohjata edellä mainittuja laitteita ja liittää ne Internetiin verkkoresurssien ja -palvelujen jakamiseksi. Lisäksi kodin tietoverkko voidaan laajentaa myös koko taloon tai jopa koko yhteisöön muodostaen perustan älykkäille asuinyhteisöille ja älykkäille yhteiskunnille. Kodin tietoverkkojärjestelmässä kaikki kodin laitteet ovat älykkäitä, mukaan lukien kodinkoneet, vesi, sähkö, kaasumittarit ja valaistuslaitteet. He voivat kommunikoida keskenään ja käyttää Internetiä kotiyhdyskäytävän kautta. Kodin tietoverkon toteuttaminen tarjoaa ihmisille turvallisemman, mukavamman ja mukavamman kotiympäristön. Esimerkiksi kun omistaja menee ulos, ovi sulkeutuu ja lukittuu automaattisesti, valvontajärjestelmä kytkeytyy automaattisesti päälle ja omistaja saa automaattisesti ilmoituksen kodin poikkeavuudesta aikaa ja missä tahansa, ja laitetiedot voidaan ladata automaattisesti.

Perhetietoverkon on ratkaistava kaksi perusongelmaa:
(1) Kuinka yhdistää kodinkoneet, vesi, sähkö, kaasumittarit, valaistuslaitteet jne. toisiinsa.
(2) Miten näiden yhdistettyjen laitteiden välillä toteutetaan yhteentoimivuus, eli kodin tietoverkon laitteet voivat tarvittaessa pyytää palveluita automaattisesti ja niihin liittyvät laitteet voivat tarjota palveluita tai vastaanottaa pyyntöjä ja käsitellä niitä. Kotitietoverkko voi ottaa käyttöön erilaisia ​​topologisia rakenteita, kuten väylätyyppiä, tähtirakennetta jne. Kotitietoverkko voidaan jakaa edelleen useisiin ohjausaliverkkoihin ja dataaliverkkoihin. Ohjausaliverkko on kenttäväylän kaltainen verkko, jolla on pieni kaistanleveys ja sitä käytetään pääasiassa ohjaustietojen lähettämiseen ja vastaanottamiseen. Dataaliverkolla on korkeammat kaistanleveysvaatimukset, ja siihen liitettyjen laitteiden on siirrettävä suuri määrä datainformaatiota.

11.4.3 Langaton tietoliikenneverkko

Viime vuosina matkapuhelinviestinnän nopean kehityksen ja henkilökohtaisten tietokoneiden nopean yleistymisen myötä erilaiset kannettavat tietokoneet, kuten kannettavat tietokoneet, kannettavat tietokoneet, kannettavat tietokoneet jne., ovat nopeasti lisääntyneet kiinteiden tietokoneiden välillä ei enää vastaa tarpeita. Ihmiset toivovat voivansa lähettää ja vaihtaa datatietoja milloin ja missä tahansa, joten tiedonsiirtovälineet alkoivat laajentua langallisista langattomiin ja langaton mobiilidataviestintä syntyi. Langaton tietoliikenneverkko on verkkojärjestelmä, joka välittää tietoa radioaaltojen kautta. Se on kehitetty langallisen tiedonsiirron pohjalta ja voi toteuttaa tiedonsiirron mobiilitilassa.Langattomien tietoliikenneverkkojen, älypuhelimien, PDA-laitteiden ja
Kannettavat tietokoneet voivat siirtää tietoja toisilleen ja käyttää Internetiä. Langattomat tietoliikenneverkot jaetaan lyhyen kantaman langattomiin verkkoihin ja langattomaan Internetiin. Lyhyen kantaman langattomiin verkkoihin kuuluvat pääasiassa 802.11, Bluetooth, IrDA ja HomeRF. Langaton Internet tai mobiili Internet käyttää pääasiassa kahta langatonta yhteystekniikkaa: toinen on langaton langaton yhteystekniikka, kuten GSM, GPRS, CDPD (Cellular Digital Packet Data) jne., toinen on kiinteä langaton yhteystekniikka, mukaan lukien mikroaaltouuni, hajaspektriviestintä , satelliitti- ja langaton optinen lähetys jne.

12.4.4 Sulautettu Internet

Internetin ja sulautetun teknologian nopean kehityksen myötä yhä useammat tietolaitteet, kuten web-videopuhelimet, digisovittimet ja kodin informaatiolaitteet ja muut sulautetut järjestelmätuotteet, on yhdistettävä Internetiin käyttömukavuuden jakamiseksi. Internetin tarjoama nopeus ja käyttömukavuus Kaikkialla saatavilla olevat tietoresurssit ja palvelut, nimittäin sulautettu Internet-tekniikka. Sulautetulla Internet-teknologialla on laajat sovellusmahdollisuudet älykkään kuljetuksen, taloudenhoitojärjestelmien, kotiautomaation, teollisuusautomaation, myyntipisteiden ja sähköisen kaupankäynnin aloilla.

1.Sulautettu Internet-yhteysmenetelmä
Sulautetut laitteet integroivat TCP/IP-protokollapinon ja siihen liittyvät ohjelmistot. Tällaisia ​​laitteita voidaan käyttää solmuna Internetissä, niille voidaan määrittää IP-osoite ja ne voidaan yhdistää suoraan Internetiin. Tämän pääsytavan ominaisuudet ovat:

  • Laite voidaan yhdistää suoraan Internetiin ja tarjota avoin pääsy Internetiin;
  • Erityisiä pääsylaitteita ei tarvita;
  • Pöytäkirjan standardointi laitteet;
  • Vaadittu prosessorin suorituskyky ja resurssit ovat suhteellisen korkeat;
  • IP-resurssit on varattava Nykyisen IPv4-resurssipulan vuoksi tämä ratkaisu voi olla realistisempi IPv6-verkoissa.
  • Pääsy Internetiin yhdyskäytävän kautta. Laite ei käytä Internetiä suoraan eikä vaadi monimutkaista TCP/IP-protokollaa. Sen sijaan se käyttää Internetiä pääsylaitteen kautta. Esimerkiksi Embedded Micro Internet-working Technology (EMIT) on tekniikka, joka yhdistää sulautetut laitteet Internetiin. Tämän pääsytavan ominaisuudet ovat:
  • Pienemmät suorituskyky- ja resurssivaatimukset pääsylaitteille;
    -Pääsylaitteen protokollapino on pieni;
  • Laillista IP-osoitetta ei tarvitse määrittää;
  • Voi vähentää järjestelmän kokonaiskustannuksia;
    - Laitteita voidaan monipuolistaa ja pienentää.

2.Sulautettu TCP/IP-protokollapino
Sulautetun TCP/IP-protokollapinon suorittamat toiminnot ovat samat kuin täydellisen TCP/IP-protokollapinon toiminnot. Sulautetun järjestelmän resurssirajoitusten vuoksi jotkin sulautetun protokollapinon indikaattorit ja liitännät voivat kuitenkin poiketa tavallisista. protokollapinot.

(1) Sulautetun protokollapinon kutsuliitäntä on erilainen kuin tavallisen protokollapinon. Tavallisen protokollapinon socket-liitäntä on vakio, ja sovellusohjelmiston yhteensopivuus on kuitenkin hyvä. Siksi, kun useimmat valmistajat siirsivät standardiprotokollapinon rajapintoja sulautettuihin järjestelmiin, he tekivät vaihtelevia muutoksia ja yksinkertaistivat niitä ja loivat tehokkaita omistettuja protokollapinoja. Niiden toimittamat API:t poikkesivat yleisten protokollapinojen API:ista .

(2) Sulautetun protokollapinon räätälöittävyys. Useimmat sulautetut protokollapinot ovat modulaarisia, jos muistitilaa on rajoitetusti, ne voidaan asentaa tarvittaessa dynaamisesti, ja niistä on jätetty pois useita ei-välttämättömiä osia sulautetuille järjestelmille, kuten liitännän edelleenlähetys ja täysi joukko Internet-palvelutyökaluja.

(3) Sulautetun protokollapinon alustayhteensopivuus. Yleensä protokollapino on tiiviisti integroitu käyttöjärjestelmään, ja useimmat protokollapinot on toteutettu käyttöjärjestelmän ytimessä. Protokollapinon toteutus riippuu käyttöjärjestelmän tarjoamista palveluista ja sen siirrettävyys on huono. Sulautetun protokollapinon toteutus on yleensä vähän riippuvainen käyttöjärjestelmästä, ja se on helppo siirtää. Monet kaupalliset sulautetut protokollapinot tukevat useita käyttöjärjestelmäalustoja.

(4) Sulautetun protokollapinon korkea tehokkuus. Sulautetut protokollapinot vievät yleensä vähemmän tilaa, vaativat pienempää datamuistia ja ovat kooditehokkaita, mikä vähentää prosessorin suorituskykyvaatimuksia.

12.5 Sulautettu tietokannan hallintajärjestelmä

Sulautetun tekniikan kehityksen myötä sulautetut tietokannat ovat vähitellen siirtymässä kohti sovelluksia. Pohjimmiltaan sulautetut tietokannat on kehitetty yleisistä tietokannoista ja niitä käytetään erilaisissa sulautetuissa laitteissa tai mobiililaitteissa. Ne osoittavat ylivoimansa sulautetuissa järjestelmissä, koska sulautetun järjestelmän sovellusympäristö rajoittaa niitä, sulautetut tietokannat ovat erilaisia ​​kuin yleiset tietokannat .

Tyypillisesti sulautettu tietokannan hallintajärjestelmä on tietokannan hallintajärjestelmä, jota käytetään sulautetuissa laitteissa. Koska suurin osa sulautetuista tietokantojen hallintajärjestelmistä on liikkuvia tietolaitteita, kuten kämmentietokoneita, PDA-laitteita, ajoneuvoon asennettuja laitteita ja muita matkaviestinlaitteita, kiinteän asennon sulautettuja laitteita käytetään harvoin. Siksi sulautettuja tietokantoja kutsutaan myös mobiilitietokannoiksi tietokannat.Sen päätehtävänä on ratkaista tiedonhallinnan ongelmia mobiilin laskentaympäristön mobiilitietokanta on tärkeä osa mobiilin laskentaympäristöä.
Hajautettu tietokanta.

Tietokantatekniikan käyttöönotto sulautettuihin järjestelmiin johtuu pääasiassa seuraavista puutteista tiedonhallintasovellusten kehittämisessä suoraan sulautetuille käyttöjärjestelmille tai paljaalle metallille:
(1) Kaikki sovellukset vaativat toistuvaa tiedonhallintatyötä, mikä lisää kehittämisen vaikeutta ja kustannuksia.
(2) Tietojen jakaminen sovellusten välillä on heikkoa.
(3) Sovellusohjelmiston riippumattomuus, siirrettävyys ja uudelleenkäytettävyys on heikko.
Tietokannan hallintajärjestelmän ottaminen käyttöön sulautettuihin järjestelmiin voi ratkaista yllä olevat ongelmat suurelta osin ja parantaa sovellusjärjestelmien kehitystehokkuutta ja siirrettävyyttä.

12.5.1 Käyttöympäristön ominaisuudet

Sulautettu tietokantajärjestelmä on kattava järjestelmä, joka sisältää sulautetun tietokannan hallintajärjestelmän ja joka kattaa matkaviestinlaitteet, työasemat tai pöytätietokoneet ja tietopalvelimet. Tällä järjestelmän ominaisuudella ja järjestelmän käyttöympäristöllä on suuri vaikutus sulautettuun tietokannan hallintajärjestelmään Suurempi vaikutus vaikuttaa suoraan sulautetun tietokannan hallintajärjestelmän rakenteeseen. Sen käyttöympäristön ominaisuudet voidaan yksinkertaisesti tiivistää seuraavasti:
(1) Laite on mobiili milloin tahansa.

(2) Verkko katkeaa usein, ja mobiililaitteiden tai päätelaitteiden sijainti muuttuu usein käytön aikana. Siihen vaikuttavat myös sellaiset tekijät kuin käyttötavat, virtalähde, langaton viestintä ja verkkoolosuhteet. Siksi verkkoyhteyttä ei yleensä ylläpidetä jatkuvasti, vaan se usein katkeaa aktiivisesti tai passiivisesti ja kytkeytyy ajoittain.

(3) Verkko-olosuhteet ovat vaihtelevia Mobiilitietolaitteiden sijainnin toistuvista muutoksista johtuen mobiilit tietolaitteet ja datapalvelimet voivat olla yhteydessä eri verkkojärjestelmien kautta eri aikoina. Nämä verkot voivat vaihdella verkon kaistanleveyden, viestintäkustannusten, verkon viiveiden, palvelun laadun jne. suhteen.

(4) Epäsymmetriset viestintäominaisuudet Mobiililaitteiden resurssirajoitusten vuoksi verkkoviestintäominaisuudet mobiililaitteiden ja palvelimien välillä ovat epäsymmetrisiä. Mobiililaitteiden lähetysmahdollisuudet ovat hyvin rajalliset, mikä tekee laskevan siirtosuunnan tiedonsiirron kaistanleveydestä datapalvelimelta mobiililaitteeseen ja uplinkin kaistanleveyden mobiililaitteelta datapalvelimelle hyvin erilaisia.

12.5.2 Järjestelmän kokoonpano ja keskeiset tekniikat

Täydellinen sulautettu tietokannan hallintajärjestelmä koostuu useista osajärjestelmistä, mukaan lukien päätietokannan hallintajärjestelmä, synkronointipalvelin, sulautettu tietokannan hallintajärjestelmä, yhteysverkko ja muut alajärjestelmät, kuten kuvassa 12-6 on esitetty.
Lisää kuvan kuvaus tähän
(1) Sulautettu tietokannan hallintajärjestelmä. Sulautettu tietokannan hallintajärjestelmä on toiminnallisesti itsenäinen yhden käyttäjän tietokannan hallintajärjestelmä. Se voi toimia itsenäisesti synkronointipalvelimesta ja päätietokannan hallintajärjestelmästä sulautetun järjestelmän tietojen hallintaan. Se voidaan myös käyttää pääpalvelimessa synkronointipalvelimen kautta useilla eri tavoilla.

(2) Synkronointipalvelin. Synkronointipalvelin on sulautetun tietokannan ja päätietokannan välinen yhteyskeskus, joka varmistaa sulautetun tietokannan ja päätietokannan tietojen johdonmukaisuuden.

(3) Tietopalvelin. Tietopalvelimen päätietokanta ja tietokannan hallintajärjestelmä voivat käyttää suuria yleiskäyttöisiä tietokantajärjestelmiä, kuten Oracle tai Sybase.

(4) Yhdistä verkkoon. Päätietokantapalvelin ja synkronointipalvelin on yleensä yhdistetty laajakaistaisen, matalan viiveen kiinteän verkon kautta. Mobiililaitteen ja synkronointipalvelimen välinen yhteys voi olla langaton lähiverkko, infrapunayhteys, yleinen sarjalinja tai julkinen verkko laitteen erityisolosuhteiden mukaan.

1.Avain sulautettuihin mobiilitietokantoihin sovelluksissa
Käytännön sovelluksissa sulautettujen mobiilitietokantojen on ratkaistava ongelmia, kuten tietojen yhdenmukaisuus (replikointi), tehokas tapahtumakäsittely ja tietoturva.

(1) Tietojen johdonmukaisuus. Sulautetun mobiilitietokannan huomionarvoinen piirre on se, että mobiilipäätelaitteiden ja synkronointipalvelimen välinen yhteys on heikko, eli pieni kaistanleveys, pitkä viive, epävakaus ja toistuva yhteys katkeaminen. Käyttäjien tietokannan toimintojen tukemiseksi heikoissa ympäristöissä käytetään nykyään yleisesti optimistista replikointimenetelmää (Optimistic Replication tai Lazy Replication), jotta käyttäjät voivat käyttää datakopioita paikallisessa välimuistissa. Kun verkko on yhdistetty uudelleen, datan muutostietoja vaihdetaan tietokantapalvelimen tai muiden mobiilidatapäätteiden kanssa ja tietojen yhdenmukaisuus palautetaan ristiriitojen havaitsemisen ja koordinoinnin avulla.

(2) Tehokas tapahtumakäsittely. Mobiilitapahtumat suoritetaan mobiiliympäristössä, jossa yhteys katkeaa usein ja ennakoitavissa. Aktiivisten tapahtumien sujuvan suorittamisen varmistamiseksi on suunniteltava ja otettava käyttöön uusia tapahtumien hallintastrategioita ja -algoritmeja. Määritä tapahtumakäsittelyn prioriteetti verkkoyhteysolosuhteiden perusteella, ja ensimmäisenä käsitellään tapahtumapyynnöt, joilla on suuri verkkoyhteysnopeus;
Määritä, siirretäänkö tapahtuma toiminta-ajan perusteella, eli kaikki pitkäaikaiset tapahtumatoiminnot siirretään palvelimelle suorittamista varten, eikä sinun tarvitse varmistaa, että verkko on aina sujuvaa, onko tapahtuma ladattu suorittamiseen tai lataamiseen sen jälkeen, kun datakopio on suoritettu, parannettu kirjausstrategia tapahtuman käsittelyn aikana, käytetäänkö palvelimen etsintämekanismia tai asiakkaan ilmoitusmekanismia, kun verkkoyhteys katkeaa; tapahtuman liike (kuten sijaintiin liittyvät kyselyt).

(3) Tietoturva. Sulautetut laitteet monilla sovelluskentillä ovat keskeisiä laitteita tietojen hallinnassa tai käsittelyssä järjestelmässä, joten sulautetun laitteen tietokantajärjestelmällä on tiukemmat käyttöoikeudet. Samaan aikaan monilla sulautetuilla laitteilla on korkea liikkuvuus, siirrettävyys ja kiinteät työympäristöt, mikä tuo mukanaan myös mahdollisia vaarallisia tekijöitä. Lisäksi joillakin tiedoilla on korkea henkilökohtainen yksityisyys, joten henkilötietojen turvallisuus on taattava täysin törmäysten, magneettikentän häiriöiden, katoamisen ja varkauksien ehkäisyssä. Tärkeimmät toimenpiteet tietoturvan varmistamiseksi ovat: mobiilipäätteiden todentaminen laittomien päätelaitteiden vilpillisen käytön estämiseksi.

2.Mobiilitietokannan hallintajärjestelmien ominaisuudet
Mobiilitietokannan laskentaympäristö on perinteisen hajautetun DBMS:n laajennus. Sitä voidaan pitää hajautettuna järjestelmänä, jossa asiakkaat ja kiinteät palvelinsolmut ovat yhteydessä toisiinsa. Siksi tietokannan hallintajärjestelmä mobiilin laskentaympäristössä on dynaaminen hajautettu tietokannan hallintajärjestelmä. Koska sulautettua mobiilitietokannan hallintajärjestelmää sovelletaan sulautettuun käyttöjärjestelmään mobiilin laskentaympäristössä, sillä on omat ominaisuutensa ja toiminnalliset vaatimuksensa:

(1) Mikroytimen rakenne helpottaa sulautettujen toimintojen toteuttamista. Sulautettujen laitteiden rajalliset resurssit huomioon ottaen sulautettu mobiili DBMS tulisi toteuttaa käyttämällä miniatyrisointitekniikkaa ja tiivistää sen järjestelmärakenne vastaamaan sulautettujen sovellusten tarpeita.

(2) Normaalin SQL:n tuki. Sulautetun mobiilin DBMS:n tulisi tukea standardia SQL:ää. Tukee SQL92-standardin osajoukkoa, tukee tietokyselyä (liitoskysely, alikysely, lajittelu, ryhmittely jne.), useiden standardien SQL-lauseiden lisäämistä, päivittämistä, poistamista, mikä täyttää sulautettujen sovellusten kehittämisen tarpeet.

(3) Tapahtumanhallintatoiminto. Sulautetun mobiilin DBMS:n tulee sisältää tapahtumankäsittelytoimintoja, jotka ylläpitävät automaattisesti tapahtuman eheyttä, atomiteettia ja muita ominaisuuksia.

(4) Täydellinen tietojen synkronointimekanismi. Tietojen synkronointi on sulautettujen tietokantojen tärkein ominaisuus. Tietojen replikoinnin avulla voidaan sulautetun tietokannan tai päätietokannan muutoksia soveltaa toisiinsa tietojen johdonmukaisuuden varmistamiseksi. Sulautetun mobiilitietokannan hallintajärjestelmän tietojen synkronointimekanismilla tulisi olla seuraavat ominaisuudet:

  • Tarjoaa erilaisia ​​tietojen synkronointimenetelmiä, joissa on kolme synkronointimenetelmää: lataussynkronointi, lataussynkronointi ja täydellinen synkronointi;
  • Siinä on täydellinen konfliktien havaitsemismekanismi ja joustava konfliktien ratkaisu, ja siinä on konfliktien kirjaustoiminto;
  • Tukee nopeaa synkronointia Kun järjestelmä synkronoituu, vain muuttuneet tiedot lähetetään, mikä säästää paljon synkronointiaikaa.
  • Tukee taulukoiden vaakasuoraa jakamista ja pystyjakamista, mikä minimoi sulautetun tietokannan koon;
  • Tukee heterogeenisten tietolähteiden yhteyssynkronointia ja voi käyttää heterogeenisiä tietolähteitä, jotka tukevat ODBC:tä päätietokantana ja sulautetun laitteen tietokannana tietojen synkronointiin;
  • Siinä on aktiivinen synkronointitoiminto, jonka avulla käyttäjät voivat mukauttaa järjestelmän tarjoamaa synkronointitapahtumien prosessia, mikä tarjoaa synkronointiprosessin mahdollisimman joustavasti.

(5) Tukee useita yhteysprotokollia. Sulautetun mobiili DBMS:n tulisi tukea useita tietoliikenneyhteysprotokollia. Yhteydet sulautettuihin laitteisiin ja tietokantapalvelimiin voidaan muodostaa useilla yhteysmenetelmillä, kuten sarjaviestinnällä, TCP/IP:llä, infrapunasiirrolla ja Bluetoothilla.

(6) Täydelliset sulautetut tietokannan hallintatoiminnot. Sulautetun mobiilin DBMS:n tulee sisältää automaattinen palautustoiminto, joka ei periaatteessa vaadi manuaalista puuttumista sulautettujen tietokantojen hallintaan ja voi tarjota tietojen varmuuskopion ja palautuksen käyttäjätietojen turvallisuuden ja luotettavuuden varmistamiseksi.

(7) Alustan riippumattomuus ja tuki useille sulautetuille käyttöjärjestelmille. Sulautetun mobiilin DBMS:n pitäisi pystyä tukemaan useita tällä hetkellä suosittuja sulautettuja käyttöjärjestelmiä, kuten Windows CE:tä ja Palm OS:ää, jotta mobiilipäätelaitteet eivät rajoita sulautettua mobiilitietokannan hallintajärjestelmää.

(8) Nolla hallintaominaisuuksia. Sulautetussa tietokannassa on automaattinen palautustoiminto. Se voi hallita sulautettua tietokantaa ilman manuaalista puuttumista ja tarjota tietojen varmuuskopiointia ja synkronointia.

Lisäksi ihanteellinen tila on, että käyttäjät voivat suorittaa dataoperaatioita ja hallintaa kaikille siihen liittyville mobiilitietokantoille käyttämällä vain yhtä mobiilipäätettä (kuten matkapuhelinta). Tämä edellyttää, että käyttöliittymäjärjestelmä on universaali ja mobiilitietokannan käyttöliittymässä on yhtenäiset ja standardoidut standardit. Etupään hallintajärjestelmä luo automaattisesti yhtenäiset tapahtumankäsittelykomennot tietojenkäsittelyn aikana ja lähettää ne kulloinkin yhdistetylle tietopalvelimelle suoritettaviksi. Tämä parantaa tehokkaasti sulautetun mobiilitietokannan hallintajärjestelmän monipuolisuutta ja laajentaa sulautetun mobiilitietokannan sovellusmahdollisuuksia.

Lyhyesti sanottuna sulautetussa mobiilitietokannan hallintajärjestelmässä on otettava huomioon monia asioita, joita ei tarvitse ottaa huomioon perinteisissä laskentaympäristöissä, kuten tuki katkaisutoimintoille, tuki alueiden välisille pitkille tapahtumille, tuki sijaintiin liittyville kyselyille. , ja kyselyn optimointi. Erityisiä huomioita ja huomioita rajoitettujen resurssien käytön ja järjestelmän tehokkuuden parantamiseksi. Yllä olevien ongelmien ratkaisemiseksi tehokkaasti teknologiat, kuten replikointi- ja välimuistitekniikka, mobiilitapahtumien käsittely, datalähetystekniikka, mobiilikyselyn käsittely ja kyselyn optimointi, sijaintiin liittyvä tietojenkäsittely ja kyselytekniikka, mobiilitiedon julkaisutekniikka, mobiiliagentti ja muut teknologiaa kehitetään edelleen Kehittäminen ja parantaminen edistävät edelleen sulautettujen mobiilitietokannan hallintajärjestelmien kehittämistä.

12.6 Reaaliaikaiset järjestelmät ja sulautetut käyttöjärjestelmät

Yksinkertaisesti sanottuna reaaliaikainen järjestelmä voidaan nähdä järjestelmänä, joka pystyy reagoimaan ulkoisiin tapahtumiin oikea-aikaisesti. Tämän tyyppisen järjestelmän tärkein ominaisuus on ajantasaisuus eli reaaliaikaisuus Reaaliaikaisen järjestelmän oikeellisuus ei riipu vain järjestelmän laskennan loogisista tuloksista, vaan myös ajasta, jolloin nämä tulokset generoidaan.

Tällä hetkellä useimmat reaaliaikaiset järjestelmät ovat sulautettuja, ja todellisissa sulautetuissa järjestelmissä on myös reaaliaikaisia ​​vaatimuksia. Siksi reaaliaikaiset sulautetut käyttöjärjestelmät ovat kaikkein edustavimpia kaiken tyyppiset sulautetut käyttöjärjestelmät Siksi tässä osiossa keskitytään pääasiassa reaaliaikaisten sulautettujen käyttöjärjestelmien ominaisuuksiin ja käsitteisiin, ja siinä esitellään sulautettujen käyttöjärjestelmien peruskäsitteet ja -ominaisuudet, perusarkkitehtuuri ja ydin kuten palvelut, ydinobjektit ja ydinpalvelut.

12.6.1 Reaaliaikainen sulautettujen järjestelmien käsite

Todellisessa maailmassa kaikilla sulautetuilla järjestelmillä ei ole reaaliaikaisia ​​ominaisuuksia, ja kaikki reaaliaikaiset järjestelmät eivät välttämättä ole sulautettuja. Nämä kaksi järjestelmää eivät kuitenkaan sulje toisiaan pois, ja järjestelmiä, joilla on molempien järjestelmien ominaisuudet, kutsutaan reaaliaikaisiksi sulautetuiksi järjestelmiksi. Niiden välinen suhde on esitetty kuvassa 12-7.
Lisää kuvan kuvaus tähän
(1) Oikea logiikka (tai toiminto) tarkoittaa, että järjestelmä voi tuottaa oikeat tulokset käsitellessään ulkoisia tapahtumia.
(2) Oikea aika tarkoittaa, että järjestelmän ulkoisten tapahtumien käsittely on saatava päätökseen ennalta määrätyn ajan kuluessa.
(3) Määräaika tai aikaraja, deadline, deadline viittaa viimeisimpään aikarajaan, jonka järjestelmän on käsiteltävä ulkoisia tapahtumia. Tämän rajan ylittämisellä voi olla vakavia seurauksia. Yleensä laskenta on suoritettava ennen määräajan umpeutumista.
(4) Reaaliaikainen järjestelmä tarkoittaa järjestelmää, joka tyydyttää sekä oikean toiminnan että oikean ajan. Molemmat ovat yhtä tärkeitä. Toisin sanoen reaaliaikaiset järjestelmät ovat aikarajoitettuja ja määräaikoja ohjattuja. Joissakin järjestelmissä ajoituksen oikeellisuus voidaan kuitenkin uhrata toiminnan oikeellisuuden varmistamiseksi.
Reaaliaikaisten järjestelmien jakamista varten reaaliaikaiset järjestelmät voidaan yleensä jakaa:
(1) Vahva reaaliaikainen järjestelmä, järjestelmän vasteaika on hyvin lyhyt, yleensä millisekunnin tai mikrosekunnin tasolla.
(2) Yleisissä reaaliaikaisissa järjestelmissä järjestelmän vasteaika on pienempi kuin vahvojen reaaliaikaisten järjestelmien, yleensä toisella tasolla.
(3) Heikoissa reaaliaikaisissa järjestelmissä järjestelmän vasteaika voi olla pidempi ja se voi myös muuttua järjestelmän kuormituksen vakavuuden mukaan.

Reaaliaikaiset järjestelmät voidaan jakaa pehmeisiin reaaliaikaisiin järjestelmiin ja koviin reaaliaikaisiin järjestelmiin perustuen ylittyneiden määräaikojen sietokykyyn tai seurausten vakavuuteen.
(1) Kova reaaliaikainen järjestelmä tarkoittaa reaaliaikaista järjestelmää, jonka joustavuus on lähellä nollaa aikarajaa.Aikaraja on noudatettava
Muutoin seuraa katastrofaalisia seurauksia ja aikarajan jälkeen saadut käsittelytulokset ovat joko nollatason hyödyttömiä tai voimakkaasti devalvoituneet.
(2) Pehmeällä reaaliaikajärjestelmällä tarkoitetaan reaaliaikaista järjestelmää, jonka on täytettävä aikarajavaatimukset, mutta jolla on tietty joustavuus. Määräajat voivat sisältää vaihtelevia toleranssitasoja, keskimääräisiä määräaikoja tai jopa tilastollisia jakaumia, joissa vasteaikojen hyväksyttävyys vaihtelee. Pehmeissä reaaliaikaisissa järjestelmissä myöhästyneet määräajat eivät yleensä johda vakaviin seurauksiin, kuten järjestelmävikaan. Taulukko 12-2 on pehmeän reaaliaikaisen ja kovan reaaliaikaisen järjestelmän vertailu.
Lisää kuvan kuvaus tähän
Vertailun vuoksi voidaan todeta, että koska myöhästyneillä määräajoilla ei ole ratkaisevaa vaikutusta pehmeiden reaaliaikaisten järjestelmien toimintaan, pehmeän reaaliaikaisen järjestelmän ei tarvitse ennustaa, onko odottamattomia määräaikoja. Sitä vastoin pehmeät reaaliaikaiset järjestelmät voivat aloittaa palautusprosessin havaittuaan myöhästyneen määräajan.

Reaaliaikaisessa järjestelmässä tehtävän aloitusaika on yhtä tärkeä kuin määräaika tai valmistumisaika. Koska tehtävästä puuttuu tarvittavat resurssit, kuten CPU ja muisti, se voi haitata tehtävän suorittamisen aloittamista ja johtaa suoraan puuttumiseen. tehtävän suorittamisen määräaika, joten määräaikaongelma kehittyy resurssien aikataulutusongelmaksi.
Tällä on ratkaiseva vaikutus aikataulutusalgoritmeihin ja tehtävien suunnitteluun.

12.6.2 Sulautettujen käyttöjärjestelmien yleiskuvaus

Ns. sulautetulla käyttöjärjestelmällä tarkoitetaan käyttöjärjestelmää, joka toimii sulautetussa tietokonejärjestelmässä sulautettujen sovellusten tukemiseksi. Se on kokoelma ohjelmistoja, joita käytetään sulautettujen järjestelmien laitteisto- ja ohjelmistoresurssien ohjaamiseen ja hallintaan sekä järjestelmäpalvelujen tarjoamiseen. Sulautettu käyttöjärjestelmä on tärkeä osa sulautettua ohjelmistoa. Sen syntyminen on tehostanut sulautettujen ohjelmistojen kehitystä, parantanut sovellusohjelmistojen siirrettävyyttä ja edistänyt tehokkaasti sulautettujen järjestelmien kehitystä.

1.Sulautettujen käyttöjärjestelmien ominaisuudet
Yleiskäyttöisiin käyttöjärjestelmiin verrattuna sulautetuilla käyttöjärjestelmillä on pääasiassa seuraavat ominaisuudet:

(1) Miniatyrisointi: Sulautetun käyttöjärjestelmän käyttöalusta ei ole yleiskäyttöinen tietokone, vaan sulautettu tietokonejärjestelmä. Tämän tyyppisissä järjestelmissä ei yleensä ole suurikapasiteettista muistia eikä juuri lainkaan ulkoista muistia. Siksi sulautettu käyttöjärjestelmä on tehtävä kompaktiksi, jotta se vie mahdollisimman vähän järjestelmäresursseja. Järjestelmän suoritusnopeuden ja luotettavuuden parantamiseksi sulautetun järjestelmän ohjelmisto on yleensä kiinteästi muistisirussa sen sijaan, että se tallennettaisiin alustalle, kuten levylle.

(2) Korkea koodin laatu: Useimmissa sovelluksissa tallennustila on edelleen arvokas resurssi, mikä edellyttää, että ohjelmakoodi on korkealaatuista ja koodi on mahdollisimman virtaviivaista.

(3) Erikoistuminen: sulautetuille järjestelmille on olemassa erilaisia ​​laitteistoalustoja, ja prosessorit päivitetään nopeasti. Jokainen niistä on suunniteltu erityisesti eri sovellusalueille. Siksi sulautetulla käyttöjärjestelmällä on oltava hyvä mukautumiskyky ja siirrettävyys, ja sen on myös tuettava useita kehitysalustoja.

(4) Vahva reaaliaikainen suorituskyky: Sulautettuja järjestelmiä käytetään laajasti prosessien ohjauksessa, tiedonkeruussa, viestinnässä, multimediatietojen käsittelyssä ja muissa tilanteissa, jotka vaativat reaaliaikaista reagointia. Siksi reaaliaikaisesta suorituskyvystä on tullut toinen sulautettujen käyttöjärjestelmien ominaisuus .

(5) Leikatttavissa ja konfiguroitavissa: Sovellusten monimuotoisuus edellyttää, että sulautetulla käyttöjärjestelmällä on vahva sopeutumiskyky ja että se voidaan konfiguroida joustavasti ja kohtuullisesti leikata sovelluksen ominaisuuksien ja erityisvaatimusten mukaan mukautuakseen miniatyrisoinnin ja erikoistumisen vaatimuksiin.

2.Sulautettujen käyttöjärjestelmien luokitus
Sulautettuja käyttöjärjestelmiä on monenlaisia, ja ne voidaan luokitella eri näkökulmista. Sulautetun käyttöjärjestelmän hankintamuodosta se voidaan jakaa kahteen luokkaan: kaupallinen tyyppi ja ilmainen tyyppi:

(1) Kaupallinen tyyppi. Kaupallisissa sulautetuissa käyttöjärjestelmissä on yleensä vakaat ja luotettavat toiminnot, täydellinen tekninen tuki, täydelliset kehitystyökalut ja huoltopalvelut. Kuten WindRiverin VxWorks, pSOS ja Palm's Palm OS jne. Se on kuitenkin kallista, eivätkä käyttäjät yleensä saa järjestelmän lähdekoodia.

(2) Vapaa tyyppi. Ilmaisen sulautetun käyttöjärjestelmän etu on sen hinnassa. Lisäksi sovellusjärjestelmän kehittäjät voivat hankkia järjestelmän lähdekoodin, mikä helpottaa kehitystä. Ilmaisissa käyttöjärjestelmissä on kuitenkin yksinkertaisia ​​toimintoja, huono tekninen tuki ja huono järjestelmän vakaus. Tyypillisiä edustavia järjestelmiä ovat sulautettu Linux, uC/OS jne. Sulautettujen käyttöjärjestelmien reaaliaikaisuuden perusteella ne voidaan jakaa kahteen luokkaan: reaaliaikaiset sulautetut käyttöjärjestelmät ja ei-reaaliaikaiset sulautetut käyttöjärjestelmät.

(1) Reaaliaikainen sulautettu käyttöjärjestelmä (RTEOS). Reaaliaikainen sulautettu käyttöjärjestelmä tukee reaaliaikaista järjestelmätyötä Sen ensisijaisena tehtävänä on ajoittaa kaikki käytettävissä olevat resurssit vastaamaan reaaliaikaisia ​​​​aikarajoituksia. Toiseksi se keskittyy järjestelmän tehokkuuden parantamiseen. Reaaliaikaisia ​​sulautettuja käyttöjärjestelmiä käytetään pääasiassa ohjaus-, viestintä- ja muilla aloilla. Tällä hetkellä useimmat kaupalliset sulautetut käyttöjärjestelmät ovat reaaliaikaisia ​​käyttöjärjestelmiä.

(2) Ei-reaaliaikainen sulautettu käyttöjärjestelmä. Tämäntyyppinen käyttöjärjestelmä ei kiinnitä erityistä huomiota yksittäisen tehtävän vasteaikaan. Sen keskimääräinen suorituskyky, järjestelmän tehokkuus ja resurssien käyttöaste ovat yleensä korkeat, ja se sopii kulutuselektroniikkatuotteisiin, joilla ei ole tiukkoja reaaliaikavaatimuksia. kuten henkilökohtaiset digitaaliset avustajat, digisovittimet jne.

12.6.3 Reaaliaikainen sulautettu käyttöjärjestelmä

Kaiken kaikkiaan sulautetun järjestelmän reaaliaikainen suorituskyky määräytyy laitteiston, reaaliaikaisen käyttöjärjestelmän ja sovellusten mukaan. Niiden joukossa sulautetun reaaliaikaisen käyttöjärjestelmän ytimen suorituskyky on avainasemassa. Yleensä on olemassa kahdenlaisia ​​reaaliaikaisia ​​sulautettuja käyttöjärjestelmiä: reaaliaikainen ydinpohjainen RTEOS ja yleiskäyttöinen RTEOS.

Reaaliaikainen ydintyyppinen RTEOS: Tämän tyyppinen käyttöjärjestelmä, ohjaimet on perinteisesti upotettu ytimeen, ja sovellukset ja väliohjelmistot on toteutettu tavallisilla sovellusohjelmointiliitännöillä (API:t, Application Programming Interfaces).

Reaaliaikainen yleiskäyttöinen RTEOS: Tämän tyyppisessä käyttöjärjestelmässä ohjain ei ole syvälle upotettu ytimeen, vaan se on toteutettu ytimen päällä ja sisältää vain muutamia tarvittavia ajureita. Sovellukset ja väliohjelmistot voidaan toteuttaa suoraan ohjaimen yläosassa, sen sijaan, että se pitäisi ottaa käyttöön vakiosovellusliittymissä. Niiden erot on esitetty kuvassa 12-8.
Reaaliaikaisten sulautettujen käyttöjärjestelmien ja yleiskäyttöisten käyttöjärjestelmien välillä on monia toiminnallisia yhtäläisyyksiä. Esimerkiksi ne molemmat tukevat moniajoa, tukevat ohjelmistojen ja laitteistojen resurssien hallintaa ja molemmat tarjoavat peruskäyttöjärjestelmän palveluita sovelluksille.
Lisää kuvan kuvaus tähän
1.Sulautettujen reaaliaikaisten käyttöjärjestelmien tärkeimmät ominaisuudet
Verrattuna yleiskäyttöisiin käyttöjärjestelmiin, reaaliaikaisissa sulautetuissa käyttöjärjestelmissä on monia toimintoja. Tärkeimmät ominaisuudet, jotka ovat ainutlaatuisia reaaliaikaisille sulautetuille käyttöjärjestelmille, jotka eroavat yleiskäyttöisistä käyttöjärjestelmistä, ovat:

  • Vastaa sulautettujen sovellusten korkeaan luotettavuuteen;
  • Räätälöidyt ominaisuudet sovellusten tarpeisiin;
  • Alhaiset muistivaatimukset;
  • Toiminnan ennustettavuus;
  • Ota käyttöön reaaliaikainen aikataulustrategia;
  • Järjestelmä on kooltaan kompakti;
  • Tukee käynnistystä ja ajamista ROM- tai RAM-muistista;
  • Sillä on parempi siirrettävyys eri laitteistoalustoille.

2.Sulautettujen reaaliaikaisten käyttöjärjestelmien reaaliaikaiset suorituskykyindikaattorit Kun arvioit reaaliaikaisten käyttöjärjestelmien suorituskykyä, aika suorituskykyindikaattorit
Indikaattori on tärkein suoritusindikaattori Yleisesti käytettyjä ajan mittareita ovat pääasiassa seuraavat:

(1) Tehtävän vaihtoaika: tarkoittaa aikaa, joka tarvitaan suorittimen ohjauksen siirtämiseen käynnissä olevasta tehtävästä toiseen valmiiseen tehtävään, mukaan lukien aika, joka kuluu tehtäväkontekstin tallentamiseen ja palauttamiseen sekä seuraavan suoritettavan tehtävän valintaan tehtävän vaihtamisen yhteydessä Tämä indikaattori liittyy mikroprosessorin rekisterien määrään ja järjestelmärakenteeseen. Sama käyttöjärjestelmä voi kestää eri aikoja, kun sitä käytetään eri mikroprosessoreissa. Tehtävän vaihtoaikaa vastaava ajoituskaavio on esitetty kuvassa 12-9.
Lisää kuvan kuvaus tähän
(2) Keskeytyksen käsittelyyn liittyvät aikailmaisimet, vastaava keskeytysajoituskaavio on esitetty kuvassa 12-10
Lisää kuvan kuvaus tähän
Keskeytysviiveellä tarkoitetaan aikaa keskeytyksen esiintymisestä järjestelmän keskeytyksen oppimiseen. Siihen vaikuttaa pääasiassa järjestelmän maksimi keskeytysaika.

Mitä pidempi keskeytysaika on, sitä pidempi keskeytysviive on;
Keskeytyksen käsittelyn suoritusaika, joka määräytyy tietyn sovelluksen mukaan;
Keskeytyksen vasteaika tarkoittaa aikaa keskeytyksen esiintymisestä käyttäjän keskeytyspalvelurutiinin suorittamisen alkamiseen;
Keskeytyksen palautusaika tarkoittaa aikaa käyttäjän keskeytyspalvelurutiinin päättymisen ja keskeytettyyn koodiin palaamisen välillä;

Suurin keskeytysaika sisältää kaksi näkökohtaa: yksi on ytimen enimmäiskeskeytysaika, eli ydin sammuttaa keskeytykset suoritettaessa kriittistä osakoodia, toinen on sovelluksen keskeytysaika ja suurin keskeytysaika aika on maksimi näistä kahdesta keskeytysajasta; Tehtävän vasteaika tarkoittaa aikaa, joka alkaa tehtävää vastaavan keskeytyksen luomisesta siihen, kun tehtävä todella alkaa toimia.
Ennakoivassa ajoituksessa keskeytyksen palautuksen aika lisätään myös tehtävän vaihtamiseen ja uuden tehtäväkontekstin palauttamiseen kuluvaan aikaan.
välillä.

(3) Järjestelmän vasteaika: tarkoittaa aikaa, jolloin järjestelmä lähettää käsittelypyynnön siihen, kun järjestelmä vastaa, eli ajoitusviiveen. Tämän ajan koon määrittää pääasiassa ytimen tehtäväajoitusalgoritmi. Yhteenvetona voidaan todeta, että tyypillinen ennakoivan reaaliaikaisen ytimen suorituskykyindeksin laskentamenetelmä on esitetty taulukossa 12-3.
Lisää kuvan kuvaus tähän

12.6.4 Johdatus valtavirran sulautettuihin käyttöjärjestelmiin

Tähän mennessä epätäydellisten tilastojen mukaan olemassa olevien sulautettujen käyttöjärjestelmien kokonaismäärä maailmassa on satoja. Yleisimmin käytettyjä käyttöjärjestelmiä on yli tusina. Näillä käyttöjärjestelmillä on suuri suosio ja laaja käyttäjäkunta omilla sovellusalueillaan. Taulukko 12-4 valitsee joitakin alan yleisimpiä sulautettuja käyttöjärjestelmiä vertailua varten.
Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän

12.7 Sulautetun järjestelmän kehitys ja suunnittelu

Sulautetun järjestelmän suunnittelun päätehtävänä on määritellä järjestelmän toiminnot, määrittää järjestelmän arkkitehtuuri ja kartoittaa toiminnot järjestelmän toteutusarkkitehtuuriin. Tässä järjestelmäarkkitehtuuri sisältää sekä ohjelmistojärjestelmäarkkitehtuurin että laitteistojärjestelmäarkkitehtuurin. Arkkitehtuuri voidaan kartoittaa useisiin erilaisiin fyysisiin toteutuksiin, joista jokainen edustaa erilaisia ​​kompromisseja ja täyttää tietyt suunnittelukriteerit ja optimoi toiset.

Sulautettujen järjestelmien suunnittelumenetelmä eroaa yleisistä laitteisto- ja ohjelmistokehitysmenetelmistä. Kehitysprosessi ei sisällä vain ohjelmistoalan osaamista, vaan myös kattavaa laitteiston osaamista kenttään, ja siihen liittyy jopa koneita yms. tiedon näkökohtia. Suunnittelijoilta edellytetään näiden alojen erilaisten teknologioiden tuntemista ja kykyä käyttää niitä vapaasti suunnitellun järjestelmän optimoimiseksi.

Vaikka sulautettujen järjestelmien sovellusohjelmistojen suunnitteluratkaisut vaihtelevat eri sovellusaloilla, sulautettujen järjestelmien analyysi- ja suunnittelumenetelmät noudattavat myös ohjelmistosuunnittelun yleisiä periaatteita Lukuisia kypsiä analyysi- ja suunnittelumenetelmiä voidaan soveltaa sulautetulla alalla. Sulautettujen järjestelmien kehitysprosessi sisältää myös useita perusvaiheita: vaatimusanalyysin, järjestelmän suunnittelun, toteutuksen ja testauksen, ja jokaisella vaiheella on omat ainutlaatuiset ominaisuutensa ja painopisteensä.

Tässä osiossa esitellään pääasiassa sulautettujen järjestelmien kehittämisen ja suunnittelun teknologiaa ja menetelmiä sekä analysoidaan sovellusohjelmistojen suunnittelumenetelmiä ja suunnitteluprosessin keskeisiä ongelmia sulautettujen järjestelmien sovellusten ja laskentamallien näkökulmasta. Lopuksi käsitellään ohjelmiston siirtoon liittyviä kysymyksiä sulautetussa kentässä.

12.7.1 Sulautetun järjestelmän suunnittelun yleiskatsaus

Ennen sulautetun järjestelmän suunnittelua tulee selvittää itse sulautetun järjestelmän suunnittelun ominaisuudet ja eräät tärkeimmät tekniset indikaattorit sulautetun järjestelmän suunnittelun mittaamiseksi.

1.Sulautetun järjestelmän suunnittelun ominaisuudet
Tavalliseen järjestelmäsuunnitteluun verrattuna sulautetun järjestelmän suunnittelulla on seuraavat ominaisuudet:

  • Ohjelmistojen ja laitteistojen yhteis- ja rinnakkaiskehitys;
  • Mikroprosessoreita on monenlaisia;
    -Reaaliaikaiset sulautetut käyttöjärjestelmät ovat erilaisia;
  • Verrattuna yleiseen järjestelmäkehitykseen käytettävissä olevat järjestelmäresurssit ovat vähän;
  • Pieni sovellustuki;
  • Vaatii erityisiä kehitystyökaluja;
  • Sekä ohjelmiston että laitteiston on oltava kestäviä;
  • Virheenkorjaus on vaikeaa.

2.Sulautettujen järjestelmien tekniset indikaattorit
Sulautetun järjestelmän suunnittelussa yleisesti käytettyjä indikaattoreita ovat:
(1) NRE-kustannukset (kertaluonteiset suunnittelukustannukset): kertaluonteiset rahalliset kustannukset, jotka on maksettava järjestelmän suunnittelusta, eli kun suunnittelu on valmis, voidaan valmistaa mikä tahansa määrä tuotteita maksamatta ylimääräisiä suunnittelumaksuja .

(2) Yksikkökustannukset: yksittäisen tuotteen tuottamiseen vaadittavat rahalliset kustannukset, lukuun ottamatta NRE-kustannuksia.

(3) Koko: Viittaa järjestelmän viemään tilaan.

(4) Suorituskyky: Aika, jonka järjestelmä tarvitsee tiettyjen tehtävien suorittamiseen, on suunnittelun aikana yleisimmin käytetty mittausmenetelmä. Yksi on vasteaika, joka on suorituksen alkamisen ja päättymisen välinen aika tehtävä. Toinen on valmistumismäärä, joka on suoritettujen tehtävien määrä aikayksikköä kohti.

(5) Teho: Järjestelmän kuluttama teho, joka määrittää akun käyttöiän tai piirin lämmönpoistovaatimukset.

(6) Joustavuus: Mahdollisuus muuttaa järjestelmän toimintoja lisäämättä NRE-kustannuksia.

(7) Prototyypin luomisaika: aika, joka tarvitaan järjestelmän ajettavan version luomiseen. Järjestelmän prototyyppi voi olla suurempi ja kalliimpi kuin lopputuote, mutta sillä voidaan varmistaa järjestelmän käyttö ja oikeellisuus sekä parantaa järjestelmän toimivuutta. järjestelmä.

(8) Aika markkinoille: Aika järjestelmän kehittämisestä siihen, kun se voidaan myydä kuluttajille Tärkeimpiä vaikuttavia tekijöitä ovat suunnitteluaika, valmistusaika ja testausaika.

(9) Ylläpidettävyys: Helppous, jolla järjestelmää voidaan muokata sen julkaisun tai markkinoinnin jälkeen, erityisesti ei-alkuperäisten kehittäjien toimesta.

(10) Oikeus: Jos järjestelmän toiminta on toteutettu oikein, järjestelmän toiminta voidaan tarkastaa koko suunnitteluprosessin ajan, ja siihen voidaan liittää myös testipiiri, jolla tarkistetaan, onko se oikea.

(11) Turvallisuus: todennäköisyys, että järjestelmä ei aiheuta vahinkoa. Erilaiset suunnitteluindikaattorit kilpailevat yleensä keskenään. Yhden indikaattorin parantaminen johtaa usein muiden indikaattoreiden huonontumiseen. Suunnittelijan on ymmärrettävä erilaisia ​​ohjelmisto- ja laitteistototeutusteknologioita teknologiaa siirretään toiselle, jotta löydettäisiin paras ratkaisu tietyissä rajoituksissa.

3.Sulautetun järjestelmän suunnittelun haasteita
Sulautetun järjestelmän suunnittelun kohtaamat haasteet sisältävät seuraavat näkökohdat.
(1) Kuinka paljon laitteistoa tarvitaan: Suunnittelijoilla on vahva hallinta ongelmien ratkaisemiseen käytettävään laskentatehoon. He voivat valita käytettävän prosessorin lisäksi myös muistin määrän, käytetyt oheislaitteet jne., koska suunnittelu ei ole pelkästään mahdollista. Suorituskykyvaatimusten täyttämiseksi on myös rajoituksia valmistuskustannuksille. Laitteiston valinta on erittäin tärkeää.

(2) Aikarajan noudattaminen: Ei ole suositeltavaa käyttää prosessorin nopeuden lisäämismenetelmää ohjelman nopeuttamiseksi aikarajoituksen ratkaisemiseksi, koska tämä nostaa järjestelmän hintaa. Samaan aikaan prosessorin kellotaajuuden lisääminen ei toisinaan paranna suoritusnopeutta, koska tallennusjärjestelmä saattaa rajoittaa ohjelman nopeutta.

(3) Järjestelmän virrankulutuksen vähentäminen: Akkukäyttöisissä järjestelmissä virrankulutus on erittäin arkaluonteinen asia. Ei-akkukäyttöisissä järjestelmissä suuri teho tarkoittaa suurta lämmönpoistoa. Yksi tapa vähentää järjestelmän virrankulutusta on vähentää sen laskentanopeutta, mutta pelkkä laskentanopeuden vähentäminen johtaa ilmeisesti epätyydyttävään suorituskykyyn. Siksi on tehtävä huolellinen suunnittelu virrankulutuksen vähentämiseksi ja samalla suorituskyvyn rajoitusten täyttämiseksi.

(4) Järjestelmän skaalautuvuuden varmistaminen: Järjestelmän laitteistoalustalla voi olla useita sukupolvia tai saman sukupolven eri tasoja. Nämä edellyttävät vain joitain yksinkertaisia ​​muutoksia järjestelmän ominaisuuksiin vaihtamalla ohjelmistoa, joka voi tarjota suorituskykyominaisuuksia, joita ei vielä ole saatavilla ohjelmistossa.

(5) Näin varmistetaan järjestelmän luotettavuus: Luotettavuus on tärkeä indikaattori tuotteita myytäessä. Kuluttajilta on kohtuullinen vaatimus, että tuote voi toimia hyvin.

(6) Testauksen monimutkaisuus: Sulautetun järjestelmän testaus on paljon vaikeampaa kuin vain joidenkin tietojen syöttäminen, joten koko kone on ajettava oikean datan luomiseksi. Aika, jolloin data syntyy, on erittäin tärkeä, eli ei poistu sulautetusta järjestelmästä. Työskentele koko ympäristön kanssa sulautettujen järjestelmien testaamiseksi.

(7) Rajoitettu näkyvyys ja ohjattavuus: Sulautetuissa järjestelmissä ei yleensä ole näyttölaitteita ja näppäimistöjä, minkä vuoksi kehittäjien on vaikea ymmärtää, mitä järjestelmän sisällä tapahtuu, eivätkä he pysty reagoimaan järjestelmän toimiin signaaleja ymmärtää. Reaaliaikaisissa järjestelmissä järjestelmää ei yleensä ole mahdollista sulkea tarkkailua varten.

(8) Rajoitettu kehitysympäristö: Sulautettujen järjestelmien, kuten kehitysohjelmistojen ja laitteistojen, kehitysympäristö on yleensä rajallisempi kuin yleiskäyttöisten tietokoneiden tai työasemien ympäristö vaikuttaa kehityksen etenemiseen.

12.7.2 Kehitysmalli ja suunnitteluprosessi

Kuten yleisten järjestelmien kehittämisessä, myös sulautettujen järjestelmien kehittäminen voi omaksua yhteisiä ohjelmistosuunnittelun kehitysmalleja, jotka sisältävät pääasiassa vesiputousmallin, spiraalimallin, vaiheittaisen tarkennusmallin ja hierarkkisen mallin.

1.Yleisiä kehitysmalleja
Suunnitteluprosessi on sarja vaiheita, joita tulee noudattaa järjestelmän suunnittelun aikana, joista osa voidaan tehdä automaattisilla työkaluilla, kun taas toiset voidaan tehdä vain manuaalisesti. Sulautettujen järjestelmien alalla on olemassa seuraavat yleisesti käytetyt kehitysprosessimallit.

(1) Vesiputousmalli. Vesiputousmalli koostuu viidestä päävaiheesta: vaatimusanalyysivaiheessa määritetään kohdejärjestelmän perusominaisuudet. ja viimeinen Se on ylläpitovaihe, joka on pääasiassa vastuussa koodin muuttamisesta sopeutumaan ympäristön muutoksiin, virheiden korjaamisesta ja päivityksestä. Jokaisen vaiheen työ ja tieto kulkevat aina yhteen suuntaan korkean tason abstraktiosta tarkempiin suunnitteluvaiheisiin, mikä on ihanteellinen ylhäältä alas -suunnittelumalli.

(2) Spiraalimalli. Spiraalimallissa oletetaan, että järjestelmästä rakennetaan useita versioita. Varhainen versio on yksinkertainen kokeellinen malli, joka auttaa suunnittelijaa luomaan järjestelmän intuitiota ja keräämään kokemusta tämän järjestelmän kehittämisestä luotu järjestelmä. Jokaisella suunnittelukerroksella suunnittelijat käyvät läpi kolme vaihetta: kysyntäanalyysin, rakennesuunnittelun ja testauksen. Myöhemmässä vaiheessa, kun järjestelmästä rakennetaan monimutkaisempia versioita, jokaisessa vaiheessa tehdään enemmän työtä ja suunnitteluspiraalia on laajennettava kehitetyn järjestelmän ymmärtäminen järjestelmän suunnittelusyklien avulla. Ensimmäinen silmukka spiraalin yläosassa on hyvin pieni ja lyhyt, kun taas viimeinen spiraalin alaosassa oleva silmukka lisää yksityiskohtia spiraalimallin varhaisiin silmukoihin, mikä on realistisempi kuin vesiputousmalli.

(3) Mallin askel askeleelta tarkentaminen. Asteittainen tarkennusmalli on järjestelmä, joka rakennetaan useita kertoja. Ensimmäinen järjestelmä on prototyyppi, jonka jälkeen järjestelmää jalostetaan yksitellen. Tämä lähestymistapa on järkevä, kun suunnittelija ei ole kovin perehtynyt rakennettavan järjestelmän sovellusalueeseen. Järjestelmän jalostaminen rakentamalla useita yhä monimutkaisempia järjestelmiä antaa suunnittelijoille mahdollisuuden testata arkkitehtuuria ja suunnittelutekniikoita. Lisäksi eri iteratiivisia tekniikoita voidaan suorittaa vain osittain, kunnes järjestelmä on lopulta valmis.

(4) Hierarkkinen malli. Monet sulautetut järjestelmät koostuvat itse pienemmistä rakenteista, ja täydellinen järjestelmä voi vaatia erilaisia ​​ohjelmisto- ja laitteistokomponentteja. Nämä osat voivat koostua pienemmistä osista, joita ei ole vielä suunniteltava, joten suunnitteluprosessi muuttuu järjestelmän abstraktiotason mukaan koko järjestelmän alkuperäisestä suunnittelusta yksittäisten osien suunnitteluun, kokonaissuunnittelusta korkein abstraktiotaso välitasolle. Yksityiskohtainen suunnittelu abstraktilla tasolla ja sitten kunkin tietyn moduulin suunnittelu avataan kerros kerrokselta. Jokainen prosessi voi olla yksi suunnittelija tai suunnittelutiimi , ja jokainen ryhmä oppii esimiehiltä. Ryhmät saavat vaatimukset, kun taas vanhempainryhmät luottavat yksittäisten ryhmien laatuun ja suorituskykyyn. Lisäksi prosessin jokainen toteutusvaihe on täydellinen prosessi määrittelystä testaukseen.

2.Sulautetun järjestelmän suunnittelumenetelmät
Hyvä sulautetun järjestelmän suunnittelumenetelmä on erittäin tärkeä, koska:
(1) Hyvä suunnittelumenetelmä antaa suunnittelijoille mahdollisuuden ymmärtää selkeästi tekemänsä työn edistymistä, jotta kukaan ei jää huomaamatta.
(2) Salli tietokoneavusteisten työkalujen käyttö auttamaan suunnittelijoita ja jaa koko prosessi useisiin ohjattaviin vaiheisiin.
(3) Hyvät suunnittelumenetelmät helpottavat suunnittelutiimin jäsenten välistä kommunikaatiota Määrittämällä kattavan suunnitteluprosessin jokainen tiimin jäsen voi saada hyvän käsityksen heidän tehtävästään ja vaiheista, joita hänelle määrättyjen tehtävien suorittaminen edellyttää. saavutettuja tavoitteita.

Sulautetun järjestelmän ohjelmiston kehitysprosessi voidaan jakaa useisiin vaiheisiin, kuten projektin suunnittelu, toteutettavuusanalyysi, vaatimusanalyysi, ääriviivasuunnittelu, yksityiskohtainen suunnittelu, ohjelman luominen, lataus, virheenkorjaus, kiinteytys, testaus ja käyttö.

Projektisuunnittelun, toteutettavuusanalyysin, vaatimusanalyysin, ääriviivasuunnittelun ja yksityiskohtaisen suunnittelun vaiheet ovat pohjimmiltaan samat kuin yleisen ohjelmiston kehitysprosessi, ja ne voidaan kaikki suorittaa ohjelmistokehitysmenetelmien, kuten prototyyppimenetelmien, strukturoitujen menetelmien jne. mukaisesti. .

Koska sulautettujen ohjelmistojen käyttö- ja kehitysympäristöt ovat erilaisia, kehitystyötä tehdään ristiin, joten tämä on otettava huomioon jokaisessa vaiheessa. Ohjelman perustamisvaiheen työ perustuu yksityiskohtaisen suunnitteluvaiheen aikana syntyviin asiakirjoihin. Tässä vaiheessa työ sisältää pääasiassa useita aliprosesseja, kuten lähdekoodin kirjoittamista, kääntämistä ja linkittämistä. Nämä tehtävät suoritetaan kaikki isäntäkoneella eivätkä vaadi kohdekoneen käyttöä. Kun olet luonut sovelluksen suoritettavan tiedoston, sinun on käytettävä ristiinkehitysympäristöä virheenkorjaukseen. Voit valita todellisen tilanteen mukaan.
Tee tämä käyttämällä yhtä useista käytettävissä olevista virheenkorjausmenetelmistä tai niiden kelvollista yhdistelmää. Sulautetun järjestelmän suunnittelu eroaa perinteisestä ohjelmistosuunnittelusta, kuten kuvassa 12-11 näkyy. Se sisältää usein laitteisto- ja ohjelmistosuunnittelun, joissa käyttöliittymätoiminnot, kuten tekniset tiedot ja järjestelmäarkkitehtuuri, edellyttävät sekä laitteisto- että ohjelmistonäkökohtien huomioon ottamista.
Lisää kuvan kuvaus tähän
Vastaavasti taustasuunnittelussa, kuten järjestelmäintegraatiossa ja testauksessa, otetaan huomioon koko järjestelmä. Välivaiheessa ohjelmisto- ja laitteistokomponentteja kehitetään toisistaan ​​riippumatta ja suurin osa laitteisto- ja ohjelmistotyöstä voidaan suorittaa suhteellisen itsenäisesti. Lopuksi oikea suoritettava ohjelma virheenkorjauksen jälkeen on vahvistettava kohdekoneessa.Sulautetun järjestelmän laitteiston kokoonpanosta riippuen on olemassa useita kovetusmenetelmiä. Se voidaan kovettaa muisteissa, kuten EPROM ja FLASH, tai elektronisissa laitteissa, kuten DOC ja DOM.
alalevy. Yleensä se tehdään joidenkin erityisohjelmoijien avulla.

Koska sulautetuilla järjestelmillä on korkeammat turvallisuus- ja luotettavuusvaatimukset kuin yleiskäyttöisillä tietokonejärjestelmillä, sulautettujen järjestelmien valkoisen laatikon testauksen suorittamisessa vaaditaan suurempaa koodikattavuutta. Järjestelmän kehitysprosessin jokaisessa vaiheessa on suoritettava järjestelmän vahvistus ja suorituskyvyn arviointi, turvallisuusarviointi ja riskinarviointi sekä testattava ja todennettava järjestelmän toteutus.

12.7.3 Sulautetun järjestelmän suunnittelun ydinteknologiat

Sulautettujen järjestelmien kehittäminen on ohjelmistojen ja laitteistojen kokonaisvaltaista kehitystä, joka eroaa suuresti yleisten järjestelmien kehittämisestä. Toisaalta jokainen sulautettu järjestelmä on ohjelmiston ja laitteiston yhdistelmä on kehitetty, Ohjelmisto on jähmettynyt tuotteeseen laitteiston mukana ja sillä on vahva spesifisyys. Näiden ominaisuuksien vaikutuksesta sulautettujen järjestelmien kehitysprosessin tukena on oltava yleisestä ohjelmistokehitysprosessista poikkeava suunnittelumenetelmä. Samalla nämä ominaisuudet määrittävät myös sulautettujen järjestelmien kehittämisessä käytettävät ainutlaatuiset ydinteknologiat.

Yleisesti ottaen sulautetun kehityksen alalla on kolme pääteknologiaa: prosessoritekniikka, IC-tekniikka ja suunnittelu-/varmennustekniikka.

1. Prosessoritekniikka
Prosessoritekniikka liittyy laskentakoneen rakenteeseen, joka toteuttaa järjestelmätoimintoja. Monia ei-ohjelmoivia digitaalisia järjestelmiä voidaan pitää myös prosessoreina. .

(1) Yleiskäyttöinen prosessori. Tämän tyyppistä prosessoria voidaan käyttää erityyppisissä sovelluksissa. Tärkeä ominaisuus on ohjelmien tallennus Koska suunnittelija ei tiedä, mitä toimintoja prosessori suorittaa, on mahdotonta luoda ohjelmaa digitaalisia piirejä käyttäen. Toinen ominaisuus on universaali tietopolku Erilaisten laskelmien käsittelemiseksi tietopolulla on yleensä suuri määrä rekistereitä ja yksi tai useampi yleiskäyttöinen aritmeettinen logiikka. Suunnittelijan tarvitsee vain ohjelmoida prosessorin muisti suorittamaan vaaditut toiminnot, eli suunnitteluun liittyvät ohjelmistot.

Yleiskäyttöisten prosessorien käytöllä sulautetuissa järjestelmissä on useita etuja suunnittelumittareiden suhteen. Markkinointiaika ja NRE-kustannukset ovat alhaiset, koska suunnittelijan tarvitsee vain kirjoittaa ohjelma ilman digitaalista suunnittelua. Se on erittäin joustava ja toiminnallisia muutoksia voidaan tehdä ohjelmaa muokkaamalla. Verrattuna prosessorin sisäiseen suunnitteluun yksikkökustannus on pienempi, kun määrä on pieni.

Tietysti tässä menetelmässä on myös puutteita suunnitteluindikaattoreissa Kun määrä on suuri, yksikkökustannus on suhteellisen korkea, koska kun määrä on suuri, itse suunnitellun NRE:n kustannukset poistetaan, mikä voi vähentää yksikkökustannuksia. Samaan aikaan joissakin sovelluksissa suorituskyky voi olla heikko. Järjestelmän koko ja virrankulutus voivat kasvaa tarpeettoman prosessorilaitteiston vuoksi.

(2) Yksikäyttöinen prosessori. Yksikäyttöinen prosessori on digitaalinen piiri, joka on suunniteltu suorittamaan tiettyä ohjelmaa. Se viittaa myös apuprosessoreihin, kiihdyttimiin, oheislaitteisiin jne. Koodekit, kuten JPEG, suorittavat yhden prosessin videotietojen pakkaamiseksi tai purkamiseksi. Sulautetun järjestelmän suunnittelijat voivat luoda yksittäisiä prosessoreita suunnittelemalla erityisiä digitaalisia piirejä. Suunnittelijat voivat käyttää myös valmiiksi suunniteltuja kaupallisia yksikäyttöisiä prosessoreita.

Yksittäisten prosessorien käytöllä sulautetuissa järjestelmissä on joitain etuja ja haittoja mittareiden suhteen. Nämä edut ja haitat ovat pohjimmiltaan päinvastaisia ​​kuin yleiskäyttöiset prosessorit. Suorituskyky voi olla parempi, koko ja teho voivat olla pienemmät, yksikkökustannukset voivat olla alhaisemmat, kun määrä on suuri, ja suunnitteluaika ja NRE-kustannukset voivat olla korkeat. Joustavuus on heikko ja yksikköhinta per tunti on korkeampi, joissakin sovelluksissa suorituskyky ei ole yhtä hyvä kuin yleiskäyttöisten prosessorien.

(3) Erillinen prosessori. Erityiskäyttöinen käskysarjaprosessori on ohjelmoitava prosessori, joka on optimoitu tietyntyyppistä sovellusta varten. Tällaisilla erityisillä sovelluksilla on samat ominaisuudet, kuten sulautettu ohjaus, digitaalinen signaalinkäsittely jne. Erillisten prosessorien käyttö sulautetuissa järjestelmissä voi tarjota enemmän joustavuutta ja varmistaa samalla hyvän suorituskyvyn, tehon ja koon, mutta tällaiset prosessorit vaativat silti kalliita kustannuksia itse prosessorin ja kääntäjän rakentamiseen. Mikro-ohjaimet ja digitaaliset signaaliprosessorit ovat kahden tyyppisiä erikoisprosessoreita, joita käytetään laajasti.

2. IC-tekniikkaa
Toteutustekniikka, joka saa varsinaisen sirun fyysisen kartoitusprosessin järjestelmän integroidun piirin suunnittelukuvauksesta, on IC (Integrated Circuits, Integrated Circuit) -tekniikka Tällä hetkellä puolijohdealalla on kolmenlaisia ​​toteutustekniikoita, nimittäin täysi räätälöinti , puoliräätälöinti ja ohjelmoitava tekniikka Voidaan soveltaa sulautettujen järjestelmien laitteistosuunnitteluun.

(1) Täysin räätälöity/VLSI (Very Large Scale Integrated Circuits, erittäin suuren mittakaavan integroidut piirit). Täysin räätälöidyssä IC-tekniikassa jokaisen kerroksen suunnittelijoiden on optimoitava tietyn sulautetun järjestelmän digitaalinen toteutus Suunnittelijat aloittavat transistorien sijoittelun koosta, sijainnista ja kaapeloinnista korkean sirualueen käyttöasteen, nopean nopeuden ja alhaisen virrankulutuksen saavuttamiseksi. Optimoi suorituskyky. Kun maskeja käytetään todellisten sirujen tuottamiseen tuotantolaitoksessa, täysin mukautetuilla IC-malleilla, joita usein kutsutaan myös VLSI:ksi, on korkeat NRE-kustannukset, pitkät valmistusajat ja ne sopivat suuriin tai suorituskykykriittisiin sovelluksiin.

(2) Semi-custom/ASIC (Application Specific Integrated Circuit, Application Specific Integrated Circuit). Puolimukautettu ASIC on rajoitettu suunnittelumenetelmä, joka sisältää porttiryhmän suunnittelumenetelmän ja standardin solusuunnittelumenetelmän. Se on puolivalmisteinen laitteisto, jossa on sirulle tehtyjä yleisyksikkökomponentteja ja komponenttiryhmiä Suunnittelijan tarvitsee huomioida vain piirin loogiset toiminnot ja toiminnallisten moduulien väliset järkevät kytkennät. Tämä suunnittelumenetelmä on joustava, kätevä ja kustannustehokas, lyhentää suunnittelusykliä ja parantaa tuottoa.

(3) Ohjelmoitava/ASIC. Ohjelmoitavan laitteen kaikki kerrokset ovat jo olemassa, kun suunnittelu on valmis, suunniteltu siru voidaan polttaa laboratoriossa ilman IC-valmistajien osallistumista, ja kehityssykli lyhenee merkittävästi. Ohjelmoitava ASIC:lla on alhaisemmat NRE-kustannukset, korkeammat yksikkökustannukset, korkeampi virrankulutus ja hitaampi nopeus.

3.Suunnittelu/vahvistustekniikka
Sulautettujen järjestelmien suunnitteluteknologiaan kuuluu pääasiassa kaksi luokkaa: laitteistosuunnittelutekniikka ja ohjelmistosuunnittelutekniikka. Niiden joukossa laitteistosuunnittelun teknologiaan kuuluu pääasiassa sirutason suunnittelutekniikkaa ja piirilevytason suunnittelutekniikkaa.

Sirutason suunnitteluteknologian ydin on käännös/synteesi, kirjasto/IP (intellectual Property, immateriaaliomaisuus) ja testaus/todentaminen. Kokoonpano-/synteesitekniikan avulla suunnittelijat voivat kuvata tarvittavat toiminnallisuudet abstraktisti ja automaattisesti analysoida ja lisätä toteutuksen yksityiskohtia. Kirjasto/IP-teknologia käyttää valmiiksi suunniteltuja matalan tason abstraktiototeutuksia korkean tason abstraktioille. Testaus/varmennustekniikka varmistaa, että jokainen taso toimii oikein, mikä vähentää iteratiivisen suunnittelun kustannuksia tasojen välillä.

Ohjelmistosuunnitteluteknologian ydin on ohjelmistokieli. Ohjelmistokielet ovat kokeneet kehitysprosessin matalan tason kielistä (konekieli, kokoonpanokieli) korkean tason kieliin (esimerkiksi strukturoidut suunnittelukielet, olio-suunnittelukielet). kokoonpanotekniikka, analyysitekniikka, käännös-/tulkintatekniikka jne. monet niihin liittyvät teknologiat. Ohjelmistokielten tasot ovat myös vähitellen siirtymässä toteutustasolta, suunnittelutasolta ja toimintatasolta kysyntätason kielikehitykseen.

Alkuaikoina yleiskäyttöisten prosessorien käsitteen asteittaisen muodostumisen myötä ohjelmistotekniikka kehittyi nopeasti, myös ohjelmistojen monimutkaisuus alkoi kasvaa, ja ohjelmistosuunnittelun ja laitteistosuunnittelun tekniikat ja alat erotettiin kokonaan toisistaan. Suunnittelutekniikat ja -työkalut ovat kehittyneet samanaikaisesti näillä kahdella alalla, mikä mahdollistaa käyttäytymisen kuvausten suorittamisen yhä abstraktemmilla tasoilla mukautuakseen suunnittelun monimutkaisuuden kasvaviin tarpeisiin. Tämä samanaikainen kehitys saa nyt molemmat kentät käyttämään samaa ajoitusmallia käyttäytymisen kuvaamiseen, joten on mahdollista, että nämä kaksi kenttää yhdistyvät jälleen yhdeksi kenttään.

Ottaen huomioon, että useimmat sulautetut järjestelmät ovat reaaliaikaisia ​​reaktiivisia järjestelmiä, reaktiivisilla järjestelmillä on useiden tehtävien samanaikaisuus, tiukat aikarajoitukset ja korkea luotettavuus Reaktiivisten järjestelmien suunnittelua ja kuvausta varten kuvauskielet ja validointimenetelmät. Esimerkiksi sekvenssilogiikkaa käytetään kuvaamaan reaktiivisten järjestelmien luonnetta ja perustelemaan reaktiivisten järjestelmien käyttäytymistä, ja mallintarkistustekniikkaa käytetään reaktiivisten järjestelmien suunnitelmien oikeellisuuden tarkistamiseen. Nämä tekniikat ovat vähitellen olleet tärkeässä roolissa sulautetussa kehityksessä käsitellä asiaa. .

12.7.4 Sulautettu kehitys- ja suunnitteluympäristö

Sulautetuille järjestelmille on olemassa monenlaisia ​​kehitysympäristöjä, jotka voidaan yleensä jakaa seuraaviin luokkiin:
(1) Sulautettuja käyttöjärjestelmiä tukevat kehitysympäristöt Tässä luokassa on monia kehitysympäristöjä, kuten PalmOS, THOS, VxWorks, Windows CE ja muut kaupalliset sulautetut käyttöjärjestelmät, joissa on niitä tukevat täysin toimivat kehitysympäristöt.

(2) Prosessorisirua tukeva kehitysympäristö. Tämän tyyppisen kehitysympäristön tarjoavat yleensä prosessorivalmistajat. Esimerkiksi EPSONin erityisesti S1C33-sarjaan mikro-ohjainpiiriin perustuvien sulautettujen järjestelmien kehittämiseen tarkoitettu työkalusarja on tällainen kehitysympäristö.

(3) Kehitysympäristö, joka vastaa tiettyä sovellusalustaa. Tämäntyyppinen kehitysympäristö on erittäin kohdennettu, kuten Qualcommin Brew SDK.

(4) Muut kehitysympäristöt. Tämäntyyppinen kehitysympäristö viittaa pääasiassa yleisempään kehitysympäristöön, jonka jotkut sulautettujen järjestelmien valmistajat ovat kehittäneet tai mukauttaneet GNU:n avoimen lähdekoodin työkaluihin perustuen. Tällaisia ​​työkaluja on saatavilla ilmaiseksi, ne tukevat monenlaisia ​​prosessorityyppejä ja niissä on täydelliset toiminnot, mutta niiden tekninen tuki on hieman huonompi kuin ammattimaiset kaupalliset työkalut.

12.7.5 Sulautetun ohjelmiston suunnittelumalli

Sulautettujen järjestelmien toimintojen monimutkaistuessa on yhä vaikeampaa kuvata näiden toiminnallisesti monimutkaisten järjestelmien käyttäytymistä. Käytäntö on osoittanut, että järjestelmien kuvaaminen ja analysointi laskennallisten mallien avulla on menetelmä, jolla on teknistä arvoa.

Tässä osiossa esitellään useita yleisesti käytettyjä laskentamalleja sulautetulla alalla sekä analysoidaan ja selitetään sulautettujen sovellusten suunnitteluun ja kehittämiseen liittyviä kysymyksiä laskentamallien näkökulmasta. Laskennalliset mallit tarjoavat joukon menetelmiä monimutkaisten toimintojen yhdistämiseksi yksinkertaisiin objekteihin, mikä voi auttaa suunnittelijoita ymmärtämään ja kuvaamaan järjestelmän käyttäytymistä. Yleisesti käytettyjä laskentamalleja sulautetuissa järjestelmissä ovat seuraavat: peräkkäinen laskentamalli, viestintäprosessimalli, tilakonemalli, tietovirtamalli, oliomalli ja samanaikaisen prosessin malli. Näitä malleja käytetään eri sovellusalueilla Esimerkiksi tilakonemalli soveltuu erityisesti ohjauslähtöisten järjestelmien kuvaamiseen, ja tietovirtamalli pystyy kuvaamaan hyvin tiedonkäsittely- ja muunnosongelmia. Tällä hetkellä yleisimmin käytetty on rinnakkaisprosessimalli.

1.Valtion koneen malli
Finite-State Machine (FSM) on perustilamalli, joka voi käyttää joukkoa mahdollisia tiloja kuvaamaan järjestelmän käyttäytymistä. Järjestelmä voi olla vain yhdessä tilasta milloin tahansa tai se voi myös kuvata määritettyä tilaa syötteellä Transition voi lopulta kuvata toimintoja, jotka voivat tapahtua tietyssä tilassa tai tilasiirtymän aikana.
Äärillinen tilakone FSM on kuuden moninkertainen F<S,I,O,F,H,S0> , jossa S on tilajoukko {s0, s1,…,sl}, I on tulojoukko {I0, I1,…,Im}, O on lähtöjoukko {o0, o1,…,on} ja F on alitilafunktio tai siirtymäfunktio, joka kuvaa tilan ja tulon tilaan (S×I→S), H on lähtöfunktio, joka kuvaa tilan lähtöön (S→O) ja S0 on alkutila. .

Kuva 12-12 on hissin ohjausyksikön tilakonekuvaus. Alkuperäisessä "tyhjäkäynnissä" asetetaan ylös ja alas arvoon 0 ja avataan arvoon 1. Tilakone pysyy "valmiustilassa", kunnes pyydetty kerros eroaa nykyisestä kerroksesta. Jos pyydetty kerros on suurempi kuin nykyinen kerros, tilakone siirtyy "ylös"-tilaan ja asettaa arvoon 1. Jos pyydetty kerros on pienempi kuin nykyinen kerros, tilakone siirtyy "alas"-tilaan ja alas-asetuksena on 1. Tilakone pysyy "alas"- tai "ylös"-tilassa, kunnes nykyinen kerros on yhtä suuri kuin pyydetty kerros, ja sitten tila siirtyy "avoin"-tilaan, jossa avoin arvo on 1. Yleensä järjestelmässä on ajastin. Kun tilakone siirtyy "avoin ovi" -tilaan, myös ajastin käynnistetään "tyhjä" tila.
Lisää kuvan kuvaus tähän
Kun FSM:ää käytetään sulautetun järjestelmän suunnittelussa, sen syötteen ja lähdön tietotyypit ovat Boolen tyyppejä, ja funktio edustaa Boolen funktiota . Jos haluat käsitellä tietoja, laajenna FSM tilakoneeseen, jossa on datapolku (FSM with Datapath, FSMD). Lisäksi tilakonemallia voidaan edelleen laajentaa tukemaan hierarkkista ja samanaikaisuutta. Tätä mallia kutsutaan hierarkkiseksi/samanaikaiseksi FSM-malliksi (HCFSM).

2.tietovirran malli
Tietovirtamalli on samanaikaisesta monitehtävämallista johdettu malli. Tämä malli kuvaa järjestelmän käyttäytymistä solmujen ja reunojen joukkona, jossa solmut edustavat muunnoksia ja reunat datavirtaa solmusta toiseen. . Jokainen solmu käyttää dataa tuloreunoistaan, suorittaa muunnoksia ja tuottaa dataa lähtöreunoilleen.

Jokaisella reunalla voi olla tai ei ole tietoa. Reunassa näkyvää dataa kutsutaan tunnukseksi. Kun solmu on liipaistu, jokaisesta syöttöreunasta käytetään vuoromerkkiä, datamuunnos suoritetaan kaikille käytetyille tokeneille, ja lähtöreunalle luodaan merkki Solmun laukaisu riippuu vain tunnuksen esiintymisestä .

Kuvassa 12-13 on esitetty tietovirtamalli z=(a+b)×(cd) laskemiseen. Tällä hetkellä on olemassa useita kaupallisia työkaluja, jotka tukevat tietovirtamallien ilmaisemista graafisilla kielillä. Nämä työkalut voivat automaattisesti muuntaa tietovirtamalleja samanaikaisiksi monitoimimalleiksi toteutettavaksi mikroprosessoreissa. Muunnosmenetelmänä on muuttaa jokainen solmu tehtäväksi ja jokainen reuna kanavaksi. Samanaikaisen monitehtävän mallin toteutusmenetelmä on käyttää reaaliaikaista käyttöjärjestelmää samanaikaisten tehtävien kartoittamiseen.

Kuva 12-14 on synkroninen tietovirtamalli. Tässä mallissa solmun jokainen tuloreuna ja lähtöreuna on merkitty kullekin laukaisimelle käytettyjen ja luotujen merkkien määrällä. Tämän mallin etuna on, että sitä ei tarvitse muuntaa samanaikaiseksi monitehtävämalliksi toteutuksen aikana. Sen sijaan solmut ajoitetaan staattisesti luomaan peräkkäinen ohjelmamalli. Malli voidaan ilmaista peräkkäisellä ohjelmointikielellä (kuten C-kielellä) ja se voidaan suorittaa ilman reaaliaikaista käyttöjärjestelmää, joten sen suoritustehokkuus on korkeampi.
Lisää kuvan kuvaus tähän
3. Samanaikaisen prosessin malli
Samanaikaisen prosessin malli koostuu ryhmästä prosesseja. Jokainen prosessi on peräkkäinen suoritusprosessi, ja jokainen prosessi voidaan suorittaa samanaikaisesti. Samanaikaisen prosessin malli tarjoaa toiminnot prosessien luomiseen, lopettamiseen, keskeyttämiseen, jatkamiseen ja yhdistämiseen. Prosessit voivat kommunikoida keskenään ja vaihtaa tietoja suorituksen aikana. Prosessien välinen viestintä voi olla kahdessa muodossa: jaetut muuttujat ja viestien välittäminen. Semaforeja, kriittisiä osia, putkia, polkulausekkeita jne. käytetään samanaikaisten prosessien toimintojen synkronointiin.

Yleisesti ottaen reaaliaikaista järjestelmää voidaan pitää järjestelmänä, joka koostuu useista samanaikaisesti suoritettavista prosesseista, joista jokaisella on aikavaatimukset. Tällä tavoin monet sulautetut järjestelmät ovat helpompia kuvata samanaikaisesti suoritettavien tehtävien joukolla, koska nämä järjestelmät ovat itsessään moniajojärjestelmiä ja samanaikaisen prosessin malli voidaan luonnollisesti toteuttaa reaaliaikaisen käyttöjärjestelmän moniajolla.

4.oliomalli
Perinteinen samanaikainen prosessimalli on suunniteltu prosessin käsitteen ympärille. Se on toimintojen epäsuora simulointi objektiivinen maailma, se on luonnotonta, ja se tekee myös samanaikaisista ohjelmista vaikeasti suunniteltavia ja ymmärrettäviä.

Oliomalli kuvaa toimintaa objektiivisessa maailmassa suoremmin, ja mallissa on potentiaalinen samanaikainen suorituskyky. Kun yksi objekti on lähettänyt viestin toiselle objektille, jos viestin käsittelytulosta ei tarvita tai sitä ei tarvita välittömästi, edellisen ei tarvitse odottaa, että jälkimmäinen käsittelee viestin, ja viestin lähettäjä ja vastaanottaja voivat suorittaa samanaikaisesti.Kaikki objektit eivät ole passiivisessa palvelua tarjoavassa tilassa Viestien vastaanottamisen lisäksi osalla niistä voi olla myös oma tapahtumakäsittely.
syy. Objekti voi usein käsitellä useita viestejä samanaikaisesti.

Objekti on tietojen ja toimintojen kapselointi. Objektin tilaa edustavat kohteen kaikkien paikallisten muuttujien arvot tietyllä hetkellä. Samanaikaisessa ympäristössä on huomioitava myös objektin samanaikaisen tilan kuvaus, koska kohteen samanaikaisuuden ohjaus perustuu objektin samanaikaiseen tilaan. Samanaikaisuuden ja oliosuuntautuneisuuden yhdistäminen voidaan tiivistää kahdella tavalla:
(1) Tuoda samanaikaisuusmekanismi oliomalliin, hyödyntää täysimääräisesti olioteknologiaa kuvaamaan objektiivisen maailman hyvää mallikykyä ja useita tärkeitä oliosuuntautuneisuuden ominaisuuksia ja samalla kuvailla sen mahdollisia samanaikaisuusominaisuuksia. , joten se soveltuu rinnakkaisen tietojenkäsittelyn kuvaamiseen.

(2) Tuo olio-ajattelu perinteiseen samanaikaisuusmalliin. Oliokeskeiset samanaikaisuusmallit voidaan jakaa kahteen tyyppiin: implisiittiset samanaikaisuusmallit ja eksplisiittiset samanaikaisuusmallit.

(1) Implisiittinen samanaikaisuusmalli. Tälle mallille on ominaista samanaikaisen suunnittelun lykkääminen ja mallintamisen perustana kohdemallinnuksen käyttäminen. Käsittele objekteja autonomisina yksiköinä ja eri objektien toimintaa erityisinä tehtävinä, jotka on suoritettu ihanteellisella tavalla ennen ajovaiheeseen siirtymistä. Aivan kuten jokaisella objektilla on oma prosessori, tämä prosessori voi tarjota suoritussäikeen objektille. Järjestelmään saapuvia ulkoisia tapahtumia pidetään käsittelypyyntöinä ja ne lähetetään joillekin objekteille. Teoriassa pyyntöä vastaavasti mikä tahansa määrä objekteja voi suorittaa vastaavan käsittelyn. Toteutuksen aikana aikataulutin lopulta määrittää toimintojen järjestyksen objekteilleen, kuten kuvassa 12-15.

(2) Eksplisiittinen samanaikaisuusmalli. Tälle mallille on ominaista, että samanaikaisuus tulee tarkastella ensin, ja samanaikaisuuden käsite ja objektien käsite tulisi erottaa ensin. Kun olio on perustettu, reaaliaikaisen käyttöjärjestelmän tukemaa prosessikonseptia käytetään edustamaan samanaikaisuutta, jolloin muodostuu kaksi abstraktia objektin ja prosessin tasoa eli ensin hajotetaan järjestelmä lähes samanaikaisiksi prosesseiksi käyttäen olioteknologiaa jokaisen prosessin sisällä. Objektien väliset vuorovaikutukset ilmaistaan ​​sisäkkäisinä funktiokutsuina, ja eksplisiittisiä synkronointimekanismeja, kuten lukot, monitorit ja semaforit, lisätään objektien eheyden varmistamiseksi. Tämä malli sijoittaa prosessit objektien yläpuolelle, eikä objektien samanaikaisuutta tai objektien serialisointia tarvitse ottaa huomioon, kuten kuvassa 12-16.
Lisää kuvan kuvaus tähän
Alkuaikoina reaaliaikaisten järjestelmien suunnittelumenetelmä oli pääasiassa strukturoitua suunnittelumenetelmää. Strukturoituja menetelmiä käyttävillä järjestelmillä oli suuria rajoituksia uudelleenkäytettävyyden ja muunnettavuuden suhteen. Olio-reaaliaikaisella järjestelmän suunnittelumenetelmällä on ilmeisesti ilmeisiä etuja näissä ongelmissa. Käytännöllisempi oliolähtöinen suunnittelumenetelmä on Nokian OCTOPUS-menetelmä. Tämä menetelmä perustuu OMT- ja Fusion Methodiin ja ehdottaa menetelmiä reaaliaikaisen järjestelmän vasteajan, aikaalueen ja samanaikaisuuden käsittelyyn sekä erityisesti menetelmiä reaaliajan käsittelyyn. järjestelmän vasteaika, aika-alue ja samanaikaisuus Käsittelynäkökohdat, jotka koskevat samanaikaisuutta, synkronointia, viestintää, keskeytysten käsittelyä, ASIC:t, laitteistoliitännät, päästä päähän -vasteajat jne. OCTOPUS-lähestymistapa yhdistää hyvin ohjelmistokehityksen päävaiheet, tarjoaa tiukan ja luonnollisen siirtymisen spesifikaatiosta käynnissä olevaan malliin ja tukee inkrementaalista kehitystä. OCTOPUS-menetelmä on tyypillinen suunnittelumenetelmä, joka yhdistää nykyisen olioteknologian ja reaaliaikaiset järjestelmät. Lisäksi muodollisia oliokeskeisiä kehitystekniikoita ja mallinnuskieliä aletaan soveltaa vähitellen reaaliaikaisen järjestelmämallinnuksen alkuvaiheessa.

12.7.6 Vaatimusanalyysi

Ennen suunnittelua suunnittelijan tulee tietää, mitä suunnittelee. Vaatimuksia ja määrityksiä käytetään usein kuvaamaan näitä kahta toisiinsa liittyvää mutta erillistä suunnitteluprosessin vaihetta. Vaatimukset ovat epävirallisia kuvauksia siitä, mitä käyttäjät haluavat, kun taas tekniset tiedot ovat yksityiskohtaisempia, tarkempia ja johdonmukaisempia kuvauksia, joita voidaan käyttää järjestelmäarkkitehtuurin luomiseen. Tietenkin vaatimukset ja spesifikaatiot ovat ohjausjärjestelmän ulkoisia esityksiä, eivät sisäisiä esityksiä. Vaatimuksia on kahdenlaisia: toiminnalliset vaatimukset ja ei-toiminnalliset vaatimukset kuvaavat, mitä järjestelmän tulee tehdä, kun taas ei-toiminnalliset vaatimukset kuvaavat järjestelmän muita ominaisuuksia, kuten fyysistä kokoa, hintaa, virrankulutusta, suunnitteluaikaa, luotettavuutta. odota.

Suuren järjestelmän vaatimusanalyysi on monimutkainen ja aikaa vievä tehtävä, mutta pienen tiedon hankkiminen selkeässä, yksinkertaisessa muodossa on hyvä alku järjestelmän vaatimusten ymmärtämiselle. Taulukko 12-5 on vaatimuslomake, joka täytetään projektin alussa ja jota voidaan käyttää tarkistuslistana pohdittaessa järjestelmän perusominaisuuksia.

Lisää kuvan kuvaus tähän
Tämän vaatimuslomakkeen sisältö on laadittu käyttämällä esimerkkinä GPS:ää (Global Position System, mobiilikarttajärjestelmä). Mobiilikarttajärjestelmä on kädessä pidettävä laite, joka on suunniteltu käyttäjille, jotka ajavat moottoriteillä tai vastaavia käyttäjiä. Laite voi saada sijaintitiedot GPS:stä ja näyttää käyttäjälle nykyisen sijainnin ja maastokartat. Kartan sisältö muuttuu käyttäjän mukana. Muuttuu käyttäjän ja laitteen sijainnin mukaan.

Vaatimusanalyysivaiheen tärkein asiakirjatulostus on järjestelmän tekniset tiedot.
Erittely on tekninen asiakirja, joka kuvastaa tarkasti asiakkaan tarpeita ja toimii vaatimuksina, joita suunnittelussa tulee noudattaa. Ohjelmistokehitysprosessissa tekniset tiedot ovat erittäin tärkeitä. Järjestelmäanalyytikot hyväksyvät käyttäjien vaatimukset ja luovat spesifikaatiot kohdeohjelmistojärjestelmälle. Suunnittelijat ja koodaajat suunnittelevat moduulit spesifikaatioiden mukaisesti. Teknisten tietojen tulee olla selkeitä ja yksiselitteisiä, muuten spesifikaatioiden perusteella rakennettu järjestelmä ei välttämättä täytä todellisia vaatimuksia.

Tällä hetkellä teollisuudessa suosituin tapa on käyttää UML:ää eritelmien kuvaamiseen. UML on yleinen standardimallinnuskieli, joka voi mallintaa mitä tahansa järjestelmää, jolla on staattinen rakenne ja dynaaminen käyttäytyminen. UML soveltuu järjestelmän kehitysprosessin eri vaiheisiin vaatimusten määrittelystä testaukseen järjestelmän valmistumisen jälkeen. Kuva 12-17 on esimerkki tilakoneen määrittelystä, joka näyttää toiminnot aloitus ja loppu ovat erikoistiloja, ja tilakoneen tilat edustavat erilaisia ​​käsitteellisiä operaatioita.
Lisää kuvan kuvaus tähän
Vaatimusanalyysivaiheessa käyttäjien vaatimukset kerätään käyttötapausten kautta. Kuvaa käyttötapausmallinnuksen avulla järjestelmästä kiinnostuneet ulkopuoliset toimijat ja heidän toiminnalliset vaatimukset järjestelmälle (käyttötapaukset). Analyysivaihe koskee pääasiassa pääkäsitteitä (kuten abstraktiot, luokat, objektit jne.) ja mekanismeja ongelmaalueella. Nämä luokat ja niiden suhteet on tunnistettava ja kuvattava UML-luokkakaavioilla. Analyysivaiheessa mallinnetaan vain ongelmaalueen objektit (reaalimaailman käsitteet) ottamatta huomioon ohjelmistojärjestelmän tekniset yksityiskohdat määrittävät luokat (kuten luokat, jotka käsittelevät ongelmia, kuten käyttöliittymiä, tietokantoja, viestintää, ja rinnakkaisuus).

12.7.7 Järjestelmän suunnittelu

Tällä hetkellä sulautettujen järjestelmien suunnittelutyökalut voidaan jakaa kahteen luokkaan: yhteiskäyttöiset synteesityökalut ja yhteistyösimulaatiotyökalut.
(1) Yhteistyösynteesityökalut. Tällä hetkellä tärkeimmät sulautetussa kehitystyössä käytettävät yhteistyön synteesityökalut ovat POLIS, COSYMA ja Chinook.

POLIS: POLIS on UC-Berkeleyn kehittämä ohjelmisto- ja laitesuunnittelukehys vuorovaikutteisille sulautetuille järjestelmille. Järjestelmän kuvaus tukee FSM (Finite State Machine) -pohjaista kieltä. Koska sekä ohjelmistot että laitteistot voidaan saada läpinäkyvästi samasta CFSM-kuvauksesta, myös suunnittelutilan joustavuus on tuettu PTOLEMY:n avulla. Arkkitehtuurin tuki on tuettu on rajoitettu, eli laitteiston CFSM:itä ympäröi vain yksi prosessori, eivätkä ne tue jaettua muistia.

COSYMA: COSYMA on saksalaisen IDA-yhtiön kehittämä alusta, joka tutkii laitteiston ja ohjelmiston yhteissuunnittelun synteesiprosessia. Siinä on suhteellisen yksinkertainen kuvaus ohjelmistojärjestelmistä, se tukee automaattista segmentointia ja rinnakkaisprosessorisynteesiä ja voi tutkia suunnitteluavaruutta. synteesijakson aikana ,Järjestelmän synteesi riippuu laitteiston rajoituksista, eli vain yksi säie voi suorittaa kerrallaan riippuu osioista ja kustannusarviotekniikoista.

Chinook on suunniteltu ohjausjärjestelmille. Sen sisäinen malli perustuu hierarkkiseen tilamalliin. Se ei segmentoi koodia koko suunnittelu Chinook Tukee erilaisia ​​järjestelmäarkkitehtuureja, erityisesti moniprosessoriarkkitehtuureja. Se tukee myös ajoitusrajoitusten kuvausta. Se voi syntetisoida erilaisia ​​käyttöliittymiä, mukaan lukien järjestelmien väliset ohjelmisto- ja laitteistoliitännät.

(2) Yhteistyön simulointityökalut. Yhteistyösimulaatio on keskeinen osa sulautetun järjestelmän suunnittelua. Kun koko järjestelmän suunnittelu on valmis, on tarpeen simuloida erityyppisiä komponentteja yhtenäisen kehyksen puitteissa , joka auttaa ehdottamaan muutoksia järjestelmän alkuvaiheessa aiheuttamatta suuria tappioita. Tällä hetkellä on olemassa kaksi tärkeintä yhteistyösimulaatiotyökalua:

PTOLEMY: PTOLEMY:n keskeinen idea on sekoittaa laskentamalleja oliokeskeisiin ytimiin. Sitä voidaan käyttää useiden järjestelmien simulointiin, ja sitä käytetään laajasti eri sovelluksissa, mutta se ei sovellu laitteiston simulointiin myös yksi sen tehtävistä. TSS: TSS (Tool for System Simulation) on työkalu monimutkaisten laitteistojen simulointiin. Se on kirjoitettu C-kielellä. Hierarkkisia moduuleja ei kuitenkaan tueta, eikä kullekin prosessorille ole mahdollista synkronoida pääsyä jaettuihin tietorakenteisiin Moduulien välinen tiedonsiirto tapahtuu porttien ja väylien kautta. Lisäksi TSS tukee moniydinjärjestelmien simulointia.

1.Järjestelmäarkkitehtuurin suunnittelu
Järjestelmäarkkitehtuurin suunnittelun ensisijainen tarkoitus on kuvailla, kuinka järjestelmä toteuttaa määrittelyssä määritellyt toiminnot. Sulautetun järjestelmän järjestelmärakennetta suunniteltaessa ohjelmiston ja laitteiston erottaminen toisistaan ​​on kuitenkin vaikeaa. Tavallinen lähestymistapa on tarkastella ensin järjestelmän ohjelmistoarkkitehtuuria ja sitten sen laitteistototeutusta. Järjestelmäarkkitehtuurin kuvauksen tulee täyttää toiminnalliset ja ei-toiminnalliset vaatimukset. Vaadittujen toimintojen lisäksi on täytettävä myös ei-toiminnalliset rajoitukset, kuten hinta, nopeus, tehonkulutus jne. Se on käytännöllinen tapa tarkastella ja tarkentaa järjestelmän alkuperäisen lohkokaavion toiminnallisia elementtejä yksitellen ja muuntaa alkuperäinen lohkokaavio ohjelmisto- ja laitteistojärjestelmärakenteeksi ottaen huomioon ei-toiminnalliset rajoitukset. Seuraavassa on esimerkkinä GPS-mobiilikarttajärjestelmän arkkitehtoninen suunnittelu.

(1) Alkuperäinen lohkokaavio. Kuten kuvasta 12-18 näkyy, tämä alkuperäinen lohkokaavio on mobiilikarttajärjestelmän päätoiminta ja tietovirta.
Lisää kuvan kuvaus tähän
(2) Ohjelmistojärjestelmäarkkitehtuuri. Kuten kuvasta 12-19 näkyy, ohjelmistojärjestelmä koostuu pääosin käyttöliittymästä, tietokantahakukoneesta ja tiedonmuuntimesta.
Lisää kuvan kuvaus tähän
(3) Laitteistojärjestelmän arkkitehtuuri. Kuten kuvasta 12-20 näkyy, laitteistojärjestelmä koostuu yleiskäyttöisestä mikroprosessorista, muistista ja I/O-laitteista. Tämä järjestelmä valitsee kahdenlaisia ​​muistia: yleistiedot, ohjelmamuisti ja kehyspuskurimuisti pikselinäytölle.
Lisää kuvan kuvaus tähän
2.Laitteiston osajärjestelmän suunnittelu
Sulautettujen järjestelmien kehitysympäristö koostuu 4 osasta: kohdelaitteistoalusta, sulautettu käyttöjärjestelmä, ohjelmointikieli ja kehitystyökalut. Niiden joukossa prosessorin ja käyttöjärjestelmän valinnassa tulee huomioida enemmän tekijöitä, jotta vältytään projektin etenemiseen vaikuttavilta vääriltä päätöksiltä .

(1) Valitse prosessoritekniikka. Suuri haaste sulautettujen järjestelmien suunnittelussa on kilpailevien suunnitteluspesifikaatioiden samanaikainen optimointi. Suunnittelijoiden on tehtävä kompromisseja eri prosessoritekniikoiden ja IC-tekniikoiden välillä. Yleisesti ottaen prosessoriteknologialla ei ole mitään tekemistä IC-tekniikan kanssa, toisin sanoen mikä tahansa prosessoritekniikka voidaan toteuttaa millä tahansa IC-tekniikalla, mutta loppulaitteen suorituskyky, NRE-kustannukset, virrankulutus, koko ja muut indikaattorit ovat erittäin hyviä. erilainen, kuten kuvassa 12-21.
Lisää kuvan kuvaus tähän
Monipuolisempi ohjelmoitava tekniikka tarjoaa enemmän joustavuutta, alentaa NRE-kustannuksia ja mahdollistaa nopeammat tuotteen prototyyppi- ja julkaisuajat. Räätälöity tekniikka voi tarjota pienemmän virrankulutuksen, paremman suorituskyvyn, pienemmän koon ja pienemmät kustannukset suuren volyymin tuotannossa.

Yleensä kun yritys haluaa tuoda markkinoille tuotteen, kuten digisovittimen, kotireitittimen tai yleisprosessorin, se voi ensin julkaista puoliksi räätälöidyn tuotteen valloittaakseen markkinat mahdollisimman nopeasti ja sitten tuoda markkinoille täysin räätälöity tuote. Voit myös käyttää ensin luotettavampaa vanhaa tekniikkaa prosessorin toteuttamiseen ja sitten käyttää uutta prosessitekniikkaa seuraavan sukupolven toteuttamiseen. Samoin sulautettujen järjestelmien suunnittelijat voivat käyttää ohjelmoitavia laitteita prototyyppien rakentamiseen nopeuttaakseen markkinoille tuloa ja käyttää sitten mukautettuja laitteita volyymituotantoon. Näiden periaatteiden perusteella suunnittelijat voivat tehdä järkeviä valintoja käytettävästä prosessoriteknologiasta ja prosessorista. Yleensä täysin muokattavissa oleva, kaupallisesti saatavilla oleva "yleinen prosessoriohjelmisto" on sopiva vaihtoehto useimpiin tilanteisiin.

(2) Yleisen sulautetun prosessorin valinta. Valitse sopiva yleiskäyttöinen sulautettu prosessori käyttäjän ja projektin tarpeiden mukaan. Seuraavat indikaattorit on otettava huomioon valittaessa.
Prosessorin nopeus. Prosessorin suorituskyky riippuu monista tekijöistä: kellotaajuudesta, sisäisten rekisterien koosta, käsittelevätkö käskyt kaikkia rekistereitä samalla tavalla jne. Monissa sulautetuissa järjestelmissä, jotka vaativat prosessorin, tavoitteena ei ole valita nopein prosessori, vaan valita prosessori ja I/O-alijärjestelmä, jotka voivat suorittaa työn. Prosessorin suorituskyky vastaa järjestelmän tarpeita ja sillä on tietty marginaali, mutta sitä ei tarvitse valita liian korkeaksi. Tekniset indikaattorit. Tällä hetkellä monet sulautetut prosessorit integroivat oheislaitteiden toiminnot, mikä vähentää sirujen määrää ja siten koko järjestelmän kehityskustannuksia. Ensimmäinen asia, jonka kehittäjät harkitsevat, on, voidaanko osa järjestelmän tarvitsemista laitteistoista kytkeä prosessoriin ilman liiallista kombinatorista logiikkaa. Toiseksi harkitse joitain prosessorin tukisiruja, kuten DMA-ohjain, muistinhallinta, keskeytysohjain, sarjalaite, kello jne. Kehittäjän perehtyminen prosessoriin tarkoittaa, että projektin kehittäjän on tehtävä kompromissi itse prosessorin kustannusten ja kehityskustannusten välillä.

Vastaako prosessorin I/O-toiminto järjestelmän tarpeita, eli monet prosessorit tarjoavat sisäänrakennettuja ulkoisia laitteita sirujen määrän vähentämiseksi ja kustannusten vähentämiseksi. Asiaankuuluvat ohjelmistotukityökalut prosessorille, eli onko prosessorilla täydellinen tuki sulautetuille käyttöjärjestelmille, ohjelmointikielille ja kehitystyökaluille jne.

Prosessorin virheenkorjaus viittaa siihen, onko prosessorissa integroituja virheenkorjaustoimintoja, kuten tukeeko se JTAG-, BDM- ja muita virheenkorjausmenetelmiä. Prosessorin valmistaja tukee uskottavuutta. Valittaessa tiettyä prosessoria tuotteen elinkaaren aikana suunnittelijan tulee varmistaa, että sillä on riittävä syöttö, tekninen tuki jne. Prosessorin alhainen virrankulutus.

Suurin ja nopeimmin kasvava sulautettujen mikroprosessorien markkinat ovat kulutuselektroniikkatuotteet, kuten kannettavat laitteet, elektroniset muistikirjat, kämmentietokoneet, matkapuhelimet, GPS-navigaattorit ja älykkäät kodinkoneet. alhainen virrankulutus. Monet suorittimen valmistajat ovat jo kirjoittaneet tähän kenttään.

(3) Laitteiston suunnittelua koskevat varotoimet. Jaa ensin laitteisto komponentteihin tai moduuleihin ja piirrä lohkokaavio komponenttien tai moduulien kytkennöistä. Toiseksi hio jokaista moduulia ja jaa järjestelmä paremmin hallittaviin osiin, jotka voidaan toteuttaa itsenäisesti. Yleensä jotkin järjestelmän toiminnot voidaan toteuttaa sekä ohjelmistossa että laitteistossa. Ei ole olemassa yhtenäistä menetelmää, joka ohjaa suunnittelijaa päättämään toimintojen ohjelmisto- ja laitteistoallokaatiosta, mutta suorituskyvyn ja kustannusten välillä voidaan tehdä kompromissi. rajoitusluettelo. Ohjelmiston ja laitteiston välistä käyttöliittymää suunniteltaessa laitteistosuunnittelijoiden ja ohjelmistosuunnittelijoiden on työskenneltävä yhdessä hyvän käyttöliittymän suunnittelun avulla, että laitteisto on yksinkertainen ja helppo ohjelmoida. Seuraavat seikat on otettava huomioon suunnittelussa.

  • I/O-portit: Listaa kaikki laitteiston portit, porttien osoitteet, portin attribuutit, käytettyjen komentojen ja sekvenssien merkitys, portti
    tila ja merkitys.
  • Laitteistorekisterit: Suunnittele jokaiselle rekisterille rekisterin osoite, rekisterin bittiosoite ja kunkin bitin merkitys, ja
  • Rekisterin lukemisen ja kirjoittamisen kuvaus, tämän rekisterin käytön vaatimukset ja ajoitusohjeet.
  • Muistikartoitus: Jaetun muistin osoitteet ja muistikartoitu I/O Jokaiselle muistikartoitukselle on kuvattu kunkin I/O-toiminnon luku-/kirjoitussekvenssi ja osoitteen varaus.
  • Laitteistokeskeytykset: Kuinka käyttää laitteistokeskeytyksiä, luettelemalla käytetyt laitteistokeskeytysnumerot ja määritetyt laitteistotapahtumat.
  • Muistitilan allokointi: Luettele ohjelmien ja tietojen käyttämä tilan koko ja sijainti järjestelmässä sekä muistityyppi ja käyttötapa jne.

Lyhyesti sanottuna laitteistosuunnittelijoiden tulisi antaa ohjelmistosuunnittelijoille enemmän ja yksityiskohtaisempaa tietoa ohjelmistosuunnittelun ja -kehityksen helpottamiseksi.

3.Ohjelmistoalijärjestelmän suunnittelu
Määritä vaatimusten analysointivaiheessa olevan spesifikaatioasiakirjan mukaan järjestelmän laskentamalli ja suorita ohjelmistoosan järkevä suunnittelu.
(1) Käyttöjärjestelmän valinta. Kun valitset sulautetun käyttöjärjestelmän, sinun on otettava huomioon monia näkökohtia:
Käyttöjärjestelmän toiminnot. Valitse käyttöjärjestelmätuotteet hankkeen edellyttämien käyttöjärjestelmän toimintojen perusteella. Harkitse, tukeeko järjestelmä käyttöjärjestelmän kaikkia toimintoja tai osaa niistä, tukeeko se tiedostojärjestelmiä, ihmisen ja koneen rajapintoja, onko kyseessä reaaliaikainen järjestelmä. tai aikajakojärjestelmä, ja voidaanko järjestelmää leikata jne. .

Tukevien kehitystyökalujen valinta. Jotkut reaaliaikaiset käyttöjärjestelmät (rtos) tukevat vain järjestelmätoimittajan kehitystyökaluja. Toisin sanoen sinun on hankittava myös kääntäjä, debuggeri jne. käyttöjärjestelmän toimittajalta. Joitakin käyttöjärjestelmiä käytetään laajalti ja saatavilla on myös kolmansien osapuolien työkaluja, joten valikoima on laajempi. Kuinka helppoa on portoida käyttöjärjestelmä. Käyttöjärjestelmän siirtäminen laitteistoon on tärkeä asia. Se on keskeinen tekijä, joka liittyy siihen, saadaanko koko järjestelmä valmiiksi aikataulussa. Siksi kannattaa valita käyttöjärjestelmät, joiden siirrettävyys on korkea, jotta vältetään erilaiset vaikeudet, jotka johtuvat käyttöjärjestelmän siirtämisestä laitteistoon, ja nopeuttaa kehitystyötä. järjestelmästä. Mitkä ovat käyttöjärjestelmän muistivaatimukset. Harkitse, tarvitaanko lisämuistia tai eeprom-muistia käyttöjärjestelmän suurempien muistivaatimusten tyydyttämiseksi. Joillakin käyttöjärjestelmillä on kohdekohtaisia ​​muistivaatimuksia. Kuten tornado/vxworks, kehittäjät voivat allokoida tarvittavat resurssit sovellustarpeiden mukaan sen sijaan, että he osoittaisivat resursseja käyttöjärjestelmälle. Kehittäjät voivat valita jopa 80 eri kokoonpanosta, jotka vaihtelevat useita kilotavuja muistia vaativista upotetuista malleista monimutkaisiin huippuluokan reaaliaikaisiin sovelluksiin, jotka vaativat enemmän käyttöjärjestelmän toimintoja.

Käyttöjärjestelmän lisäosat. Sisältääkö se tarvittavat ohjelmistokomponentit, kuten verkkoprotokollapinot, tiedostojärjestelmät, useiden yleisesti käytettyjen oheislaitteiden ajurit jne. Kuinka reaaliaikainen käyttöjärjestelmä on? Reaaliaika on jaettu pehmeään reaaliaikaiseen ja kovaan reaaliaikaiseen. Jotkin sulautetut käyttöjärjestelmät voivat tarjota vain pehmeän reaaliaikaisen suorituskyvyn. Esimerkiksi Microsoft Windows CE 2.0 on 32-bittinen, Windows-yhteensopiva, mikroydin, skaalautuva reaaliaikainen käyttöjärjestelmä, joka pystyy vastaamaan useimpien sulautettujen ja ei-sulautettujen käyttöjärjestelmien tarpeisiin. sovellukset.Reaaliaikainen suorituskyky ei kuitenkaan ole tarpeeksi vahva ja se on pehmeä reaaliaikainen sulautettu toiminta.
käyttöjärjestelmä. Kuinka joustava käyttöjärjestelmä on? Onko käyttöjärjestelmä räätälöitävissä eli voidaanko järjestelmän toimintoja räätälöidä todellisten tarpeiden mukaan. Joillakin käyttöjärjestelmillä on vahva räätälöitävissä oleva käyttöjärjestelmä, kuten sulautettu linux, tornado/vxworks jne.

(2) Ohjelmointikielen valinta. Ohjelmointikieltä valittaessa sinun on myös otettava huomioon monia näkökohtia:

Monipuolisuus. Mikroprosessoriteknologian jatkuvan kehityksen myötä sen toiminnot ovat yhä erikoistuneita ja tyyppejä on yhä enemmän. Erityyppisillä mikroprosessoreilla on kuitenkin oma kokoonpanokieli. Tämä muodostaa valtavan esteen järjestelmäkehittäjille, mikä tekee järjestelmän ohjelmoinnista vaikeampaa ja ohjelmistojen uudelleenkäytön mahdottomaksi saavuttaa ovat saatavilla useimmille mikroprosessoreille. Hyvä tuki ja hyvä monipuolisuus.

siirrettävyys. Koska kokoonpanokieli liittyy läheisesti tiettyyn mikroprosessoriin, tietylle mikroprosessorille suunniteltua ohjelmaa ei voida siirtää suoraan toiseen erityyppiseen mikroprosessoriin. Siksi siirrettävyys on huono. Korkean tason kielet ovat yhteisiä kaikille mikroprosessoreille, joten ohjelmat voivat toimia eri mikroprosessoreilla ja ovat kannettavampia. Tämä on ohjelmistojen uudelleenkäytön perusta. tehokkuutta. Yleisesti ottaen mitä korkeatasoisempi kieli on, sitä suurempi on kääntäjä ja yleiskustannukset sekä sitä suurempi ja hitaampi sovellus. Pelkästään matalan tason kielten, kuten assembly-kielen, tukeminen sovellusten kehittämisessä tuo kuitenkin ongelmia, kuten monimutkaisen ohjelmoinnin ja pitkiä kehitysjaksoja. Siksi kehitysajan ja ajonaikaisen suorituskyvyn välillä on kompromissi.

Ylläpidettävyys. Matalan tason kieliä, kuten kokoonpanokieliä, ei voida ylläpitää. Korkean tason kieliohjelmat ovat usein modulaarisia, ja kunkin moduulin väliset rajapinnat ovat kiinteät. Siksi, kun järjestelmässä ilmenee ongelma, ongelma voidaan nopeasti paikantaa tietyssä moduulissa ja ratkaista mahdollisimman pian. Lisäksi modulaarinen rakenne mahdollistaa myös järjestelmän toimintojen laajentamisen ja päivittämisen.
Perussuorituskyky. Sulautettujen järjestelmien kehitysprosessissa käytetään monenlaisia ​​kieliä. Laajemmin käytettyjä korkean tason kieliä ovat Ada, C/C++, Modula-2 ja Java. Ada-kieli on tiukasti määritelty, helppolukuinen ja ymmärrettävä, ja sillä on runsaasti kirjasto-ohjelmatukea. tulevaisuutta. C-kielellä on laaja kirjasto-ohjelmatuki ja se on laajimmin käytetty ohjelmointikieli sulautetuissa järjestelmissä. Se tulee olemaan vielä pitkään tärkeässä asemassa sulautettujen järjestelmien sovelluksissa. C++ on olio-ohjelmointikieli, jota käytetään laajalti myös sulautettujen järjestelmien suunnittelussa, kuten GNU C++. Visual C++ on visuaalista ohjelmointia tukeva integroitu kehitysympäristö, jota käytetään laajasti GUI-ohjelmien kehittämisessä. C++:aan verrattuna C++:n kohdekoodi on kuitenkin usein suurempi ja monimutkaisempi Tämä tekijä tulee ottaa täysin huomioon sulautettujen järjestelmien sovelluksissa.

(3) Ohjelmiston kehitysprosessi. Sulautetun ohjelmiston kehitysprosessi eroaa yleisen ohjelmiston kehitysprosessista. Se sisältää pääasiassa seuraavat vaiheet:

  • Valitse kehityskieli ja luo ristikkäinen kehitysympäristö;
  • Kirjoita lähdekoodi yksityiskohtaisten suunnitteluohjeiden mukaan, ristiin käännä ja linkitä;
  • Kohdekoodin siirtäminen ja lataaminen;
  • Virheenkorjaus ja ohjelmistotoimintojen tarkistaminen isäntä- tai kohdekoneessa;
  • Suorita koodin optimointi.

(4) Ohjelmistokehitysasiakirjat. Sulautettujen tuotteiden kehitys- ja suunnitteluvaiheessa on myös suoritettava useita asiakirjoja. Nämä asiakirjat ovat teknisten tiedostojen hakemistoja , tekniset tehtävät jne. asiakirjat, teknisen suunnitelman raportit, tuotetiedot, tekniset ehdot, suunnitteluohjeet, testiraportit, yhteenvetoraportit jne.

12.7.8 Järjestelmän integrointi ja testaus

Yleensä sulautettujen järjestelmien testaus koostuu pääasiassa kolmesta osasta: ohjelmistotestaus, laitteistotestaus ja yksikkötestaus. Yleinen laitteistotestaus sisältää luotettavuustestauksen ja sähkömagneettisen yhteensopivuuden testauksen. Tällä hetkellä sähkömagneettista yhteensopivuutta koskevat pakolliset kotimaiset ja kansainväliset standardit.

Sulautetun järjestelmän ohjelmiston testausmenetelmät ja -periaatteet ovat periaatteessa samat kuin yleisten ohjelmistojen testauksessa. Ohjelmistoja testattaessa tarvitaan yleensä kaksi sekvenssin lähdettä: toinen on käyttäjän suunnittelema on standardi testisarja. Olipa testiesiintymä millainen tahansa, instanssia vaaditaan, jotta se pystyy löytämään enemmän virheitä suurella todennäköisyydellä, mutta testin sisällössä on joitain eroja:
(1) Sulautetun ohjelmiston on toimittava vakaasti pitkän aikaa.
(2) Sulautetun ohjelmiston versiopäivityksiä ei yleensä tehdä usein.
(3) Sulautettuja ohjelmistoja käytetään yleensä kriittisissä sovelluksissa.
(4) Sulautetun ohjelmiston on oltava vastuussa tuotteen virheistä ja luotettavuudesta yhdessä sulautetun laitteiston kanssa.
(5) Reaalimaailman olosuhteet ovat asynkronisia ja arvaamattomia, mikä tekee simulaatiotestauksesta erittäin vaikeaa.
Näiden erojen vuoksi sulautettujen järjestelmien ohjelmistojen testaus keskittyy pääasiassa seuraaviin neljään eri näkökohtaan:
(1) Koska reaaliaikaisuutta ja samanaikaisuutta on vaikea tyydyttää samanaikaisesti, useimmat testit keskittyvät reaaliaikaiseen testaukseen.
(2) Useimmissa reaaliaikaisissa järjestelmissä on resurssirajoituksia, ja siksi ne vaativat enemmän suorituskyvyn ja käytettävyyden testausta.
(3) Koodipeitto voidaan testata käyttämällä erityisiä reaaliaikaisia ​​seurantatyökaluja.
(4) Luotettavuuden testaustaso on paljon korkeampi kuin yleisen ohjelmiston.
Lisäksi suorituskyvyn testaus on myös yksi tärkeimmistä sulautettujen järjestelmien suunnittelussa suoritettavista testaustoiminnoista, ja sillä on ratkaiseva vaikutus sulautettuihin järjestelmiin.
Sulautettujen järjestelmien erityispiirteistä johtuen järjestelmässä on erilaisia ​​laitteistoalustoja ja ohjelmistoalustoja, joista jokainen on erityisesti suunniteltu eri sovelluksiin. Siksi sovellusohjelmistot ovat harvoin universaaleja eri alustojen välillä, ja sulautetut järjestelmät Päivitysnopeus on suhteellisen nopea. Olemassa olevien investointien suojaamiseksi, olemassa olevien ohjelmistoresurssien täysimääräiseksi hyödyntämiseksi ja tuotekehityksen nopeuttamiseksi ohjelmistojen siirtäminen on yleistynyt sulautetulla alalla.