Pagina 2 di 8 PrimaPrima 1234 ... UltimaUltima
Risultati da 11 a 20 di 78
  1. #11
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702
    Guarda hai la mia massima collaborazione e se vuoi domenica mattina con calma postane uno e inizio a vedere la composizione e la scomposizione.
    Ma di sicuro nulla di potabile visto che ogni carattere nella tabella ascii è legata ad una funzione (sia a stringa che a singolo carattere) dal programma che genera questi file ecu e con difficoltà qualcosa magari si traduce.
    O magari è meno complicato di come pensiamo..
    Testiamo e vediamo che succede
    Vivi ****** & Muori da EROE !

  2. #12
    UTENTE ATTIVO L'avatar di munro
    Data Registrazione
    Oct 2012
    Localit
    TERRA
    Messaggi
    1,207
    ti ringrazio molto tranky ma tu dici che sarebbe per me pressoche impossibile imparare a leggere l'ASCII??
    intato però posto un piccolo promemoria in modo che anche chi e meno esperto possa capire di cosa parliamo.


    La costituzione e la logica di funzionamento delle centraline elettroniche (ECU)


    Voglio cercare di affrontare un argomento molto teorico e poco pratico, che può aiutare molti di noi a comprendere le logiche di funzionamento e la costituzione delle amate/odiate centraline elettroniche ECU con cui quotidianamente ci confrontiamo nelle diagnosi e nelle riparazione dei veicoli e nellla loro riprogrammazione.
    Le mie sono conoscenze in materia sono piuttosto basiche: non sono un esperto e spero che chi ha più esperienza possa poi correggermi.
    L' argomento se approfondito assumerebbe una piega molto teorica ed astratta che fontamentalmente serve e non serve se uno deve fare solo rimappature il discorso cambia nel caso delle riprogrammazioni di alcuni parametri del micro piu della eprom, quindi cercherò di essere più semplice possibile riassumendo le informazioni che ho al fine di capire solo come ragiona una centralina.



    Come è composta una centralina?
    Qualsiasi essa sia da quella motore a quella di aiuto al parcheggio, dalle prime comparse solo per l' iniezione, fino a quelle di ultima generazione, le centraline elettroniche sono formate principalmente da 5 parti fisiche :

    -Alimentazione:
    Comprende i positivi ed i negativi in arrivo dalla sorgente di alimentazione che, nel caso delle auto, è la batteria. La centralina ha al suo interno dei dispositivi in grado di stabilizzare le tensioni in gioco, generare altre alimentazioni come i 5V dei sensori, e filtrare il potenziale di massa isolandolo dai disturbi esterni (accensioni, spurie di radiofrequenza, interferenze elettromagnetiche, ecc..)

    -Ingressi o input (I):
    Una centralina deve avere degli ingressi per ricevere le informazioni dall 'esterno, siano esse "comunicazioni" (es. linea CAN) oppure segnali in arrivo dai sensori; a ****llo fisico gli ingressi devono essere composti da dispositivi che leggono dei segnali elettrici e li trasformano in informazioni digitali.

    -Uscite o output (O):
    Le uscite servono per convertire i comandi digitali in segnali di potenza al fine di far funzionare attuatori o spedire informazioni.

    -Microprocessore:
    E' il cuore operativo di tutto ed è in grado di elaborare le informazioni in arrivo dagli ingressi, accedere alla memoria e al programma di funzionamento e comandare le uscite.

    -Memoria o eprom:
    E' la sede dove viengono "stipate" le informazioni, le famose mappe e le istruzioni necessarie per gestire il processore.




    Microprocessori "stupidi".
    Il microprocessore è "stupido": non ha possibità di ragionare, ma solo di eseguire delle istruzione una alla volta; un insieme di istruzione di senso compiuto, che fanno compiere un lavoro al processore che si chiama Programma esempio:
    - Leggere le informazioni di un sensore;
    - Accedere alla memoria giusta;
    - Confrontarle con i parametri memorizzati;
    - Verificare la plausibilità del valore;
    - Gestire un eventuale comando di uscita.
    Questo insieme di istruzioni possono essere un vero e proprio "mini programma" quello che interessa a noi.
    La particolarità di un microprocessore è la velocità con cui esegue le singole istruzioni; velocità che può raggiungere anche il migliardo di operazioni al secondo!

    Come fa a gestire le informazioni?
    Il Processore -di qualsiasi centralina- essendo un componente elettronico può solo ragionare con segnali elettrici: esiste quindi la necessità di convertire tutto in segnali adeguati.
    Il discorso della conversione è alla base di questa mia discussione: le informazioni subiscono molte trasformazioni nel momento che raggiungono la centralina e per ora che escono, la complessità sta nel seguirle tutte.

    Bit,Byte esadecimale e ASCII
    Tutti questo nomi rappresentano i "formati" ed i linguaggi usati dalle centraline (e dai PC) per trattare i dati, ma cominciamo dalla base.
    I bit:
    L' unica cosa che sa fare un componente elettronico è quello di riconoscere delle tensioni (essere un multimetro), ecco che da qui nasce la necessità di trasformare tutto in segnali elettrici, dove una tensione bassa quasi uguale a zero verrà riconosciuta come "0", mentre una tensione più alta (esempio 5V) sarà riconosciuta come "1", questi due parametri sono i bit, ovvero le lettere dell' alfabeto elettronico.
    Facendo tutte le combinazioni di 1 e 0 possiamo creare un alfabeto e quindi parole ovvero istruzioni esempio 00000001 significa "inizio del testo", bisogna pensare che un processore non ha bisogno di una quantità di parole come un essere umano, ma solo istruzioni da eseguire.
    8 bit consegutivi compongono un Byte.
    CODICE HEX:
    Per semplificare il lavoro a chi programma e chi gestisce questa flotta di 1 e 0 hanno creato un altro linguaggio che semplifica il tutto è il "linguaggio esadecimale" o "HEX" ovvero un sistema con base 16 con il quale si trasformano i dati in byte in un codice più corto esempio 00111111 si può scrivere 1F (tradotto significa separatore oppure N°31).
    Sembra difficile, ma alla fine è solo un modo diverso di rappresentare la stessa informazione, nel codice HEX compaiono anche le lettere (A B C D E F). Solitamente le centraline e i PC questo codice (HEX) viene usato per rappresentare gli indirizzi delle memorie, ovvero l' indirizzo da dove prendere o dove scrivere l' informazione, questa necessità nasce dal fatto che un processore deve sapere dove andare a cercare il dato che gli serve altrimenti non lo può trovare.
    CODICE ASCII
    Il codice ASCII è un ulteriore codice per trasformare i Byte in lettere o frasi compiute al fine di far capire qualche cosa a noi esseri umani sia per programmare sia per interfacciarsi ad esempio la diagnosi (P0300 significa mancate accensioni).

    Riassumendo:
    i programmi di gestione vengono scritti in codice ASCII, gli indirizzi in codice HEX e il tutto viene tradotto dal programma stesso in Byte (8bit) ovvero l' unica lingua che un processore può capire, al lato pratico se noi usiamo un oscilloscopio e osserviamo cosa passa sui pin del processore vediamo segnali elettrici simili ad onde quadre che rappresentano i bit 1 e 0:




    Invece se con i programmi apposta ad esempio quelli di rimappatura, cerchiamo qualcosa nelle memorie usiamo gli indirizzi in HEX




    Se facciamo la diagnosi o programmiamo usiamo il codice ASCII, e ragionandoci si capisce il perchè di tanti linguaggi i bit sono inleggibili, gli HEX sono complessi ed usati nelle rimappature solo da "occhi" esperti, mentre il codice ASCII è per tutti gli addetti ai lavori diciamo cosi, è un pò come se dovessimo leggere il giapponese, prima lo traduciamo in inglese e poi in italiano.



    Gira che ti rigira la centralina attraverso appositi segnali elettrici (istruzioni) memorizzati nelle memorie, gestisce con altri segnali elettrici abilitando o meno le uscite, il tutto ad una velocità ininmaginabile e senza commettere errori, gli errori se ci sono, sono stati fatti da chi ha fatto i programmi.
    La centralina per funzionare deve avere le giuste alimentazioni, i giusti segnali di ingresso e deve comandare in modo corretto, sempre parlando di tensioni, correnti e tempi di reazione, mentre al suo interno le memorie devono contenere i programmi ed il processore deve controllare tutto.

    Chiaramente più la centralina è complessa e più operazioni deve gestire e più è difficile da analizzare da parte nostra, ma con le conoscienze basi descritte si possono affrontare qualsiasi tipo da un finestrino automatico ad una EDC17, chiaramente con le dovute proporzioni.

    La rimappatura da parte degli elaboratori consiste nel variare alcuni parametri "motoristici" inseriti nelle memorie e presi da riferimento dal processore, occupano una piccola parte di tutto il programma e le protezioni anti-elaborazioni.

    Spero di non aver fatto confusione, ho cercato di riassumere il tutto e renderlo il più semplice possibile al fine di aiutare a capire la logica di funzionamento di una centralina, in modo da avere meno dubbi,d'altra parte per fortuna o per sfortuna queste centraline ci sono e non ci si può fare niente, se non farcele amiche e migliorare il nostro lavoro.
    Un motociclista non crea code nemmeno in auto...
    un automoblista crea code anche in moto...

  3. #13
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702
    Quoto in pieno quanto hai illustrato.
    Non potevi essere più chiaro di così

  4. #14
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702
    Munro vista la tua preparazione credo che ci metti meno tu a interpretare il codice della EPROM che io a fare mappe sensate.

  5. #15
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702
    News
    Ho fatto una ricerca lato tool per vedere eventuali disassemblatori (non decompilatori) ed ho visto che ci sono.
    Ora l'incognita é sapere e capire con quale architettura (x86, arm o cos'altro) sono fatti questi file e la risposta ce la da il processore della ECU e il tipo di memoria che viene usata.
    Non so se posso postare link solo per visione, mi prendo la responsabilità di eventuali richiami dell'admin ma lo posto unicamente per rendere chiaro quanto descritto nella speranza che non venga interpretato come spam (non faccio parte della unit del sito).

  6. #16
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702

  7. #17
    UTENTE ATTIVO L'avatar di munro
    Data Registrazione
    Oct 2012
    Localit
    TERRA
    Messaggi
    1,207
    molto interessante tranky mi sembra di aver capito che c'è un sw che riesce a decompilare un file direttamente dal hex o dla bin all'ASCII mi sembra che si chiami IDA pro o qualcosa del genere...io però a parte quello ostato sopra di piu non sò in merito alla compilazione/decompilazione file altrimenti non aprivo un tread tranky...
    spero di imparare perche come giustamente hai detto tu sapendo fare questo si ha veramente l'elettronica in pugno.
    Un motociclista non crea code nemmeno in auto...
    un automoblista crea code anche in moto...

  8. #18
    UTENTE ATTIVO L'avatar di munro
    Data Registrazione
    Oct 2012
    Localit
    TERRA
    Messaggi
    1,207
    guarda un pò qui tranky cosa ho torvato:Andy Whittaker's Site | What's In My Brain
    vai sulla sezione dissasembler me7.1 ci sono 3 video tutorial interessanti però e tutto in inglese un pò difficile da seguire per me..
    Un motociclista non crea code nemmeno in auto...
    un automoblista crea code anche in moto...

  9. #19
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702
    Tranquillo sto prendendo le informazioni necessarie alla ricerca dell'eventuale software o di tipologia di decodifica da fare per le ecu.
    Ti anticipo che nel caso non vi siano tool e vanno fatti script appositi, al 90% bisogna passare su Linux (e li so dolori per chi non ci ha mai messo mani).
    Cmq nulla di impossibile, la comodità di usare Linux sta nei compilatori ai quali affidarci per eseguire uno script di conversione con multeplici variabili e funzionalità con debug per eventuale troubleshooting del codice creato per magari migliorarlo o correggerlo.
    Domani ho più tempo da dedicarci, ora debbo andare col bimbo e miglie da parenti (du palleeeee)...
    Rimango a disposizione via cell come sempre
    Vivi ****** & Muori da EROE !

  10. #20
    UTENTE MEDIO L'avatar di tranky
    Data Registrazione
    Aug 2015
    Localit
    Alfa147Land
    Messaggi
    702
    Citazione Originariamente Scritto da munro Visualizza Messaggio
    guarda un pò qui tranky cosa ho torvato:Andy Whittaker's Site | What's In My Brain
    vai sulla sezione dissasembler me7.1 ci sono 3 video tutorial interessanti però e tutto in inglese un pò difficile da seguire per me..
    Buono!
    ma è solo per Bosch ME7.5
    Vivi ****** & Muori da EROE !

Pagina 2 di 8 PrimaPrima 1234 ... UltimaUltima

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •