DIY OBD-II for alfa156

Go To Last Post
11 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hi,

this isn't strictly mirco related but i figured one of you guys should know *something*

my brother recently bought a 1999 alfa 156 and after some Mass Air Flow sensor trouble (fixed now) he decided that *I* should figure out how to plug his computer into the car for diagnostic info.

as far as i have found out the obd standard is pretty well established and supports multiple communication protocols. i think the alfa uses OSI standard which requires an ELM232 chip to perform some data conversion and a cable from standard rs232 to j1962.

if anyone has done this sort of thing before (not necessarily for an alfa, i just put that in 'cos EVERYONE loves alfa) please help

thanks

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are working in very interesting area...

Are you sure about OSI standard ...not ISO standard?
http://www.obdii.com/obdii.html

OBD-II Signal Protocols

There are five protocols in use with the OBD-II interface, and often it is possible to make an educated guess about the protocol in use based on which pins are present on the J1962 connector:

* SAE J1850 PWM (41.6 kbaud, standard of the Ford Motor Company)
o pin 2: Bus-
o pin 10: Bus+
o High voltage is +5V
o Message length is restricted to 12 bytes, including CRC
o Employs a multi-master arbitration scheme called 'Carrier Sense Multiple Access with Non-Destructive Arbitration' (CSMA/NDA)

* SAE J1850 VPW (Variable Pulse Width) (10.4/41.6 kbaud, standard of General Motors)
o pin 2: Bus+
o Bus idles low
o High voltage is +7V
o Decision point is +3.5V
o Message length is restricted to 12 bytes, including CRC
o Employs CSMA/NDA

* ISO 9141-2. This protocol has a data rate of 10.4 kbaud, and is similar to RS-232. ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles.
o pin 7: K-line
o pin 15: L-line (optional)
o UART signaling (though not RS-232 voltage levels)
o K-line idles high
o High voltage is Vbatt
o Message length is restricted to 12 bytes, including CRC
* ISO 14230 KWP2000 (Keyword Protocol 2000)
o pin 7: K-line
o pin 15: L-line (optional)
o Physical layer identical to ISO 9141-2
o Data rate 1.2 to 10.4 kbaud
o Message may contain up to 255 bytes in the data field
* ISO 15765 CAN (250kbit/sec or 500kbit/sec)
o pin 6: CAN High
o pin 14: CAN Low

Note that pins 4 (battery ground) and 16 (battery positive) are present in all configurations. Also, ISO 9141 and ISO 14230 use the same pinout, thus you cannot distinguish between the two simply by examining the connector.

Regards
heguli

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This may be of interest to you:
http://www.elektor-electronics.co.uk/Default.aspx?tabid=27&art=53034&PN=On
There is also a forum (follow the links).

Arthur

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My GTV6 Bolacco does not have an OBD connector but I did find a DIY OBD project using a PIC chip and gives some details about the signals. I am sure the software should not be difficult to figure out. I could dig it out if you are interested.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The physical layer is the easy part. How are you going to figure out the communication protocol? Unless you find some documentation somewhere, it's going to be a lot harder than you think.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hi,

sorry i haven't replied for so long.

heguli:

Quote:
Are you sure about OSI standard ...not ISO standard?

yes your right, of course. silly typo :D

adebeun2: way cool. thanks

magno_rail: please do, thanks

Someguy22: i was thinking about that when i posted. i'm hoping the car uses

Quote:
ISO 9141-2. This protocol has a data rate of 10.4 kbaud, and is similar to RS-232. ISO 9141-2 is primarily used in Chrysler, European, and Asian vehicles.
so i can use UART and as for the comms signal i found a pdf detailing what everything is (i think, i haven't had time to lok at anything yet, campus work)

is the ELM232 really necessary? does it provide any protection or do i have to do that? (I doubt connectnig a car battery across a UART is gonna be much fun for anyone :P)
If it complies to ISO9141-2 can i just use a straight cable and do everything on pc or what?

thanks again

thanks everyone

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

help...!
new hex_can protokol for circuit and sources plaese..!

msn: alp60@hotmail.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

help...!
new hex_can protokol for circuit and sources plaese..!

msn: alp60@hotmail.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

x_eleman -

Posting two identical messages one after another, and with such a profound lack of detail will do nothing but get you ignored.

What is hex_can protocol ?
What circuit ?
Sources ? In what, ADA ? or Cobol ?
What application ?

At the top of the forum is a sticky note titled
General Information about Posting in the AVR Forum

Read it.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hello chanvy99
thank you...

plaese help
auto can bus samples

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I can assure you tha a 99 alfa doesnt have CAN protocol. It is mandated for 2006 and up. Everyone is scrambling to learn CAN... reading big thick datasheets, etc. Once you put a couple days/weeks/months into getting something initializing/reading/writing CAN packets, you have a tiny advantage/discriminator between you and several 1000 other microcontroller programmers that want to know how to get on board with CAN controllers. It does not surprise me that there is a shortage of high quality info and code examples. Might have to wait until some college professor from Detroit or Milan (Alfa factory) gets his grad students to help him get his CAN controller working...

Imagecraft compiler user