23
pic32obd wireless scanner soluzioni per «meccanici» dell’era digitale

pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Embed Size (px)

Citation preview

Page 1: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

pic32obd wireless scanner

soluzioni per «meccanici» dell’era digitale

Page 2: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Il progetto: cos’è uno scanner diagnostico?

Il sistema realizzato permette al meccanico di ottenere

rapidamente e in modo centralizzato informazioni dalle

centraline elettroniche dislocate nella vettura (centralina

motore, ABS, airbag, ecc.)

I paramentri in arrivo dalle centraline vengono smistate verso

un unico canale di comunicazione: la presa di diagnosi

OBD.

I dati, da questa prelevati, vengono elaborati e presentati in

veste sintetica, chiara, immediata al fine di essere di reale

supporto all’autoriparatore durante le operazioni di diagnosi

del guasto o nei normali interventi di routine.

Page 3: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Cos’è OBD?

Per OBD (OnBoard Diagnostic) si intende la capacità di un sistema automotive quali auto, moto o altri mezzi di

effettuare una diagnosi autonoma dei propri sistemi elettronici e meccanici. L’autodiagnosi consiste principalmente

in:

1.  monitoraggio dei parametri fondamentali del mezzo.

2.  rilevazione e indicazione all’utente di eventuali anomalie.

3.  Intervento diretto sui sistemi in prevenzione di danni gravi.

OBD si è evoluto negli anni e, dai rudimentali sistemi comparsi nei primi anni ’80, ci si proietta ormai verso la sua

terza release. Gli standard OBD, attualmente in versione II, sono promulgati da ISO e SAE.

Model Year

Com

plex

ity

80 82 84 86 88 90 92 94

OBD

OBD-I

OBD-II

OBD-III

96 98 00 02 04 06 08

Page 4: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

I protocolli OBD

I documenti dei due enti si preoccupano di definire le specifiche elettriche, logiche e meccaniche dei protocolli OBD.

Dal punto di vista meccanico, OBD-II prevede il connettore J1962, standardizzato da SAE.

Il connettore si compone di 16 poli che implementano le cinque diverse tecnologie di

comunicazione previste per la comunicazione con l’ECU (la centralina motore). Le connessioni possibili sono:

1.  SAE J1850 PWM, SAE J1850 VPW

2.  ISO 15765-2 / SAE J1939 CAN

3.  ISO9141 e ISO14230

Page 5: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

I protocolli seriali ISO

Per la realizzazione del progetto ci si è incentrati in particolare sui due protocolli seriali che OBD mette a

disposizione, ovvero ISO 9141 e ISO 14230 (detto KWP2000).

I protocolli condividono lo stesso canale di comunicazione fisico cotituito di due linee distinte, riferite come

Linea K (linea generalmente bidirezionale usata per la comunicazione) La linea K supporta un baudrate massimo

pari a 250kbps. A livello logico, si implementa un UART standard 0÷VBATT.

Linea L (opzionale e unidirezionale, utilizzata per la sola inizializzazione della comunicazione).

Il protocollo prevede sia connessioni con topologia point-to-point sia a bus.

Page 6: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

I protocolli seriali ISO

Topologia a bus per i protocolli ISO9141-2 e ISO14230-4:

ECU1 ECU2

ECU3 ECUn

Diagnostic Tester

(ISO-9141-2 Scan Tool)

L-Line

K-Line

OBDII Connector

bi-directional

unidirectional

Page 7: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

I protocolli seriali ISO

Specifiche logiche-elettriche per i protocolli ISO9141-2 e ISO14230-4:

Page 8: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Il protocollo ISO14230-4

ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il

15-03-1999, rappresenta l’alternativa a ISO 9141-2 per la diagnosi OBD su bus K-L.

KWP rappresenta di fatto un’evoluzione di ISO 9141-2 ed attualmente rappresenta il

protocollo maggiormente implementato per la diagnosi OBD sui moderni veicoli. Le moderne

implementazioni di KWP avvengono in genere su CAN (KWP over CAN bus)

ISO 14230 si estende su tutti i livelli del modello ISO-OSI, con ISO14230-1 (Physical layer),

ISO14230-2 (Data link layer), ISO14230-3 (Application layer), ISO14230-4 (Requirements).

Page 9: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

PIC32 OBD Wireless Scanner

La realizzazione consiste in due schede che implementano uno scanner diagnostico basato su KWP.

Una prima scheda, denominata CAR Board, implementa le funzioni di basso livello per la comunicazione OBD ed è

in grado di comunicare con una seconda stazione di diagnosi, remota, denominata USER Board.

Attraverso la USER Board l’operatore può richiedere da remoto i parametri diagnostici della vettura inviando

appositi comandi verso la CAR Board.

Il collegamento tra le due schede è rappresentato da un link radio wireless Sub-GHz, in banda ISM.

Per controllare con relativa semplicità l’intero sistema di diagnosi, è stato previsto un’apposito applicativo su PC.

Page 10: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

CAR Board

La CAR Board ha il compito fondamentale di gestire la comunicazione KWP con l’auto.

La realizzazione della scheda è basata su una soluzione a microcontrollore, un PIC della serie PIC32, di produzione

Microchip.

Page 11: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

CAR Board

L’alimentazione della scheda è prelevata dalla porta di diagnosi EOBD, a sua volta prelevata direttamente ai capi

della batteria del veicolo. La tensione che varia da circa 12V a veicolo spento e 13,7V con alternatore in funzione, è

stabilizzata da un primo regolatore switching di tipo step-down (LM2596) alla tensione continua di +5V.

La tensione di +5V è necessaria per l’alimentazione del driver K-L à UART L9637D e per il display HD44780-

compatibile. A partire dalla tensione di +5V, si ottiene con un regolatore lineare low-dropout LM1117 la tensione di

3,3V necessaria per l’alimentazione del microcontrollore.

Page 12: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

CAR Board

Per interfacciare il microcontrollore con il bus K di

KWP è necessario un apposito traslatore di livello.

Si è optato per una delle rare soluzioni integrate

che implementano una tale funzione, il driver

L9637 di ST Microelectronics, che rappresenta un

interfaccia K-L à UART TTL. Gli input destinati ai

moduli UART del PIC sono 5V compatibili e

dunque correttamente interfacciabil i con

l’integrato suddetto.

Page 13: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

CAR Board: Firmware

Page 14: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Interfaccia radio wireless

Per quanto riguarda la scelta del modulo radio, si è optato per un

modem operante sulla frequenza ISM e specialmente sugli

868MHz. Il modem è un CC1101 di fabbricazione TI.

Presenta le seguenti caratteristiche:

♣ Bande: 300-348 MHz, 387-464MHz e 779-928 MHz ♣ Modulazioni: ASK, OOK, 2-FSK, 4-FSK, GFSK, e MSK. ♣ RX e TX 64 bytes hardware data FIFOs separati. ♣ Potenza di trasmissione fino a +12dBm ♣ Sensibilità: -112 dBm @ 1.2 kBaud, 868 MHz (con consumo di 14.7 mA)

Page 15: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

CC1101

Il modem funziona secondo il principio del modulatore universale I-Q.

In digitale vengono implementate tutte le operazioni riguardanti il controllo automatico del guadagno

(AGC), il filtraggio, la demodulazione e la sincronizzazione bit/pacchetto. Per quanto riguarda lo stadio

di trasmissione, il modem si basa sulla sintetizzazione diretta della radiofrequenza, includendo al

proprio interno un VCO LC e uno shifter di fase (π/2) necessario a generare le due componenti I e Q

propedeutiche alla modulazione.

Il modem viene configurato per lavorare con: portante 868 MHZ, modulazione GFSK, deviazione di

frequenza 126.95kHz, 1 canale, 4 byte preambolo, 4 byte sync word, 250kBaud data rate, potenza

TX 10dBm. Così configurato, il modem assorbe circa 16.9mA in ricezione e circa 30mA in

trasmissione.

Page 16: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

USER Board

La USER Board ha il compito di impartire i comandi designati dall’operatore verso la CAR Board e di visualizzare i

dati di diagnosi in arrivo da quest’ultima. Anche la USER Board è basata su una soluzione a micrcontrollore.

La fonte di alimentazione primaria per la scheda è fornita dalla porta USB, mentre è comunue prevista la possibilità

di alimentazione esterna con tensione stabilizzata +5V.

Page 17: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

USER Board: connessione USB

Per rendere chiaro ed immediato l’utilizzo dello scanner diagnostico, ci si è adoperati per renderne possibile

l’interfacciamento con un computer, dove un applicativo realizzato ad hoc permetta di controllare la stazione di

diagnosi.

Per interfacciare la USER Board con il PC si è implementata una connessione USB di tipo CDC, classe che

permette di gestire la comunicazione nelle stesse modalità con le quali si gestisce un link seriale RS232.

Affinchè la comunicazione sia possibile è necessario che il microcontrollore sia appositamente predisposto e

configurato. Lo stack USB che gestisce la comunicazione a livello microcontrollore è quello della libreria MLA messa

a disposizione da Microchip (MCHPFUSB) nella sua versione 2.9j per PIC32.

Page 18: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

USER Board: Firmware

Page 19: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Software di interfaccia utente

Il software di interfaccia utente per PC è sviluppato in C#, linguaggio di programmazione Microsoft della

famiglia .NET sviluppato in ambiente Visual Studio Express 2010.

Il protocollo di basso livello implementato per la comunicazione scheda/PC è il medesimo utilizzato per la

comunicazione della USER Board con il modulo radio, cui si demanda la consultazione. Qui è riportato un esempio

di trama:

Page 20: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Esempio di funzionamento:

Page 21: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Esempio di funzionamento: CAR Board

Page 22: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Esempio di funzionamento: CAR Board

Page 23: pic32obd wireless scanner protocollo ISO14230-4 ISO 14230, meglio conosciuto come KeyWord Protocol 2000 (KWP), ratificato da ISO il 15-03-1999, rappresenta l’alternativa a ISO 9141-2

Esempio di funzionamento: CAR Board