PCM Diagnostics & Tuning HP Tuners | Holley | Diablo
Sponsored by:
Sponsored by:

Protocol guru's--question re: 11-bit and 29-bit CAN identifier?

Thread Tools
 
Search this Thread
 
Old 09-28-2009, 01:08 PM
  #1  
Launching!
Thread Starter
iTrader: (2)
 
trax's Avatar
 
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes on 0 Posts

Default Protocol guru's--question re: 11-bit and 29-bit CAN identifier?

So I've got most of my implementation of the J1979 standard working over a J1850 connection. I can successfully talk to my LT1 car, a few Toyotas, and a Hyundai Accent. However, I'm a bit confused about how to get it working with CAN. According to J1979 Section 6, many of the basic principles behind sending a J1979 command over J1850 should translate over to communicating with CAN.

The main thing that has me confused is how to properly set up the CAN header to talk to a car's PCM/ECM/ECU. According to what I've read online, the 11-bit or 29-bit message identifier is supposed to be used as a message priority indicator. Lower numbers mean higher priority.

First question: Is it correct that the ID simply indicates the priority of the message?

Second question: What message ID should I use when I'm sending diagnostic messages to the car? I'm guessing that it's a bad idea to just "pick one".

Thanks!
Old 09-28-2009, 03:32 PM
  #2  
TECH Enthusiast
 
Dan Stewart's Avatar
 
Join Date: Aug 2006
Posts: 502
Likes: 0
Received 1 Like on 1 Post

Default

Unfortunately, it appears you've set your system up solely for J1850 VPW at 10.4kbaud and UART. You'll need to modify the com settings to utilize ISO 15765 to communicate properly.

J1979 has nothing to do with CAN (ISO 15765) or Serial (J1850) protocol communication, but instead, how diagnostic test modes are commanded. Both CAN and serial use J1979, but with totally different com protocols.

See ISO 15765 on how to setup your comms with CAN.

And to answer your question, 11 bit identifier is CAN base frame. 29 bit identifier is CAN extended. Don't forget your "start of frame" bit which preceeds the identifier.

The IDE bit is the bit that determines dominance.

Last edited by Dan Stewart; 09-28-2009 at 03:38 PM.
Old 09-28-2009, 07:58 PM
  #3  
Launching!
Thread Starter
iTrader: (2)
 
trax's Avatar
 
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes on 0 Posts

Default

Originally Posted by Dan Stewart
Unfortunately, it appears you've set your system up solely for J1850 VPW at 10.4kbaud and UART. You'll need to modify the com settings to utilize ISO 15765 to communicate properly.

J1979 has nothing to do with CAN (ISO 15765) or Serial (J1850) protocol communication, but instead, how diagnostic test modes are commanded. Both CAN and serial use J1979, but with totally different com protocols.
Agreed. I left out an important detail--I'm communicating with the car through a B&B Electronics LDV6U. It handles the transport layer issues such as bit rates and timing, so all I have to do is set it to a specific mode and then tell it what packets to push down the pipe.

After some searching online I found a few tables from ISO 15765 that should address my questions. I'm going to run a few tests tonight and tomorrow, then I'll post up my findings.
Old 09-30-2009, 10:06 PM
  #4  
Launching!
Thread Starter
iTrader: (2)
 
trax's Avatar
 
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes on 0 Posts

Default

Also, another question--does anybody have any examples of calculating the CAN CRC-15 value that's put at the end of the packet? I've reviewed some of the pseudo code online, but I have no idea if I'm doing the math correctly. I think it would be way faster to look at some examples than trial and error waiting for the car to respond to an incoming message...

Thanks guys!
Old 12-01-2009, 05:39 PM
  #5  
Launching!
Thread Starter
iTrader: (2)
 
trax's Avatar
 
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes on 0 Posts

Default

Another CAN question -- on a lot of forums I hear people talk about using J2190 to get additional diagnostic data from the vehicle. For example, seee here.

My 2004 CTS appears to be CAN-only (at least that's what my B&B LDV6U reports). At least in my copy of J2190, it makes it sound like a J2190 message can only be sent over a J1850 connection. I imagine that if J2190 isn't available over CAN, then there's probably some other way to get the extended PID's from the vehicle.

Any hints?

Thanks guys!



Quick Reply: Protocol guru's--question re: 11-bit and 29-bit CAN identifier?



All times are GMT -5. The time now is 05:24 PM.