Siemens offre entrambi software integrato per il settore automobilistico e ingegneria del software integrato soluzioni. Siemens ha interrotto l'offerta di software integrato autonomo per SoC con il ritiro nel novembre 2023 dei prodotti Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux e Sourcery CodeBench (inclusi i componenti aggiuntivi associati). I contratti di assistenza esistenti per questi prodotti sono ancora in corso di rispetto, contatti Siemens Centro assistenza per ulteriori informazioni.
Quali sono i diversi tipi di software integrato e i loro scopi?
- Sistema operativo — Un sistema operativo (OS), nella sua accezione più generale, è un software che consente a un utente di eseguire altre applicazioni su un dispositivo informatico. Il sistema operativo gestisce le risorse hardware di un processore, inclusi dispositivi di input come tastiera e mouse, dispositivi di output come display o stampanti, connessioni di rete e dispositivi di archiviazione come dischi rigidi e memoria. Il sistema operativo fornisce anche servizi per facilitare l'esecuzione e la gestione efficienti e l'allocazione di memoria per i programmi applicativi software.
- Firmware — Il firmware è un tipo di software scritto direttamente per un componente hardware. Funziona senza utilizzare le API, il sistema operativo o i driver del dispositivo, fornendo le istruzioni e le indicazioni necessarie per comunicare con altri dispositivi o eseguire attività e funzioni di base come previsto.
- Middleware — Il middleware è un livello software situato tra applicazioni e sistemi operativi. Il middleware viene spesso utilizzato nei sistemi distribuiti dove semplifica lo sviluppo del software fornendo quanto segue:
- Nascondere la complessità delle applicazioni distribuite
- Mascherare l'eterogeneità dell'hardware, dei sistemi operativi e dei protocolli
- Fornire interfacce uniformi e di alto livello utilizzate per creare applicazioni interoperabili, riutilizzabili e portatili.
- Fornire una serie di servizi comuni che riduca al minimo la duplicazione degli sforzi e migliora la collaborazione tra le applicazioni
- Applicazione — L'utente finale sviluppa l'applicazione software finale che viene eseguita sul sistema operativo, utilizza o interagisce con il middleware e il firmware ed è l'obiettivo principale della funzione target dei sistemi integrati. Ogni applicazione finale è unica, mentre i sistemi operativi e il firmware possono essere identici da dispositivo a dispositivo.
Software integrato vs sistemi integrati
I componenti hardware all'interno di un dispositivo che esegue software integrato sono chiamati «sistema integrato». Alcuni esempi di componenti hardware utilizzati nei sistemi integrati sono i circuiti di alimentazione, le unità di elaborazione centrale, i dispositivi di memoria flash, i timer e le porte di comunicazione seriale. Durante le prime fasi di progettazione di un dispositivo, viene deciso l'hardware che costituirà il sistema integrato e la sua configurazione all'interno del dispositivo. Quindi, il software integrato viene sviluppato da zero per funzionare esclusivamente su quell'hardware con quella configurazione precisa. Ciò rende la progettazione di software integrato un campo specializzato che richiede una profonda conoscenza delle funzionalità hardware e della programmazione informatica.
Esempi di funzioni integrate basate su software
Quasi tutti i dispositivi con circuiti stampati e chip per computer hanno questi componenti disposti in un sistema software integrato. Di conseguenza, i sistemi software integrati sono onnipresenti nella vita di tutti i giorni e si trovano in tutta la tecnologia di consumo, industriale, automobilistica, aerospaziale, medica, commerciale, delle telecomunicazioni e militare.
Esempi comuni di funzionalità integrate basate su software includono:
- Sistemi di elaborazione delle immagini presenti nelle apparecchiature medicali per immagini
- Sistemi di controllo fly-by-wire presenti negli aerei
- Sistemi di rilevamento del movimento nelle telecamere di sicurezza
- Sistemi di controllo del traffico presenti nei semafori
- Sistemi di temporizzazione e automazione presenti nei dispositivi domestici intelligenti
Quali sono i diversi tipi di sistemi integrati?
In base ai requisiti prestazionali e funzionali, esistono cinque classi principali di sistemi integrati:
- I sistemi integrati in tempo reale completano le attività in modo deterministico e ripetibile, il che è influenzato dall'architettura e dalla pianificazione sottostanti dei sistemi operativi, nonché dalle prestazioni dei thread, dalla latenza di ramificazione e interruzione. I sistemi integrati generici non contengono requisiti in tempo reale e possono gestire interruzioni o ramificazioni senza dipendere da un tempo di completamento. I display grafici e la gestione di tastiera e mouse sono buoni esempi di sistemi generali.
- I sistemi integrati autonomi possono completare le attività senza un sistema host o risorse di elaborazione esterne. Possono emettere o ricevere dati dai dispositivi connessi ma non dipendono da loro per completare il loro compito.
- I sistemi integrati autonomi possono completare il loro compito senza un sistema host o risorse di elaborazione esterne. Possono emettere o ricevere dati dai dispositivi connessi ma non dipendono da loro per completare il loro compito.
- I sistemi integrati in rete dipendono da una rete connessa per eseguire le attività assegnate.
- In base alla complessità dell'architettura hardware del sistema, esistono tre tipi principali di sistemi integrati: i sistemi integrati in rete dipendono da una rete connessa per eseguire le attività assegnate.
In che modo i mercati finali influiscono sui sistemi integrati
I requisiti e i componenti di sistema integrati differiranno in base alle richieste del mercato di riferimento. Alcuni esempi includono:
- Consumatore — In applicazioni come beni di consumo come lavatrici, dispositivi indossabili e telefoni cellulari, i sistemi integrati sottolineano le dimensioni ridotte del
- System-on-chip, basso consumo energetico o funzionamento a batteria e interfacce grafiche. In queste applicazioni, sono apprezzati i sistemi operativi configurabili e la capacità di disattivare i «domini» non operativi del progetto.
- Rete: applicazioni che consentono la connettività, la comunicazione, le operazioni e la gestione di una rete aziendale. Fornisce il percorso di comunicazione e i servizi tra utenti, processi, applicazioni, servizi e reti esterne/Internet. Le applicazioni di rete integrate si concentrano sulla velocità di risposta, sull'elaborazione dei pacchetti e sui percorsi hardware delle periferiche.
- Industriale — Per applicazioni come la gestione dello stabilimento, i motori e i mulini a vento, l'accento tende a proteggere la connettività cloud e il funzionamento deterministico «in tempo reale» e può concentrarsi fortemente sul middleware.
- Medicina, automobilistica e aerospaziale — Questi settori necessitano di sistemi critici a sicurezza mista, in cui parti del design sono isolate l'una dall'altra per garantire che solo i dati necessari entrino o escano dal sistema (sicurezza) senza garantire danni all'utente finale (sicurezza). Esempi sono i sistemi di guida autonoma nelle automobili e nei dispositivi medici. Questi sistemi integrati possono presentare un mix di sistemi operativi open source (Linux) e deterministici in tempo reale (RTOS) e utilizzare ampiamente un middleware collaudato.
Perché il software integrato per il settore automobilistico è diverso?
Nell'elettronica automobilistica, si verificano complesse interazioni in tempo reale tra più sistemi integrati che ciascuno di essi funziona come frenata, sterzo, sospensioni, propulsore, ecc. L'alloggiamento fisico che contiene ciascun sistema integrato è denominato unità di controllo elettronica (ECU). Ogni ECU e il relativo software integrato fanno parte di un'architettura elettrica complessa nota come sistema distribuito.
Comunicando tra loro, le centraline che compongono il sistema distribuito di un veicolo possono eseguire una serie di funzioni, come la frenata di emergenza automatica, il cruise control adattivo, il controllo della stabilità, i fari adattivi e molto altro. Una singola funzione potrebbe richiedere interazioni tra 20 o più applicazioni software integrate distribuite su numerose ECU collegate da più protocolli di rete. Gli algoritmi di controllo complessi implementati con il software integrato garantiscono la corretta tempistica delle funzioni, gli input e output necessari e la sicurezza dei dati.
Esempi comuni di funzionalità basate su applicazioni software per il settore automobilistico includono:
- Funzionalità ADAS (Advanced Driver Assist Systems) come cruise control adattivo, frenata di emergenza automatica, assistenza al mantenimento della corsia, assistenza al traffico, avvisi di deviazione dalla corsia
- Gestione della batteria
- Compensazione della coppia
- Controllo della velocità di iniezione del carburante
stack software ECU
L'unità di controllo elettronica o ECU è composta da un'unità di calcolo principale con hardware a livello di chip e una serie di software incorporato. Tuttavia, c'è una tendenza crescente tra le case automobilistiche a progettare ECU con circuiti integrati complessi che contengono più core di elaborazione su un singolo chip, il cosiddetto System on a Chip (SoC). Questi SoC possono ospitare una moltitudine di astrazioni della ECU per consolidare l'hardware. Lo stack software per una ECU include in genere una gamma di soluzioni, dal firmware di basso livello alle applicazioni software integrate di alto livello.
Stack ECU | Descrizione |
Applicazione software integrata | Algoritmi di controllo, elaborazione, servizi |
Framework applicativo | Quadri di sicurezza e protezione |
Ambiente operativo | AUTOSAR classic, AUTOSAR Adaptive, canali di ingresso/uscita |
Virtualizzazioni integrate | Sistema operativo in tempo reale, astrazioni della ECU |
Firmware | Bootloader, archiviazione sicura, threading sicuro |
Hardware | Dispositivi a base di silicio, microcontrollori, schede a strato singolo o multiplo |