5

The CAN bus Wikipedia page states that:

CAN bus is one of five protocols used in the on-board diagnostics (OBD)-II vehicle diagnostics standard. The OBD-II standard has been mandatory for all cars and light trucks sold in the United States since 1996, and the EOBD standard has been mandatory for all petrol vehicles sold in the European Union since 2001 and all diesel vehicles since 2004.

The OBD Wikipedia page further states that:

2001: The European Union makes EOBD mandatory for all gasoline (petrol) vehicles sold in the European Union, starting in MY2001 (see European emission standards Directive 98/69/EC).

2003: The European Union makes EOBD mandatory for all diesel vehicles sold in the European Union

2008: All cars sold in the United States are required to use the ISO 15765-4 signaling standard (a variant of the Controller Area Network (CAN) bus).

Except the 2008 date these quotes primarily talk about the OBD/EOBD. How is the OBD and CAN exactly related? Is CAN a mandatory protocol for OBD-II/EOBD? In case it was I see a conflict in the 1996 and 2008 dates for United States...

My final question is simple - are there certain dates since which all cars sold in particular markets have to use CAN bus for the internal communication between car's electronics?

The reason I am asking this is I want to reverse engineer the signaling from various vehicle sensors (steering angle sensor etc.). If I knew something like "all European cars since 2004 use CAN for the internal communications between electronic parts" that would help me a lot.

EDIT:

Obviously the CAN bus is somehow mandatory since 2008 in the US at least. However, I do not know to a what degree in detail - usually there are CAN bus pin-outs on the OBD-II connector. However, there may be multiple CAN buses present within a single vehicle - one for critical functions like ABS, ESP etc. and another for infotainment like radio etc. I wonder if any of these buses has to be connected to the OBD pin-out...

1

6 Answers 6

7

There is a distinction that needs to be made between:

  • OBD: this is an interface, that specifies the physical and electrical parameters required to connect a diagnostic computer and the car's electronics in a standard way. This is the bit that is mandatory by legal requirement, so that a car manufacturer cannot "lock in" its vehicles by requiring service to be performed using only its very own diagnostic tools.
  • The CAN bus. CAN is also an industry standard (originally designed by Bosch), but refers to the communication between the different electronic parts in the vehicle. However, it is only one standard among many, and while it is possibly the most used, there are many other possibilities implemented by various brands of automobile electronics. There are also several varieties, even within the CAN bus family.

All components in a given vehicle will need to use the same bus standard, and indeed many manufacturers will obviously stick to a same standard over many models in their range. However, they are all forced to provide an OBD-compliant diagnostic port.

Another point to be made is regarding EU Directives. The situation in Europe is rather complex since there are two different types of legal document:

  • An EU Regulation is immediately applicable and enforceable in all Union member states.
  • An EU Directive is not immediately applicable. Instead, it needs to be transposed into each member state's own law in order to have effects. The process of transposition also has some differences in each state, and in many cases is flexible enough so that the legal texts produced in member states in response to a certain Directive may show some differences, specifically as regards exceptions that are permissible (e.g. for low-volume car manufacturing).

Exceptions set out in EU member state legislations explain why the British automobile sector is not held to the same legal requirements as on the Continent. For example, it is relatively commonplace for car owners to replace elderly engines with a newer block, even from a different manufacturer (such as a Nissan engine in a Series Land Rover), or using a different fuel. This would be really very difficult to do legally in France, for example.

3

The two requirements are separate.

OBDII is required in all vehicles since 1996. This is primarily an emissions related regulation to formalize how vehicles would relay emissions failures to the user and to mechanics.

The standard has many parts, but it primarily designated a connector, its pinout, and allowed one of five different electrical signalling standards to be used.

One of these electrical signalling standards is CAN.

Fast forward nearly two decades, and for a variety of reasons, most cars have CAN buses even if they still choose to use a different signalling standard on the OBDII connector for diagnostic purposes. However, since the pins are available for several signalling types, many automotive manufacturers also provide access to one or more of the CAN buses on the OBDII connector. This enables technicians to connect one cable for a wide variety of vehicle processor manipulation, while still providing the required minimum OBDII requirements over their older style communications. This also means they don't have to upgrade all their shops to the latest communications if all the shop needs is basic diagnostics information. This proprietary use of the OBDII connector was explicitly allowed for in the 1996 standard, as long as it also provided diagnostic communication following the standard for at least one of the allowed signalling interfaces.

What the 2008 regulation means is if the vehicle puts CAN on the OBDII connector, regardless of whatever other diagnostic signalling they provide, the CAN must adhere to the basic diagnostic requirements, even if originally intended for proprietary use.

Vehicles that don't put CAN to the OBDII connector don't have to adhere to this 2008 regulation.

So while vehicle manufacturers can choose to remove their CAN from the connector, and only supply one of the other four diagnostics signalling, most (all?) have chosen to keep the flexibility they gained when they added their CAN bus to it, and they've modified their CAN protocols to adhere to the new regulation.

This means that while the 2008 regulation doesn't require CAN to be used for diagnostics, it has effectively made it so most vehicles today now provide CAN diagnostics at the OBDII connector.

2

None of this is true. In the same way as there was an EU Directive that all cars be equipped with ABS but TVR didn't subscribe to this. My uncle has just sold a 2005 Caterham Se7en CSR-200 which used MBE management and was definitely not CAN-BUS.

We're building another one in October of this year and if it genuinely is CAN-BUS I'll let you know but I have a feeling it won't be.

2
  • Thanks for your answer. The manufacturers you quote are very small, right? Well I guess the "EU directives" may only apply to the biggest car manufacturers (this may be judged by how many cars you sell or by economic turnover). I think EU may not mind to allow make exception for small ones because they may not have budgets to comply with the directives and will build very few cars only anyways so they will not impact the market. There are all sorts of exceptions in almost all laws so I can easily imagine this... but I say I dont know this for sure, I am only guessing.
    – Kozuch
    Jul 24, 2015 at 8:34
  • With regards to TVR, when questioned about the lack of ABS with reference to the EU directive, a TVR employee responded simply "Oh, we didn't get that memo". Both TVR and Caterham are relatively small but to be fair, since Rover disappeared, most of the genuinely British car manufacturers have been tiny; Morgan, Noble, McLaren, etc... Jul 24, 2015 at 14:38
2

I don't think CAN is a necessary part of OBD, it's just the most commonly used system.

The OBD requirements are for consistent diagnostics (so that, in theory, any car can be plugged into a standard reader and give a standard set of error codes), wheras CAN is a method for the internal components of the car to communicate (similar in many ways to the USB standard you'll use with your computer)

As Steve says, many such requirements only apply to mass producers anyway, with low-volume or individual-car makers being exempt

4
  • Well, but the 2008 US direction does say something about CAN bus... I wonder what does that exactly mean.
    – Kozuch
    Jul 24, 2015 at 9:09
  • 1
    The wikipedia article you mentioned says " as of 2008 all vehicles sold in the US are required to implement CAN as one of their signaling protocols. " - so they have to have CAN on the OBD port. It doesn't say what components have to be connected to that bus though!
    – Nick C
    Jul 24, 2015 at 9:13
  • Ok, but what would be the reason for having a CAN pin-out on OBD port without having anything hooked to that CAN? :) Just to comply to legislation by providing something like a "dummy CAN bus"?
    – Kozuch
    Jul 24, 2015 at 9:16
  • 1
    It wouldn't be the first time something like that has been done! I suspect most firms use CAN for most communication, but that article suggests they don't HAVE to...
    – Nick C
    Jul 24, 2015 at 9:18
2

How is the OBD and CAN exactly related?

Controller Area Network (CAN) is ISO 11898 standard. It, like most other networks, is based off of the OSI model. It specifies certain parameters for communications between vehicle systems. CAN was first specified in 1986 by Robert Bosch at the Society of Automotive Engineers (SAE) congress. CAN uses serial communications over a two wire system.

On Board Diagnostics (OBD) in one form or another has been around since 1968 when VW introduced it on some of their vehicles. It was a rather rudimentary system.

The relationship between the two is one of convenience. The CAN standard is simple to implement and is meant to be used in vehicles. It was later used (in one form or another) in other places where a serial architecture was needed, such as in sea going vessels and factories. It is a marriage of two standard which works in the digital age. Both standards continue to evolve as emissions requirements and other standards for vehicles grow.

Is CAN a mandatory protocol for OBD-II/EOBD?

CAN is not a mandatory protocol for either OBD-II or EOBD. The ISO 15765-4:2011 standard states:

ISO 15765-4:2011 places restrictions on those International Standards for the fulfilment of the regulations. It does not specify in-vehicle CAN bus architecture, but seeks to ensure that the vehicle's regulated CAN communications comply with external test equipment requirements.

(Emphasis: mine)

It goes on to say:

ISO 15765-4:2011 defines the requirements to successfully establish, maintain and terminate communication with a vehicle that implements the requirements of the OBD/WWH-OBD regulations. Plug-and-play communication capabilities among vehicles and test equipment are defined to assure the interoperation of external test equipment and vehicles. ISO 15765-4:2011 details all of the OSI layer requirements to achieve this goal.

To me, this states that the CAN bus architecture is a set of standards which specifies the communication, but not how to get the communication done. I realize this is probably splitting hairs. A manufacturer can use any method for the communication they desire, as long as the OBD can communicate with the test equipment. This is more of a way to allow test equipment to be standardized than for anything else. This latest standard was published in 2011 and modifies the previous version which was published in 2005. Have no fear though, ISO is working on a new revision which is under development.

This web page describes the CAN bus architecture from a higher level. It gives a great breakdown of why CAN bus is used in today's automotive industry. One of the last things he states in his article is:

CAN is going to dominate the automotive scene for many years to come. It's also having considerable impact in other industries where noise immunity and fault tolerance are more important than raw speed. Because CAN hardware has become so cheap and is integrated into so many microcontrollers, it's a design option well worth considering the next time you want to get your embedded systems talking to each other.

As stated before, because CAN is so widely used, it's going to be with us for a while, both in the automotive industry and anywhere else its properties are needed to fulfill the communications needs between nodes.

... are there certain dates since which all cars sold in particular markets have to use CAN bus for the internal communication between car's electronics?

As stated, the marriage of OBD and CAN bus is one of convenience. CAN is way to make it happen, not a end-all-do-all. No manufacturer is required to use it, though as of right now, it's the easiest way to get communications done. There is no reason, right now, to reinvent the wheel.

2

OBD is a standard for a diagnostics port that provides emissions-related info on the diagnostics port.

Contrary to popular belief its purpose isn't to prevent lock-in by car manufacturers but only to allow service centers a standard way to access emissions-related info required for mandatory checks like the "MOT test" (as they call it in the UK). The actually interesting stuff (interesting to an actual mechanic and not just to a country who wants to rip you off because your car rejects 0,001g more CO2 than it should) is still hidden behind proprietary protocols, that's why these OBD scanners are useless and you're still forced to buy manufacturer-specific diagnostic devices/software (often counterfeits or stolen devices, as manufacturers themselves don't sell them) if you want to do anything on your car.

CAN is a bus often used in cars to interconnect their different computers and allow them to communicate. The OBD port should use CAN to talk to the diagnostic device.

Now, the fact that the OBD port talks CAN doesn't actually mean the car itself uses CAN to interconnect its computers - it may be using whatever technology it likes, let it be a proprietary protocol or even Ethernet*, it will still be compliant to the regulations as long as it talks CAN on the OBD port and provides the basic values required by the standard.

*bad idea due to latency and unnecessary complexity

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .