Il linguaggio informatico delle centraline auto

di il
16 risposte

Il linguaggio informatico delle centraline auto

Mi sapete dire in quale linguaggio informatico sono scritti i comandi che ormai hanno invaso le nostre auto moderne ?
Dato che sto studiando, per passatempo, il linguaggio C e C++, sarei curioso di sapere se con questi linguaggi si può scrivere qualcosa per le centraline delle auto.

16 Risposte

  • Re: Il linguaggio informatico delle centraline auto

    Dipende da cosa intendi.
    I programmi sono nella stragrande maggioranza dei casi in linguaggio macchina, sono pochissimi quelli in Java (qualcosa per i navigatori).
    La "programmazione" delle centraline è tipicamente riferita al cambio degli innumerevoli parametri che vengono utilizzati (pressione carburante, anticipi e così via)
  • Re: Il linguaggio informatico delle centraline auto

    Sono assembler proprietari del codice macchina del micro utilizzato. Raramente è disponibile un compilatore C dedicato e limitato.
    In ogni caso, è quasi sempre roba di cui solo la casa madre ha documentazione e relativi programmatori e che solo la casa madre è autorizzata a creare/modificare.

    Insomma, argomento più complicato di quello che credi e molto lontano in pratica.
  • Re: Il linguaggio informatico delle centraline auto

    Cerca CAN e OBD-II (OBD 2)
    Magari ci aggiungi:

    - specification
    - app (per qualche app android, ad esempio)
    - hacking

    https://www.tomshw.it/george-hotz-la-soluzione-hackerare-nostre-auto-86918

    Si ritorna al discorso di partenza: richiede competenze di sviluppo software da smaliziato
    - saper capire le specifiche
    - magari saper progettare circuitini elettronici
    - implementare una comunicazione bluethooth
    - gestire sincronizzazioni/timeout/errori/....
  • Re: Il linguaggio informatico delle centraline auto

    In effetti, come ti ha detto migliorabile, se la devi intraprendere a 50 anni è una strada ancora più complicata di quelle che avevi esaminato prima ...
  • Re: Il linguaggio informatico delle centraline auto

    Se è l'infotainment che ti interessa può darsi che in qualche anno tu riesca a combinare qualcosa. Se è il tuo interesse è rivolto ai sistemi di sicurezza presenti a bordo di un'auto, ti devo dare una brutta notizia: non hai alcuna speranza di poter trarre giovamento dai tuoi esperimenti! Dei suddetti sistemi si occupano le migliori menti uscite dai migliori atenei del mondo e ciò esclude ogni possibilità a praticamente tutta l'utenza del presente forum, con una sola eccezione. Prova a studiare un po' di semplice elettronica digitale e a baloccarti con qualche microcontrollore giocattolo della Microchip, piuttosto.
    PS: I linguaggi utili sono VHDL, Verilog e altri HDL, Assembly e ANSI C.
  • Re: Il linguaggio informatico delle centraline auto

    Quanti anni ci vogliono, partendo come base da una laurea in ingegneria meccanica, per capirci qualcosa di centraline auto in particolare di ECU (engine control unit)? I cosiddetti rimappatori, pur non avendo una laurea in ingegneria e non sapendo neanche come funziona un computer o scritto un programma del tipo hello world, riescono a manipolare le centraline. Dove sta il trucco?
  • Re: Il linguaggio informatico delle centraline auto

    Il trucco sta nel fatto che chi "rimappa" usa lo strumento come farebbe una scimmia. Si collega e si scrivono dei dati.

    Quindi non serve nessuna nozione di programmazione e/o nulla che che spieghi loro cosa sono quei numeri che stanno scrivendo.
    Anche se è MOLTO PERICOLOSO fare una cosa del genere e MOLTO RISCHIOSO anche penalmente.

    ALTRA storia è progettare e scrivere codice per le centraline in questione. Per quello, a parte ogni considerazione di altro tipo, ci vuole una preparazione avanzata.
  • Re: Il linguaggio informatico delle centraline auto

    Capisco. Intiuitivamente e con linguaggio da cane direi che la programmazione di una ECU consiste nello scrivere un codice che in base ai dati in ingresso provenienti dai vari sensori restituisce opportuni dati in uscita per pilotare correttamente gli attuatori (iniettori, valvole, accensione candele ecc.). Prima dell'avvento dell'elettronica sulle auto il tutto era realizzato mediante meccanismi, circuiti idraulici, pneumatici ecc. Ancora oggi però l'elettronica non governa tutto, visto da quel che mi pare di vedere le centraline ABS e ESP sono idrauliche quindi non c'è un'elettronica che comanda. Ora ci sono trasduttori che misurano le grandezze in ingresso (pressioni, temperature, portate ecc.) e il programma calcola la portata di carburante da inviare agli iniettori, l'anticipo di accensione ecc. Se io cambio il filtro aria mettendone uno più aperto o aumento la pressione del turbo agendo sulla valvola posta su di esso i valori in ingresso cambiano e se si trovano nei limiti decisi in fase di scrittura della centralina va tutto ok (es la pressione del turbo deve andare da 0 a un massimo di 1 bar), altrimenti la centralina non sa che output generare e va in errore. Quindi la riprogrammazione dovrebbe consistere nell'aumentare i limiti delle varbili decisi dal costruttore. Se il filtro aria è troppo aperto e la portata misurata dal debimetro va fuori i limiti, devo riprogrammare la centralina allargando l'intervallo della variabile portata. Poi dovrò aumentare la portata di carburante e intervenire su altre cose che ovviamente non so non essendo rimappatore. Ovviamente va adeguata anche la meccanica nel caso di interventi radicali.
    Grazie all'elettronica il tutto diventa più affidabile. Mancano lo spinterogeno fonte di un sacco di problemi e altri sistemi di regolazione, sostituiti dai trasduttori che però anch'essi possono dare noie (con conseguente lucro da parte dei meccanici che non sapendo che pesci prendere cambiano tutto il sensore o centralina per centinaia di euro quando nella maggior parte dei casi è solo un problema di contatti elettrici ossidati).
  • Re: Il linguaggio informatico delle centraline auto

    selfmademan ha scritto:


    Capisco. Intiuitivamente e con linguaggio da cane direi che la programmazione di una ECU consiste nello scrivere un codice ...
    mannoooooo... i rimappatori non scrivono affatto codice.
    si limitano a modificare i parametri (pressione, tempi eccetera) che sono presenti nelle memorie, e che vengono elaborate poi.
    in sostanza ci sono delle "variabili" che impongono variazioni ad esempio rispetto al numero di giri (per passare i test anti-inquinamento, per non tritare la frizione con coppie motrici troppo elevate a basso numero di giri, non surriscaldare il turbo, non far esplodere gli iniettori con pressioni troppo elevate e così via).

    in sostanza è una sorta di "overclock" motoristico.

    spesso (quasi sempre) si opera mediante banali "programmatori di eprom" (ovviamente ce ne sono di tutti i tipi, a seconda della tipologia di motore). talvolta smontando-modificando-rimontando, oppure riprogrammando direttamente.

    altrettando spesso le "mappe", cioè l'insieme dei parametri, sono già belle che pronte, fornite dai produttori dei dispositivi di rimappatura, e vengono "flashate", un po' come si fa con una versione nuova del BIOS.

    poi da lì (caso rimappatore evoluto) si pone il mezzo sul banco a rulli per "limare" qualcosina ottimizzando per lo specifico modello, magari con un occhio alle emissioni (per evitare grane in sede di revisione periodica).

    scrivere da zero il software di controllo di un motore moderno? non è impossibile (dopo aver visto un tizio costruirsi nel garage un AGC tutto può capitare), ma quasi
  • Re: Il linguaggio informatico delle centraline auto

    CAN e OBD-II
    Ho letto anche io di questo dispositivo, che permette di monitorare, alcuni parametri della centraline.
    Sicuramente come detto, il codice delle centraline, non sarà faceile trovarlo, se non impossibile, xhè è una proprietà intellettuale, di chi l'ha realizzato.
    Sicuramente però ci saranno interfacce della libreria stessa della centralina...
    Non credo sia totalmente chiuso, anche se cmq è un dispositivo embedded...
    Java si dice che faccia programmi di tutto, tv centraline auto, il tostatapana o la lavatrice grazie alla JVM...
    La JVM ha diverse versioni della stessa- una per telefoni Android, una per pc, una per la tv.
    Quest'ultima affermazione, l'ho notata leggendo Android. Mi sembra di capire che Android utilizza un altra versione della JVM, prima la DALVIK ora ART.
    Sostanzialmente è che alcune virtual machine sono dedicate per sfruttare meglio delle caratteristiche x, come ad esempio l'hardware
  • Re: Il linguaggio informatico delle centraline auto

    Alexxandro ha scritto:


    CAN e OBD-II
    Non sono linguaggi di programmazione con cui è scritto il codice delle centraline ...
  • Re: Il linguaggio informatico delle centraline auto

    In che senso?
    Non hanno un programma?
    Dicono che java è installato anche nelle centraline dell'auto...
  • Re: Il linguaggio informatico delle centraline auto

    Nel senso che ti ho detto. CAN e OBD non sono linguaggi di programmazione. Quelle centraline si programmano in C o in Assembly specifico del micro utilizzato.
  • Re: Il linguaggio informatico delle centraline auto

    Si si...è un dispositivo lo conosco, volevo comprarne uno.
Devi accedere o registrarti per scrivere nel forum
16 risposte