6

As usual I apologize if this has been asked and answered somewhere. I try to only ask questions if I can't find an answer or a satisfactory answer.

From my understanding the OBD-II port on vehicles is either connected to a dedicated gateway controller, or is directly connected to the primary CAN bus which has as a node an ECU that acts as a gateway. Diagnostic devices connected to the OBD-II can only access nodes on secondary or tertiary CAN buses by sending requests through the gateway. Thus in either case if you wanted to monitor the messages on more than one CAN bus you would HAVE to deal with a gateway.

Is this correct? Is it possible to monitor multiple CAN buses via the OBD-II port?

  • My understanding of the OBD-II system is there is only a single CANBus which provides the network for all of the Electronic Control Units to communicate with each other on ... I could be wrong though. – Pᴀᴜʟsᴛᴇʀ2 Mar 2 '16 at 0:38
4

Every manufacturer is slightly different.

With CAN there can be up to 3 different buses.

  • High speed CAN connects things like Engine computer, ABS, air bag computer, Body computer, gauge cluster. This is what is exposed to diagnostic connector under the dash, the DLC. The Body computer or gauge cluster can be used as the gateway between the other buses and the high speed CAN.
  • Medium speed CAN usually connects with the body controls and lighting.
  • Low speed CAN usually connects the entertainment systems.

You are guaranteed to see the high speed CAN in the DLC. Depending on the manufacturer other buses may be exposed as well but there is no guarantee.

You can request information from the other buses over the high speed bus. As far as i'm aware the information from the slower buses is not broadcast over the faster bus.

  • Right. So by going through the diagnostic port you can only see messages on the high speed CAN unless you specifically request data from the lower speed CANs. That request would have to be processed by a gateway, correct? – Moeman69 Mar 2 '16 at 13:05
  • @Moeman69 Correct. – vini_i Mar 2 '16 at 13:26
4

I figured it out. The answer is manufacturer dependent. The OBD-II diagnostic port has a number of pins which are listed as "Vendor Option". The manufacturer may choose to connect one or more of these pins directly to the Medium Speed CAN Bus or the Low Speed CAN Bus. Doing so will provide direct access to message traffic along those Bus lines in real time. If a gateway is involved there are two basic approaches.

A) This is the more popular option. The OBD-II port connects directly to the High speed CAN bus. The port can directly monitor traffic along the High Speed CAN bus. One of the nodes on the HS CAN bus (typically the Body Control Module or something similar) acts as the gateway to the Medium Speed CAN bus. To access data on the MS bus, a diagnostic Remote Frame (IAW CAN Spec 2.0) is transmitted on the HS bus and meant for the gateway node. Upon reception the gateway node then generates an additional Remote Frame on the MS bus meant for whatever the target node on that bus is. Upon reception the target node then transmits the requested data on the MS bus. The gateway node receives it, then when the HS bus is idle it will transmit that data across the HS bus.

B) The OBD-II port may be connected to a dedicated gateway which will only deliver data from a specific Bus if a diagnostic request is sent through the port. If no request is sent there will be no discernible traffic. You must always send a diagnostic remote frame request message if you want to pull data from a particular node on a particular bus.

  • You can award yourself the answer and get a badge for it. :-) – DucatiKiller Mar 4 '16 at 0:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.