Siemens tarjoaa molemmat autoteollisuuden sulautetut ohjelmistot ja sulautettu ohjelmistosuunnittelu ratkaisut. Siemens on lopettanut itsenäisten sulautettujen ohjelmistojen tarjoamisen SoC:ille, kun Nucleus-, Nucleus Hypervisor-, Nucleus ReadyStart-, Sokol Flex Linux-, Sokol Omni Linux- ja Sourcery CodeBench -tuotteet (mukaan lukien niihin liittyvät lisäosat) poistettiin käytöstä marraskuussa 2023. Näiden tuotteiden olemassa olevia tukisopimuksia noudatetaan edelleen, ota yhteyttä Siemensiin Tukikeskus lisätietoja varten.
Mitkä ovat erityyppiset sulautetut ohjelmistot ja niiden tarkoitukset?
- Käyttöjärjestelmä - Käyttöjärjestelmä (OS), sen yleisessä merkityksessä, on ohjelmisto, jonka avulla käyttäjä voi suorittaa muita sovelluksia tietokonelaitteella. Käyttöjärjestelmä hallinnoi prosessorin laitteistoresursseja, mukaan lukien syöttölaitteet, kuten näppäimistö ja hiiri, tulostuslaitteet, kuten näytöt tai tulostimet, verkkoyhteydet ja tallennuslaitteet, kuten kiintolevyt ja muisti. Käyttöjärjestelmä tarjoaa myös palveluita, jotka helpottavat ohjelmistosovellusten tehokasta suorittamista ja hallintaa sekä muistin allokointia.
- Laiteohjelmisto - Laiteohjelmisto on eräänlainen ohjelmisto, joka on kirjoitettu suoraan laitteistolle. Se toimii käymättä API:iden, käyttöjärjestelmän tai laiteohjainten läpi — se tarjoaa tarvittavat ohjeet ja ohjeet kommunikointiin muiden laitteiden kanssa tai perustoimintojen suorittamiseen tarkoitetulla tavalla.
- Middleware - Middleware on ohjelmistokerros, joka sijaitsee sovellusten ja käyttöjärjestelmien välillä. Väliohjelmistoa käytetään usein hajautetuissa järjestelmissä, joissa se yksinkertaistaa ohjelmistokehitystä tarjoamalla seuraavat:
- Hajautettujen sovellusten monimutkaisuuksien piilottaminen
- Laitteiston, käyttöjärjestelmien ja protokollien heterogeenisyyden peittäminen
- Yhtenäisten ja korkean tason rajapintojen tarjoaminen yhteentoimivien, uudelleenkäytettävien ja kannettavien sovellusten tekemiseen.
- Tarjoamme joukon yhteisiä palveluita, jotka minimoivat päällekkäisyydet ja tehostavat sovellusten välistä yhteistyötä
- Sovellus - Loppukäyttäjä kehittää lopullisen ohjelmistosovelluksen, joka toimii käyttöjärjestelmässä, käyttää väliohjelmistoa ja laiteohjelmistoa tai on vuorovaikutuksessa niiden kanssa ja on sulautettujen järjestelmien kohdetoiminnon ensisijainen painopiste. Jokainen loppusovellus on ainutlaatuinen, kun taas käyttöjärjestelmät ja laiteohjelmisto voivat olla identtisiä laitteittain.
Sulautetut ohjelmistot vs. sulautetut järjestelmät
Sulautettua ohjelmistoa käyttävän laitteen laitteistokomponentteja kutsutaan sulautetuksi järjestelmäksi. Joitakin esimerkkejä sulautetuissa järjestelmissä käytetyistä laitteistokomponenteista ovat virransyöttöpiirit, keskusyksiköt, flash-muistilaitteet, ajastimet ja sarjaliikenneportit. Laitteen varhaisessa suunnitteluvaiheessa päätetään sulautetun järjestelmän muodostavasta laitteistosta ja sen kokoonpanosta laitteessa. Sitten, sulautettu ohjelmisto kehitetään tyhjästä toimimaan yksinomaan kyseisellä laitteistolla tarkassa kokoonpanossa. Tämä tekee sulautettujen ohjelmistojen suunnittelusta erikoistuneen alan, joka vaatii syvää tietämystä laitteistoominaisuuksista ja tietokoneohjelmoinnista.
Esimerkkejä sulautetuista ohjelmistopohjaisista toiminnoista
Lähes jokaisessa laitteessa, jossa on piirilevyt ja tietokonesirut, nämä komponentit on järjestetty sulautettuun ohjelmistojärjestelmään. Tämän seurauksena sulautetut ohjelmistojärjestelmät ovat kaikkialla jokapäiväisessä elämässä, ja niitä esiintyy kaikkialla kuluttaja-, teollisuus-, auto-, ilmailu-, lääke-, kauppa-, tele- ja sotatekniikassa.
Yleisiä esimerkkejä sulautetuista ohjelmistopohjaisista ominaisuuksista ovat:
- Kuvankäsittelyjärjestelmät, jotka löytyvät lääketieteellisistä kuvantamislaitteista
- Lentokoneista löytyvät fly-by-wire-ohjausjärjestelmät
- Turvakameroiden liiketunnistusjärjestelmät
- Liikennevaloista löytyi liikenteenohjausjärjestelmiä
- Älykodin laitteista löytyvät ajoitus- ja automaatiojärjestelmät
Mitkä ovat sulautettujen järjestelmien erityyppiset tyypit?
Suorituskyvyn ja toiminnallisten vaatimusten perusteella sulautettuja järjestelmiä on viisi pääluokkaa:
- Reaaliaikaiset sulautetut järjestelmät suorittavat tehtävät deterministisesti ja toistettavalla tavalla, mihin vaikuttavat käyttöjärjestelmien taustalla oleva arkkitehtuuri ja ajoitus sekä säikeiden suorituskyky, haarautuminen ja keskeytymisviive. Yleiskäyttöiset sulautetut järjestelmät eivät sisällä reaaliaikaista vaatimusta, ja ne voivat hallita keskeytyksiä tai haarautumista ilman riippuvuutta valmistumisajasta. Grafiikkanäytöt sekä näppäimistön ja hiiren hallinta ovat hyviä esimerkkejä yleisistä järjestelmistä.
- Erilliset sulautetut järjestelmät voivat suorittaa tehtäviä ilman isäntäjärjestelmää tai ulkoisia käsittelyresursseja. He voivat lähettää tai vastaanottaa tietoja kytketyistä laitteista, mutta eivät ole riippuvaisia niistä tehtävänsä suorittamiseksi.
- Erilliset sulautetut järjestelmät voivat suorittaa tehtävänsä ilman isäntäjärjestelmää tai ulkoisia käsittelyresursseja. He voivat lähettää tai vastaanottaa tietoja kytketyistä laitteista, mutta eivät ole riippuvaisia niistä tehtävänsä suorittamiseksi.
- Verkkoon kytketyt sulautetut järjestelmät ovat riippuvaisia kytketystä verkosta suorittaakseen määritetyt tehtävät.
- Järjestelmän laitteistoarkkitehtuurin monimutkaisuuden perusteella sulautettuja järjestelmiä on kolme päätyyppiä: Verkkoon kytketyt sulautetut järjestelmät ovat riippuvaisia kytketystä verkosta suorittaakseen määritetyt tehtävät.
Miten loppumarkkinat vaikuttavat sulautettuihin järjestelmiin
Sulautettujen järjestelmien vaatimukset ja komponentit vaihtelevat kohdemarkkinoiden vaatimusten mukaan. Joitakin esimerkkejä ovat:
- Kuluttaja - Kulutustavaroiden, kuten pesukoneiden, puettavien laitteiden ja matkapuhelinten kaltaisissa sovelluksissa sulautetut järjestelmät korostavat pienentynyttä kokoa
- Järjestelmä sirulla, pieni virrankulutus tai akkukäyttö ja grafiikkaliitännät. Näissä sovelluksissa arvostetaan konfiguroitavia käyttöjärjestelmiä ja kykyä sammuttaa suunnittelun ei-toimivia ”verkkotunnuksia”.
- Verkostoituminen — Sovellukset, jotka mahdollistavat yhteyden, viestinnän, toiminnan ja yritysverkon hallinnan. Se tarjoaa viestintäpolun ja palvelut käyttäjien, prosessien, sovellusten, palveluiden ja ulkoisten verkkojen/Internetin välillä. Sulautetut verkkosovellukset keskittyvät vastausnopeuteen, pakettien käsittelyyn ja oheislaitteiden polkuihin.
- Teollisuus — Sovelluksissa, kuten tehtaan lattiahallinnassa, moottoreissa ja tuulimyllyissä, painopiste on yleensä pilviyhteyksien turvaamiseen ja deterministiseen ”reaaliaikaiseen” toimintaan, ja se voi keskittyä voimakkaasti väliohjelmistoihin.
- Lääketiede-, auto- ja ilmailu- ja avaruusteollisuus — Nämä teollisuudenalat tarvitsevat turvallisuuskriittisiä sekajärjestelmiä, joissa suunnittelun osat on eristetty toisistaan sen varmistamiseksi, että vain tarvittavat tiedot tulevat järjestelmään tai poistuvat järjestelmästä (turvallisuus) varmistaen, että loppukäyttäjälle ei aiheudu haittaa (turvallisuus). Esimerkkejä ovat autojen ja lääkinnällisten laitteiden autonomiset ajojärjestelmät. Nämä sulautetut järjestelmät voivat sisältää yhdistelmän avoimen lähdekoodin (Linux) ja deterministisiä reaaliaikaisia käyttöjärjestelmiä (RTOS) ja käyttävät voimakkaasti todistettuja väliohjelmistoja.
Miksi autoteollisuuden sulautetut ohjelmistot eroavat toisistaan?
Autoelektroniikassa monimutkaisia reaaliaikaisia vuorovaikutuksia tapahtuu useiden sulautettujen järjestelmien välillä, joista kukin ohjaa toimintoja, kuten jarrutusta, ohjausta, jousitusta, voimansiirtoa jne. Kunkin sulautetun järjestelmän sisältävää fyysistä koteloa kutsutaan elektroniseksi ohjausyksiköksi (ECU). Jokainen ECU ja sen sulautettu ohjelmisto on osa monimutkaista sähköarkkitehtuuria, joka tunnetaan hajautettuna järjestelmänä.
Kommunikoimalla keskenään ajoneuvon hajautetun järjestelmän muodostavat ECU: t voivat suorittaa erilaisia toimintoja, kuten automaattisen hätäjarrutuksen, mukautuvan vakionopeudensäätimen, ajonvakautuksen, mukautuvat ajovalot ja paljon muuta. Yksi toiminto saattaa vaatia vuorovaikutusta vähintään 20 sulautetun ohjelmistosovelluksen välillä, jotka ovat jakautuneet lukuisiin ECU:ihin, jotka on yhdistetty useilla verkkoprotokollilla. Sulautetun ohjelmiston mukana käyttöönotetut monimutkaiset ohjausalgoritmit takaavat toimintojen oikean ajoituksen, tarvittavat tulot ja lähdöt sekä tietoturvan.
Yleisiä esimerkkejä autoohjelmistojen sovelluspohjaisista ominaisuuksista ovat:
- ADAS (Advanced Driver Assist Systems) -ominaisuudet, kuten mukautuva vakionopeudensäädin, automaattinen hätäjarrutus, kaistavustin, liikenneavustin, kaistalähdön varoitukset
- Akun hallinta
- Momenttikompensointi
- Polttoaineen ruiskutusnopeuden säätö
ECU-ohjelmistopaketti
Elektroninen ohjausyksikkö tai ECU koostuu pääyksiköstä, jossa on sirutason laitteisto, ja pinosta sulautettuja ohjelmistoja. Autovalmistajien keskuudessa on kuitenkin kasvava suuntaus suunnitella ECU:ita monimutkaisilla integroiduilla piireillä, jotka sisältävät useita laskentaytimiä yhdellä sirulla - mitä kutsutaan nimellä System on a Chip (SoC). Nämä SoC: t voivat isännöidä lukuisia ECU-abstraktioita laitteiston konsolidoimiseksi. ECU: n ohjelmistopaketti sisältää tyypillisesti erilaisia ratkaisuja matalan tason laiteohjelmistosta korkean tason sulautettuihin ohjelmistosovelluksiin.
ECU-pino | Kuvaus |
Sulautettu ohjelmistosovellus | Ohjausalgoritmit, käsittely, palvelut |
Sovelluskehys | Security & Safety Frameworks |
Toimintaympäristö | AUTOSAR classic, AUTOSAR Adaptive, Tulo-/lähtökanavat |
Sulautetut virtualisoinnit | Reaaliaikainen käyttöjärjestelmä, ECU-abstraktiot |
Laiteohjelmisto | Käynnistyskuormaajat, turvallinen varastointi, turvallinen kierteitys |
Laitteisto | Piipohjaiset laitteet, mikro-ohjaimet, yksi- tai monikerroksiset levyt |