Notes on CAN Bus by Warwick Control, Part Two
IN PART ONE of this feature, we illustrated how to recognise a healthy CAN Bus by observing the CAN frames using a PC-based oscilloscope and using a simple ohmmeter to check the Bus connections. In this article, we look at what is in the CAN frames, using a Windows-based analyser tool. There are many fault code readers on the market that can tell you that there is a problem with the CAN Bus but these tools are limited as they do not give you a true indication of where the fault really lies. The oscilloscope tells you much more than the typical fault code reader without the complication of analysis software. Here we will show how you can tap into the CAN Bus and see all the CAN frames communicating between the ECUs.

The CAN frame
Last month, we illustrated the basic structure of a CAN frame on the oscilloscope as shown in Figure 1. It shows a stream of CAN frames with a zoom in of one of the frames, showing the data parts of the frame. Below is a block diagram of this data breakdown of the CAN frame:

The CAN frame is comprised of a Start of Frame (SOF) bit, Identifier field (11 or 29 bits), Control field (6 bits), Data field (up to 64 bits – 8 Bytes), Cyclic Redundancy Check (CRC) (16 bits), Acknowledge field (2 bits) and End of Frame (EOF) (7 bits).
The Identifier field indicates the nature of the data (e.g. engine parameters, ABS info, etc.) The Control field indicates the size of the Data field and contains what is known as the Data Length Code (DLC). The Data field is the information transferred (e.g. engine Speed, water temp, oil temp etc.) The CRC field is an error checking method to ensure the transferred data is not corrupted by any electro-magnetic disturbances. The Acknowledge field is a very simple method of indicating to the transmitting ECU that all the receiving ECUs have received the data uncorrupted.
The particular areas of interest for reading data from the CAN Bus are the Identifier and Data fields. There are several commercial Windows-based CAN analyser/test tools that are interfaced from the PC to the vehicle CAN Bus through a USB to CAN interface. These interfaces are readily available from several manufacturers. These tools are connected to the vehicle CAN Bus via the OBD connector that is installed in all current cars.

The CAN analysis tool we use here shows a display of the Identifiers of the CAN frames and the data that is contained in those frames. The screenshot, below, shows how the CAN frames can be displayed. This is a good quick indicator that CAN frames are being transferred between ECUs on the CAN Bus. Note that display shows the Timestamps, Type of Frame (Data in most cases), Channel, ID (CAN frame Identifier), DLC (Date Length Code) and the Data. If you know the CAN database spec of your vehicle it will be possible to ascertain which ID belongs to which ECU. The IDs and Data are shown in hexadecimal, which is standard in the digital communications industry. It is possible to display in decimal if you wish.

Analysing frames
The CAN analysis tool can be useful for seeing disturbances on the CAN Bus by sensing Error Frames. The screenshot, Figure 5, shows that at 23 seconds after start of collection, error frames stated to occur. This is a real situation from a Jag S class that had an intermittent fault. It was getting diagnostic trouble codes indicating a problem with the ABS. With the CAN analyser attached, a technician moved the ABS ECU connector cable back and forth to check for bad connections. Error frames were detected by the analysis tool, see Figure 5, below.

On further inspection, it was determined that connections on the ABS ECU harness were faulty. With this software, it’s possible to capture the data and play it back for analysis later. As you can see in the data field there are lot of values that will not immediately make sense to the casual observer. With CAN database knowledge for the vehicle, it’s possible to interpret the data into real signals information (e.g. engine speed, wheel speed, etc.) The CAN database is a file that is generated based on the specification of the particular vehicle. Most car companies have their own methods of interpreting CAN data.
The CAN database will tell you what information is in each CAN ID and it also establishes how the raw digital data is extracted from the CAN frame and scaled before it is passed onto the microcontroller in the ECU for processing. In the next article, we will cover in more detail how the CAN database works and how to display the relevant signals information on the analysis tool.

