What’s OBDII & What’s CAN? Difference?

car diagnostic tool

I will start here as people with little or no IT or electronics knowledge should be able to understand this as well:

What is CAN (controller area network)?

What are the differences between an OBD-II protocol and a CAN setup?`

How do I use an OBD-II scanner on a vehicle with CAN?

let’s do some introduction on bus systems first

Bus Systems

In electronic systems signals are sent from one chip to another using wires (let’s forget about wireless things for a second). The simplest way of doing so is to use one wire per bit of information you like to transmit. One bit of information is simply an answer to a yes/no question like “Are the headlights on?” If the headlights are on, there is a voltage on that wire, say 5 volts. If they are off there are 0 volts on the wire.

Now that’s fine for one bit of information. But more data requires more wires. Unfortunately: More wires means more complexity. A modern car is just a computer with tires on it, so there are a lot of wires (serveral km or miles) in it. More wires result in more weight and more costs and car manufacturers don’t like that. So we need a way to reduce the amount of wires.

The usual way of doing so is to use a bus system.

What is a bus system?

Think of a bus as a way to transmit more information using fewer wires. There are other benefits of bus systems, but I will focus on this aspect.

Example:

We want to switch four lamps on or off.

Without bus system:

  • Lamp 1: +5 V on Wire1 = Lamp is on; 0 V on Wire1 = Lamp is off
  • Lamp 2: +5 V on Wire2 = Lamp is on; 0 V on Wire2 = Lamp is off
  • Lamp 3: …
  • Lamp 4: …

It’s easy to see; we need one wire per lamp.

With a bus system:

  • Lamp 1: +1 V on Wire1 (Selector), 0 or +5 V on Wire2 for on and off (switch)
  • Lamp 2: +2 V on Wire1 (Selector), 0 or +5 V on Wire2 for on and off (switch)
  • Lamp 3: +3 V on Wire1 (Selector), 0 or +5 V on Wire2 for on and off (switch)
  • Lamp 4: +4 V on Wire1 (Selector), 0 or +5 V on Wire2 for on and off (switch)

With this primitive kind of bus system we reduced the amount of wires to two. Regardless of the number of lamps we like to control, we only need one wire to tell the other chip which lamp we like to switch and a second wire to tell it wether we like to have the lamp on or off. My example would have limits in the real world as one can’t simply raise the voltage to 1000 V on Wire 1 to switch a thousand different lamps.

This example shows, why in electronics in general and in cars in particular bus systems are being used. Cars use a number of bus systems that were made especially for them:

What is CAN (controller area network)?

CAN is the most important bus system in a car. I won’t go into detail on this point, just think of it as a way to transfer big amounts of data using only two wires. You can read more about CAN on Wikipedia.

OBD-II

What are the difference between an OBD-II protocol and a CAN setup?

OBD-II is a higher-level protocol used for diagnostic purposes. OBD-II can use one of (many) different bus systems to transfer diagnostic data from and to your car. Think of OBD-II as a language (English) that you speak and of CAN as the communication device (telephone) you use to talk to someone (about your car and its state of health ;).

Many people are referring to OBD (short for on-board diagnosis) or OBD-II as “standards”. OBD-II is a standard, but it again consists of so many different standards, protocols and bus systems used to communicate that it’s difficult to list all of them. I once made an overview graphic, and I will see if I can add that to my answer later.

How to use OBD-II scanner on a vehicle with CAN?

Just plug it into the OBD-II port of your car. CAN is one of the transport protocols of the OBD-II specification and should be supported by most OBD-II diagnostic tools such as http://www.chinacardiags.com/wholesale/obd2-car-diagnostic-tool/ . The location of the port can be found using a Google (image) search. Usually the port is located in reach of the driver, e.g. under the dashboard or hidden in the center console.