What is CAN bus, how do technicians connect to it, and what information can customers get from it?
The focus of this article is to provide a high-level overview of CAN bus systems found in vehicles, how installers connect to them, and what information can be extracted by On-Board-Computers.
This is no easy topic as there are so many variables that need to be considered. My approach to the topic is both from an installer and customer viewpoint, and although references will be made to more complicated terms I will try to keep it as simple as possible. Again, the idea is not to provide a resource for engineers (and I am sure I will be corrected by many), but to assist technicians and customers to understand the basics better.
To start off I have provided a short reference to Wikipedia – Please feel free to read the entire article if you would like more information as it is a great resource.
A Controller Area Network (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other’s applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but can also be used in many other contexts. – Link to Wikipedia
At first, the description above might sound confusing. Let’s break this down. Back in the day electrical systems on vehicles where very basic. You had a battery, starter motor, alternator/generator, some switches, gauges, lights, and a handful of sensors (temperature and oil pressure). As electrical systems became more complex and more-and-more sensors, switches, gauges, and lights were needed, the wiring and entire electrical system became very complicated. Back in the ’90s, (..yes that’s when I started working on vehicles..), vehicles had miles of copper wire, a bunch of relays, and hoards of fuses to make everything work.
The development of the CAN bus system took place during the 80’s but we really only started seeing it appear in vehicles in the 90’s. CAN bus systems implement multiple individual controllers, to operate and monitor various systems in the vehicle. All these controllers are connected to a network using only 2 wires which they use to communicate with each other. Some examples would be the ECM (Engine Control Module) that controls and monitors everything engine related, the TCM (Transmission Control Module) takes care of the transmission, the ABS (Anti-lock Braking System) manages the braking system. There are many other control modules and you could easily have more than 50 in a vehicle.
Another simple analogy is to compare CAN bus to an office or home computer network which includes a number of computers and printers all connected with cables through which we can share files, print documents, and communicate.
Due to the fact that these modules can communicate with each other using 2 wires, it drastically reduced the need for lots of thick copper wire. It did however complicate things for technicians installing accessories like GPS tracking, telematics, remote start, alarms, etc.
The CAN bus consists of 2 wires twisted together and is usually referred to as the CAN-high and CAN-low twisted pair wires. This makes it easy to identify the CAN network. The network requires a resistance of 60 Ohm between the CAN-high and CAN-low wires. To achieve this two 120 Ohm resistors are used to terminate the network as shown in the following image.
Due to the fact that the 2 resistors are in parallel, you will read 60 Ohm when you measure the resistance between CAN-high and CAN-low (You can read more about series and parallel circuits on Wikipedia here: https://en.wikipedia.org/wiki/Series_and_parallel_circuits).
This is important and should always be checked before installation. In some cases, aftermarket equipment includes another 120 Ohm terminating resistor which will add a 3rd resistor to the network. This will reduce the resistance to 40 Ohm. This will cause many issues on the CAN bus. The best is to check the resistance before you connect the device and after you connected it to ensure that the resistance remains around 60 Ohm. If you read 40 Ohm or less it indicates additional terminating resistors. You either need to remove the resistor form the device you are installing (some devices have manual jumper settings or wires that must be cut to disconnect the resistor, or in some cases, it is configurable in the software). If you read 120 Ohm before connecting the device then you will need the additional terminating resistor in the device to reduce it to 60 Ohm.
Installing GPS or Telematics Systems
A telematics device is a module that is installed into a vehicle to monitor things like usage, movement, location, driving behavior, and many other aspects.
At the base, these systems require a good power and ground connection to work which is usually the easiest connection to make. The power connection is usually made at the vehicle battery, fusebox, or ignition switch. Ground connections are usually made by securing the ground wire to a good chassis ground (connecting it to the vehicle chassis). Some devices require an ignition sense to be connected which is usually just a wire that must be connected to a switching ignition supply. In modern vehicles, it is not always easy to find a reliable ignition source but the best places to look would be the ignition switch and fusebox.
These devices can then be connected to the vehicle CAN bus that will allow the device to record valuable information that will in turn be communicated back to the customer. This is where things become a bit more complicated.
Essentially the CAN bus is just a communication method. Different vehicle types have different protocols that are almost like different languages. For the telematics device to be able to obtain information from the bus it must be configured to read the specific protocol. For the majority of vehicles in the USA there are two main protocols to focus on. Most light-duty vehicles will utilize OBD2 and heavy-duty vehicles J1939.
In most cases, vehicles with OBD2 will have a 16 pin connector as shown in the image below (there are some variations to this especially in some of the newer vehicles). This connector can be found on the driver side of the vehicle usually under the steering wheel or kick panel. Pin 6 is the CAN high and pin 14 the CAN low connection. The connector furthermore includes a constant power and ground connection however, care must be taken not to overload the circuit, and where possible a separate power and ground connection is suggested.
Many telematics providers either include an OBD2 y-cable or manufacture their devices to connect directly to the OBD2 connector in the vehicle. For the most part, this is a very simple installation. The y-cable requires the technician to remove the factory connector and install the same size connector on the one side of the y-cable in its place. The other side of the cable is then connected to the factory connector and hidden behind the dashboard. The final connection is then made to the telematics device. The y-cable allows for the telematics device to be connected tot he OBD2 port but still allows other mechanics to use the available connector to connect diagnostic and scanning equipment. It also reduces the chances of tampering.
J1939 Connections can usually be found on the round 9-pin diagnostic connector on heavy vehicles. Connections can be made with a 9-pin y-cable and the same logic applies as connecting the y-cable on OBD2. Some manufactures provide alternative connection points behind the dashboard. These connection points are easier and safer to use but do require specific connectors to be used. Please note that there are two types of 9-pin connectors, the older type is black and the newer type green. The green type should be able to connect to a black 9-pin on a vehicle but a black connector won’t connect to a green connector on a vehicle. The main difference is the green connectors indicate the new faster bus speeds on the J1939 network (500kbs instead of 250kbs) so make sure the device you are installing is configured for the correct bus speed.
Never splice directly into the OBD 2 or J1939 network. Remember to always check the CAN Bus resistance to ensure the correct termination is configured.
What information can be obtained from the CAN bus?
This is not a straightforward question to answer. The shortest answer is..”it all depends”. As a baseline, you should in 99% of cases always be able to obtain speed and engine RPM. All other information packets could be OEM specific and vendors designing aftermarket devices need to do the necessary development to ensure they can obtain data like fuel consumption, engine temperature, etc as the message id’s could differ from manufacturer to manufacturer and even amongst vehicle models.
Some of the information is fairly easy to obtain as it is constantly broadcasted on the CAN bus, so as long as the device knows which messages to look for it will be able to record the information. There are also values that require some calculations to take place (like fuel consumption) and again it requires vendors to do the necessary research and development.
The biggest challenge is obtaining more in-depth data like seatbelt usage, fault codes, etc. The challenge here is that in many cases this information is not broadcasted on the CAN bus and can only be obtained by sending requests to the correct control module. This has a multitude of challenges. The CAN bus is extremely sensitive and writing to it could cause errors on the bus which could result in fault codes, or even components to not function correctly on the vehicle. Vendors also need to do a lot of research to determine what the correct controller address and required parameters are to obtain the information. In most cases, this information is not made available by OEM’s and it could even be encrypted.
There are companies that specialize in obtaining CAN bus information and some of them provide a gateway that can be connected to the CAN bus that in turn will be connected to the telematics device to provide the required information. This reduces the level of development that telematics vendors have to do but these devices come at a price.
It is therefore important that customers do enough product research prior to purchasing devices to ensure they can obtain the data they need.
There is much more detail that can be added to this topic. I will publish more focused articles covering specific topics in the near future.