Scanner OBD-II con Freescale Silicon

Ambiente OBD On Board Diagnostic

La diagnostica a bordo (OBD è anche chiamata Enhanced OBD in Europa, è installata in molti veicoli per l’auto-diagnostica a bordo e per creare report. I sistemi OBD danno al proprietario o ad un tecnico l’accesso alle informazioni sullo stato di "salute" per i diversi veicoli. Le moderne implementazioni OBD utilizzano le porte di comunicazione digitale per fornire dati in tempo reale in aggiunta a codici standard di diagnosi, che permettono di identificare rapidamente malfunzionamenti all'interno del veicolo. Lo scanner OBD-II è anche uno strumento comune di debug e di programmazione per le forniture di componenti nel settore automobilistico.

Se desideri maggiori informazioni su questo prodotto Freescale, invia una richiesta ad Arrow utilizzando il seguente modulo.

Due importanti organizzazioni sono coinvolte nelle specifiche OBD. Una è la Society of Automobile Engineers (SAE), l'altra è l'International Organization for Standards (ISO). La SAE serve case automobilistiche americane da anni. Con il suo aiuto, OBD risponde ad uno standard. Dopo una breve ricerca, sebbene sia la SAE sia l’ISO definiscono gli standard e le specifiche OBD, non c’è alcuna trasformazione dall’una all’altra tra di loro. Se si sta lavorando per un produttore di automobili, si può seguire semplicemente una specifica per quello specifico modello. Al contrario, uno sviluppatore di scanner OBD-II deve leggere tutti i documenti relativi per supportare il maggior numero possibile degli stessi.

Secondo le specifiche, OBD-II lascia alcuni contatti personalizzati per i produttori. Come risultato, il sistema OBD diventa un pasticcio perché il produttore di automobili definisce le proprie specifiche a seconda di ragioni storiche e commerciali. Il mercato delle auto è diverso da quello del mercato dei PC. Le vetture utilizzate sono ancora una parte importante del mercato nel suo complesso. È possibile implementare uno strumento ODB-II con le caratteristiche necessarie, ma non si può pretendere di supportare tutti i modelli di auto. Ci sono troppe combinazioni.

In generale, la gente deve acquistare le specifiche da SAE/ISO se non sono iscritti. Che io sappia, SAE offre un CD-ROM completo contenente tutte le specifiche necessarie e le informazioni supplementari per poco più di 250 USD. Anche ISO può offrire un servizio equivalente. Ho cercato di individuare le specifiche da questi due siti, ma ho trovato ciò che volevo. Infine, ho trovato un modo efficace per cercare il loro sito web. Prova questo su Google: "J1850 site:sae.org"

Questo metodo consente di scoprire le specifiche corrispondenti dal motore di ricerca esterno. (P.S., si può provare anche con Bing.) Prima che OBD-II diventasse lo standard industriale, i vari produttori di auto definivano i protocolli per le reti di più vetture. Come risultato, lo scanner OBD-II deve essere compatibile con i seguenti protocolli.
Protocolli Standard:

  • SAE J1850 PWM (Class B Data Communications Network Interface, Pulse Width Modulation, Ford SCP compliant)
  • SAE J1850 VPW (Variable Pulse Width Modulation, GM class 2 compliant plus light trucks)
  • ISO 9141-2 (Road vehicles: Diagnostics requirements) K-Line (Chrysler + European brands + Asian Brands)
  • ISO 14230-4 KWP2000 (Road vehicles: Diagnostics Key Word Protocol 2000, replacement of ISO9141)
  • SAE J2284 (High-speed CAN for Vehicle Applications at 500KBPS) / ISO 15765-1/2/3/4 (Road vehicles: Diagnostics on CAN)

Protocolli Opzionali:

  • SAE J2602 (LIN Network for Vehicle Applications)
  • UBP (UART Based Protocol by Ford)
  • CCD (Chrysler proprietary protocol)
  • ALDL (Assembly Line Diagnostic Link)
  • SAE J1939 (The Real-Time CAN Solution for Heavy Duty Applications)
  • KWP1281 (Keyword Protocol 1281, Legacy, but quite popular in Volkswagen made in China)

Standard Relativi:

  • ISO15031 (Road vehicles -- Communication between vehicle and external equipment for
    emissions-related diagnostics)
  • ISO11898 (Road vehicles -- Controller area network (CAN))
  • SAE J1979 (E/E.Diagnostic Test Modes)
  • SAE J2190 (Enhanced E/E.Diagnostic Test Modes)
  • SAE J2012 (Diagnostic Trouble Code Definitions)
  • SAE J2178 (Class B Data Communication Network Messages)
  • SAE J1962 (Diagnostic Connector)
  • SAE J1978 (OBD II Scan Tool)

Freescale Silicon

ISO ha definito i suoi famosi 7 livelli modelli:

  • User Application Layer
  • Network Management Layer
  • Transport Layer
  • Data Link Layer
  • Hardware Abstraction Layer
  • Physical Layer

La maggior parte dei bus nel veicolo segue i concetti OSI, ma di solito non hanno i 7 livelli completi. Invece, la maggior parte dei bus hanno il Physical layer ed il Data Link Layer. Questi bus possono condividere il livello di trasporto comune in modo che il livello più alto dell’applicazione utente può astrarre i livelli inferiori. Se andiamo a progettare uno scanner OBD "all-in-one", possiamo approssimativamente suddividere il sistema in tre parti, l'interfaccia fisica, il controller del protocollo ed l’applicazione software.

L'interfaccia fisica gestisce i dati di decodifica/codifica, la protezione del circuito e gli hardware connessi. Il controller del protocollo processa il frame di dati, l'arbitraggio del bus, la decodifica dell'indirizzo e così via. L’applicazione software in realtà contiene tutti gli stack di protocollo superiori, compresa la gestione della comunicazione e della presentazione.
Riassumiamo i requisiti tecnici per i protocolli OBD/E-OBD:

  • SAE J1850: Interfaccia fisica (sia PWM sia VPW), BDLC-D (Byte Data Link Controller) per J1850, driver dei dispositivi e parser dei messaggi
  • ISO9141-2/ISO14230-4 K-Line KWP1281/KWP2000: Interfaccia fisica, UART e parser dei messaggi
  • SAE J2284/ ISO15765 CAN bus: Interfaccia bus a singolo e doppio filo, CAN controller, driver dei dispositivi e parser dei messaggi
  • SAE J2602 LIN bus: opzionale, UART e parser dei messaggi.

Freescale ha servito il mercato automobilistico per molti anni, quindi può offrire una gamma di semiconduttori completa per questo mercato. Ha una competenza unica con la sua ampia linea di prodotti SBC (System Basis Chip), che contiene transceiver bus, caratteristiche analogiche, e dedicate per applicazioni automobilistiche con progetti di riferimento. Ecco alcuni prodotti disponibili da Freescale per lo strumento OBD-II. Freescale ha una buona posizione nei motori di ricerca web, come per esempio per le parole:

  • MC9S12DJ128
  • MPC5121e PowerPC MobileGT SoC
  • MC33390 SAE J1850 Serial Transceiver
  • MC33910/11/12 SAE J2602 LIN System Basis Chip
  • MC33661 LIN Enhanced Physical Interface
  • MC33689 System Base Chip with LIN
  • MC33897 SAE J2284 Single Wire CAN Interface
  • MC33989 System Basis Chip with High speed CAN transceiver
  • MC33742 System Basis Chip with High speed CAN transceiver
  • MM908E62X Embedded MCU and LIN

Il controller OBD di solito si connette ad interfacce fisiche esterne per le diverse reti (J1850/CAN/LIN/ISO KWP rispettivamente). Poi il resto degli stack sono implementati in un microcontrollore a scopo generala con le caratteristiche necessarie come il CAN controller. È possibile visitare il sito web di ELM electronics elencato nei riferimenti. ELM offre i controller OBD ELM32X per le reti più popolari, e la sua ELM327 è il suo controller OBD all-in-one per supportare tutte le reti. Infatti, i suoi controller OBD sono solo microcontrollori Microchip pre-programmati (8PIN/14PIN/28PIN).

Un microcontroller per scanner OBD all-in-one dovrebbe avere le seguenti caratteristiche:

  • UART/SCI: UART/SCI/USART, è ampiamento utilizzato nel ISO9141(KWP1281)/ISO14230(KWP2000)/J2602(LIN)/UBP/CCD.
  • Timer: può essere utilizzato per decodificare VPW per software di decodifica.
  • CAN: è una caratteristica necessaria se è presente ISO15765/SAE J2284.
  • Dispositivo USB: è la comunicazione con un PC host. Il collegamento ad AF come la connessione Bluetooth può essere impostata sia con l’USB host sia con l’UART.
  • BDLC-D: Byte Data Link Controller per SAE J1850.

Freescale offre 68HCXX, MC9S12XX e MPC52XX (MPC5121e) con circuito BDLC-D. L’MPC5121e dalla sua famiglia MobileGT è dotato di tutte le funzioni di connettività menzionate. È abbastanza costoso per uno scanner OBD a basso costo. L’MC9S12DJ128 ha sia BDLC sia un CAN controller, così come le altre risorse necessarie. E 'abbastanza buono per uno scanner OBD. Possiamo aggiungere interfacce USB esterne a questo microcontrollore per la comunicazione PC.

Vorrei raccomandare il ColdFire come MCF52259 per l'applicazione dello scanner OBD-II. Con connessione USB o Ethernet, le diagnostiche possono essere condivise su Internet. Tuttavia non ha un controller BDLC-D all'interno. È possibile implementarlo nel software, che può richiedere risorse extra. In alternativa si può interfacciare ColdFire ad un microcontrollore esterno con BDLC, come MC68HC908AS32A. Infine, se J1850 VPW non è sulla tua lista, può essere ignorato.

Naturalmente, se supporti solo l’UART basato sul protocollo OBD. C’è un’interfaccia OBD semplice, che richiede solo un accoppiatore ottico per l'isolamento elettrico. Il software in esecuzione sul PC può leggere i dati attraverso questa semplice interfaccia. Vedere il sito web di Jeff Noxon per l'interfaccia VAG.

References
Freescale LIN, ISO9141, J1850 Physical Interfaces
Freescale CAN Physical Interfaces
ISO
SAE
Rose Tech LLC
Ozen Eletronik
OBD-2 diagnostics program
ELM electronics
Gerd Müller’s OBD-2 site
Jeff Noxon’s VAG interface
Elektor's OBD Forum

RICHIESTA DI CONTATTO
Se desideri maggiori informazioni su questo prodotto Freescale, invia una richiesta ad Arrow utilizzando il seguente modulo.

Scarica subito una copia gratis
Tags:

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend