ddworken / the-bus-pirate

Automatically exported from code.google.com/p/the-bus-pirate
Other
0 stars 1 forks source link

Protocol: OBD-II #10

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Add the automotive OBD-II protocols. 

What type of physical layer interface is required?

Original issue reported on code.google.com by ianles...@gmail.com on 31 Mar 2009 at 2:33

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I was looking around the internet and I found this pdf that talks about OBD-II. 
http://fett.tu-sofia.bg/et/2006/ET2006%20BOOK%204/Electronic%20Systems%20in%20Me
asurement%20and%20Control/105%20Paper-P_Dzhelekarski.pdf

Original comment by Dr.Bob.B...@gmail.com on 15 Apr 2009 at 2:45

GoogleCodeExporter commented 9 years ago
Good find. The schematic and description are very helpful.

I wonder what the details of the block marked "J1850 VPW & PWM transceiver" are?

Original comment by ianles...@gmail.com on 15 Apr 2009 at 3:05

GoogleCodeExporter commented 9 years ago
Deduced from the credits:
Ozen elektronik OE90C2600
http://www.ozenelektronik.com/downs/pdf/oe90c2600.pdf

A ELM-327 chip would support more protocols though.

Also, I don't know whether a EUSART is mandatory (for the elm chip) but it 
might be a
design constraint when choosing a obdii interface.

Original comment by safety0f...@gmail.com on 26 Apr 2009 at 8:52

GoogleCodeExporter commented 9 years ago
That almost seems like cheating. I'd prefer to do it with discrete components 
and
firmware.

How about this: 
http://www.obddiag.net/allpro.html

It looks like a USB PIC, MCP2512, MCP2551, and some other parts. I'm not sure 
how
many protocols it covers. Which are most important to you? OBD2?

Original comment by ianles...@gmail.com on 26 Apr 2009 at 9:23

GoogleCodeExporter commented 9 years ago
I agree, going discrete would be preferable.

Here's another site with schematics:
(probably older info than the link above)
http://www.planetfall.com/cms/content/opendiag-obd-ii-schematics-pcb-layout

Original comment by safety0f...@gmail.com on 27 Apr 2009 at 1:03

GoogleCodeExporter commented 9 years ago
It says in the paper; 
http://ecad.tu-sofia.bg/et/2006/ET2006%20BOOK%204/Electronic%
20Systems%20in%20Measurement%20and%20Control/105%20Paper-P_Dzhelekarski.pdf... 
that 
at the time of publishing, that the J1850 transceiver is not implemented. Thats 
ok 
for me.  I want it for, ISO15765 CAN-4. I think it should provide access using 
BMW 
Ediabas software to all control units in ~>2007 BMW's.

I have tried to reproduce the schematic in Eagle Cad soft (my first one) based 
on 
the Fig 2 schematic. I would really appreciate gentle criticism from those of 
you 
who visit this forum.

I chose through hole components over surface mounts. A move, I new I might 
regret.

I have many questions, but I am enthusiastic to learn.

Original comment by scwit...@aol.com on 16 Jul 2009 at 1:49

Attachments:

GoogleCodeExporter commented 9 years ago
Sorry for posting a broken link and attaching an unreadable file. 
It was my first post.
Here is the academic paper with schematic on page 3

http://fett.tu-sofia.bg/et/2006/ET2006%20BOOK%204/Electronic%20Systems%20in%
20Measurement%20and%20Control/105%20Paper-P_Dzhelekarski.pdf

Is there anyone monitoring these posts anymore?

Original comment by scwit...@aol.com on 19 Jul 2009 at 2:11

Attachments:

GoogleCodeExporter commented 9 years ago
Yup, I think a couple people are watching here. I'd love to implement this 
protocol,
but I don't have access to a car or other OBD-II test case. 

Original comment by ianles...@gmail.com on 20 Jul 2009 at 8:35

GoogleCodeExporter commented 9 years ago
I am still watching.  I just bought a used 2008 Chevy Coblat and I would like 
my own
obd reader.  I think that I can be lazy with my car because from 2008 on 
everyone is
supposed to be using CAN.  If anyone has access to the ISO 15765 standard I 
would
like a copy.

Original comment by Dr.Bob.B...@gmail.com on 20 Jul 2009 at 1:02

GoogleCodeExporter commented 9 years ago
Hello, I would like to test my BPv3 with OBDII protocols ISO 9141-2 and ISO 
14230-4,
if someone first implements them. I have access to Renault Laguna 2000 model, 
but I'm
not 100% sure if it's OBDII enabled at all. At least it has the connections.

Original comment by sami.haa...@gmail.com on 6 Dec 2009 at 2:24

GoogleCodeExporter commented 9 years ago
Another vote for ISO 9141-2/ISO 14230-4. As I understand it, ISO 9141-2 and ISO
14230-4 physical layer is the same; a by-directional UART on pin 7. 0/12v 
signaling
at 10.4K baud, 8 data bits, no parity, 1 stop.
The standard specifies a second bidirectional line on pin 15 for 
initialization, but
it is not often used.
Pints 4/5 provide ground and pin 16 +12v, so a simple discreet circuit should 
work.
The is already opensource firmware for a PIC18 at 
http://www.sterntech.com/obdii_pic.php

Original comment by bware%iw...@gtempaccount.com on 15 Feb 2010 at 1:12

GoogleCodeExporter commented 9 years ago
Is this asking for the 10.4k VPW or the ~40k PWM mode?  Both should have an 
interface
chip (2.29 at
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=MCZ33390EF-ND) 
to do
the voltage buffering and signal shaping to meet the specification, but bus spy
should be doable without this added cost using some resistor protection.  I've 
got
experience using Freescale's BDLC to interface with the 10.4kbaud VPW 
peripheral and
I'd be willing to give a shot at using the input capture on the PIC to emulate 
this
hardware.

Original comment by ads...@gmail.com on 7 Apr 2010 at 4:43

GoogleCodeExporter commented 9 years ago
Hey Adshea, that would be fantastic. There might be a few people who could help 
in
the Bus Pirate development forum:
http://dangerousprototypes.com/forum/index.php?board=28.0

Original comment by ian%wher...@gtempaccount.com on 7 Apr 2010 at 5:39

GoogleCodeExporter commented 9 years ago
Hi I want helpabout On board diagnostic.. have here the docs that you are 
looking for: 
the implementation protocol. Please If need some help for this I have a lot of 
infos 
about it! let me know what need!

Regards!

Original comment by ailton...@gmail.com on 16 Apr 2010 at 4:25

Attachments:

GoogleCodeExporter commented 9 years ago
sterntech.com has schematics for PIC and AVR with source code

Original comment by tram...@gmail.com on 2 Mar 2011 at 1:52

GoogleCodeExporter commented 9 years ago
You would need a module for this right? I know some OBD-II is very similure to 
RS232 using the cars 12v as high. So you would need to divide that down. right? 
Or am I incorrect?

Original comment by BrentBXR on 17 Dec 2011 at 4:46

GoogleCodeExporter commented 9 years ago
Yes, I believe an external board is needed for the proper voltage levels. I 
don't think it is RS232-like though, I think it is a PWM-based interface (never 
worked with it though!)

Original comment by i...@whereisian.com on 17 Dec 2011 at 7:33

GoogleCodeExporter commented 9 years ago
Like everything in engineering, it depends.  There are 5 different physical 
protocols that can be used for OBD-II.  I believe that they all require some 
form of transceiver.  There is a Pulse Width Modulation, Variable Pulse Width, 
some other asynchronous protocol, Key Word Protocol 2000, and CAN.  All cars 
that are model year 2008 and newer sold in the US are required to have CAN.

Original comment by Dr.Bob.B...@gmail.com on 17 Dec 2011 at 1:34