Elm327 di per sé non esiste, diciamo che è un "programmino"della ELM Electronics caricato su un PIC18F2480 della Microchip Technology. La prima marchia i mocrocontroller della seconda con la scritta "ELM".
Nella versione 1.0 la ELM Elettronics non ha inserito protezione e c'è chi ha copiato il "programmino", mettendolo su microcontroller PIC18F2480 originali o derivati per ulteriori economie. Da qui sono nati i cloni.
Scusa, Gioe, ma per me questa frase "di per se non esiste" rimane totalmente incomprensibile.
Implementare un protocollo di dialogo tra due entità, pari a pari o master-slave che sia (tra il frontend della vettura, che dietro ha enne processori dedicati su
bus e un PC) non può essere realizzato da un circuito logico "cablato" con componenti.
C'è bisogno d'intelligenza e firmware. Ovvio che si sia scelto un PIC.
L'avrei implementato anche io su PIC, magari dopo aver prototipato su un processore (per mia comodità lavorativa personale).
Quindi ELM... esiste. Esattamente come chiunque intende un'architettura di quel genere, ossia un convertitore di protocollo, in buona sostanza. Un "programma" (o firmware), ovvio.
Cosa intendevi per "non esiste"?
Il CH340 (di cui necessita il driver) è un
bus convert per permettere di dialogare col protocollo USB. Di per sé non vuol dire che non hai Elm327.
quel driver in realtà è un driver generico che implementa lo strato sotware per compatibilizzare il comune e vecchio protocollo seriale asincrono RS232 (lento) alla linea USB (un'altra linea seriale, ma ad alta velocità).
Per l'esattezza uno ne avevo già installato per via dei test che eseguo su miei progetti in altri campi (nel caso specifico rilevamento di radiazioni ionizzanti).
Il chip solitamente usato per questa conversione è naturalmente un UART, spessissimo il FT232BM della FTDI (proprio la marca che ha sviluppato il driver CH340).
leggendo questa frase, invece, mi viene da pensare che non ci siamo totalmente sintonizzati: "Di per sé non vuol dire che non hai Elm327.".
Che significa? Non comprendo, purtroppo.
Io ho scritto che il dialogo tra PC e schedina avviene correttamente. Il che significa che quando il
MES invia dei messaggi di prova (e attende una risposta), questi vengono correttamente interpretati e reinviati.
il dialogo tra PC e "ELM" (o cinese che sia) avviene eccome. Il tutto s'"intoppa" solo quando viene inviato il messaggio "ATSPC" da PC allo scatolino, che provoca il timeout.
Non ho alcun dubbio e l'ho scritto più volte. Si tratta di una catenella ridicolmente semplice: su S.O. è vista come seriale RS232 (forzata dal driver all'enumeratore su COM5), fisicamente si presenta come connessione (seriale) USB, questo è realizzato per mezzo di un UART e del relativo driver, poi si connette allo scatolino. Questo risponde ma poi... stop.
Il problema, al 99%, risiede nella parte che va verso la vettura, ossia il protocollo
OBD, sviluppato su PIC, come hai correttamente scritto.
Il microcontroller su cui è installato il "programmino" ELM **se c'è** è sotto la "colla" della tua foto probabilmente integrato sulla scheda.
Dico "se c'è" perché ci sono dei cloni che addirittura copiano il "programmino" su un altro chip (di solito il bluetooth) che non può però emulare tutto. Quindi ti ritrovi un dispositivo che non supporta totalmente o per niente Multiecuscan.
Siamo d'accordo. Mi pare logico. Nel mio caso sicuramente non in un chip che gestisce il blotooth, dal momento che la mia interfaccia è seriale.
In effetti m'hai già dato ieri l'altro l'utilissima informazione che una V.1.5 non esiste proprio.
Questo ha fatto scattare in me tutta una serie di ragionamenti, primo tra tutti... un clone cinese copiato in economia, probabilmente non compatibile molto con
OBD e/o realizzato con qualità infima. Credo addirittura che sia già difettoso il chip. Ecco perchè non riesce più a connettersi. Purtroppo l'ho acquistato sei mesi fa, anche se solo qualche giorno fa mi ci sono messo
Un trucco per sapere se un dispositivo è sicuramente incompatibile con multiecuscan è controllare se ci sono dei PIN "obbligatori" non collegati: 2, 4 e 5 (di solito ponticellati in quanto masse), 6, 7, 10, 14, 15 e 16. Guarda caso sono 9 di cui due collegabili insieme e quindi 8. Se ci sono tutti non è detto che sia compatibile, ma se ne mancano è sicuramente incompatibile per tutte le funzioni.
Dato che ci siamo, un altro trucco, senza smontare nulla, per controllare se il dispositivo non è terminato correttamente, è misurare la resistenza tra i PIN 6 e 14. Se dà resisistenza (di solito 120 Ohm) occorre smontare il resistore (facilmente rintracciabile seguendo il circuito) e terminare i PIN 6 e 14 con un resistore da 100 Ohm e un condensatore da 560 pF in serie sulla massa (PIN 4 - 5). Quest'ultima terminazione non tutti la fanno, ma io non mi fiderei ad evitarla.
Come già avevo scritto nel primo post l'altro ieri (al quale hai risposto gentilmente per primo), ho già provveduto a controllare la resistenza tra 6 e 14, che appare molto alta, dell'ordine dei 100K e oltre.
Cercavo proprio di capire se erano terminati con la "famigerata" resistenza da 120 Ohm, ma questa ipotesi è già scartata da giorni.