The ads above are Google-sponsored; clicking on them at every visit & looking at them helps support this website!

 

CAN-BUS, what is it,?.... and why?
(with an addendum for the Nerdy about other systems)
© Copyright, 2013, R. Fleischer

canbus.htm-38A

What is Can-Bus (CAN-BUS, CANBUSS, CAN-BUSS, Canbus, CanBus)
 

Can-Bus is a method and hardware and software to enable communications between 'electrical and electronics things' on your vehicle; these 'things' can also be electro-mechanical.  Can-Bus stands for Controller Area Network, and the 'Bus' part is explained later herein.
 
BMW decided to reduce the number of electrical wires and connections, and hopefully reduce electrical problems by operating just about everything, to the extent possible, by using digital electronics.   There are some definite advantages, such as weight saving; manufacturing labor; and the potential for much higher reliability;...as only a few wires are needed for most anything. In addition, and more importantly, the ability for the computer(s) to monitor and talk to each other about just about any function, and particularly in a very short time period, is greatly enhanced.    There are other reasons for going to something like Can-bus.   Vehicles are becoming vastly more complicated, so more and more computers or mini-computer elements are needed to monitor, produce or accept information from each other. 

Example:  In the Classic K bikes (K75, K100, K1, K1100) there is a single pricey and complicated turn signal flasher and lamp bulb monitoring box.   With Can-Bus, it could be simplified, if BMW wanted to do that, and incorporate most of its functions and parts in vastly smaller size, into the main computer; and even more functions could be added.   It could be cheaper, and more reliable.   ABS functions, which could incorporate traction control, etc., could be simplified.
Traction control and ABS require fairly fast information processing, and electronics is absolutely necessary for them.

The problem that arises from BMW's use of Can-Bus is that the electrical system is, to quite some degree, no longer relatively easy to modify with farkles, changes, add-ons, etc.  Just adding an electrical outlet jack might cause problems.  Typically, the owners' answer to this (in general) is to wire accessory goodies directly to the battery, via a separately added fuse or fused panel.  There are certainly instances where this is not needed....but.....well, read onwards....
 
Bosch invented Can-bus in 1983 for use in Mercedes cars; and actual use began in the late 1980's.  Canbus is just one of several 'protocols' of the OBD-II system.  Your car likely has "OBD", and it is standard now for all cars...the latest version is OBD-II.  OBD stands for On-Board-Diagnostics.  On modern cars, a technician can connect a 'reader' (or other perhaps more sophisticated gadget) to an electrical plug in your car.  He can read out problem codes...as well as non-problem codes! He can get a lot of information about the engine; transmission, brakes, cooling system; and, much more...about the entire vehicle.

All this comes from your car's computer(s); and with the some types of 'readers' he can make actually make adjustments and incorporate updates.   Updating the vehicle computer(s) is called 'flashing'.....as the information is transferred to something akin to the BIOS chip in your home computer.   Many times a manufacturer will offer updates to correct some problem or other.  These updates are obtainable by authorized repair centers.

The various Governments, ours included, have mandated methods of computer readouts in your vehicle.  Our USA Federal Government mandated that the USA comply with the International Standards for OBD and Can-Bus, which are closely related.   I think this happened in 1994.  It was TEN years, before BMW put this latest Can-Bus stuff into its motorcycles.  Prior to that, BMW had its own versions of OBD, incorporated into such as the Jetronic and early Motronic systems...and it was primarily for error codes, although there were some outputs and inputs....and you'd need the fancy BMW dealership machine ($18,000.00 I think it used to be) to do everything.
 
Aside note:
At one time there was quite a bit of chit chat, in various media, about the FACT that as car computers got sophisticated enough, that just about all of them would 'record' certain things, that, if read-out properly, would show the last so-many-seconds of  vehicle SPEED, before some event...like the deployment of the airbags, and if the brakes were applied, and when, ETC.  Yes, this is possible and is TRUE.   Your car's computer WILL, and DOES, record this.
 
The Buss (Bus), somewhat simplified:    An electrical bus is a common interconnection area, point, and/or method of transportation of information or electricity.    It was used in large trucks, and particularly in airplanes, since the thirties, maybe before.   In that type of usage a bus was typically just a multiple connection point or perhaps a strip of metal with many connections to it, for a group of common-connected wires.   There might have been more than one such bus, with an interconnection switch (usually a circuit breaker) allowing them to be separate, or in parallel.   It was common to have a battery hot bus, and a battery ground bus.

This bus idea was and is done in your HOME, by multiple connections in the power-meter box, for grounds, hots, and neutrals.  

The above is a very simplified use of the term of bus, and it gets much more complicated with the usage and meaning today.  A vehicle bus carries a lot of people, so many think that the word was adopted for electrical signals multiple uses on a single wire.   In actuality, the word goes way back, when buss, spelled that way, was used.    Your dictionary may not show that.

In a way...kind of exaggerated here, one could think of your TV cable company's single coaxial cable wire coming into your home as a bus, carrying all those differing TV and audio programs on just two wires (inner solid wire and the shielding around it). So, warping the use of the term, that could be a signal bus wire.   In your vehicle, in the electrical system, any particular BUS (there may be many) might be just ONE OR TWO wires, carrying all sorts of digital code, from MANY devices connected to just those two wires.   Digital coding (which is TIME related) separates the functions.

To spell this out a bit differently; a digital bus allows multiple packets of information, from different sources, to travel down one path, simultaneously.    Keeping with the analogies, the INTERNET is really a bus type system, as information travels in packets....yes, your E-mail is broken up into many packets; same for website's, etc....as transmitted over the Internet, or, World Wide Web.

This is all somewhat of a simplification of what is going on, but close to reality.

The more recently a car was designed and built, in general anyway, the more computerized items....lots and lots of 'mini' computers are used with lots and lots of functions and devices.  Generally, one MAIN computer runs and monitors everything, with maybe some peripheral small computers doing specific things that are not capable by, or for other reasons not inside the main computer.   The TREND for a long time was been to greatly increase the number of small computers in a car.  In recent years this has cause innumerable problems with costs, so nowadays the trend is use less individual computers by expanding the main computer functions and abilities.    I am sure this will continue to be the case.

The first motorcycle to have CanBus was probably the Ducati 999 back in 2002.   BMW started it with the R1200 in 2004.

CanBus allows most all the various computers (and things that are peripheral, and maybe not really even a tiny computer) to 'talk' or 'communicate' with each other in a both simplified AND complex manner.   This means that NEARLY EVERY electrical device on your bike could be connected to the Can-bus system, which CONTINUOUSLY and RAPIDLY monitors everything via a computer.   The system can also monitor current flow, voltage, etc.  If you tried to tap into the electrical system for an extra electrical gadget, Can-bus might complain...in essence the Can-Bus computer thinks, rightly or wrongly, that the bike has a problem.  It might even record the problem, and give you a visual signal that all was not well.   If the load was egregious enough, the bike might not start or be otherwise not rideable.  

Some ABS systems talk back and forth with the computer that runs the engine itself.  It is possible for the ABS to monitor acceleration or other speed conditions or events, and then with other inputs, the bike might have traction control applied.  That is already done on cars and a few bikes...and will be appearing on more bikes in the future. 
 
Problems with CanBus, as far as we vehicle owners are concerned, is that we cannot just willy-nilly connect up electrical gadgets, or modify the electrical systems so easily anymore.  We also are more likely to be needing a dealership to read codes and find problems, with fancy expensive BMW-supplied test equipment...because when the bike stops running, we will be much less likely to be able to fix it ourselves.  You can imagine the situation.....when the warranty runs out.   This is all theoretical, however.  Note that it is entirely possible that the systems will be so reliable, that many electrical problems seen in the past will be eliminated.  In MY mind that is a big maybe.  So far, the record tends to show an increased reliability, over-all.  That is to be expected...especially when the vehicle is new, or nearly.
 
We can still analyze (within limits) the Classic Jetronic and first two generations of Motronic computers in our Classic K bikes, but it is really getting to be a hassle with the later bikes.   There will undoubtedly be plenty of experimentation done, stuff posted on problems, electrical measurements for such, etc. 

For now, the primary method of adding farkles, etc., to Can-bus bikes will be the added fuse panel and connections directly to the battery.
 


For another way of looking at Canbus, try this article:
http://www.bmwra.org/otl/canbus/

 



For the NERDY:

There are several variations of CAN-Bus. I won't get into them much here.  CAN-Bus is used for MANY things, not just the main engine computer. Examples for cars and trucks might be such as door functions, climate control, etc.    CAN-Bus has limitations.  Its information speed is limited to 1-Mbit/s. I wrote Mbit/s that way on purpose, because...  for the super-nerdy, ...note this is megabits, not megabytes.    A manufacturer certainly does NOT want to try to use CAN-Bus anywhere's near that speed, for safety and reliability.   It does not work all that well when higher speed real time data is needed, particularly over longer distances in the vehicle.  I'll restate this:  One of its limitations is the real-time speed at which data can be moved about.    With Bosch's CanBus, the information signal is sent down the wires in 8 byte format.  There is no theoretical limit, at least in the official specification, for a maximum number of information nodes, but, in practical practice, 32 is about the limit.  CanBus is a SERIAL information standard; and the specification is complex, but allows for priorities.  Serial means that you can only have one type of information being worked on at any given instant.   While the speed that processing of information is done would appear to be very fast and more than capable of most any vehicle function, that is not necessarily so.

As vehicles become much more complicated, such as incorporating upcoming things like Collision-Warning Systems, Can-bus will have reached its practical limits.  In some instances, combinations of various methods are used and even the use of multiple CAN-Bus systems!  

Due to speed and capacity limitations, other protocols have not only been proposed, but are already in use.   A short list of these is:  FlexRay; JASPAR, LIN, SAE J1850, AUTOSAR, MOST, and even the computer FireWire (1394) standard.   MOST, which stands for Media-Oriented-Systems-Transport, is already in wide usage in European cars.   Toyota is going to be using a 25 Mbyte/s version of MOST in its Prius.  Yes, 25 mega-BYTES.   MOST in its revision 3 specifications will allow 150 Mbit/s networks.

FlexRay is already in use on BMW's X5 and 7 series.  FlexRay defines a dual-channel 10 Mbit/s data structure....and the channels can be used in a redundancy method.  FlexRay use will be by, undoubtedly, since they are members of a FlexRay Consortium:  BMW, GM, VW, Daimler-Chrysler, Boscjh, etc.   As I write this in October, 2009, FlexRay is much more expensive than Can-Bus, but prices will be coming down. 

***CAN (Can-bus) will likely be THE choice for most vehicle networking nodes until maybe year 2017 or tad beyond.  This is my best guess.  CAN works with SAE's J1850 Bus specification...which is widely used with OBDII.   The SAE has various Bus specifications, that is only one.

YES, that DOES mean that OBD readers MIGHT be able to be used with your BMW motorcycle that has can-bus.....but the information, and how to go about it, has not been published; or, at least such is UNknown to me at the moment.  But, there are specialty readers that will read the BMW vehicle information.
The GS-911 is THE diagnostic tool that even you can purchase.  It reads out all the BMW motorcycle codes and can erase fault codes, etc.  It is VERY versatile in what it can do.  It is available from Ted Porter's Beemershop.     http://Beemershop.com
The GS-911 does not work with all BMW motorcycles.  It has limit functionality on the Classic K bikes, such as K1, K75, K100, K1100.
This page will detail what bikes it works on, and that the Classic K's need a 3 pin adapter:
http://www.hexcode.co.za/products/gs-911/function-chart


Microprocessor Control Units (MCUs) are plentifully used in FlexRay networks.  As more are used, perhaps as ECUs (electronic control units), costs go up, and so does complexity....as well as capability.  The trend has been towards modular units, each controlling sub-units.  

For the ever-so-nerdy, the LIN bus has the lowest cost per node.  It uses serial interconnections, the maximum speed is 19,200 baud...and is often used as a CAN sub-bus.

With today's automobiles.....and now motorcycles....requiring hundreds of megabytes of software code, ....new standards are proposed fairly often.  Just which ones become popular, is the question.  It appears that of the several, mentioned above, just about all will become standards.

For another way of looking at Canbus, try this article:
http://www.bmwra.org/otl/canbus/

Initial release 10/17/2009, to K-bmw Internet Mailing List
10/19/2009:  Edited and made into this website article
10/21/2009:  Added the ADDENDUM
05/01/2010:  Simplify a bit, and update
05/21/2011:  Small additions and very minor clarifications and emphasis here and there.
09/22/2012:  QR code, google code, very minor other things
04/03/2013:  Add link:   http://www.bmwra.org/otl/canbus/

© Copyright, 2013, R. Fleischer

Return to Technical Articles LIST Page

Return to HomePage