2009-06-25 14 views
32

Quali sono i linguaggi di programmazione più comunemente utilizzati nei sistemi automobilistici? Che tipo di dati vengono raccolti mentre è in esecuzione? Che piattaforma usa?Automobili Linguaggi di programmazione

Sono interessato anche alle nuove auto ibride/elettriche, quali lingue e piattaforme usano?

Grazie!

risposta

3

OBD-II è un'interfaccia per la raccolta dei dati dell'automobile.

In termini di linguaggi di programmazione, penso che sia probabile che si sovrapponga a molti altri ambienti incorporati; Probabilmente si usa C, RTOS come VXWorks e così via. 1394 (firewire) sta iniziando a essere utilizzato per il networking.

C'è un interessante sito web alla ricerca chiamato 'Automotive Design Line'

+0

Si tratta di automobili di nuova energia? – hws

+0

Immagino che si applicherebbe ancora per i veicoli ibridi in quanto utilizzato nelle prove delle emissioni in California per le quali esiste un requisito per un'interfaccia standard. Per i dispositivi elettrici plug-in che potrebbero non essere applicabili, ma i garage ecc. Sono predisposti per OBD-II, quindi non sarei sorpreso se i produttori più piccoli continuassero ad usarlo per questo motivo. –

+0

Grazie mille, la tua risposta è molto utile! Che dire dei veicoli a celle a combustibile, dell'energia a idrogeno e dell'auto elettrica per veicoli elettrici? – hws

40

Electronics nel settore automobilistico sono di solito basate su microcontrollori embedded. Di conseguenza, i linguaggi di programmazione sono in genere C, C++ e assembly. In alcuni casi, viene utilizzato un linguaggio di livello superiore come la logica ladder per descrivere la logica di controllo effettiva.

Le automobili moderne dispongono di diversi sistemi informatici separati, ciascuno progettato per controllare un aspetto specifico del funzionamento del veicolo. Di solito c'è un controller per il motore, uno per la trasmissione, uno per l'elettronica del cruscotto, uno per l'ABS, il controllo della trazione, ecc.

Ciascuno di questi moduli di controllo ha una serie di ingressi e uscite. Il controller del motore, ad esempio, legge molti sensori tra cui temperatura del liquido di raffreddamento, velocità del motore, assunzione di ossigeno, posizione della valvola a farfalla e così via. E, sulla base di questi input, prende decisioni sul rifornimento di carburante per il motore. Nei veicoli ibridi e nei veicoli esclusivamente elettrici, il sistema di controllo del motore è, ovviamente, completamente diverso. C'è ancora un controller, ma invece di prendere decisioni sul rifornimento, può prendere decisioni su quando coinvolgere i motori elettrici rispetto al motore a gas, quanta energia applicare a ciascun motore elettrico, ecc.

I vari controlli i moduli sono collegati tra loro tramite una rete di bordo. Esistono molti modi diversi per implementare questa rete, ma uno dei più comuni è CAN (Controller Area Network). La rete consente ai singoli moduli di controllo di inviare e ricevere informazioni da altri moduli ad alta velocità mentre il veicolo è in funzione.

aggiornamento: Ecco alcuni link per ulteriori letture:

CAN systems da AA1Car.com
The Hybrid Bible da CarBibles.com
Sensors Make Cars Smarter - un articolo da Design News

aggiornamento: Qui è un articolo recente sull'argomento che può interessare:

- un articolo da Discovery.com

+1

+1 bella risposta completa –

+0

Grazie mille. Il mio inglese è scarso, ho bisogno di più tempo per capire la tua risposta. Se possibile, puoi dare più risposte. Grazie mille. – hws

+0

@Colin Pickard: Grazie. Ho svalutato il tuo per aver menzionato OBD-II e J1394. Non avevo idea che il firewire stesse entrando in uso per il settore automobilistico. –

8

Il linguaggio di programmazione più popolare per centraline automotive (unità di controllo elettronico) che implementano applicazioni in tempo reale in powertrain o controllo chassis è di gran lunga C. Il software viene solitamente implementato su parte superiore dei sistemi operativi specifici del settore automobilistico secondo OSEK o AUTOSAR.

Nei dispositivi dedicati all'infotainment è possibile trovare altri linguaggi o persino i sistemi operativi tradizionali.

OBD-II è solo un sottoinsieme di informazioni raccolte in un'auto tipica perché OBD-II è principalmente rivolto al motore. Ci sono anche tonnellate di dati diagnostici raccolti per altre applicazioni, ad es. per le funzioni di comfort.

CAN è l'interfaccia di bus popolare "classica", ma di recente gli standard con maggiore larghezza di banda (ad esempio Flexray) stanno aumentando il ritmo soprattutto per i software critici per la sicurezza. Per qualche motivo viene utilizzata anche la classica Ethernet.

avrei posto alcune collegamenti ipertestuali, ma è così sistema di reputazione non lo permette ...

8

L'utilizzo di C è così diffusa nel settore auto che un organismo di settore ha messo a punto un set personalizzato di standard per lo - Misra C.

Misra C, in un sistema critico per la sicurezza, è praticamente una lingua diversa dalla normale C - nessun puntatore di funzione, nessuna allocazione di memoria, praticamente nessun uso di caratteristiche linguistiche specifiche di C.

Essenzialmente, è Ada con una sintassi C.

1

C e Microcontrollori sono utilizzati soprattutto nel settore Automotive. È necessario avere conoscenze di sistema integrate.

0

Lo stack di software per autoveicoli sta diventando più complesso, non solo più microcontrollori. Al giorno d'oggi c'è anche uno stack di software IVI che gira su un processore abbastanza potente, ad esempio ATOM o ARM v7, ecc. Quindi i linguaggi di programmazione sono cambiati di conseguenza, ad esempio è possibile utilizzare linguaggi interpretati.

1

Automotive funzione Application codificato in MATLAB C, C++ ...

BSP codificato in C o C++

AUTOSAR è una piattaforma o architettura comune usato nelle industrie Filmato automatico.

+0

Cosa significa la prima frase? – WEFX

+0

Le funzionalità di CAR (Wiper, Light, ecc.) Sono codificate in MATLAB, C, C++ ... – Shivang

Problemi correlati