CAN bus - the communication superhighway

Thursday, August 11, 2011

Tags :  electronics

ecu-emsAccording to some people a data acquisition system is the least expensive performance enhancement you can make. Often a fraction of the cost of other purchases, in supplying both vehicle and driver information - lap after lap, session after session - the data provided is totally objective and, used intelligently, can only improve overall performance.

The loggers of the past were large and unwieldy devices often strapped in the back of the vehicle somewhere using only a very few non-programmable, dedicated channels to record temperatures and, if you were lucky, pressures and speeds. All these were carefully calibrated in the electronics laboratory by a group of dedicated technicians, and the information generated often spewed out in the form of a chart or simply a list of numbers. How things have changed.

Since then the technology of data acquisition has taken over where the simple datalogger left off, and when at one time we were only interested in a handful of channels, today 50, 70 or even 500 is perhaps unusual but not that uncommon. The problem today is not so much acquisition of the data but knowing what you have and using it intelligently afterwards. But that aside, with only 50 analogue channels feeding directly into the back of a logger, that is still a fairly sizeable cable.

The great revolution in the data acquisition world to date is surely the concept of the data bus, a method of converting the various data channels into digital form and collecting the signals using what amounts to just a couple of wires; the data itself is converted into a series of noughts and ones transmitted as a series of square-wave voltage pulses. Immortalised in the familiar RS-232 standard of computing fame, many data acquisition systems still use this as a means of capturing information from an engine ECU. However, the increasing amount of electronics on board modern vehicles, and the need to communicate with more than one ECU, has led to the principle of the CAN bus, which these days is in use just about everywhere where high-speed machinery data needs to be acquired and processed quickly and reliably.

Originally devised by engine component supplier Bosch, the CAN (Controller Area Networking) bus is more than just way of transmitting data, it is a complete communication system linking sensors, actuators and control devices. Consisting of a number of 'nodes' connected by a common wire, each node is able to receive and transmit messages from the sensor/actuator, which it does via a host processor and CAN controller. While the host processor 'sees' all the messages on the bus, it decides which are relevant and which to ignore, as well as which messages it wants to transmit from its own sensor.

Using one of any number of protocols, standardised or not, the controller loads the message onto the bus transmitting at up to 1 Mbits per second. Each individual message consists of a number of frames indicating, for instance, the start of the message, its priority, the number of bytes taken up by the data transmitted as well as the data itself, a redundancy check code and an acknowledgement field.

With all this information travelling the length and breadth of the vehicle it seems silly not to tap into it in some way, if only to save money on sensors. Increasingly it seems that dataloggers are therefore being configured to access such information via the vehicle CAN bus by plugging into a convenient node. For vehicles with an OBD (On-Board Diagnostics) port, this might be a convenient point of access, but since this data is primarily intended for fault finding, unless your software is configured specifically, precise decoding may prove difficult.

So where at one time an army of electronics gurus may have been necessary to glean your information from an array of dataloggers, switching on and loading the software is now probably all that is needed. That is a pity because as an engineer I rather enjoyed that moment when, having connected all the sensors, calibrated them and switched everything on, the numbers just fell onto the screen.

Fig. 1 - Wideband lambda controller with CAN bus output (Courtesy of AIM Technologies)

Written by John Coxon

Leave your comment